@dmsi/wedgekit-react 0.0.276 → 0.0.278
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ANDTMNGV.js → chunk-ARQBSR3I.js} +3 -3
- package/dist/{chunk-OAIAELMQ.js → chunk-CG6XF4JH.js} +23 -7
- package/dist/{chunk-HIVPC3T4.js → chunk-JUJBS4ZV.js} +18 -3
- package/dist/{chunk-FLVYV4T4.js → chunk-OXSBIBGT.js} +1 -1
- package/dist/{chunk-FQRSSPFV.js → chunk-RLLQRVM7.js} +1 -1
- package/dist/{chunk-PGSDEGBP.js → chunk-W32JB47H.js} +2 -2
- package/dist/{chunk-CCOQOO23.js → chunk-WPEDVM56.js} +1 -1
- package/dist/{chunk-PEB3BNN6.js → chunk-ZA5E7ZYM.js} +2 -2
- package/dist/components/CalendarRange.cjs +30 -5
- package/dist/components/CalendarRange.js +7 -7
- package/dist/components/DataGridCell.js +5 -5
- package/dist/components/DateInput.cjs +30 -5
- package/dist/components/DateInput.js +7 -7
- package/dist/components/DateRangeInput.cjs +30 -5
- package/dist/components/DateRangeInput.js +7 -7
- package/dist/components/Menu.js +3 -3
- package/dist/components/MenuOption.js +2 -2
- package/dist/components/Modal.js +2 -2
- package/dist/components/NestedMenu.js +2 -2
- package/dist/components/PDFViewer.js +2 -2
- package/dist/components/ProjectBar.js +1 -1
- package/dist/components/index.cjs +30 -5
- package/dist/components/index.js +6 -6
- package/dist/components/useMenuSystem.js +2 -2
- package/dist/hooks/index.cjs +18 -3
- package/dist/hooks/index.js +1 -1
- package/package.json +1 -1
- package/src/components/DataGrid/index.tsx +18 -3
- package/src/components/DataGrid/types.ts +1 -0
- package/src/hooks/useTableLayout.ts +23 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Menu
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W32JB47H.js";
|
|
4
4
|
import {
|
|
5
5
|
useSubMenuSystem
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WPEDVM56.js";
|
|
7
7
|
import {
|
|
8
8
|
MenuOption
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OXSBIBGT.js";
|
|
10
10
|
import {
|
|
11
11
|
Search
|
|
12
12
|
} from "./chunk-6GAYJCFE.js";
|
|
@@ -12,17 +12,17 @@ import {
|
|
|
12
12
|
DataGridCell,
|
|
13
13
|
DragAlongCell,
|
|
14
14
|
DraggableCellHeader
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ARQBSR3I.js";
|
|
16
16
|
import {
|
|
17
17
|
Menu
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-W32JB47H.js";
|
|
19
19
|
import {
|
|
20
20
|
MenuOption
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-OXSBIBGT.js";
|
|
22
22
|
import {
|
|
23
23
|
useInfiniteScroll,
|
|
24
24
|
useTableLayout
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-JUJBS4ZV.js";
|
|
26
26
|
import {
|
|
27
27
|
formatDate
|
|
28
28
|
} from "./chunk-TYTD4FLW.js";
|
|
@@ -61,7 +61,13 @@ import {
|
|
|
61
61
|
} from "./chunk-ORMEWXMH.js";
|
|
62
62
|
|
|
63
63
|
// src/components/DataGrid/index.tsx
|
|
64
|
-
import React3, {
|
|
64
|
+
import React3, {
|
|
65
|
+
useCallback,
|
|
66
|
+
useEffect,
|
|
67
|
+
useId,
|
|
68
|
+
useImperativeHandle,
|
|
69
|
+
useState as useState3
|
|
70
|
+
} from "react";
|
|
65
71
|
import {
|
|
66
72
|
flexRender as flexRender3,
|
|
67
73
|
getCoreRowModel,
|
|
@@ -671,13 +677,23 @@ function DataGrid({
|
|
|
671
677
|
enableColumnSelector,
|
|
672
678
|
predeterminedLeftPins = [],
|
|
673
679
|
predeterminedRightPins = [],
|
|
674
|
-
useMenuDefaultMinWidth
|
|
680
|
+
useMenuDefaultMinWidth,
|
|
681
|
+
ref
|
|
675
682
|
}) {
|
|
676
683
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
684
|
+
useImperativeHandle(ref, () => ({
|
|
685
|
+
getSavedLayout: () => {
|
|
686
|
+
return getSavedLayout();
|
|
687
|
+
}
|
|
688
|
+
}));
|
|
677
689
|
const [localSorting, setLocalSorting] = useState3([]);
|
|
678
690
|
const [localColumnFilters, setLocalColumnFilters] = useState3([]);
|
|
679
691
|
const [localRowSelection, setLocalRowSelection] = useState3({});
|
|
680
|
-
const {
|
|
692
|
+
const {
|
|
693
|
+
columns: tableColumns,
|
|
694
|
+
setColumns: setTableColumns,
|
|
695
|
+
getSavedLayout
|
|
696
|
+
} = useTableLayout(columns, id != null ? id : testid);
|
|
681
697
|
const [columnOrder, setColumnOrder] = useState3(
|
|
682
698
|
tableColumns.map((c) => c.id)
|
|
683
699
|
);
|
|
@@ -82,6 +82,8 @@ import {
|
|
|
82
82
|
useCallback,
|
|
83
83
|
useRef
|
|
84
84
|
} from "react";
|
|
85
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
86
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
85
87
|
function useTableLayout(initialColumns, key) {
|
|
86
88
|
const [columns, setColumns] = useState2(initialColumns);
|
|
87
89
|
const [isReady, setIsReady] = useState2(false);
|
|
@@ -93,7 +95,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
93
95
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
94
96
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
95
97
|
return prevColumns;
|
|
96
|
-
localStorage.setItem(
|
|
98
|
+
localStorage.setItem(
|
|
99
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
100
|
+
JSON.stringify(newColumns)
|
|
101
|
+
);
|
|
97
102
|
return newColumns;
|
|
98
103
|
});
|
|
99
104
|
},
|
|
@@ -109,7 +114,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
109
114
|
);
|
|
110
115
|
}
|
|
111
116
|
renderCountRef.current += 1;
|
|
112
|
-
const savedLayout = localStorage.getItem(
|
|
117
|
+
const savedLayout = localStorage.getItem(
|
|
118
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
119
|
+
);
|
|
113
120
|
if (savedLayout) {
|
|
114
121
|
handleSaveLayout(
|
|
115
122
|
mergeObjectArrays(
|
|
@@ -125,7 +132,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
125
132
|
renderCountRef.current = 0;
|
|
126
133
|
};
|
|
127
134
|
}, [handleSaveLayout, initialColumns, key]);
|
|
128
|
-
|
|
135
|
+
const getSavedLayout = useCallback(() => {
|
|
136
|
+
const savedLayout = localStorage.getItem(
|
|
137
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
138
|
+
);
|
|
139
|
+
if (savedLayout) {
|
|
140
|
+
return JSON.parse(savedLayout);
|
|
141
|
+
}
|
|
142
|
+
}, [key]);
|
|
143
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
129
144
|
}
|
|
130
145
|
|
|
131
146
|
export {
|
|
@@ -554,6 +554,8 @@ function findDocumentRoot(element) {
|
|
|
554
554
|
|
|
555
555
|
// src/hooks/useTableLayout.ts
|
|
556
556
|
var import_react5 = require("react");
|
|
557
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
558
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
557
559
|
function useTableLayout(initialColumns, key) {
|
|
558
560
|
const [columns, setColumns] = (0, import_react5.useState)(initialColumns);
|
|
559
561
|
const [isReady, setIsReady] = (0, import_react5.useState)(false);
|
|
@@ -565,7 +567,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
565
567
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
566
568
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
567
569
|
return prevColumns;
|
|
568
|
-
localStorage.setItem(
|
|
570
|
+
localStorage.setItem(
|
|
571
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
572
|
+
JSON.stringify(newColumns)
|
|
573
|
+
);
|
|
569
574
|
return newColumns;
|
|
570
575
|
});
|
|
571
576
|
},
|
|
@@ -581,7 +586,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
581
586
|
);
|
|
582
587
|
}
|
|
583
588
|
renderCountRef.current += 1;
|
|
584
|
-
const savedLayout = localStorage.getItem(
|
|
589
|
+
const savedLayout = localStorage.getItem(
|
|
590
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
591
|
+
);
|
|
585
592
|
if (savedLayout) {
|
|
586
593
|
handleSaveLayout(
|
|
587
594
|
mergeObjectArrays(
|
|
@@ -597,7 +604,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
597
604
|
renderCountRef.current = 0;
|
|
598
605
|
};
|
|
599
606
|
}, [handleSaveLayout, initialColumns, key]);
|
|
600
|
-
|
|
607
|
+
const getSavedLayout = (0, import_react5.useCallback)(() => {
|
|
608
|
+
const savedLayout = localStorage.getItem(
|
|
609
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
610
|
+
);
|
|
611
|
+
if (savedLayout) {
|
|
612
|
+
return JSON.parse(savedLayout);
|
|
613
|
+
}
|
|
614
|
+
}, [key]);
|
|
615
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
601
616
|
}
|
|
602
617
|
|
|
603
618
|
// src/components/MenuOption.tsx
|
|
@@ -2930,13 +2945,23 @@ function DataGrid({
|
|
|
2930
2945
|
enableColumnSelector,
|
|
2931
2946
|
predeterminedLeftPins = [],
|
|
2932
2947
|
predeterminedRightPins = [],
|
|
2933
|
-
useMenuDefaultMinWidth
|
|
2948
|
+
useMenuDefaultMinWidth,
|
|
2949
|
+
ref
|
|
2934
2950
|
}) {
|
|
2935
2951
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
2952
|
+
(0, import_react16.useImperativeHandle)(ref, () => ({
|
|
2953
|
+
getSavedLayout: () => {
|
|
2954
|
+
return getSavedLayout();
|
|
2955
|
+
}
|
|
2956
|
+
}));
|
|
2936
2957
|
const [localSorting, setLocalSorting] = (0, import_react16.useState)([]);
|
|
2937
2958
|
const [localColumnFilters, setLocalColumnFilters] = (0, import_react16.useState)([]);
|
|
2938
2959
|
const [localRowSelection, setLocalRowSelection] = (0, import_react16.useState)({});
|
|
2939
|
-
const {
|
|
2960
|
+
const {
|
|
2961
|
+
columns: tableColumns,
|
|
2962
|
+
setColumns: setTableColumns,
|
|
2963
|
+
getSavedLayout
|
|
2964
|
+
} = useTableLayout(columns, id != null ? id : testid);
|
|
2940
2965
|
const [columnOrder, setColumnOrder] = (0, import_react16.useState)(
|
|
2941
2966
|
tableColumns.map((c) => c.id)
|
|
2942
2967
|
);
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
CalendarRange,
|
|
3
3
|
CalendarRange_default,
|
|
4
4
|
isWeekend
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-ZA5E7ZYM.js";
|
|
6
|
+
import "../chunk-CG6XF4JH.js";
|
|
7
7
|
import "../chunk-QQ5G773N.js";
|
|
8
8
|
import "../chunk-I3WFZOFY.js";
|
|
9
9
|
import "../chunk-NO5BIKWS.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-ARQBSR3I.js";
|
|
11
|
+
import "../chunk-W32JB47H.js";
|
|
12
|
+
import "../chunk-WPEDVM56.js";
|
|
13
|
+
import "../chunk-OXSBIBGT.js";
|
|
14
|
+
import "../chunk-JUJBS4ZV.js";
|
|
15
15
|
import "../chunk-VXWSAIB5.js";
|
|
16
16
|
import "../chunk-TYTD4FLW.js";
|
|
17
17
|
import "../chunk-6GAYJCFE.js";
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
DataGridCell,
|
|
5
5
|
DragAlongCell,
|
|
6
6
|
DraggableCellHeader
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-ARQBSR3I.js";
|
|
8
|
+
import "../chunk-W32JB47H.js";
|
|
9
|
+
import "../chunk-WPEDVM56.js";
|
|
10
|
+
import "../chunk-OXSBIBGT.js";
|
|
11
|
+
import "../chunk-JUJBS4ZV.js";
|
|
12
12
|
import "../chunk-VXWSAIB5.js";
|
|
13
13
|
import "../chunk-TYTD4FLW.js";
|
|
14
14
|
import "../chunk-6GAYJCFE.js";
|
|
@@ -1031,6 +1031,8 @@ function findDocumentRoot(element) {
|
|
|
1031
1031
|
|
|
1032
1032
|
// src/hooks/useTableLayout.ts
|
|
1033
1033
|
var import_react6 = require("react");
|
|
1034
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
1035
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
1034
1036
|
function useTableLayout(initialColumns, key) {
|
|
1035
1037
|
const [columns, setColumns] = (0, import_react6.useState)(initialColumns);
|
|
1036
1038
|
const [isReady, setIsReady] = (0, import_react6.useState)(false);
|
|
@@ -1042,7 +1044,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
1042
1044
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
1043
1045
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
1044
1046
|
return prevColumns;
|
|
1045
|
-
localStorage.setItem(
|
|
1047
|
+
localStorage.setItem(
|
|
1048
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
1049
|
+
JSON.stringify(newColumns)
|
|
1050
|
+
);
|
|
1046
1051
|
return newColumns;
|
|
1047
1052
|
});
|
|
1048
1053
|
},
|
|
@@ -1058,7 +1063,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
1058
1063
|
);
|
|
1059
1064
|
}
|
|
1060
1065
|
renderCountRef.current += 1;
|
|
1061
|
-
const savedLayout = localStorage.getItem(
|
|
1066
|
+
const savedLayout = localStorage.getItem(
|
|
1067
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
1068
|
+
);
|
|
1062
1069
|
if (savedLayout) {
|
|
1063
1070
|
handleSaveLayout(
|
|
1064
1071
|
mergeObjectArrays(
|
|
@@ -1074,7 +1081,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
1074
1081
|
renderCountRef.current = 0;
|
|
1075
1082
|
};
|
|
1076
1083
|
}, [handleSaveLayout, initialColumns, key]);
|
|
1077
|
-
|
|
1084
|
+
const getSavedLayout = (0, import_react6.useCallback)(() => {
|
|
1085
|
+
const savedLayout = localStorage.getItem(
|
|
1086
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
1087
|
+
);
|
|
1088
|
+
if (savedLayout) {
|
|
1089
|
+
return JSON.parse(savedLayout);
|
|
1090
|
+
}
|
|
1091
|
+
}, [key]);
|
|
1092
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
1078
1093
|
}
|
|
1079
1094
|
|
|
1080
1095
|
// src/components/MenuOption.tsx
|
|
@@ -3000,13 +3015,23 @@ function DataGrid({
|
|
|
3000
3015
|
enableColumnSelector,
|
|
3001
3016
|
predeterminedLeftPins = [],
|
|
3002
3017
|
predeterminedRightPins = [],
|
|
3003
|
-
useMenuDefaultMinWidth
|
|
3018
|
+
useMenuDefaultMinWidth,
|
|
3019
|
+
ref
|
|
3004
3020
|
}) {
|
|
3005
3021
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
3022
|
+
(0, import_react16.useImperativeHandle)(ref, () => ({
|
|
3023
|
+
getSavedLayout: () => {
|
|
3024
|
+
return getSavedLayout();
|
|
3025
|
+
}
|
|
3026
|
+
}));
|
|
3006
3027
|
const [localSorting, setLocalSorting] = (0, import_react16.useState)([]);
|
|
3007
3028
|
const [localColumnFilters, setLocalColumnFilters] = (0, import_react16.useState)([]);
|
|
3008
3029
|
const [localRowSelection, setLocalRowSelection] = (0, import_react16.useState)({});
|
|
3009
|
-
const {
|
|
3030
|
+
const {
|
|
3031
|
+
columns: tableColumns,
|
|
3032
|
+
setColumns: setTableColumns,
|
|
3033
|
+
getSavedLayout
|
|
3034
|
+
} = useTableLayout(columns, id != null ? id : testid);
|
|
3010
3035
|
const [columnOrder, setColumnOrder] = (0, import_react16.useState)(
|
|
3011
3036
|
tableColumns.map((c) => c.id)
|
|
3012
3037
|
);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CalendarRange
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-ZA5E7ZYM.js";
|
|
4
|
+
import "../chunk-CG6XF4JH.js";
|
|
5
5
|
import "../chunk-QQ5G773N.js";
|
|
6
6
|
import "../chunk-I3WFZOFY.js";
|
|
7
7
|
import "../chunk-NO5BIKWS.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-ARQBSR3I.js";
|
|
9
|
+
import "../chunk-W32JB47H.js";
|
|
10
|
+
import "../chunk-WPEDVM56.js";
|
|
11
|
+
import "../chunk-OXSBIBGT.js";
|
|
12
|
+
import "../chunk-JUJBS4ZV.js";
|
|
13
13
|
import {
|
|
14
14
|
findDocumentRoot
|
|
15
15
|
} from "../chunk-VXWSAIB5.js";
|
|
@@ -1039,6 +1039,8 @@ function findDocumentRoot(element) {
|
|
|
1039
1039
|
|
|
1040
1040
|
// src/hooks/useTableLayout.ts
|
|
1041
1041
|
var import_react6 = require("react");
|
|
1042
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
1043
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
1042
1044
|
function useTableLayout(initialColumns, key) {
|
|
1043
1045
|
const [columns, setColumns] = (0, import_react6.useState)(initialColumns);
|
|
1044
1046
|
const [isReady, setIsReady] = (0, import_react6.useState)(false);
|
|
@@ -1050,7 +1052,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
1050
1052
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
1051
1053
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
1052
1054
|
return prevColumns;
|
|
1053
|
-
localStorage.setItem(
|
|
1055
|
+
localStorage.setItem(
|
|
1056
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
1057
|
+
JSON.stringify(newColumns)
|
|
1058
|
+
);
|
|
1054
1059
|
return newColumns;
|
|
1055
1060
|
});
|
|
1056
1061
|
},
|
|
@@ -1066,7 +1071,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
1066
1071
|
);
|
|
1067
1072
|
}
|
|
1068
1073
|
renderCountRef.current += 1;
|
|
1069
|
-
const savedLayout = localStorage.getItem(
|
|
1074
|
+
const savedLayout = localStorage.getItem(
|
|
1075
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
1076
|
+
);
|
|
1070
1077
|
if (savedLayout) {
|
|
1071
1078
|
handleSaveLayout(
|
|
1072
1079
|
mergeObjectArrays(
|
|
@@ -1082,7 +1089,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
1082
1089
|
renderCountRef.current = 0;
|
|
1083
1090
|
};
|
|
1084
1091
|
}, [handleSaveLayout, initialColumns, key]);
|
|
1085
|
-
|
|
1092
|
+
const getSavedLayout = (0, import_react6.useCallback)(() => {
|
|
1093
|
+
const savedLayout = localStorage.getItem(
|
|
1094
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
1095
|
+
);
|
|
1096
|
+
if (savedLayout) {
|
|
1097
|
+
return JSON.parse(savedLayout);
|
|
1098
|
+
}
|
|
1099
|
+
}, [key]);
|
|
1100
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
1086
1101
|
}
|
|
1087
1102
|
|
|
1088
1103
|
// src/components/MenuOption.tsx
|
|
@@ -3008,13 +3023,23 @@ function DataGrid({
|
|
|
3008
3023
|
enableColumnSelector,
|
|
3009
3024
|
predeterminedLeftPins = [],
|
|
3010
3025
|
predeterminedRightPins = [],
|
|
3011
|
-
useMenuDefaultMinWidth
|
|
3026
|
+
useMenuDefaultMinWidth,
|
|
3027
|
+
ref
|
|
3012
3028
|
}) {
|
|
3013
3029
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
3030
|
+
(0, import_react16.useImperativeHandle)(ref, () => ({
|
|
3031
|
+
getSavedLayout: () => {
|
|
3032
|
+
return getSavedLayout();
|
|
3033
|
+
}
|
|
3034
|
+
}));
|
|
3014
3035
|
const [localSorting, setLocalSorting] = (0, import_react16.useState)([]);
|
|
3015
3036
|
const [localColumnFilters, setLocalColumnFilters] = (0, import_react16.useState)([]);
|
|
3016
3037
|
const [localRowSelection, setLocalRowSelection] = (0, import_react16.useState)({});
|
|
3017
|
-
const {
|
|
3038
|
+
const {
|
|
3039
|
+
columns: tableColumns,
|
|
3040
|
+
setColumns: setTableColumns,
|
|
3041
|
+
getSavedLayout
|
|
3042
|
+
} = useTableLayout(columns, id != null ? id : testid);
|
|
3018
3043
|
const [columnOrder, setColumnOrder] = (0, import_react16.useState)(
|
|
3019
3044
|
tableColumns.map((c) => c.id)
|
|
3020
3045
|
);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CalendarRange
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-ZA5E7ZYM.js";
|
|
4
|
+
import "../chunk-CG6XF4JH.js";
|
|
5
5
|
import "../chunk-QQ5G773N.js";
|
|
6
6
|
import "../chunk-I3WFZOFY.js";
|
|
7
7
|
import "../chunk-NO5BIKWS.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-ARQBSR3I.js";
|
|
9
|
+
import "../chunk-W32JB47H.js";
|
|
10
|
+
import "../chunk-WPEDVM56.js";
|
|
11
|
+
import "../chunk-OXSBIBGT.js";
|
|
12
|
+
import "../chunk-JUJBS4ZV.js";
|
|
13
13
|
import {
|
|
14
14
|
findDocumentRoot
|
|
15
15
|
} from "../chunk-VXWSAIB5.js";
|
package/dist/components/Menu.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
Menu
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-W32JB47H.js";
|
|
5
|
+
import "../chunk-WPEDVM56.js";
|
|
6
|
+
import "../chunk-JUJBS4ZV.js";
|
|
7
7
|
import "../chunk-VXWSAIB5.js";
|
|
8
8
|
import "../chunk-TYTD4FLW.js";
|
|
9
9
|
import "../chunk-5UH6QUFB.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
MenuOption
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-OXSBIBGT.js";
|
|
5
|
+
import "../chunk-JUJBS4ZV.js";
|
|
6
6
|
import "../chunk-VXWSAIB5.js";
|
|
7
7
|
import "../chunk-TYTD4FLW.js";
|
|
8
8
|
import "../chunk-5UH6QUFB.js";
|
package/dist/components/Modal.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
Modal
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-RLLQRVM7.js";
|
|
5
5
|
import "../chunk-4RJKB7LC.js";
|
|
6
6
|
import "../chunk-XM7IQHBU.js";
|
|
7
7
|
import "../chunk-FRHPFACM.js";
|
|
8
8
|
import "../chunk-6CPGOW6J.js";
|
|
9
9
|
import "../chunk-ZFOANBWG.js";
|
|
10
10
|
import "../chunk-EU73QPW7.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-JUJBS4ZV.js";
|
|
12
12
|
import "../chunk-VXWSAIB5.js";
|
|
13
13
|
import "../chunk-TYTD4FLW.js";
|
|
14
14
|
import "../chunk-5UH6QUFB.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
MenuOption
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-OXSBIBGT.js";
|
|
5
5
|
import {
|
|
6
6
|
useKeydown
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-JUJBS4ZV.js";
|
|
8
8
|
import "../chunk-VXWSAIB5.js";
|
|
9
9
|
import "../chunk-TYTD4FLW.js";
|
|
10
10
|
import "../chunk-5UH6QUFB.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
Modal
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-RLLQRVM7.js";
|
|
5
5
|
import "../chunk-4RJKB7LC.js";
|
|
6
6
|
import "../chunk-XM7IQHBU.js";
|
|
7
7
|
import "../chunk-FRHPFACM.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
Heading3
|
|
15
15
|
} from "../chunk-EU73QPW7.js";
|
|
16
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-JUJBS4ZV.js";
|
|
17
17
|
import "../chunk-VXWSAIB5.js";
|
|
18
18
|
import "../chunk-TYTD4FLW.js";
|
|
19
19
|
import "../chunk-5UH6QUFB.js";
|
|
@@ -565,6 +565,8 @@ function findDocumentRoot(element) {
|
|
|
565
565
|
|
|
566
566
|
// src/hooks/useTableLayout.ts
|
|
567
567
|
var import_react5 = require("react");
|
|
568
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
569
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
568
570
|
function useTableLayout(initialColumns, key) {
|
|
569
571
|
const [columns, setColumns] = (0, import_react5.useState)(initialColumns);
|
|
570
572
|
const [isReady, setIsReady] = (0, import_react5.useState)(false);
|
|
@@ -576,7 +578,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
576
578
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
577
579
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
578
580
|
return prevColumns;
|
|
579
|
-
localStorage.setItem(
|
|
581
|
+
localStorage.setItem(
|
|
582
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
583
|
+
JSON.stringify(newColumns)
|
|
584
|
+
);
|
|
580
585
|
return newColumns;
|
|
581
586
|
});
|
|
582
587
|
},
|
|
@@ -592,7 +597,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
592
597
|
);
|
|
593
598
|
}
|
|
594
599
|
renderCountRef.current += 1;
|
|
595
|
-
const savedLayout = localStorage.getItem(
|
|
600
|
+
const savedLayout = localStorage.getItem(
|
|
601
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
602
|
+
);
|
|
596
603
|
if (savedLayout) {
|
|
597
604
|
handleSaveLayout(
|
|
598
605
|
mergeObjectArrays(
|
|
@@ -608,7 +615,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
608
615
|
renderCountRef.current = 0;
|
|
609
616
|
};
|
|
610
617
|
}, [handleSaveLayout, initialColumns, key]);
|
|
611
|
-
|
|
618
|
+
const getSavedLayout = (0, import_react5.useCallback)(() => {
|
|
619
|
+
const savedLayout = localStorage.getItem(
|
|
620
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
621
|
+
);
|
|
622
|
+
if (savedLayout) {
|
|
623
|
+
return JSON.parse(savedLayout);
|
|
624
|
+
}
|
|
625
|
+
}, [key]);
|
|
626
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
612
627
|
}
|
|
613
628
|
|
|
614
629
|
// src/components/MenuOption.tsx
|
|
@@ -2941,13 +2956,23 @@ function DataGrid({
|
|
|
2941
2956
|
enableColumnSelector,
|
|
2942
2957
|
predeterminedLeftPins = [],
|
|
2943
2958
|
predeterminedRightPins = [],
|
|
2944
|
-
useMenuDefaultMinWidth
|
|
2959
|
+
useMenuDefaultMinWidth,
|
|
2960
|
+
ref
|
|
2945
2961
|
}) {
|
|
2946
2962
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
2963
|
+
(0, import_react16.useImperativeHandle)(ref, () => ({
|
|
2964
|
+
getSavedLayout: () => {
|
|
2965
|
+
return getSavedLayout();
|
|
2966
|
+
}
|
|
2967
|
+
}));
|
|
2947
2968
|
const [localSorting, setLocalSorting] = (0, import_react16.useState)([]);
|
|
2948
2969
|
const [localColumnFilters, setLocalColumnFilters] = (0, import_react16.useState)([]);
|
|
2949
2970
|
const [localRowSelection, setLocalRowSelection] = (0, import_react16.useState)({});
|
|
2950
|
-
const {
|
|
2971
|
+
const {
|
|
2972
|
+
columns: tableColumns,
|
|
2973
|
+
setColumns: setTableColumns,
|
|
2974
|
+
getSavedLayout
|
|
2975
|
+
} = useTableLayout(columns, id != null ? id : testid);
|
|
2951
2976
|
const [columnOrder, setColumnOrder] = (0, import_react16.useState)(
|
|
2952
2977
|
tableColumns.map((c) => c.id)
|
|
2953
2978
|
);
|
package/dist/components/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DataGrid
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-CG6XF4JH.js";
|
|
4
4
|
import {
|
|
5
5
|
Tooltip
|
|
6
6
|
} from "../chunk-QQ5G773N.js";
|
|
@@ -15,15 +15,15 @@ import {
|
|
|
15
15
|
DataGridCell,
|
|
16
16
|
DragAlongCell,
|
|
17
17
|
DraggableCellHeader
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-ARQBSR3I.js";
|
|
19
19
|
import {
|
|
20
20
|
Menu
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-W32JB47H.js";
|
|
22
|
+
import "../chunk-WPEDVM56.js";
|
|
23
23
|
import {
|
|
24
24
|
MenuOption
|
|
25
|
-
} from "../chunk-
|
|
26
|
-
import "../chunk-
|
|
25
|
+
} from "../chunk-OXSBIBGT.js";
|
|
26
|
+
import "../chunk-JUJBS4ZV.js";
|
|
27
27
|
import "../chunk-VXWSAIB5.js";
|
|
28
28
|
import "../chunk-TYTD4FLW.js";
|
|
29
29
|
import {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
useMenuPosition,
|
|
4
4
|
useSubMenuSystem
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-WPEDVM56.js";
|
|
6
|
+
import "../chunk-JUJBS4ZV.js";
|
|
7
7
|
import "../chunk-VXWSAIB5.js";
|
|
8
8
|
import "../chunk-TYTD4FLW.js";
|
|
9
9
|
import "../chunk-5UH6QUFB.js";
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -126,6 +126,8 @@ function mergeObjectArrays(arr1, arr2) {
|
|
|
126
126
|
|
|
127
127
|
// src/hooks/useTableLayout.ts
|
|
128
128
|
var import_react4 = require("react");
|
|
129
|
+
var LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
130
|
+
var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
|
|
129
131
|
function useTableLayout(initialColumns, key) {
|
|
130
132
|
const [columns, setColumns] = (0, import_react4.useState)(initialColumns);
|
|
131
133
|
const [isReady, setIsReady] = (0, import_react4.useState)(false);
|
|
@@ -137,7 +139,10 @@ function useTableLayout(initialColumns, key) {
|
|
|
137
139
|
const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
|
|
138
140
|
if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
|
|
139
141
|
return prevColumns;
|
|
140
|
-
localStorage.setItem(
|
|
142
|
+
localStorage.setItem(
|
|
143
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
144
|
+
JSON.stringify(newColumns)
|
|
145
|
+
);
|
|
141
146
|
return newColumns;
|
|
142
147
|
});
|
|
143
148
|
},
|
|
@@ -153,7 +158,9 @@ function useTableLayout(initialColumns, key) {
|
|
|
153
158
|
);
|
|
154
159
|
}
|
|
155
160
|
renderCountRef.current += 1;
|
|
156
|
-
const savedLayout = localStorage.getItem(
|
|
161
|
+
const savedLayout = localStorage.getItem(
|
|
162
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
163
|
+
);
|
|
157
164
|
if (savedLayout) {
|
|
158
165
|
handleSaveLayout(
|
|
159
166
|
mergeObjectArrays(
|
|
@@ -169,7 +176,15 @@ function useTableLayout(initialColumns, key) {
|
|
|
169
176
|
renderCountRef.current = 0;
|
|
170
177
|
};
|
|
171
178
|
}, [handleSaveLayout, initialColumns, key]);
|
|
172
|
-
|
|
179
|
+
const getSavedLayout = (0, import_react4.useCallback)(() => {
|
|
180
|
+
const savedLayout = localStorage.getItem(
|
|
181
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
|
|
182
|
+
);
|
|
183
|
+
if (savedLayout) {
|
|
184
|
+
return JSON.parse(savedLayout);
|
|
185
|
+
}
|
|
186
|
+
}, [key]);
|
|
187
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
173
188
|
}
|
|
174
189
|
// Annotate the CommonJS export names for ESM import in node:
|
|
175
190
|
0 && (module.exports = {
|
package/dist/hooks/index.js
CHANGED
package/package.json
CHANGED
|
@@ -15,7 +15,13 @@ import {
|
|
|
15
15
|
Select,
|
|
16
16
|
Subheader,
|
|
17
17
|
} from "..";
|
|
18
|
-
import React, {
|
|
18
|
+
import React, {
|
|
19
|
+
useCallback,
|
|
20
|
+
useEffect,
|
|
21
|
+
useId,
|
|
22
|
+
useImperativeHandle,
|
|
23
|
+
useState,
|
|
24
|
+
} from "react";
|
|
19
25
|
import {
|
|
20
26
|
ColumnFiltersState,
|
|
21
27
|
flexRender,
|
|
@@ -81,15 +87,24 @@ export function DataGrid<T extends Record<string, unknown>>({
|
|
|
81
87
|
predeterminedLeftPins = [],
|
|
82
88
|
predeterminedRightPins = [],
|
|
83
89
|
useMenuDefaultMinWidth,
|
|
90
|
+
ref,
|
|
84
91
|
}: DataGridProps<T>) {
|
|
92
|
+
useImperativeHandle(ref, () => ({
|
|
93
|
+
getSavedLayout: () => {
|
|
94
|
+
return getSavedLayout();
|
|
95
|
+
},
|
|
96
|
+
}));
|
|
85
97
|
const [localSorting, setLocalSorting] = useState<SortingState>([]);
|
|
86
98
|
const [localColumnFilters, setLocalColumnFilters] =
|
|
87
99
|
useState<ColumnFiltersState>([]);
|
|
88
100
|
const [localRowSelection, setLocalRowSelection] = useState<
|
|
89
101
|
Record<string, boolean>
|
|
90
102
|
>({});
|
|
91
|
-
const {
|
|
92
|
-
|
|
103
|
+
const {
|
|
104
|
+
columns: tableColumns,
|
|
105
|
+
setColumns: setTableColumns,
|
|
106
|
+
getSavedLayout,
|
|
107
|
+
} = useTableLayout<T>(columns, id ?? testid);
|
|
93
108
|
const [columnOrder, setColumnOrder] = useState<string[]>(
|
|
94
109
|
tableColumns.map((c) => c.id!),
|
|
95
110
|
);
|
|
@@ -52,6 +52,7 @@ export interface DataGridProps<T extends Record<string, unknown>> {
|
|
|
52
52
|
predeterminedLeftPins?: string[];
|
|
53
53
|
predeterminedRightPins?: string[];
|
|
54
54
|
useMenuDefaultMinWidth?: boolean;
|
|
55
|
+
ref?: React.Ref<{ getSavedLayout: () => ColumnDef<T>[] | undefined }>;
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
declare module "@tanstack/react-table" {
|
|
@@ -13,8 +13,14 @@ export type PersistedTableLayout<T> = {
|
|
|
13
13
|
columns: ColumnDef<T>[];
|
|
14
14
|
setColumns: (setter: SetStateAction<ColumnDef<T>[]>) => void;
|
|
15
15
|
isReady: boolean;
|
|
16
|
+
getSavedLayout: () => ColumnDef<T>[] | undefined;
|
|
16
17
|
};
|
|
17
18
|
|
|
19
|
+
const LocalStoragePrefix = `dmsi-acc-v1-table-layout`;
|
|
20
|
+
|
|
21
|
+
const getLocalStorageKeyWithPrefix = (key: string) =>
|
|
22
|
+
`${LocalStoragePrefix}__${key}`;
|
|
23
|
+
|
|
18
24
|
/**
|
|
19
25
|
* Custom hook to manage table layout persistence.
|
|
20
26
|
* @template T The type of the objects in the arrays.
|
|
@@ -44,7 +50,10 @@ export function useTableLayout<T>(
|
|
|
44
50
|
!_internal
|
|
45
51
|
)
|
|
46
52
|
return prevColumns;
|
|
47
|
-
localStorage.setItem(
|
|
53
|
+
localStorage.setItem(
|
|
54
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
55
|
+
JSON.stringify(newColumns),
|
|
56
|
+
);
|
|
48
57
|
return newColumns;
|
|
49
58
|
});
|
|
50
59
|
},
|
|
@@ -61,7 +70,9 @@ export function useTableLayout<T>(
|
|
|
61
70
|
);
|
|
62
71
|
}
|
|
63
72
|
renderCountRef.current += 1;
|
|
64
|
-
const savedLayout = localStorage.getItem(
|
|
73
|
+
const savedLayout = localStorage.getItem(
|
|
74
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
75
|
+
);
|
|
65
76
|
if (savedLayout) {
|
|
66
77
|
handleSaveLayout(
|
|
67
78
|
mergeObjectArrays<ColumnDef<T>>(
|
|
@@ -80,5 +91,14 @@ export function useTableLayout<T>(
|
|
|
80
91
|
// Load the layout from local storage on init
|
|
81
92
|
}, [handleSaveLayout, initialColumns, key]);
|
|
82
93
|
|
|
83
|
-
|
|
94
|
+
const getSavedLayout = useCallback(() => {
|
|
95
|
+
const savedLayout = localStorage.getItem(
|
|
96
|
+
getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
|
|
97
|
+
);
|
|
98
|
+
if (savedLayout) {
|
|
99
|
+
return JSON.parse(savedLayout) as ColumnDef<T>[];
|
|
100
|
+
}
|
|
101
|
+
}, [key]);
|
|
102
|
+
|
|
103
|
+
return { columns, setColumns: handleSaveLayout, isReady, getSavedLayout };
|
|
84
104
|
}
|