365 Commits
Author SHA1 Message Date
cdae6efbd2 dbeaver/pro#7081 feat: conditional formatting for data editor (#3838)
* dbeaver/pro#7081 feat: conditional formatting for data editor

* feat: code cleanup after review + reworked rules management

* feat: add SVG icons for conditional formatting and update localization strings

* chore: after review

* feat: refactor conditional formatting presentation and add transition component

* refactor: reorder Props interface fields for consistency

* refactor: remove unused onAddRule prop from ColorScaleRuleForm and SingleColorRuleForm

* feat: add SVG icon for conditional formatting

* fix: charts

* feat: refactor conditional formatting utilities and improve code organization

* fix: localization

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: hide conditional formatting from UI

* fix: use custom row renderer with mobx observer

* fix: line hightlight style

* chore: remove unused types

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-11-03 19:11:50 +08:00
2a107f3d63 dbeaver/pro#6509 Query confirmations (#3793)
* dbeaver/pro#6509 Added events

* dbeaver/pro#6509 Updated/renamed new events

* chore: add taskId for server events

* dbeaver/pro#6509 Added confirmation events impl

* dbeaver/pro#6509 Added task id to server events

* feat: async task confirmation

* chore: add icon

* dbeaver/pro#6509 Renamed and moved events to model

* dbeaver/pro#6509 Treat cancel and timeout as errors

* dbeaver/pro#6509 fix timeout

* feat: automatically close confirmation dialog on timeout or task finish

* fix: confirmation dialog styles

* dbeaver/pro#6475 Added web sql messages

* fix: update button styles in ConfirmationDialog for consistency

* dbeaver/pro#6475 Added interactive events flag

* dbeaver/pro#6475 Added param description

* feat: add isInteractive parameter to asyncSqlExecuteQuery mutation and QueryDataSource

* fix: update copyright year to 2025 in LocaleService.ts

* fix: set dialog size to medium in confirmation event

* fix: update confirmation skip message for localization files

* fix: modify reject function signatures for consistency

* dbeaver/pro#6509 Added manual query rules

* dbeaver/pro#6509 Added messages for 2 distinct confirmations

* dbeaver/pro#6509 moved confirmation descriptor to model (WIP)

* dbeaver/pro#6509 improve messages

* dbeaver/pro#6509 web locale support

* fix: merge conflict

---------

Co-authored-by: Alexey Potsetsuev <wrouds@gmail.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-10-28 14:35:38 +01:00
Alexey PotsetsuevandEvgenia ed0e92cdd6 dbeaver/pro#6294 fix: dnd styles (#3824)
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-10-14 23:45:33 +08:00
682a387564 dbeaver/pro#7080 refactor: grid API (#3799)
* dbeaver/pro#7080 refactor: grid API

* chore: cleanup after review

* chore: fix grid view action dependencies

* fix: build

* fix: update null checks and improve type safety in data handling

* fix: improve cache handling in useResultTraceDetails hook

* fix: correct cache reference in useResultTraceDetails function

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-10-13 19:30:54 +08:00
Sychev AndreyandDaria Marutkina 25247321b8 dbeaver/pro#5471 [CB] Add shortcuts to tooltips data editor toolbar (#3750)
* dbeaver/pro#5471 fix: "Delete" data viewer action tooltip

* dbeaver/pro#5471 refactor: "merge" save and save as script actions

We used to have two buttons with different shortcuts for saving SQL as a script(first save) and saving already created script (updating). On UI they had the same icon and were more or less identical for the user. We decided to use the same shortcut and labels for both buttons (mod + S).

* dbeaver/pro#5471 feat: adds Find and Comment shortcuts to the shortcuts list

* dbeaver/pro#5471 refactor: use common l10n keys for save/undo/redo

* dbeaver/pro#5471 refactor: use key bindings API for Delete action in TableView

* dbeaver/pro#5471 refactor: use key bindings API for add, duplicate and revert actions

