348 Commits
Author SHA1 Message Date
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
Sychev AndreyandDaria Marutkina 2f80d1ce13 CB-3332 shortcuts improvements (#3126)
* CB-3332 refactor: data-viewer shortcuts

move them to the plugin folder, make them IKeyBinding shape to use in transformKeys

* CB-3332 refactor: change ctrl hotkey to mod

* CB-3332 refactor: use new DATA_VIEWER_SHORTCUTS, don't replace backspace

* CB-3332 refactor: remove redundant shortcuts, update naming

* CB-3332 feat: introduce new shortcuts for rows managing

In order to let mac users use shortcuts, Insert key was changed to KeyR

* CB-3332 feat: move shift key to the beginning of all shortcuts

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-12-12 14:19:34 +03:00
Sychev AndreyandEvgenia 94aaf7bf5e CB-5703 refactor: optimize data grid onScroll handler (#3071)
handleScroll in DataGrid entails small performance degradation due to el.scrollTop, el.clientHeight, el.scrollHeight calls and hence reflow of layout, more on that here: https://gist.github.com/paulirish/5d52fb081b3570c81e3a/565c05680b27c9cfd9f5e971d295cd558c3e1843

What is done:
1. throttle added to not fire handleScroll on every render, because the main goal of that function is to detect when a user approaches the end of a page = reduce number of calls

2. Inside the handler the code was  refactored in a way that we get scrollTop only once to calculate toBottom and inverse the clause logic and replace early return (!A || !B) with a clause with (A && B) logic to not check B on every call which is also triggering reflow.

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-11-21 16:00:56 +03:00
sergeyteleshevandmr-anton-t 1782ce45a7 CB-5793 removes extra space for table cells (#3013)
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-10-24 11:04:00 +03:00
51e0218682 CB-5575 pass column key along with row (#3004)
* CB-5575 pass column key along with row

* CB-5575 change arg

---------

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-10-24 11:03:30 +03:00
sergeyteleshevandmr-anton-t 439c806020 CB-5810 fixes cell edit styles (#2996)
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-10-14 16:51:16 +03:00
sergeyteleshevandmr-anton-t eb41e6156a Cb 5728 update frontend dependencies (#2970)
* CB-5728 updates dependencies without react-data-grid

* CB-5728 updates react-data-grid library

* CB-5728 updates dependencies after react-data-grid updation

* CB-5728 fixes align in cells for react-data-grid

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-10-11 11:54:13 +03:00
2a1adc1374 CB-5052 [2562 FR] Highlight the row where any field is currently selected (#2952)
* CB-5052-2562 adds background for selected row

* CB-5052-2562 fixes background for selected row

* CB-5052-2562 moves style var

* CB-5052 pr fixes

* CB-5052 fixes color for selection

* CB-5052 fixes color for selection 2

* CB-5052 adds themes and fixes actions styles for focused cursor in table

* CB-5052 reverts theme for data grid. plus replaces selected row style

* CB-5052 cleanup

* CB-5052 cleanup

* CB-5052 makes selected tab blue

* CB-5052 reverts refresh button colors

* CB-5052 fixes unneeded border left

---------

Co-authored-by: Alexey <wrouds@gmail.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-10-08 12:56:40 +03:00
AlexeyandEvgenia Bezborodova 0bf6783d00 CB-5446 chore: keyboard navigation improvements (#2935)
* chore: keyboard navigation improvements

* CB-5446 chore: use theme color for outline

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-09-26 19:46:23 +03:00
8f54e759dd CB-4541 feat: tree filter (#2908)
* CB-4541 feat: tree filter

* CB-4541 feat: tree empty placeholders

* CB-4541 fix: settings overflow scroll effect

* CB-4541 fix: settings groups size

* CB-4541 fix: sync groups when filtering

* CB-4541 chore: performance optimization

* chore: review fixes

* chore: replace inline styles

* chore: replace inline styles

* chore: hide extra settings from UI

* chore: hide groups view from settings

* fix: add override options to devtools

* fix: trim filter in settings search

* chore: localization

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-09-25 19:46:13 +03:00
Alexey 6ad148850d refactor: migrate to pure esm CB-5684 (#2929)
* refactor: migrate to pure esm

* chore: revert `useDefineForClassFields` tsconf

* chore: remove patch.js
2024-09-21 07:06:37 +03:00
d2b6734dd3 Chinese localization (#2869)
* Add or improve Chinese translations

* Add or improve Chinese translations

* chore: Update Chinese translations

* chore: correct some translation

* fix: add mapping for all new zh files

---------

Co-authored-by: 李飞 <lif@tongfun.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-09-13 14:08:33 +00:00
AlexeyandDaria Marutkina bdaf5dc3b4 Fix/cb-5383/sync-grid-focus (#2863)
* CB-5383 fix: sync focus in grid

* CB-5383 fix: don't reset focus on index/column

* CB-5383 fix: typo

* CB-5383 fix: focus sync lag

* refactor: rename users delete fn

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-08-23 12:37:13 +03:00
sergeyteleshevandDaria Marutkina de85721c8f chore: Update exception message in SpreadsheetBootstrap (#2832)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-08-07 19:17:15 +03:00
sergeyteleshevandAleksei Potsetsuev 74486b35b4 CB-5340 adds unit tests for basic hooks (#2755)
* CB-5340 adds unit tests for basic hooks

* CB-5340 test: trigger github actions

* CB-5340 fixes unit tests

* CB-5340 fixes unit tests

* CB-5340 fixes unit tests

* CB-5340 adds jest moduled imports for unit tests

* CB-5340 adds jest moduled imports for unit tests

* CB-5340 revert some changes

* CB-5340 cleanup

* CB-5340 replaces global jest to moduled

* CB-5340 uncomment tests and skip it

* CB-5340 cleanup

* chore: enable jest globals

* CB-5340 fix unit tests

---------

Co-authored-by: Aleksei Potsetsuev <wrouds@gmail.com>
2024-08-07 12:42:43 +03:00
b48684b65d CB-3823 refactor: introduce service provider (#2774)
* CB-3823 refactor: introduce service provider

* CB-3823 fix: tests

* CB-5361 api for db tools

* CB-3823 feat: table group

* CB-3823 feat: connection tools resource

* CB-3823 refactor: database result action

* CB-3823 feat: session manager

* CB-3823 fix: data viewer error tracking

* CB-5361 add tools for rm admin

* CB-3823 fix: review

* CB-5361 fixes after review

* CB-5361 add comment

* CB-5361 fix permissions

* CB-3823 fix: service provider

* CB-3823 fix: useController services fallback

---------

Co-authored-by: Ainur <ainur.iagudin@dbeaver.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-07-16 17:38:00 +02:00
9e74f18be3 CB-5338 simplify data grid styling logic (#2762)
* CB-5338 simplify data grid styling logic

* CB-5338 do not inherit color scheme from react data grid

* CB-5338 remove DataGridContainer

* CB-5338 sync focus status

* CB-5338 review fixes

---------

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>
2024-07-12 16:00:43 +03:00
Alexey f88eb8610c chore: remove unused npm command (#2771) 2024-07-09 16:45:49 +03:00