Sychev Andreyandmr-anton-t c3be008ba2 dbeaver/pro#6283 Add Combobox component (#3597)
* dbeaver/pro#6283 feat: add simple Combobox implementation

It has fuzzy search inside to filter items.

* dbeaver/pro#6283 feat: implement Combobox component with search functionality and update related files

* dbeaver/pro#6283 refactor: remove unused onChange prop

* dbeaver/pro#6283 style: update imports in Combobox component

* dbeaver/pro#6283 feat: update styles, add popoverClassName prop

* dbeaver/pro#6283 refactor: keep Combobox composable for better control

* dbeaver/pro#6283 refactor: SRP in Combobox, split provider and components

* dbeaver/pro#6283 feat: implement advanced search

see AdvancedSearch example in stories

* dbeaver/pro#6283 refactor: use strict comparison

* dbeaver/pro#6283 refactor: replace fuzzy search with standard string search

* dbeaver/pro#6283 refactor: simplify Combobox component

* dbeaver/pro#6283 feat: add value formatter for ComboboxInput

It might be useful for cases when value is not in user friendly format. Combobox doesn't support such transformations from the box

Updated examples, added valueFormatter to advanced search, added MultiSelect example

* dbeaver/pro#6283 feat: sync styles with select

* dbeaver/pro#6283 fix: formatter

* dbeaver/pro#6283 fix: respect the user's reduce motion preference

* dbeaver/pro#6283 refactor: simplify component

remove search context,
use some built-in features for input value manipulations and for auto selection of the first item

* dbeaver/pro#6283 refactor: use tailwind for Field styles

* dbeaver/pro#6283 fix: should open all options on first interaction with any value

* dbeaver/pro#6283 refactor: strip Combobox component

Due to difficulties with items and search value managing in Combobox using only native combobox store, it was decided to move all that logic to CloudBeaver combobox component.

This commit removes all the logic from UIKit Combobox and partially restores it in Cloudbeaver Combobox

* dbeaver/pro#6283 feat: show no results when no items

* dbeaver/pro#6283 feat: restore input to the last valid value

* dbeaver/pro#6283 refactor: simplify restore input logic

* dbeaver/pro#6283 refactor: reset input value on blur

* dbeaver/pro#6283 refactor: don't sent input value on item click

* dbeaver/pro#6283 refactor: remove getComputed for filteredItems

getComputed will not work as expected for not primitive values( for example, for arrays)

* dbeaver/pro#6283 refactor: remove getComputed for filteredItems

* dbeaver/pro#6283 style: update z-index for  ComboboxPopover component

our backdrop component has 999 z-index(weird?), we need more to show popover in modals

* dbeaver/pro#6283 feat: put CB Combobox near the component, fix layers issue

* dbeaver/pro#6283 fix: radio title wrap

* dbeaver/pro#6283 fix: use the same letter spacing as in other inputs

* dbeaver/pro#6283 fix:combobox item styles

* dbeaver/pro#6283 fix: clear value on click

this fix is for situation when user started to type a word, found an option and clicked on it. Previously we didn't clear value and just setSelectedValue on click. This fix clears value as it happens onBlur and we use the value from selectedItem.

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-08-11 23:07:28 +08:00
2025-08-04 18:45:22 +08:00
2025-08-04 18:45:22 +08:00
2025-08-04 18:45:22 +08:00
2020-04-16 13:06:54 +03:00
2024-10-10 14:04:33 +02:00

CloudBeaver Community

Cloud Database Manager - Community Edition.
CloudBeaver is a web server that provides a rich web interface. The server itself is a Java application, and the web part is written in TypeScript and React.
It is free to use and open-source (licensed under Apache 2 license).
See our WIKI for more details.

Run in Docker

Demo server

You can see a live demo of CloudBeaver here: https://demo.cloudbeaver.io

Database access instructions

Changelog

25.1.4 2025-08-04

  • Added an ability to review the script before execution when users edit tables without primary keys in the Data Editor;
  • DuckDB: driver has been updated to version 1.3.2;
  • Databend: driver has been updated to version 0.3.9.

25.1.3 2025-07-21

  • A password confirmation field has been added for administrators in the Easy Config section to help prevent accidental misconfigurations;
  • Added column descriptions in the Data Editor to provide more metadata context. You can disable this in Preferences > Data Viewer;
  • Added the option to display tabs across multiple rows, allowing you to see all tabs without scrolling. You can enable this in Preferences > Interface;
  • Changed the default engine used for autocompletion in the SQL Editor. This Semantic engine offers improved suggestions for database objects, keywords, and functions. You can switch back to the Legacy engine in Preferences -> SQL Editor;
  • Clickhouse: fixed the presentation of tuples and map data types in the data editor.

25.1.2 2025-07-07

  • The CloudBeaver default theme matches the device theme by default now. You can change this behavior in user preferences under the Theme section;
  • Added a button “Clear” to the Output panel;
  • Changed the data transfer mechanism to avoid intermediate file creation. The parameter dataExportFileSizeLimit was removed from the server configuration as deprecated;
  • PostgresSQL: fixed misplaced comment for table DDL generation.

25.1.1 2025-06-23

Changes since 25.1.0:

  • Added a search panel for SQL Editor and Value panel: press Ctrl+F to open a panel that allows searching and replacing by keyword or regular expression.
  • Added a new welcome screen for a freshly opened application. This screen contains shortcuts to create a new connection, open SQL editor or documentation.
  • Databend database support has been added.

25.1.0 2025-06-02

Changes since 25.0.0:

  • Important:
    • Connection templates were removed from the application. You can use the Connection Editor to create new connections.
  • Administration:
    • Log records now capture create, update, and delete actions for users, teams, and connections for improved tracking and transparency.
  • LDAP authorization:
    • Added support for secure LDAP authentication over SSL;
    • Brute force protection is now supported for LDAP authentication. All authentication methods on the application level have this security mechanism.
  • SQL Editor:
    • A new setting to autosave scripts in the SQL editor appeared in global and users' preferences;
    • Auto-completion has been improved for aliases and camelCase entities.
  • Data Editor:
    • Improved table rendering to scale column width depending on the content;
    • Accessibility: improved keyboard navigation by sorting buttons in column headers.
  • General:
    • Added the ability to configure the default database or schema in the connection configuration;
    • Enhanced initial configuration stage security: a server needs to be restarted if the initial setup time exceeds 1 hour;
    • Improved Navigation tree performance: lost connection does not lead to the application freezing anymore;
    • Data transfer: Improved export/import functionality performance by optimizing disk memory consumption;
    • Vietnamese localization has been added (thanks to 0xhanh).
  • Databases and drivers:
    • Clickhouse: driver has been updated to version 0.8.5;
    • DuckDB: expanded the list of system objects that can be hidden in the Navigation tree;
    • LibSQL: added the ability to connect using token authentication;
    • Oracle: users' DDL in Oracle is displayed in the metadata editor on the corresponding tab for users with Oracle administration permissions;
    • SQLite: added information about a table's Strict mode to the table metadata section (thanks to eusebe-cda).

Contribution

As a community-driven open-source project, we warmly welcome contributions through GitHub pull requests.

We are happy to reward our most active contributors every major sprint. The most significant contribution to our code for the major release 25.1.0 was made by:

  1. 0xhanh - for Vietnamese localization.
Languages
TypeScript 69.1%
Java 26.3%
CSS 3.8%
JavaScript 0.2%
MDX 0.2%
Other 0.3%