* dbeaver/pro#5471 fix: extra import

* dbeaver/pro#5471 refactor: don't use a symbol for delete shortcut

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-09-25 18:18:17 +08:00
d0e86745f1 dbeaver/pro#6520 fix: header cell layout (#3759)
* dbeaver/pro#6520 fix: header cell layout

* dbeaver/pro#6520 refactor: table cell always shows 2 rows

* dbeaver/pro#6520 fix: use two rows grid only if a table has any description

---------

Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-09-24 16:30:59 +08:00
Alexey Potsetsuevandmr-anton-t 0fe432f45c dbeaver/pro#6783 refactor: plugins bundles (#3761)
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-09-23 18:37:24 +08:00
ab813e21ab dbeaver/pro#5129 cb 6095 sql editor buttons shortcut labels are hardcoded (#3696)
* dbeaver/pro#5129 feat: use action item bindings API to get binding label

removes hardcoded shortcuts
adds formatting for shortcuts, uses OS-specific shortcuts

* dbeaver/pro#5129 feat: add example of manual using getBindingLabel function

* dbeaver/pro#5129 feat: use menu api for sql editor actions

* dbeaver/pro#5129 fix: lint async

* dbeaver/pro#5129 fix: remove wrong action icons

move private methods to the end of files

* dbeaver/pro#5129 refactor: use context via useDataContextLink hook

* dbeaver/pro#5129 refactor: DRY ACTIONS

* dbeaver/pro#5129 fix: DRY ACTIONS

* dbeaver/pro#5129 fix: action titles

* dbeaver/pro#5129 fix: DI after devel merge

* dbeaver/pro#5129 bonus: fix text content in dropdowns

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Alexey Potsetsuev <wrouds@gmail.com>
2025-09-10 21:04:03 +08:00
alexandEvgenia e896789cb0 dbeaver/pro#6155 do not set whereFilter on constraint change (#3702)
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-09-10 18:39:02 +08:00
Alexey Potsetsuev f41b9d24fe dbeaver/pro#6662 chore: cleanup (#3713) 2025-09-02 18:41:49 +08:00
Alexey Potsetsuevandmr-anton-t 80f258b561 dbeaver/pro#6744 refactor: migration to @wroud/di (#3704)
* dbeaver/pro#6744 refactor: migration to `@wroud/di`

* tests: enable settings tests

* chore: update syntax

* fix: dynamic theme detection

* fix: skip not stable test

* fix: skip whole test

* fix: make theme optional

* fix: page reload

* tests: skip unstable test

* fix: remove optional

* fix: load system theme

* fix: prevent the system theme from always loading despite not being selected

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-08-29 18:22:11 +08:00
sergeyteleshev 564ceb7d82 dbeaver/pro#6708 adds @dbeaver/react-tests to packages to execute tests locally (#3698) 2025-08-25 20:42:44 +08:00
Alexey Potsetsuev 376575efce dbeaver/pro#5902 fix: settings override and aliases resolution (#3693)
* dbeaver/pro#5902 fix: settings override and aliases resolution

* fix: import
2025-08-22 18:45:25 +02:00
Sychev AndreyandEvgenia 901669b802 dbeaver/pro#6472 fix: restore focus after menu actions and on syncFocus (#3657)
* dbeaver/pro#6472 fix: restore focus after menu actions and on syncFocus

* dbeaver/pro#6472 refactor: revert changes with using restoreFocus function from context

* dbeaver/pro#6472 fix: delete row from a context menu works as with a hotkey

set to null and revert also keep focus in place

* Revert "dbeaver/pro#6472 fix: delete row from a context menu works as with a hotkey"

This reverts commit f54abf3956.

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-08-19 18:03:41 +08:00
Alexey PotsetsuevandEvgenia a51765f516 dbeaver/pro#6189 feat: group extra tools (#3653)
* dbeaver/pro#6189 feat: group extra tools

