mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
* dbeaver/pro#4583 feat: add tab reordering functionality in NavigationTabsService * dbeaver/pro#4583 feat: update tab filtering to support tabs order * dbeaver/pro#4583 feat: add tab drag-and-drop functionality and associated tests * dbeaver/pro#4583 feat: implement tab drag-and-drop functionality * dbeaver/pro#4583 fix: adjust tab reordering logic to handle dragged tab position correctly since our reordering logic is duplicating in two components and, moreover, I found a bug in one of the implementations, I decided to put all the common logic to a dedicated helper with test coverage to be sure we use the right logic everywhere. * dbeaver/pro#4583 test: remove redundant tests for onReorder in useTabDragAndDrop * dbeaver/pro#4583 refactor: update reorderTab method to remove return value * dbeaver/pro#4583 feat: add tab reordering functionality to SqlResultTabs component * dbeaver/pro#4583 feat: add tabs order persistence via useUserData hook * dbeaver/pro#4583 feat: integrate react-dnd for tab drag-and-drop functionality * dbeaver/pro#4583 chore: update deps * dbeaver/pro#4583 feat: integrate @dbeaver/js-helpers for array reordering in useHeaderDnD * dbeaver/pro#4583 refactor: simplify reorderArray implementation by extracting some logic to helpers * dbeaver/pro#4583 refactor: extracted tab reordering to a separate hook - moved the tab order persistence logic into a new useTabOrderPersistence hook to make the flow is more obvious (we use this default persistence only with tabs container) - introduced new reorderStateKey tab state to have an identifier for a tab panel, use it in canDrop check to prevent cross-panel DnD -replaced reorderable prop with reorderStateKey, because without a key you can't use reordering * dbeaver/pro#4583 refactor: add dropAllowed state to useTabDragAndDrop for improved drag-and-drop UI * dbeaver/pro#4583 chore: add a comment about reorderStateKey * dbeaver/pro#4583 refactor: add safe guard in SqlResultTabs.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * dbeaver/pro#4583 refactor: wrap onReorder function into useCallback for improved performance * dbeaver/pro#4583 refactor: remove applyOrder method from ITabsContainer and update useTabOrderPersistence to not have dependencies on container * dbeaver/pro#4583 refactor: use refactored hook in SideBarPanel and ToolsPanel Since we are not mutating a container state anymore, we have to update sorting separately in TabList level because it reads directly from the container. * dbeaver/pro#4583 refactor: remove fallback for stateKey * dbeaver/pro#4583 refactor: replace hardcoded values with constants in useTabDragAndDrop * dbeaver/pro#4583 refactor: add DragPosition type * dbeaver/pro#4583 refactor: remove dependencies in TabsState effect * dbeaver/pro#4583 refactor: remove stateKey from useTab hook * dbeaver/pro#4583 feat: add panelId prop to SideBarPanel and use as persistence key * dbeaver/pro#4583 refactor: persistence key in useTabOrderPersistence * dbeaver/pro#4583 feat: add reorderArrayWithOrder helper and update SqlResultTabs to use it --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> 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>
28 lines
468 B
JSON
28 lines
468 B
JSON
{
|
|
"extends": "@dbeaver/tsconfig/tsconfig.webview.json",
|
|
"compilerOptions": {
|
|
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
|
"rootDir": "src",
|
|
"rootDirs": [
|
|
"src"
|
|
],
|
|
"outDir": "lib",
|
|
"incremental": true,
|
|
"composite": true
|
|
},
|
|
"include": [
|
|
"src"
|
|
],
|
|
"references": [
|
|
{
|
|
"path": "../../../common-typescript/@dbeaver/js-helpers"
|
|
},
|
|
{
|
|
"path": "../react-dnd"
|
|
},
|
|
{
|
|
"path": "../ui-kit"
|
|
}
|
|
]
|
|
}
|