From 855151b9f47a5238e3069f8c85ba4ed8a5bf9bb6 Mon Sep 17 00:00:00 2001 From: Ghislain B Date: Sat, 2 Mar 2024 15:38:19 -0500 Subject: [PATCH] feat(styling): add Dark Mode grid option (#1407) * feat(styling): add Dark Mode grid option --- .../vite-demo-vanilla-bundle/package.json | 2 +- .../src/examples/example01.html | 15 +- .../src/examples/example01.ts | 12 ++ .../src/examples/example07.html | 6 + .../src/examples/example07.ts | 13 ++ .../src/examples/example12.html | 8 +- .../src/examples/example12.ts | 15 +- .../src/examples/example16.html | 6 + .../src/examples/example16.scss | 8 +- .../src/examples/example16.ts | 14 ++ .../src/examples/icons.ts | 2 + .../src/material-styles.scss | 32 ++- .../vite-demo-vanilla-bundle/src/styles.css | 1 - .../vite-demo-vanilla-bundle/src/styles.scss | 24 +++ packages/common/package.json | 2 +- .../__tests__/autocompleterEditor.spec.ts | 27 ++- .../src/editors/__tests__/dateEditor.spec.ts | 13 ++ .../editors/__tests__/longTextEditor.spec.ts | 10 +- .../editors/__tests__/selectEditor.spec.ts | 10 + .../common/src/editors/autocompleterEditor.ts | 8 +- packages/common/src/editors/dateEditor.ts | 5 + packages/common/src/editors/longTextEditor.ts | 5 + packages/common/src/editors/selectEditor.ts | 1 + .../__tests__/slickCellMenu.plugin.spec.ts | 15 +- .../__tests__/slickColumnPicker.spec.ts | 13 ++ .../__tests__/slickContextMenu.spec.ts | 14 ++ .../__tests__/slickGridMenu.spec.ts | 16 ++ .../src/extensions/menuFromCellBaseClass.ts | 5 + .../common/src/extensions/slickCellMenu.ts | 5 +- .../src/extensions/slickColumnPicker.ts | 7 +- .../common/src/extensions/slickContextMenu.ts | 7 +- .../common/src/extensions/slickGridMenu.ts | 7 +- .../__tests__/autocompleterFilter.spec.ts | 26 ++- .../__tests__/compoundDateFilter.spec.ts | 15 ++ .../filters/__tests__/dateRangeFilter.spec.ts | 1 + .../filters/__tests__/selectFilter.spec.ts | 21 ++ .../common/src/filters/autocompleterFilter.ts | 8 +- packages/common/src/filters/dateFilter.ts | 6 + packages/common/src/filters/selectFilter.ts | 1 + .../interfaces/flatpickrOption.interface.ts | 3 + .../src/interfaces/gridOption.interface.ts | 7 + .../src/styles/_variables-theme-material.scss | 31 +++ .../styles/_variables-theme-salesforce.scss | 24 ++- packages/common/src/styles/_variables.scss | 204 +++++++++++++++++- packages/common/src/styles/extra-styling.scss | 7 +- .../common/src/styles/flatpickr-dark.scss | 107 +++++++++ .../common/src/styles/material-svg-icons.scss | 10 + .../common/src/styles/slick-bootstrap.scss | 19 +- .../common/src/styles/slick-component.scss | 8 +- packages/common/src/styles/slick-editors.scss | 17 +- packages/common/src/styles/slick-grid.scss | 11 +- packages/common/src/styles/slick-plugins.scss | 11 +- .../slick-without-bootstrap-min-styling.scss | 18 +- .../src/styles/slickgrid-theme-bootstrap.scss | 1 + .../styles/slickgrid-theme-material.bare.scss | 1 + .../styles/slickgrid-theme-material.lite.scss | 1 + .../src/styles/slickgrid-theme-material.scss | 1 + .../slickgrid-theme-salesforce.bare.scss | 1 + .../slickgrid-theme-salesforce.lite.scss | 1 + .../styles/slickgrid-theme-salesforce.scss | 9 +- .../slick-composite-editor.component.spec.ts | 23 +- .../src/slick-composite-editor.component.ts | 5 + .../__tests__/slick-vanilla-grid.spec.ts | 20 ++ .../components/slick-vanilla-grid-bundle.ts | 26 +++ .../__tests__/vanilla-force-bundle.spec.ts | 1 + pnpm-lock.yaml | 12 +- 66 files changed, 901 insertions(+), 84 deletions(-) delete mode 100644 examples/vite-demo-vanilla-bundle/src/styles.css create mode 100644 packages/common/src/styles/flatpickr-dark.scss diff --git a/examples/vite-demo-vanilla-bundle/package.json b/examples/vite-demo-vanilla-bundle/package.json index d4116f907..3f3f96419 100644 --- a/examples/vite-demo-vanilla-bundle/package.json +++ b/examples/vite-demo-vanilla-bundle/package.json @@ -29,7 +29,7 @@ "fetch-jsonp": "^1.3.0", "flatpickr": "^4.6.13", "moment-mini": "^2.29.4", - "multiple-select-vanilla": "^2.0.2", + "multiple-select-vanilla": "^2.1.0", "rxjs": "^7.8.1", "whatwg-fetch": "^3.6.20" }, diff --git a/examples/vite-demo-vanilla-bundle/src/examples/example01.html b/examples/vite-demo-vanilla-bundle/src/examples/example01.html index 761c3290e..1d6d069d7 100644 --- a/examples/vite-demo-vanilla-bundle/src/examples/example01.html +++ b/examples/vite-demo-vanilla-bundle/src/examples/example01.html @@ -10,7 +10,20 @@

Example 01 - Basic Grids

-
Grid 1
+
+
+
Grid 1
+
+
+

+ +

+
+
+
diff --git a/examples/vite-demo-vanilla-bundle/src/examples/example01.ts b/examples/vite-demo-vanilla-bundle/src/examples/example01.ts index 837b21d21..0a8f0e595 100644 --- a/examples/vite-demo-vanilla-bundle/src/examples/example01.ts +++ b/examples/vite-demo-vanilla-bundle/src/examples/example01.ts @@ -11,6 +11,7 @@ import './example01.scss'; const NB_ITEMS = 995; export default class Example01 { + private _darkModeGrid1 = false; gridOptions1!: GridOption; gridOptions2!: GridOption; columnDefinitions1!: Column[]; @@ -56,6 +57,7 @@ export default class Example01 { ]; this.gridOptions1 = { enableAutoResize: false, + darkMode: this._darkModeGrid1, gridHeight: 225, gridWidth: 800, rowHeight: 33, @@ -170,6 +172,16 @@ export default class Example01 { return mockDataset; } + toggleDarkModeGrid1() { + this._darkModeGrid1 = !this._darkModeGrid1; + if (this._darkModeGrid1) { + document.querySelector('.grid-container1')?.classList.add('dark-mode'); + } else { + document.querySelector('.grid-container1')?.classList.remove('dark-mode'); + } + this.sgb1.gridOptions = { darkMode: this._darkModeGrid1 }; + } + // Toggle the Pagination of Grid2 // IMPORTANT, the Pagination MUST BE CREATED on initial page load before you can start toggling it // Basically you cannot toggle a Pagination that doesn't exist (must created at the time as the grid) diff --git a/examples/vite-demo-vanilla-bundle/src/examples/example07.html b/examples/vite-demo-vanilla-bundle/src/examples/example07.html index 02e12815e..a677e9440 100644 --- a/examples/vite-demo-vanilla-bundle/src/examples/example07.html +++ b/examples/vite-demo-vanilla-bundle/src/examples/example07.html @@ -1,5 +1,11 @@

Example 07 - Row Move & Row Selections + + +