* fix: context menu size

* fix: make context menu more compact

* fix: context menu shortcuts

* fix: change color for shortcuts in context menu

* fix: codestyle

* fix: revert more tools

* fix: submenu arrow position

* fix: show output

* fix: upload / download tooltips

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-08-12 19:03:56 +02:00
8ebf7eba9c dbeaver/pro#5886 core api for permission management (#3519)
* dbeaver/pro#5886 new permissions api

* dbeaver/pro#5886 new permissions api

* dbeaver/pro#5886 test + forgotten commit

* dbeaver/pro#5886 test + forgotten commit, review fixes

* dbeaver/#5886 test + forgotten commits

* dbeaver/pro#5886 clean up CE repos

* dbeaver/pro#5886 gql api for global perms

* dbeaver/pro#5886 new perms validation

* dbeaver/pro#5886 remove unused class

* dbeaver/pro#5886 new api

* chore: update permission key

* dbeaver/pro#5087 feat: permissions management

* feat: check permission for query execution

* fix: override only restrictive permissions

* fix: permissions layer

* fix: status gutter duplication

* fix: script execution error message display

* fix: hide not available script execution actions

* dbeaver/pro#5886 anon perms fix, default value for global perms

* fix: hide settings groups only for specific settings

* feat: restore permissions

* refactor: after review

* fix: merge conflicts

* fix: type import

* fix: merge conflicts

* fix: linting

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Wroud <wrouds@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
2025-07-23 03:56:43 +02:00
79804619d3 dbeaver/pro#4863 Add column description to data editor (#3573)
* dbeaver/pro#4863 Add column description to data editor

* adds description for columns + settings

* alignes description with column name

* pr fixes

* adds skip to the settings test

* makes header more compact

---------

Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-07-14 21:25:58 +08:00
alexandDaria Marutkina ad3ae4547c dbeaver/pro#5486 use new pointer events instead of mouse (#3549)
* dbeaver/pro#5486 use new pointer events instead of mouse

* dbeaver/pro#5486 reset hover on menu close

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-07-01 21:36:59 +08:00
Sychev AndreyandDaria Marutkina cb84409701 dbeaver/pro#5998 Fix: can't copy the whole table selected with the corner cell (#3550)
* dbeaver/pro#5998 fix: selectAll index header cell

* dbeaver/pro#5998 fix: removed OrderButton from tabbing order, add sorting on space/enter when header column cell is in focus

* dbeaver/pro#5998 feat: add onHeaderKeyDown handler to DataGrid and HeaderCellContentRenderer

we lost ability to copy data grid cells' data when one of the header cells is focused, because the header cell renderer was not handling keydown events. This commit utilizing gridSelectedCellCopy.onKeydownHandler inside HeaderCellContentRenderer keydown event handler

* dbeaver/pro#5998 style: change onKeyDown to a named function

* dbeaver/pro#5998 refactor: simplify OrderButton and update sorting logic in HeaderCellContentRenderer

* dbeaver/pro#5998 refactor: rename container class to clickAreaOverlay in TableIndexColumnHeader, remove z-index

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-06-27 18:23:37 +08:00
Sychev AndreyandEvgenia 646ec5c901 dbeaver/pro#6018 fix: context menu disappears on cells with an intera… (#3538)
* dbeaver/pro#6018 fix: context menu disappears on cells with an interactive formatter

add menu visibility handling to cell formatters

* dbeaver/pro#6018 refactor: rename handleStateSwitch to handleCellMenuStateSwitch for clarity

* dbeaver/pro#6018 refactor: rename menu visibility properties for clarity

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-06-24 17:57:35 +08:00
Alexey 507aa096dd dbeaver/pro#5123 feat: add welcome screen & update react-data-grid (#3513) 2025-06-17 01:03:28 +08:00
12ef593bd7 [CB] Integrate UIKit Checkbox to Cloudbeaver #5797 (#3493)
* dbeaver/pro#5797 adds boilerplate for checkboxes (needs styles setting for CB)

