From f06557d051f6a25670f8c82ed2ebf151032a792a Mon Sep 17 00:00:00 2001 From: Wroud Date: Wed, 14 Oct 2020 16:12:58 +0300 Subject: [PATCH] fix(plugin-data-spreadsheet): CB-419 special null cells displaying --- .../src/AgGridTable/AgGridTableController.ts | 14 +++++++++++--- .../src/styles/themes/_base-ag-grid.scss | 5 +++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/webapp/packages/plugin-data-spreadsheet/src/AgGridTable/AgGridTableController.ts b/webapp/packages/plugin-data-spreadsheet/src/AgGridTable/AgGridTableController.ts index 0e5d5f8f33..b80ba754b8 100644 --- a/webapp/packages/plugin-data-spreadsheet/src/AgGridTable/AgGridTableController.ts +++ b/webapp/packages/plugin-data-spreadsheet/src/AgGridTable/AgGridTableController.ts @@ -230,7 +230,7 @@ export class AgGridTableController implements IInitializableController, IDestruc } private cloneRows(rows: AgGridRow[]): AgGridRow[] { - return rows.map(row => [...row].map(v => (v === null ? '' : v))); // TODO: temporary fix dbeaver-corp/dbeaver-web#663 + return rows.map(row => [...row]); } } @@ -291,14 +291,22 @@ function mapDataToColumns(columns?: IAgGridCol[]): ColDef[] { return params.value.split('').map(v => (v.charCodeAt(0) < 32 ? ' ' : v)).join(''); } + if (params.value === 'null') { + return '[null]'; + } + return params.value; }, cellClass: (params: any) => { + const classes: string[] = []; const context: AgGridContext = params.context; if (context.isCellEdited(params.node.rowIndex, params.colDef.colId)) { - return 'cell-edited'; + classes.push('cell-edited'); } - return ''; + if (params.value === 'null') { + classes.push('cell-null'); + } + return classes.join(' '); }, })), ]; diff --git a/webapp/packages/plugin-data-spreadsheet/src/styles/themes/_base-ag-grid.scss b/webapp/packages/plugin-data-spreadsheet/src/styles/themes/_base-ag-grid.scss index 31daa2a3cf..d348917149 100644 --- a/webapp/packages/plugin-data-spreadsheet/src/styles/themes/_base-ag-grid.scss +++ b/webapp/packages/plugin-data-spreadsheet/src/styles/themes/_base-ag-grid.scss @@ -43,6 +43,11 @@ background-color: #ff99006b; } + .cell-null > :global(span) { + text-transform: uppercase; + opacity: 0.65; + } + .ag-row.ag-row-hover { background-color: transparent; @include stripes-background($mdc-theme-secondary);