* 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>
* dbeaver/pro#5745 updates frontend deps
* updates graphql-request
* updates yarn locks for common-typescript, common-react
* updates engines node version
* react-hotkeys-hook + fixes hotkeys so it continues to work
* code cleanup for parseHotKey
* uses fixed version of tailwindcss
* adds 4.0.6 versions for tailwindcss with resolutions
* reverts tailwind 4.0.6 version for yarn.lock
* removes redundant resolutions for tailwindcss
* Update readme.md with new NodeJS version
* Update README.md with correct nodejs version according to our documentation
* updates talewindcss version 4.0.7
* fix: hotkeys types
---------
Co-authored-by: Wroud <wrouds@gmail.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>
* #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>
* CB-5774 add connection brute force protection
* CB-5774 api for additional info of disabled user
* CB-5774 fix deserialization
* CB-5574 adds disabled user info in editing user form
* CB-5774 save all connect errors to db
* CB-5774 resolve conflicts
* CB-5774 resolve conflicts
* CB-5574 fixes userId
* CB-5774 fix fetch user and test
* CB-5774 resolve conflicts
* CB-5774 handle brute force on desktop
* CB-5774 fix send event for killing user sessions
* CB-5774 build fix
---------
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Wroud <wrouds@gmail.com>
* CB-4067 adds connection form state, service and options part
* CB-4067 adds connection origin info tab to new form
* CB-4067 adds SSH part
* CB-4067 adds driver properties part
* CB-4067 changes driverId and submitType location for connection form
* CB-4067 adds SSL part
* CB-4067 adds connection form access part
* CB-4067 uses new form parts for connection form
* CB-4067 resets form on open
* CB-4067 fixes configure case for connection form
* CB-4067 adds selected driver on edit mode form
* CB-4067 reloads form when it is needed
* CB-4067 adds button actions for the form
* CB-4067 adds notifications on form save/error
* CB-4067 fixes form ssl saving and driver properties
* CB-4067 refactors some parts
* CB-4067 refactors form options part so it works fine
* CB-4067 fixes driver properties part
* CB-4067 fixes SSH part
* CB-4067 fixes SSL part
* CB-4067 fixes Access part
* CB-4067 refactors origin tab
* CB-4067 refactors shared credentials part
* CB-4067 fixes: secret providers, SSH, SSL, test - features
* CB-4067 removes refactor postfix for new state, service and types
* CB-4067 fixes connection test
* CB-4067 cleanup
* CB-4067 gets back ask credentials window and removes connectionCredentialsStateContext
* CB-4067 adds translation to test connection success message
* CB-4067 fixes ssh and ssl adding to networkHandlers. also fixes extra request for driver properties
* CB-4067 fixes host and port for switching connections
* CB-4067 removes redundant code
* CB-4067 fixes exception error on retest connection + fixes SSH field key saved incorrect prop
* CB-4067 cleanup testContext info
* CB-4076 fixes SSH and SSL ask credentials and parameters saving for both: test and submit connection create/edit action
* CB-4067 fixes access tab reminder
* CB-4067 fixes handling of info message for cloud connection origin tabs
* CB-4067 fixes checkboxes behavior for TE shared credentials feature
* CB-4067 fixes create connection template popup SSH form
* CB-4067 fixes notification for closing ask credentials popup if before we had an error of test submit
* CB-6115 adds dispose API for forms
* CB-6115 adds git workspace helper extension for repo recommendations
* CB-4067 cleanup
* CB-6115 pr fixes
* CB-4067 gets back behavior with dispose connection form state
* CB-4067 cleanup
* СB-4067 splits states to ui and form part in access form part
* СB-4067 pr fixes
* CB-4067 removes config from form state
* CB-4067 removes console warnings + clean up
* CB-4067 moves synchronization mechanisms from ConnectionFormState to ConnectionOptionsFormPart
* CB-4067 fixes bug with incorrect host or port during search or changing driverId during connection creation
* CB-4067 fixes opening connection forms from different entry points so it shows consistent initial data
* СB-4067 brings back saving the form
* CB-4067 fixes logic of showing popup askCredentials
* CB-4067 fixes origin tab name so it shows correctly + fixes unneeded loaders of resources
* CB-4067 reverts isOutdated
* CB-4067 fixes loading of driver properties
* CB-4067 cleanup for connection access part
* Revert "CB-4067 reverts isOutdated"
This reverts commit ecb195ee2a.
* CB-4067 adds isOutdated to the parts
* CB-4067 fixes origin tab info message
* CB-4067 fixes driver properties state + origin info status message shows on load
* CB-4067 fixes password autofill during form save
* CB-4067 fixes linter
* CB-4067 fixes linter
* CB-4067 cleanup + fixes bug with search database host,name fields
* CB-4067 linter fix
* CB-4067 pr fixes
* CB-4067 removes unused post handler for formstate loaded task
* CB-4067 small pr fixes
* CB-4067 adds setDriver + handles name autocomplete
* chore: review
* CB-4067 connection part correct loading
* CB-4067 adds formState.state.connectionId default value
* refactor: pr review
* CB-4067 fixes bug with infinite loading of the origin info details
* CB-4067 fix: allows askCredentials to edit fields + does not affects part state
* CB-4067 resets driver properties if changed driverId
* CB-4067 updates yarn lock for common-react
* CB-4067 lint fix
* CB-6265 fix: do not include index files for import/export eslint rules
* CB-4067 fixes behavior for aksCredentials so it acts correctly during testing/saving/editing inputs for the form
* CB-4067 cleanup
* CB-4067 fixes connection templates initial loaded state
* CB-4067 pr fixes: dialog credentials; adds todo to the ssh tab; eslint revert; cleanup
* CB-4067 makes askCredentials to be part state independent
* CB-4067 qa fixes: test translation + removes db name form connection name
* CB-4067 adds readonly state for connection form
* CB-4067 fixes application freezes on disconnect
* CB-4067 fixes empty properties when switching cloud connections
* CB-4067 connection is created -> connection was created
* CB-4067 connection is updated -> connection was updated
* CB-4067 fixes outdated logic for parts
* CB-4067 build fix
* CB-4067 fix: do not show askCredential popup for drivers with only anonymous access
* CB-4067 removes includeCredentialsSaved
* CB-4067 removes includeAuthProperties
* CB-4067 removes customIncludeOptions
* CB-4067 removes includeProperties
* CB-4067 removes includeProviderProperties
* CB-4067 removes includeNetworkHandlers
* CB-4067 refactors isOutdated for originInfoPart and AccessPart
* CB-4067 removes savedCredentials resource + updates CustomOptionsResource + reuses new include resources in connection form components
* CB-4067 reverts spreading of new connectionInfoResources
* CB-4067 fixes sharedCreds checkbox default value on form switch
* CB-4067 closes connection form when layout closes
* CB-4067 disposes connection form on change
* CB-4067 handles closing of the connection form correctly
* Revert "CB-4067 handles closing of the connection form correctly"
This reverts commit 3a6f1a6a0a.
* CB-4067 handles closing of the connection form correctly [2]
* CB-4067 fits info messages in one line
* CB-4067 presaves isChanged state for form part before applying initialState to prevent bugs
* CB-4067 fixes length of the error message for connection form top bar
---------
Co-authored-by: Alexey <wrouds@gmail.com>
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>
* 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>
* С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
* #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>