* reverts ui-kit checkbox behavior

* adjusts styles

* removes _checkbox.scss

* incapsulates styles into checkboxMarkup so it does not affect ui kit checkbox

* removes unused styles

* tunes styles: margin + disabled checkbox state

* moves caption layout inside checkboxmarkup

* adds sizes styles

* сleanup

* removes unused checkbox ref + fixes styles for menu checkbox items

* adds className prop to nav bar menus

* cleanup

* moved datagrid styles to boolean formatter

* Revert "adds className prop to nav bar menus"

This reverts commit fc1cdb2f0b.

* adds approach of reusing checkbox styles (module/non-module)

* cleanup

* removes secondary from menu item renderer checkbox

* fixes checkbox bug with datagrid styles conflict

* adds BEM methodology naming for checkboxes classNames

* pr fixes

* adds checkbox sizes in booleanFormatter

* test fixes

* fixes styles for users

---------

Co-authored-by: Alexey <wrouds@gmail.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-06-14 00:16:45 +08:00
Alexey 419f8b562e dbeaver/pro#5910 fix: sorting only for result sets (#3506)
* dbeaver/pro#5910 fix: sorting only for result sets

* dbeaver/pro#5910 fix: require result set constraints only when needed
2025-06-04 22:23:19 +08:00
AlexeyandEvgenia 06a0411f84 dbeaver/pro#5200 feat: fast connection / folder creation in the explorer (#3464)
* dbeaver/pro#5200 feat: fast connection / folder creation in the explorer

* chore: update icons

* chore: update icons

* chore: remove important from style

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-05-27 21:33:23 +08:00
ffe3d45017 dbeaver/pro#5789 replace Buttons styles (#3468)
* dbeaver/pro#5789 refactor: add ButtonIcon component instead of Button.Icon

* dbeaver/pro#5789 refactor: button components across whole application to use UIKit button and UIKit variables

- Rewrite Button.css(former button.module.css) file to define button styles for better maintainability and scalability
- Added props to the Button component for Icons: 'size' and 'placement', currently used only in PropertiesTable (Add property)
- Changed button modifiers to 'variant' swapping unelevated mod to primary(default one, so mod just deleted) and outlined mod to variant secondary.
- In one case changed raised mod to danger variant (deleting a license)

* dbeaver/pro#5789 refactor: fix Button component styling and removed redundant css file

* dbeaver/pro#5789 style: clean up button formatting across multiple components

* dbeaver/pro#5789 refactor: update Tailwind CSS import to use layer directive

* dbeaver/pro#5789 refactor[kit]: add disabled state styles for buttons

* dbeaver/pro#5789 refactor: enhance button styles for disabled state

* dbeaver/pro#5789 fix button problems

* dbeaver/pro#5789 fix: change layer name from theme to base in color styles

* dbeaver/pro#5789 refactor: update button padding from 16px to 15px

* dbeaver/pro#5789 refactor: adjust button gap and update InputFiles button props

* dbeaver/pro#5789 style: center align button in SSHKeyUploader component

* dbeaver/pro#5789 fix: update button classes to use inline-flex for better alignment

* dbeaver/pro#5789 fix: remove initial background from tab styles

* dbeaver/pro#5789 fix: move cursor pointer rule to button container

* dbeaver/pro#5789 fix: update checkbox SVG fill property for proper rendering

* dbeaver/pro#5789 fix: add variant prop to Button component for styling options

* dbeaver/pro#5789 fix: add InlineEditor to CSS layer to compete with theme Important! border-color

* dbeaver/pro#5789 fix: add min-width to button styles for consistency

* dbeaver/pro#5789 refactor: adjust margin for trigger element in context menu

first of all it's done to fix autotests and the second reason is to visually balance the cell with menu

