Skip to content

Commit 955ab9b

Browse files
committed
chore(demo): add Dark Mode to example 02/03
1 parent 018b75a commit 955ab9b

2 files changed

Lines changed: 36 additions & 2 deletions

File tree

demos/react-fluent/src/examples/slickgrid/Example02.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const Example02: React.FC = () => {
1515
const [columns, setColumns] = useState<Column[]>([]);
1616
const [dataset, setDataset] = useState<any[]>(getData());
1717
const [gridOptions, setGridOptions] = useState<GridOption | undefined>(undefined);
18+
const [darkModeGrid, setDarkModeGrid] = useState(false);
1819

1920
const reactGridRef = useRef<SlickgridReactInstance | null>(null);
2021

@@ -73,6 +74,7 @@ const Example02: React.FC = () => {
7374
container: '#demo-container',
7475
rightPadding: 10,
7576
},
77+
darkMode: false,
7678
enableFiltering: true,
7779
enableCheckboxSelector: true,
7880
checkboxSelector: {
@@ -215,6 +217,17 @@ const Example02: React.FC = () => {
215217
}
216218
}
217219

220+
function toggleDarkModeGrid() {
221+
const isDarkMode = !darkModeGrid;
222+
setDarkModeGrid(isDarkMode);
223+
if (isDarkMode) {
224+
document.querySelector('.grid-container2')?.classList.add('dark-mode');
225+
} else {
226+
document.querySelector('.grid-container2')?.classList.remove('dark-mode');
227+
}
228+
reactGridRef.current?.slickGrid?.setOptions({ darkMode: isDarkMode });
229+
}
230+
218231
// or Toggle Filtering/Sorting functionalities
219232
// ---------------------------------------------
220233

@@ -234,6 +247,10 @@ const Example02: React.FC = () => {
234247

235248
<div className="row">
236249
<div className="col-sm-12">
250+
<Button className="mx-1" onClick={() => toggleDarkModeGrid()} data-test="toggle-dark-mode">
251+
<i className="fi fi-dark-theme"></i>
252+
<span className="ms-1">Toggle Dark Mode</span>
253+
</Button>
237254
<Button className="mx-1" data-test="hide-duration-btn" onClick={() => hideDurationColumnDynamically()}>
238255
Dynamically Hide "Duration"
239256
</Button>
@@ -262,7 +279,7 @@ const Example02: React.FC = () => {
262279
<br />
263280

264281
<SlickgridReact
265-
gridId="grid16"
282+
gridId="grid2"
266283
columns={columns}
267284
options={gridOptions!}
268285
dataset={dataset}

demos/react-fluent/src/examples/slickgrid/Example05.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const Example05: React.FC = () => {
2121
const [columns, setColumns] = useState<Column[]>([]);
2222
const [dataset] = useState<any[]>(getData());
2323
const [gridOptions, setGridOptions] = useState<GridOption | undefined>(undefined);
24+
const [darkModeGrid, setDarkModeGrid] = useState(false);
2425
const [frozenColumnCount, setFrozenColumnCount] = useState(2);
2526
const [frozenRowCount, setFrozenRowCount] = useState(3);
2627
const [isFrozenBottom, setIsFrozenBottom] = useState(false);
@@ -246,6 +247,7 @@ const Example05: React.FC = () => {
246247
container: '#demo-container',
247248
rightPadding: 10,
248249
},
250+
darkMode: false,
249251
gridWidth: 920,
250252
enableCellNavigation: true,
251253
editable: true,
@@ -334,6 +336,17 @@ const Example05: React.FC = () => {
334336
setGridOptions(updatedGridOptions);
335337
}
336338

339+
function toggleDarkModeGrid() {
340+
const isDarkMode = !darkModeGrid;
341+
setDarkModeGrid(isDarkMode);
342+
if (isDarkMode) {
343+
document.querySelector('.grid-container5')?.classList.add('dark-mode');
344+
} else {
345+
document.querySelector('.grid-container5')?.classList.remove('dark-mode');
346+
}
347+
reactGridRef.current?.slickGrid?.setOptions({ darkMode: isDarkMode });
348+
}
349+
337350
/** toggle dynamically, through slickgrid "setOptions()" the top/bottom pinned location */
338351
function toggleFrozenBottomRows() {
339352
reactGridRef.current?.slickGrid.setOptions({
@@ -381,6 +394,10 @@ const Example05: React.FC = () => {
381394

382395
<div className="row my-1">
383396
<div className="col-sm-12">
397+
<Button className="mx-1" onClick={() => toggleDarkModeGrid()} data-test="toggle-dark-mode">
398+
<i className="fi fi-dark-theme"></i>
399+
<span className="ms-1">Toggle Dark Mode</span>
400+
</Button>
384401
<Button className="btn-icon mx-1" onClick={() => setFrozenColumns(-1)} data-test="remove-frozen-column-button">
385402
<i className="fi fi-dismiss"></i> Remove Frozen Columns
386403
</Button>
@@ -399,7 +416,7 @@ const Example05: React.FC = () => {
399416
<br />
400417

401418
<SlickgridReact
402-
gridId="grid20"
419+
gridId="grid5"
403420
columns={columns}
404421
options={gridOptions}
405422
dataset={dataset}

0 commit comments

Comments
 (0)