From 5e29219e98ad3178331d7c43c9836794ac182bf0 Mon Sep 17 00:00:00 2001 From: Lyubov Voloshko Date: Sun, 16 Nov 2025 15:44:00 +0200 Subject: [PATCH 1/8] table view: add export selected rows --- .../db-table-view.component.html | 4 ++ .../db-table-view/db-table-view.component.ts | 58 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html index a52a55a2d..936f95c19 100644 --- a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html +++ b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html @@ -37,6 +37,10 @@

{{ displayName }}

{{action.title}} + - - - -
- -
-
- - dehaze - folder - -
- {{folder.name}} -
+ +
+ + + + Nothing found. + + + +
+ +
+ +
-
- - - - - chevron_right - - - - - -
-
-
-
-
- - {{getTableName(table)}} - + +
+ +
+
+ + dehaze + folder + +
+ {{folder.name}} +
+ +
+ + + + + chevron_right + + + + + +
- -
- -
-

No tables in this folder

- +
+ + +
+

No tables in this folder

+ +
+
- -
+
+
- +
diff --git a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.ts b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.ts index c386cc20a..68b63c871 100644 --- a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.ts +++ b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.ts @@ -429,6 +429,11 @@ export class DbTablesListComponent implements OnInit, OnChanges { return folder.id; } + hasCustomFolders(): boolean { + // Check if there are folders other than "All Tables" + return this.folders.some(folder => folder.name !== 'All Tables'); + } + private preserveFolderStates() { // Save expanded states of all folders this.folders.forEach(folder => { From a48fcaee8562c2eee70d8f910f81ae66f9b820d9 Mon Sep 17 00:00:00 2001 From: Lyubov Voloshko Date: Mon, 17 Nov 2025 02:08:46 +0200 Subject: [PATCH 7/8] table view, side bar: fix scrolling and layout --- .../dashboard/dashboard.component.css | 9 +++- .../db-tables-list.component.css | 44 ++++++++++--------- .../db-tables-list.component.html | 36 +++++++-------- 3 files changed, 50 insertions(+), 39 deletions(-) diff --git a/frontend/src/app/components/dashboard/dashboard.component.css b/frontend/src/app/components/dashboard/dashboard.component.css index bede3f5b8..3f9572788 100644 --- a/frontend/src/app/components/dashboard/dashboard.component.css +++ b/frontend/src/app/components/dashboard/dashboard.component.css @@ -36,8 +36,14 @@ } } +.table-list-sidenav-container ::ng-deep .mat-drawer-inner-container, +.side-bar_collapsed ::ng-deep .mat-drawer-inner-container { + overflow-y: auto !important; + overflow-x: hidden !important; +} + .table-list-sidenav-container ::ng-deep .mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container { - display: initial; + display: block; } .mat-list-item { @@ -105,6 +111,7 @@ .table-preview { display: flex; overflow-x: hidden; + height: calc(100vh - 44px); } .table-preview-content { diff --git a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css index d4011a6b0..d2e41612e 100644 --- a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css +++ b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css @@ -438,7 +438,8 @@ .tables-list { width: 100%; box-sizing: border-box; - min-height: 0; + /* min-height: 0; */ + height: calc(100vh - 100px); /* Adjust based on header height */ } .tables-list ::ng-deep .table-list-item .mat-list-item-content { @@ -541,10 +542,11 @@ flex-direction: column; width: 100%; height: 100%; + position: relative; } -/* Expanded content wrapper */ -.expanded-content-wrapper { +/* Expanded top section with search and folders */ +.expanded-top-section { display: flex; flex-direction: column; width: 100%; @@ -552,8 +554,25 @@ overflow-y: auto; } -.expanded-content-wrapper.custom-folders-exist { - flex-direction: column-reverse; +/* Expanded bottom section with add button */ +.expanded-bottom-section { + display: flex; + flex-direction: column; + align-items: stretch; + position: sticky; + bottom: 0; + background-color: #ffffff; + padding: 8px 16px; + width: 100%; + box-sizing: border-box; + z-index: 10; +} + +/* Dark theme support for expanded bottom section */ +@media (prefers-color-scheme: dark) { + .expanded-bottom-section { + background-color: #303030; + } } .search-input { @@ -583,21 +602,6 @@ padding-bottom: 8px; } -.add-folder-button-container { - margin-left: 16px; - margin-right: 16px; - margin-top: 0; - margin-bottom: 8px; - width: calc(100% - 32px); - box-sizing: border-box; -} - -/* Adjust margins when custom folders exist (button at bottom) */ -.expanded-content-wrapper.custom-folders-exist .add-folder-button-container { - margin-top: 8px; - margin-bottom: 8px; -} - .add-folder-button { width: 100%; } diff --git a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html index 0f0310cc4..92d3f0bab 100644 --- a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html +++ b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html @@ -72,24 +72,16 @@
- - - - Nothing found. - - - -
- -
- -
+ +
+ + + + Nothing found. +
@@ -175,6 +167,14 @@
+ + +
+ +
From 51d8de507cf6d8ff203beeca9a298f9776a9307d Mon Sep 17 00:00:00 2001 From: Lyubov Voloshko Date: Mon, 17 Nov 2025 02:18:22 +0200 Subject: [PATCH 8/8] table view, left side bar: fix add folder button position when no custom folders --- .../db-tables-list.component.css | 56 ++++++++++--------- .../db-tables-list.component.html | 43 +++++++------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css index d2e41612e..bb8824c20 100644 --- a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css +++ b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.css @@ -543,48 +543,49 @@ width: 100%; height: 100%; position: relative; + overflow-y: auto; } -/* Expanded top section with search and folders */ -.expanded-top-section { - display: flex; - flex-direction: column; - width: 100%; - flex: 1; - overflow-y: auto; +.search-input { + background-color: transparent; + margin-top: 8px; + margin-left: 16px; + margin-bottom: -8px; + width: calc(100% - 32px); + max-width: calc(240px - 32px); + box-sizing: border-box; + order: 1; /* Always first */ } -/* Expanded bottom section with add button */ -.expanded-bottom-section { - display: flex; - flex-direction: column; - align-items: stretch; +/* Add folder button container */ +.add-folder-button-container { + order: 2; /* Default: after search when no custom folders */ + margin-left: 16px; + margin-right: 16px; + margin-top: 4px; + margin-bottom: 8px; + width: calc(100% - 32px); + box-sizing: border-box; +} + +/* When custom folders exist, move add button to bottom */ +.expanded-container.has-custom-folders .add-folder-button-container { + order: 4; /* After folders section */ position: sticky; bottom: 0; background-color: #ffffff; padding: 8px 16px; - width: 100%; - box-sizing: border-box; z-index: 10; + margin-top: auto; } -/* Dark theme support for expanded bottom section */ +/* Dark theme support for add button container when at bottom */ @media (prefers-color-scheme: dark) { - .expanded-bottom-section { + .expanded-container.has-custom-folders .add-folder-button-container { background-color: #303030; } } -.search-input { - background-color: transparent; - margin-top: 8px; - margin-left: 16px; - margin-bottom: 4px; - width: calc(100% - 32px); - max-width: calc(240px - 32px); - box-sizing: border-box; -} - .search-input ::ng-deep * { background-color: transparent !important; } @@ -622,6 +623,9 @@ margin-bottom: 8px; width: calc(100% - 32px); box-sizing: border-box; + order: 3; /* After search and (optionally) add button */ + flex: 1; + overflow-y: auto; } .folder-item { diff --git a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html index 92d3f0bab..1897bdb94 100644 --- a/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html +++ b/frontend/src/app/components/dashboard/db-tables-list/db-tables-list.component.html @@ -71,20 +71,26 @@
-
- -
- - - - Nothing found. - - - -
+
+ + + + Nothing found. + + + +
+ +
+ + +
-
-
- - -
-