* dbeaver/pro#5789 fix: make boolean great again

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2025-05-27 16:59:01 +08:00
52f567fded dbeaver/pro#5553 Add Sorting functionality to base grid (#3456)
* dbeaver/pro#5553 feat: add column sorting functionality to DataGrid

* dbeaver/pro#5553 feat: enhance column sorting functionality to support multiple selection

* dbeaver/pro#5553 feat: add keyboard navigation to order button

* dbeaver/pro#5553 feat: add constraints handling logic for column sorting in DataGrid

* Revert "dbeaver/pro#5553 feat: add constraints handling logic for column sorting in DataGrid"

This reverts commit 6028a48b13.

* dbeaver/pro#5553 feat: add icon generation script to UIKit, add sample icons

* dbeaver/pro#5553 refactor: use inner react-data-grid API for column sorting

* dbeaver/pro#5553 feat: add IconCross component and update icon-related files

* dbeaver/pro#5553 feat: replace Button with IconButton in OrderButton component

* dbeaver/pro#5553 style: update foreground color variables for IconButton component

* dbeaver/pro#5553 refactor: add normalization rules to layers, use IconButton in Common DialogHeader

checked if new IconButton works well in light and dark mode by using in CommonDialogHeader

* dbeaver/pro#5553 style: format code and update dependencies in CommonDialogHeader and DataGridTable components

* dbeaver/pro#5553 style: move onColumnSort prop to correct position in DataGridTable component

* dbeaver/pro#5553 refactor: remove icons component generation, use svg sprite

* dbeaver/pro#5553 refactor: update OrderButton component and inline icons sprite in Body

we decided to go with this solution for now just adding icons to a sprite and use them by id. Imports by ?url  don't work in VSCode if try to use them in <use> href, so we need to find another solution or stick to that approach.

* dbeaver/pro#5553 refactor: update column sorting and sortable logic in DataGrid components

* dbeaver/pro#5553 style: format whitespace in Body component

* dbeaver/pro#5553 feat: add new sorting icons for ascending, descending, and unsorted states

* dbeaver/pro#5553 refactor:styling for header cell and order button components

* dbeaver/pro#5553 refactor: update sorting logic in DataGrid and OrderButton components

* dbeaver/pro#5553 refactor: value deps

* dbeaver/pro#5553 feat: update sorting icons for ascending, descending, and unsorted states

* dbeaver/pro#5553 style: update aria-label and title for OrderButton component

* dbeaver/pro#5553 fix: double focus

* dbeaver/pro#5553 fix: after merge

* dbeaver/pro#5553 refactor: removed outline offset for sort button

* dbeaver/pro#5553 refactor: update Tailwind CSS import to use layer directive

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Alexey <wrouds@gmail.com>
2025-05-24 00:21:37 +08:00
295fcf8701 dbeaver/pro#5087 feat: gql api (#3400)
* dbeaver/pro#5087 Add role settings

* dbeaver/pro#5087 feat: gql api

* dbeaver/pro#5087 feat: gql api

* dbeaver/pro#5087 Add role settings

* feat: user role settings

* chore: add tailwind intellisense

* chore: remove mock data

* dbeaver/pro#5087 Add role settings

* dbeaver/pro#5087 Add role settings

* dbeaver/pro#5087 Add role settings

* fix: update roles enum

* feat: settings restore and set status

* dbeaver/pro#5087 fix roles

* chore: hide single settings tab, allow reset for settings that doesn't support full reset

* chore: remove `isSet` method from settings API

* refactor: extract repeatable logic

* chore: add server setting

* chore: better settings grouping

* dbeaver/pro#5087 fixes

* fix: review

* chore: remove roles related code

* chore: hide spreadsheet hiding setting

* dbeaver/pro#5087 Removed everything related with authRole

* chore: hide some settings from UI

* chore: hide per-setting reset

* fix: selecting empty settings groups

---------

