From cdd305be2a586abe0a37b6b07145c3cd83f1048b Mon Sep 17 00:00:00 2001 From: Lyubov Voloshko Date: Wed, 19 Nov 2025 16:48:02 +0200 Subject: [PATCH 1/3] CSV export: fix columns order in csv --- .../db-table-view/db-table-view.component.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.ts b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.ts index c5279a681..eb329e76a 100644 --- a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.ts +++ b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.ts @@ -524,10 +524,6 @@ export class DbTableViewComponent implements OnInit { } exportData() { - console.log('export data'); - console.log(this.selection.selected); - - // Helper function to convert value to CSV-safe string const convertToCSVValue = (value: any): string => { // Handle null and undefined if (value === null || value === undefined) { @@ -537,10 +533,8 @@ export class DbTableViewComponent implements OnInit { // Handle nested objects and arrays - convert to JSON string if (typeof value === 'object') { try { - // Convert object/array to JSON string value = JSON.stringify(value); } catch (e) { - // Handle circular references or other JSON stringify errors value = '[Object]'; } } @@ -563,20 +557,18 @@ export class DbTableViewComponent implements OnInit { return; } - const header = Object.keys(this.selection.selected[0]); + // Use the displayed columns order from the table + const columnsToExport = this.tableData.displayedDataColumns; // Create CSV rows with proper handling of foreign keys const csv = this.selection.selected.map((row) => - header + columnsToExport .map((fieldName) => { let value = row[fieldName]; - // Check if this field is a foreign key if (this.isForeignKey(fieldName) && value && typeof value === 'object') { - // Get the foreign key definition const foreignKey = this.tableData.foreignKeys[fieldName]; if (foreignKey) { - // Extract only the primary key value from the foreign key object value = value[foreignKey.referenced_column_name]; } } @@ -586,8 +578,8 @@ export class DbTableViewComponent implements OnInit { .join(',') ); - // Add header row - csv.unshift(header.map(h => convertToCSVValue(h)).join(',')); + // Add header row using the same column order + csv.unshift(columnsToExport.map(h => convertToCSVValue(h)).join(',')); const csvArray = csv.join('\r\n'); const a = document.createElement('a'); From e84be28ddb7dd48287a7e4f7602da02a58cd3e79 Mon Sep 17 00:00:00 2001 From: Lyubov Voloshko Date: Sun, 23 Nov 2025 21:12:19 +0200 Subject: [PATCH 2/3] table view: - light background on AI insights button; - columns coumter gray. --- .../db-table-view/db-table-view.component.css | 38 ++++++++++++++++++- .../db-table-view.component.html | 10 +++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css index ab329f243..508ee8c9d 100644 --- a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css +++ b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css @@ -126,7 +126,7 @@ .actions { display: flex; align-items: center; - gap: 4px; + gap: 8px; margin-top: -16px; } @@ -159,6 +159,26 @@ pointer-events: none; } +@media (prefers-color-scheme: light) { + .ai-insights-button { + background: var(--color-accentedPalette-50); + } + + .ai-insights-button:hover { + background: var(--color-accentedPalette-100) !important; + } +} + +@media (prefers-color-scheme: dark) { + .ai-insights-button { + background: var(--color-accentedPalette-900); + } + + .ai-insights-button:hover { + background: var(--color-accentedPalette-800) !important; + } +} + @media (prefers-color-scheme: dark) { .ai-icon ::ng-deep svg path { fill: #fff; @@ -169,6 +189,22 @@ display: inline-block; } +.db-table-manage-columns-button__count { + margin-left: 2px; +} + +@media (prefers-color-scheme: dark) { + .db-table-manage-columns-button__count { + color: rgba(255, 255, 255, 0.56); + } +} + +@media (prefers-color-scheme: light) { + .db-table-manage-columns-button__count { + color: rgba(0, 0, 0, 0.64); + } +} + .active-filters { display: flex; align-items: center; 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 936f95c19..b345e7e14 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 @@ -65,6 +65,7 @@

{{ displayName }}