* dbeaver/pro#7023 feat: add SearchPanel component and related styles to UI-kit
add chevron Icon to UI-kit (used in Search Panel)
* dbeaver/pro#7023 feat: add SearchPanel story
* dbeaver/pro#7023 feat: update SearchPanel integration in CodeMirror
* dbeaver/pro#7023 feat: add onReplaceToggle prop to SearchPanel for toggle functionality
* dbeaver/pro#7023 fix: replace-input styles
* dbeaver/pro#7023 feat: implement search functionality in DataGrid v2
* dbeaver/pro#7023 fix: update react-data-grid workspace reference in yarn.lock
* dbeaver/pro#7023 feat: don't focus cell on replace
* dbeaver/pro#7023 feat: add searchReadOnly prop to DataGrid and GridSearchPanel components
* dbeaver/pro#7023 fix: update styles for search panel
* dbeaver/pro#7023 feat: add theme variables for improved styling in storybook
* dbeaver/pro#7023 feat: update search panel styles in datagrid
* dbeaver/pro#7023 feat: improve search functionality by resetting active match index and triggering search on find actions
* dbeaver/pro#7023 refactor: useGridSearch
* dbeaver/pro#7023 fix: search panel styles
* dbeaver/pro#7023 feat: implement grid search state management
* dbeaver/pro#7023 feat: add refresh functionality to search components
* dbeaver/pro#7023 feat: add history action to refresh search results on undo/redo
* dbeaver/pro#7023 feat: add batch cell update functionality to data grid
That functionality comes in handy when we want to use Undo and Replace All functions together:
Before that commit we used to perform N operations where N is a number of replaced cells. And history would record them as atomic operations, so pressing Undo would revert only the last replace.
setMany enables batch editing and batch reverting, so now we can Replace All and then revert it by using one Undo operation
* dbeaver/pro#7023 refactor: remove unnecessary eslint disable comment in useGridSearch
* dbeaver/pro#7023 feat: select affected cell on history change
* dbeaver/pro#7023 feat: add searchReadOnly prop to DataGridTable for conditional read-only state
* dbeaver/pro#7023 refactor: simplify isReadOnly logic in GridSearchPanel
* dbeaver/pro#7023 refactor: use constants for flags
* dbeaver/pro#7023 refactor: update focus and refresh methods in GridSearchPanel
* dbeaver/pro#7023 refactor: consolidate grid search state update logic
* dbeaver/pro#7023 refactor: update scrollToCell method signature and related usages
* dbeaver/pro#7023 refactor: update handleCellChangeBatch to use ICellChange type
* dbeaver/pro#7023 refactor: remove unwanted code
* dbeaver/pro#7023 feat: refactor search functionality to use standalone functions
* dbeaver/pro#7023 feat: implement useDataGridSearch hook to avoid bloating the DataGrid component with the search-related logic
* dbeaver/pro#7023 feat: update search functionality to use onReplace for cell value updates
* dbeaver/pro#7023 feat: use Activity component for search panel visibility in DataGrid
* dbeaver/pro#7023 refactor: use common value transformation fn in set and setMany methods
* dbeaver/pro#7023 refactor: rename methods for "unnkeyed" cache
* dbeaver/pro#7023 refactor: unify cell edit history handling and remove batch edit references
* dbeaver/pro#7023 fix: update searchReadOnly logic
* dbeaver/pro#7023 refactor: replace rowsCountRef with useState (Error: Cannot access refs during render)
* dbeaver/pro#7023 refactor: expose getCellClassName via useImperativeHandle
Replaced onCellClassNameChange prop + useEffect with useImperativeHandle as suggested in code review. Using useState setter directly as callback ref either caused infinite re-renders (without deps) or lost context synchronization entirely (with stable deps). Settled on useCallback ref that sets both useRef (for method access) and useState (for context propagation).
* dbeaver/pro#7023 fix: Cmd+F not re-focusing the search panel when already open
* dbeaver/pro#7023 refactor: cell edit history compression
* dbeaver/pro#7023 fix: refresh search state on revert
* dbeaver/pro#7023 refactor: move focus blocking during replace into grid component
Previously DataGridTable checked isReplacing() before syncing
focus/selection, leaking grid internals
Now the grid's selectCell blocks during replacing internally and
supports deferred mode (setTimeout + rAF) for post-render focus sync.
* dbeaver/pro#7023 refactor: restructure grid search logic with useReducer and improve state management
* dbeaver/pro#7023 refactor: improve grid search
moved ref synchronization out of render,
unified search+scroll into one shared path,
added a SET_MATCHES no-op guard to reduce unnecessary updates,
removed duplicate open=false persistence from useDataGridSearch (single owner now in useGridSearch).
* dbeaver/pro#7023 refactor: update search state types
* dbeaver/pro#7023 refactor: restructure grid search state interfaces for improved clarity
* dbeaver/pro#7023 refactor: optimize match retrieval logic after removal in grid search
* dbeaver/pro#7023 refactor: sync refs and computed props in one effect
* dbeaver/pro#7023 fix: Esc double handling between SearchPanel and CaptureView hotkeys
* dbeaver/pro#7023 refactor: fix review comments in useGridSearch
* dbeaver/pro#7023 refactor: unify hotkey stop propagation via shared EventContext/EventStopPropagationFlag
* dbeaver/pro#7023 refactor: pass reactive cellText to useGridSearch
* dbeaver/pro#7023 refactor: update grid search reducer actions and navigation logic
reuse SET_ACTIVE_MATCH and computeActiveMatchIdx for consistency
* dbeaver/pro#7023 refactor: improve equality check for cell matches
* dbeaver/pro#7023 feat: implement cell change tracking subscriptions and cleanup logic
* dbeaver/pro#7023 refactor: remove redundant clearTrackedCellSubscriptions
Cleanup implemented in useTrackedGridSearchCellSubscriptions hook
* dbeaver/pro#7023 fix: cancel stale deferred selectCell to prevent infinite focus loop
When multiple rows are deleted, competing deferred selectCell timeouts
cause focusSyncRef mismatch and endless focus-change cycle.
* dbeaver/pro#7023 fix: update keyboard shortcut for search to use 'KeyF'
* dbeaver/pro#7023 feat: make search disabled by default
* dbeaver/pro#7023 fix: layout
* dbeaver/pro#7023 fix: update scrollBox selection method in Table component
---------
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Viktor Kirst <viktor.kirst@dbeaver.com>
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
* dbeaver/pro#7465 refactor: migrate context menu to ariakit
* refactor: remove unused modal prop from ContextMenu and clean up schema name handling
* chore: add memoization to the base context menu components
* fix: menu issues
---------
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
* dbeaver/pro#6962 refactor: replace complex loader with-simple solution
* refactor: simplify function declarations in createLazyLoader
* fix: ensure notify is called after loading state updates in createLazyLoader
---------
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
* dbeaver/pro#6605 fix: reset filters on logout
This commit adds onLogout handler in DataViewerTabService which disposes opened tabs on logout.
Previously we didn't handle that at all and model was persisted in the memory after logout. On next login, if there was any filters, we would try to send them to backend and got an error, because backend doesn't support initial requests(without resultId) with filters.
The main logic of a handler repeats the already existed onDisconnect handler logic, which was extracted to handleTabsCleanup method. The difference between handlers is only in a set of tabs(onLogout we dispose all of them, onDisconnect - only tabs of a selected connection) and ability to interrupt the process.
* Revert "dbeaver/pro#6605 fix: reset filters on logout"
This reverts commit d124b444c7.
* dbeaver/pro#6605 fix: add onLoad Handler to ObjectViewerTabService
* Update webapp/packages/plugin-object-viewer/src/ObjectViewerTabService.ts
Co-authored-by: Alexey Potsetsuev <wrouds@gmail.com>
---------
Co-authored-by: Alexey Potsetsuev <wrouds@gmail.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@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
* 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>
* CB-4018 refactor: data context api
* CB-4018 refactor: data context api
* CB-4018 refactor: form parts api
* CB-4018 fix: pr review
* CB-4018 fix: track mobx dependencies in useDataContextLink
* CB-4018 fix: unsubscribe behaviour
* CB-3510 feat: data editing actions based on view (#2710)
* CB-3510 feat: data editing actions based on view
* CB-3510 fix: pr review
* CB-3510 fix: table bottom bar styles
* CB-4018 refactor: respect presentation in data viewer
* CB-4018 fix: remove gap in data viewer toolbar
* CB-4018 fix: isolate contexts in data viewer
* Added French translation file for core-administration (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-administration/src/locales/ directory. This file contains the French translations for various administration-related strings used in the application. The translations include menu entries, configuration wizard titles, and success messages.
* Added French translation file for core-authentication (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-authentication/src/locales/ directory. This file contains the French translations for various authentication-related strings used in the application. The translations include settings group labels, options for disabling anonymous access, and password policy requirements such as minimum length, case sensitivity, digits, and special characters.
* Added French translation file for core-blocks (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-blocks/src/locales/ directory. This file contains the French translations for various core-blocks related strings used in the application. The translations include properties table labels, filter options, add/reset/remove property actions, placeholder texts, error messages, and validation messages.
* Added French translation file for core-browser-settings (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-browser-settings/src/locales/ directory. This file contains the French translations for various browser settings related strings used in the application. The translations include settings for cookies and general browser settings.
* Added French translation file for core-connections (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-connections/src/locales/ directory. This file contains the French translations for various connection-related strings used in the application. The translations include settings for connections, connection templates, error messages, authentication details, network handler configurations, and various tooltips and placeholder texts related to database connections and SSH tunnels.
* Added French translation file for core-localization (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-localization/src/locales/ directory. This file contains the French translations for various UI-related strings used in the application. The translations include messages for renaming, themes, navigation steps, loading states, error handling, clipboard operations, authentication, settings, file operations, and more.
* Added French translation file for core-navigation-tree (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-navigation-tree/src/locales/ directory. This file contains the French translation for the navigation tree settings group string used in the application.
* Added French translation file for core-projects (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-projects/src/locales/ directory. This file contains the French translation for the message indicating that a project is not found.
* Added French translation file for core-resource-manager (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-resource-manager/src/locales/ directory. This file contains the French translation for the resource manager settings group string used in the application.
* Added French translation file for core-settings-localization (fr.ts)
I have created the fr.ts file in the cloudbeaver/webapp/packages/core-settings-localization/src/locales/ directory. This file contains the French translations for the localization settings, including the labels and descriptions for language settings in the application.
* Added French translation file for core-settings-user (fr.ts)
I have created the fr.ts file in the cloudbeaver/webapp/packages/core-settings-user/src/locales/ directory. This file currently does not contain any translations, but it has been set up for future French translations for user settings in the application.
* Added French translation file for core-settings (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-settings/src/locales/ directory. This file contains the French translations for the interface and root settings groups used in the application.
* Added French translation file for core-theming (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-theming/src/locales/ directory. This file contains the French translations for the theming settings, including the labels and descriptions for the application color theme.
* Added French translation file for core-ui (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-ui/src/locales/ directory. This file contains the French translations for various UI-related messages used in the application, including messages for empty states, form save errors, and tab switching errors during form validation.
* Added French translation file for core-version-update (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-version-update/src/locales/ directory. This file contains the French translations for various version update-related messages used in the application, including messages about version status, refresh actions, and update instructions.
* Added French translation file for core-version (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-version/src/locales/ directory. This file contains the French translations for various version-related strings used in the application, including version information, release dates, tags, and error messages for loading version information.
* Added French translation file for core-view (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/core-view/src/locales/ directory. This file contains the French translations for various view-related strings used in the application, including layout settings, zoom actions, and labels for creating and editing items and folders.
* Added French translation file for plugin-administration (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-administration/src/locales/ directory. This file contains the French translations for various administration-related messages used in the application, including server configuration, welcome messages, security settings, and navigation options.
* Added French translation file for plugin-authentication-administration (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-authentication-administration/src/locales/ directory. This file contains the French translations for various authentication and administration-related messages used in the application, including user connections, access management, identity providers, and team management.
* Added French translation file for plugin-authentication (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-authentication/src/locales/ directory. This file contains the French translations for various authentication-related messages used in the application, including login, logout, user credentials, error messages, and identity provider configurations.
* Added French translation file for plugin-browser (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-browser/src/locales/ directory. This file contains the French translations for various update-related messages used in the application, including installation of the application, installation of updates, and restart messages with progress information.
* Added French translation file for plugin-connection-custom (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-connection-custom/src/locales/ directory. This file contains the French translations for various custom connection-related messages used in the application, including parameters, URL, main settings, driver properties, and connection actions like testing and creating connections.
* Added French translation file for plugin-connection-search (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-connection-search/src/locales/ directory. This file contains the French translation for the label used in the plugin-connection-search, specifically the message "Find Local Database" which is translated to "Trouver une base de données locale".
* Added French translation file for plugin-connection-template (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-connection-template/src/locales/ directory. This file contains the French translations for various strings used in the connection template plugin. The translations include labels and messages related to new connections, database connection dialogs, and connection templates. This addition will help French-speaking users interact with the connection template plugin more easily.
* Added French translation file for plugin-connections-administration (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-connections-administration/src/locales/ directory. This file contains the French translations for various connection-related strings used in the application. The translations include menu items for editing connections, confirmation messages for reconnection, and descriptions of the templates used by administrators to create reusable connection parameters.
* Added French translation file for plugin-connections (fr.ts)
I have added the fr.ts file to the cloudbeaver/webapp/packages/plugin-connections/src/locales/ directory. This file contains the French translations for various connection-related strings used in the application. The translations include messages for editing connections, connection status updates, and SSL settings.
* Added French translation file for plugin-data-export (fr.ts)
Added French translations for various data export-related strings in the plugin-data-export module. This includes translations for dialogs, notifications, and settings related to data export functionality.
* Added French translation file for plugin-data-import (fr.ts)
- Added French translations for the data import plugin.
- Included translations for various stages and messages related to data import process.
* Add French translation file for plugin-data-spreadsheet-new (fr.ts)
Added French translations for plugin-data-spreadsheet-new. This includes translations for various table and data grid related functionalities such as table editing, sorting, filtering, and error messages.
* Added French translation file for plugin-data-viewer (fr.ts)
This commit includes the French translation for the plugin-data-viewer module.
* Add French translation for Data Viewer plugin (fr.ts)
Added French translations for the Data Viewer plugin.
* Added French translation to plugin-datasource-context-switch (fr.ts)
Added French translations for the context switch plugin messages.
* Added French translation to plugin-datasource-transaction-manager (fr.ts)
Added French translations for the transaction manager plugin messages.
* Added French translation to plugin-gis-viewer (fr.ts)
Added French translations for the GIS viewer plugin messages.
* Added French translation to plugin-help (fr.ts)
Added French translations for the help plugin messages.
* Added French translation to plugin-log-viewer (fr.ts)
Added French translations for the log viewer plugin messages.
* Added French translation to plugin-navigation-tree-filters (fr.ts)
Added French translations for the navigation tree filters plugin messages.
* Added French translation to plugin-navigation-tree-rm (fr.ts)
Added French translations for the navigation tree remove plugin messages.
* Added French translation to plugin-navigation-tree (fr.ts)
Added French translations for the navigation tree plugin messages.
* Added French translation to plugin-object-viewer (fr.ts)
Added French translations for the object viewer plugin messages.
* Added French translation to plugin-product (fr.ts)
Added French translations for the product plugin messages.
* Added French translation to plugin-projects (fr.ts)
Added French translations for the projects plugin messages.
* Added French translation to plugin-resource-manager-administration (fr.ts)
Added French translations for the resource manager administration plugin messages.
* Added French translation to plugin-resource-manager-scripts (fr.ts)
Added French translations for the resource manager scripts plugin messages.
* Added French translation to plugin-resource-manager (fr.ts)
Added French translations for the resource manager plugin messages.
* Added French translation to plugin-root (fr.ts)
Added French translations for the root plugin messages.
* Added French translation to plugin-session-expiration (fr.ts)
Added an empty template for French translations for the session expiration plugin messages.
* Added French translation to plugin-settings-administration (fr.ts)
Added French translations for the settings administration plugin messages.
* Added French translation to plugin-settings-panel (fr.ts)
Added French translations for the settings panel plugin messages.
* Added French translation to plugin-sql-editor-navigation-tab-script (fr.ts)
Added French translations for the SQL editor navigation tab script plugin messages.
* Added French translation to plugin-sql-editor-navigation-tab (fr.ts)
Added French translations for the SQL editor navigation tab plugin messages.
* Added French translation to plugin-sql-editor-new (fr.ts)
Added French translations for the new SQL editor plugin messages.
* Added French translation to plugin-sql-editor-screen (fr.ts)
Added French translations for the SQL editor screen plugin messages.
* Added French translation to plugin-sql-editor (fr.ts)
Added French translations for the SQL editor plugin messages.
* Added French translation to plugin-sql-generator (fr.ts)
Added fr.ts to cloudbeaver/webapp/packages/plugin-sql-generator/src/locales
* Added French translation to plugin-task-manager (fr.ts)
Added French translations for the task manager plugin messages.
* Added French translation to plugin-tools-panel (fr.ts)
Added French translations for the tools panel plugin messages.
* Added French translation to plugin-user-profile-settings (fr.ts)
Added French translations for the user profile settings plugin messages.
* Added French translation to plugin-user-profile (fr.ts)
Added French translations for the user profile plugin messages.
* Added French translation to plugin-version-update-administration (fr.ts)
Added French translations for the version update administration plugin messages.
* Added French translation to product-default (fr.ts)
Added French translations for the default product plugin messages.
* CB-5266 registers french localization all over the app
* CB-5266 adds core-app localization from other PR
* CB-5266 shorter translate for log-viewer french action enable label
---------
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>