Co-authored-by: Ruslan <pupkinvasya7000@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-05-14 00:01:08 +08:00
154082e6bd vietnamese-localization (#3395)
* vietnamese-localization

* dbeaver/pro#3395 remove extra files

* dbeaver/pro#3395 remove tokens duplication

* dbeaver/pro#3395 fix formatting

* dbeaver/pro#3395 add locale on the backend

* dbeaver/pro#3395 add hardcoded ordering

---------

Co-authored-by: hanhvd <hanhvd@gmail.com>
Co-authored-by: naumov <iamemptyhuh@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Ainur <ainur.iagudin@dbeaver.com>
2025-05-08 16:21:35 +02:00
Sychev AndreyandEvgenia 0ae505fd32 dbeaver/pro#5497 fix: update disabled state logic in BooleanFormatter (#3425)
* dbeaver/pro#5497 fix: update disabled state logic in BooleanFormatter

* dbeaver/pro#5497 style: format disabled state logic

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-05-08 19:34:39 +08:00
07e0c63b6a #5362 refactor: move blob formatter to shared codebase (#3374)
* #5362 refactor: move blob formatter to shared codebase

* #5362 refactor: remove value prop from BlobFormatter

* #5362 refactor: move some of result set value checkers to common

* #5362 feat: update some result set api methods

make value type for safe using unknown instead of any,
added string fallback representation for complex values

* fix: getStringFallbackForComplexValue

* #5362 fix: getStringFallbackForComplexValue always cast to string

* #5362 fix: format

* #5362 chore: update deps

* #5362 fix: double imports

* #5362 fix: yarn lock

* chore: update yarn

* fix: reset yarn lock to devel state

* #5362 ci: change chunking

Previous implementation couldn't handle cyclic dependencies correctly. We noticed it in that ticket because we started to move some logic to common packages and changed existing packages connections. I tried many options to organize chunks from very simple(just putting everything to one bundle) to very complex(by adding helper to find circular deps between modules and putting them to one chunk) but none of them looked ideal. Complex solution is prone to errors, especially with vendor packages. I find this solution at least bearable until Vite ships Rolldown, then we can rethink it one more time.

* #5362 fix: arrow-body-style

* fix: improve chunk splitting

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Wroud <wrouds@gmail.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-04-29 16:39:06 +08:00
Alexey 08346ebc12 dbeaver/pro#5494 feat: refactor tests (#3388)
* dbeaver/pro#5494 feat: refactor tests

* chore: update yarn.lock

* chore: strict build script

* fix: review
2025-04-23 18:18:13 +08:00
alex f286926526 dbeaver/pro#4412 remove license files from locales (#3385) 2025-04-17 16:52:42 +08:00
Alexey 9dc0863e3a dbeaver/pro#5417 feat: table statistics (#3383) 2025-04-16 22:50:16 +08:00
08e6d9631f dbeaver/pro#5440 feat: display boolean as checkbox in grid (#3372)
* dbeaver/pro#5440 feat: display boolean as checkbox in grid

* #5440 refactor: make checkboxes disabled inside grid

It's a very strange UX when checkbox is inside a cell of a table and behaves like a real one. It's much more expected when only cell takes focus and checkbox only represents the value in a way we want without acting like a real input. Moreover, using Focusable component enables smooth toggling between all 3 states of a boolean cell from a keyboard.

* #5440 fix: remove inline padding

* #5440 feat: add hover effect for boolean formatter

* #5440 refactor: revert full width

* #5440 refactor: split onClick and onKeyDown interfaces

* #5440 fix: return onClick

---------

Co-authored-by: Andrey Sychev <nukemoore@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-04-14 22:42:44 +08:00
sergeyteleshev 143cbb0d88 Cb 6265 Return front unit tests after migration (#3338)
* СB-6265 sets up vitest instead of jest

* CB-6265 gets back core-utils tests

* СB-6265 gets back react-testing-library tests

* СB-6265 gets back some tests from another plugins

* CB-6265 renames dist -> lib in each plugin + removes all jest from the repo

* CB-6265 disables watch mode so build can go on

* CB-6265 extends tests types for react-testing-library

* CB-6265 reverts dist->lib rename cause it contains other assets also

* CB-6265 moves setupFiles to the vitest.config.ts

* CB-6265 pr fixes

* CB-6265 fixes tests run for Windows

* CB-6265 removes global: true in config + uses jest-dom/vitest lib to have extended expect types

* CB-6565 removes unused deps

* СB-6265 improves performance of the test x10 times

* CB-6265 gets back renderInApp, fixes vitest setup reset config for mocks, cleans up

* CB-6265 reset -> restore all mocks

* CB-6265 fixes unit tests

* CB-6265 vitest.setup.ts cleanup

* CB-6265 timestamp to date shows military time both: on unix and windows (win tests fix)

* CB-6265 improves tests running (sequential run instead of parallel)

* CB-6265 cleanup

* CB-6265 eslint fix

* CB-6265 eslint fix 2

* CB-6265 reverts useCombined handler

* CB-6265 reverts some tests

* CB-6265 removes all redundant timer configs

* Merge branch 'devel' into CB-6265-return-front-unit-tests-after-migration

* CB-6265 pr fixes

* CB-6265 fixes time for windows

* CB-6265 removes default fake timers before each test
2025-04-14 18:48:33 +08:00
Sychev AndreyandDaria Marutkina 42da37830f #5140 (CB-6127) the cell values are duplicated when adding multiple rows to the read only table (#3368)
* #5140 fix: duplicate hotkeys should work in tables without primary key

* #5140 fix: force update table data on save if model doesn't have element identifier

* #5140 refactor: move refresh model logic to datasource saveData method

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-04-10 17:00:55 +08:00
Alexeyandmr-anton-t 9c3cc17bd9 dbeaver/pro#5394 feat: null and boolean formatter for base grid (#3359)
* dbeaver/pro#5394 feat: null and boolean formatter for base grid

* feat: reuse base grid formatters

* chore: try to adjust workflow concurrency

* chore: trigger workflow

* chore: trigger workflow cancel

* chore: fix label styles

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-04-09 15:06:32 +08:00
600833c068 CB-6372 No 'Set to null' option in cell's context menu (#3331)
* CB-6372 fix: set null for applicable cells in context menu

* CB-6372 fix read-only for cells

CB-6367: don't let activate cell inline editor by double click if model is read-only

---------

Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-04-01 22:05:54 +08:00
164b59b37a CB 6296 Delete row shortcut not working (#3340)
* CB-6296 fix: delete keystroke marks selected row for deletion

* CB-6296 fix: focus first element on load, remove extra handler

It was noticed that just after the open, onKeyDown event doesn't reach DataGrid, because focus was not in sync with lib.
Also fixes CB-6229 since they have the same root problem with encountered bag

* CB-6286 refactor: change onCellKeyDown handler interface inside DataGridProps

* CB-6296 refactor: set initial focus differently

* CB-6296 refactor: remove manual scroll control

We use grid inner scrollToCell method and don't need additional native scrolling

* refactor: don't expose inner data-grid type

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Alexey <wrouds@gmail.com>
2025-03-28 23:01:58 +08:00
b8952c87b8 CB-6308 fix: grid auto-size (#3298)
* CB-6308 fix: grid auto-size

* CB-6308 fix: grid auto size

* CB-6308 fix: icons sizing in grid

* CB-6308 fix: grid header

* CB-6308 fix: types

* fix: min-width for columns

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2025-03-28 22:52:46 +08:00
Sychev Andrey 348d6b3161 [#113] Add clsx dependency to UI kit (#3335)
* chore: add clsx dependency to ui-kit

* chore: import clsx from ui-kit

* refactor: use clsx for class management in Button

* refactor: use clsx in Checkbox

* refactor: use clsx in Input component

* feat: use clsx in radio and radiogroup

* feat: use clsx in Select component

* feat: reexport VisuallyHidden and Focus trap components from ariakit
2025-03-27 20:02:00 +08:00
Ainur 06e2aa9f0e CB-6346 add api for read only data sources (#3321) 2025-03-18 17:26:53 +00:00
Alexey 080317d710 dbeaver/dbeaver-vscode#83 refactor: data grid (#3265)
* dbeaver/dbeaver-vscode#83 refactor: data grid

* chore: try to fix build scripts

* chore: commit artifacts

* chore: update yarn.lock

* fix: adjust grid auto-sizing

* chore: fix prettier

* chore: add documentation about typescript crashes

* fix: cell menu

* fix: grid inline editor styles

* fix: cell menu styles

* fix: cell items alignment

* fix: data sync

* feat: support reactive values in grid

* chore: try to fix strange build bug

* chore: restore original file name

* fix: add specific to inline editor styles

* fix: remove delete row shortcut (not working)

* chore: enable common cache
2025-02-26 01:04:03 +08:00
sergeyteleshevandEvgenia 356950bb78 CB-5612 JSON view - filter is cleared after switching to JSON tab (#3264)
* CB-5612 sets where filter on context menu filter actions

* CB-5612 cleanup

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-02-19 17:47:36 +08:00
a76dc9cdbf CB-6219 refactor: migrate to react 19 (#3252)
* CB-6219 refactor: migrate to react 19

* chore: tune backend build

* chore: fix loaders

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-02-12 00:55:20 +08:00
2fc9c72908 dbeaver/dbeaver-vscode#77 refactor: yarn & vit migration (#3229)
* dbeaver/vscode#77 refactor: yarn & vit migration

* chore: configure eslint & typescript & prettier

* fix: chunk splitting & assets loading

* fix: enable corepack

* refactor: dev environment

* chore: remove corepack enable from build scripts

* chore: make script executable

* fix: SSL check in vite dev

* chore: update debug launch configs

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-02-05 00:20:23 +08:00
Sychev AndreyandEvgenia 8fe583d9ae CB-6152 restrict editing bool and hide actions in datasets (#3209)
* CB-6152 fix: Restrict editing BOOL in read-only tables

* CB-6152 fix: add condition for actions

* CB-6152 chore: update TS references

* CB-6152 fix: don't show extra button for not editable tables

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-01-27 20:33:32 +03:00
3b0a4e7d33 CB-6063 feat: add ability to import data without PK (#3188)
* CB-6063 feat: add ability to import data without PK

* CB-6063 feat: add ability to insert rows to tables w/o PK using actions

removes isImportAllowed flag, adds hasRowIdentifier, uses it in place of forbidden actions

* CB-6063 refactor: use only false value for hasRowIdentifier flag

* CB-6063 fix: revert logic in hasRowIdentifier

* CB-6063 refactor: rename property

* CB-6063 fix: return lock icon back for tables w/o identifier

* CB-6063 fix: hasRowIdentifier in getResult

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Ainur <59531286+yagudin10@users.noreply.github.com>
2025-01-14 19:23:32 +01:00
alex 92c7cef0c6 CB-6039 prevent click through menu (#3134)
* CB-6039 prevent click through menu

* CB-6039
2024-12-16 14:02:43 +03:00
alexandEvgenia ea342f058b Cb 4071 data grid context menu (#3114)
* CB-5831 migrate data grid context menu

* CB-5831 use switch instead of return

* CB-5831 migrate save actions

* CB-5831 apply primary color

* CB-4071 simplify logic

* CB-4071 simplify logic

* CB-4071 change naming

* CB-4071 review fixes

* CB-4071 add items based on condition

* CB-4071 remove old context menu

* CB-4071 pass handlers to panel

* CB-4071 add gap to the menu

* CB-4071 check data source

* CB-4071 support prev behaviour

* CB-4071 make context more strict

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-12-12 18:50:21 +03:00