@osdk/react-components 0.27.0 → 0.28.0-main-1aeba37ae6a5cc24c73b7c01e10acba6b6078d87
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/CHANGELOG.md +6 -0
- package/build/browser/object-table/DefaultCellRenderer.js +12 -0
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/components/CbacMarkingCell.js +31 -0
- package/build/browser/object-table/components/CbacMarkingCell.js.map +1 -0
- package/build/browser/object-table/components/MandatoryMarkingCell.js +41 -0
- package/build/browser/object-table/components/MandatoryMarkingCell.js.map +1 -0
- package/build/browser/object-table/components/MandatoryMarkingCell.module.css +10 -0
- package/build/browser/object-table/components/MandatoryMarkingCell.module.css.js +7 -0
- package/build/browser/object-table/hooks/useColumnDefs.js +2 -0
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/utils/markingValue.js +38 -0
- package/build/browser/object-table/utils/markingValue.js.map +1 -0
- package/build/browser/styles.css +13 -0
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/cjs/{chunk-76WC644D.cjs → chunk-2FV525Y2.cjs} +4 -4
- package/build/cjs/{chunk-76WC644D.cjs.map → chunk-2FV525Y2.cjs.map} +1 -1
- package/build/cjs/chunk-3YZ7WQKB.cjs +11 -0
- package/build/cjs/{chunk-WV267H2C.cjs.map → chunk-3YZ7WQKB.cjs.map} +1 -1
- package/build/cjs/chunk-4ZREFFAI.cjs +11 -0
- package/build/cjs/{chunk-6E4GBYIW.cjs.map → chunk-4ZREFFAI.cjs.map} +1 -1
- package/build/cjs/chunk-67XUEVEQ.cjs +11 -0
- package/build/cjs/{chunk-U35KSZVY.cjs.map → chunk-67XUEVEQ.cjs.map} +1 -1
- package/build/cjs/{chunk-LYDFGXDQ.cjs → chunk-6TPEW5OW.cjs} +417 -356
- package/build/cjs/chunk-6TPEW5OW.cjs.map +1 -0
- package/build/cjs/chunk-ABM2P46C.cjs +11 -0
- package/build/cjs/{chunk-KDF6WIDM.cjs.map → chunk-ABM2P46C.cjs.map} +1 -1
- package/build/cjs/{chunk-Q7WLFDL4.cjs → chunk-JKK33B3S.cjs} +4 -4
- package/build/cjs/{chunk-Q7WLFDL4.cjs.map → chunk-JKK33B3S.cjs.map} +1 -1
- package/build/cjs/{chunk-FO5CHXTP.cjs → chunk-KS2TDPR6.cjs} +3 -3
- package/build/cjs/chunk-KS2TDPR6.cjs.map +1 -0
- package/build/cjs/{chunk-G7KK3TDF.cjs → chunk-MCT6EITU.cjs} +161 -276
- package/build/cjs/chunk-MCT6EITU.cjs.map +1 -0
- package/build/cjs/{chunk-VL4VZJ6J.cjs → chunk-MU4TEOGN.cjs} +4 -4
- package/build/cjs/{chunk-VL4VZJ6J.cjs.map → chunk-MU4TEOGN.cjs.map} +1 -1
- package/build/cjs/chunk-T6IJOSLP.cjs +11 -0
- package/build/cjs/{chunk-GDEAEMAN.cjs.map → chunk-T6IJOSLP.cjs.map} +1 -1
- package/build/cjs/{chunk-BPCDFFIB.cjs → chunk-TA3RQXNC.cjs} +4 -4
- package/build/cjs/{chunk-BPCDFFIB.cjs.map → chunk-TA3RQXNC.cjs.map} +1 -1
- package/build/cjs/{chunk-WQOG6LR4.cjs → chunk-VUV5FRPJ.cjs} +4 -4
- package/build/cjs/{chunk-WQOG6LR4.cjs.map → chunk-VUV5FRPJ.cjs.map} +1 -1
- package/build/cjs/{chunk-J3AQ2RZM.cjs → chunk-WEMO5TGU.cjs} +4 -4
- package/build/cjs/{chunk-J3AQ2RZM.cjs.map → chunk-WEMO5TGU.cjs.map} +1 -1
- package/build/cjs/chunk-ZMAWPOG5.cjs +136 -0
- package/build/cjs/chunk-ZMAWPOG5.cjs.map +1 -0
- package/build/cjs/public/experimental/action-form.cjs +4 -4
- package/build/cjs/public/experimental/cbac-picker.cjs +20 -19
- package/build/cjs/public/experimental/document-viewer.cjs +4 -4
- package/build/cjs/public/experimental/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
- package/build/cjs/public/experimental/filter-list.cjs +15 -15
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
- package/build/cjs/public/experimental/object-table.cjs +9 -8
- package/build/cjs/public/experimental/object-table.css +64 -0
- package/build/cjs/public/experimental/object-table.css.map +1 -1
- package/build/cjs/public/experimental/object-table.d.cts +8 -0
- package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
- package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +67 -66
- package/build/cjs/public/experimental.css +11 -0
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/esm/object-table/DefaultCellRenderer.js +12 -0
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/components/CbacMarkingCell.js +31 -0
- package/build/esm/object-table/components/CbacMarkingCell.js.map +1 -0
- package/build/esm/object-table/components/MandatoryMarkingCell.js +41 -0
- package/build/esm/object-table/components/MandatoryMarkingCell.js.map +1 -0
- package/build/esm/object-table/components/MandatoryMarkingCell.module.css +10 -0
- package/build/esm/object-table/hooks/useColumnDefs.js +2 -0
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/utils/markingValue.js +38 -0
- package/build/esm/object-table/utils/markingValue.js.map +1 -0
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +8 -0
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/components/CbacMarkingCell.d.ts +5 -0
- package/build/types/object-table/components/CbacMarkingCell.d.ts.map +1 -0
- package/build/types/object-table/components/MandatoryMarkingCell.d.ts +10 -0
- package/build/types/object-table/components/MandatoryMarkingCell.d.ts.map +1 -0
- package/build/types/object-table/utils/markingValue.d.ts +9 -0
- package/build/types/object-table/utils/markingValue.d.ts.map +1 -0
- package/package.json +2 -2
- package/build/cjs/chunk-6E4GBYIW.cjs +0 -11
- package/build/cjs/chunk-FO5CHXTP.cjs.map +0 -1
- package/build/cjs/chunk-G7KK3TDF.cjs.map +0 -1
- package/build/cjs/chunk-GDEAEMAN.cjs +0 -11
- package/build/cjs/chunk-KDF6WIDM.cjs +0 -11
- package/build/cjs/chunk-LYDFGXDQ.cjs.map +0 -1
- package/build/cjs/chunk-U35KSZVY.cjs +0 -11
- package/build/cjs/chunk-WV267H2C.cjs +0 -11
|
@@ -4,14 +4,15 @@ var chunkPOHAXPLQ_cjs = require('./chunk-POHAXPLQ.cjs');
|
|
|
4
4
|
var chunk3S52UDZM_cjs = require('./chunk-3S52UDZM.cjs');
|
|
5
5
|
var chunkE5OKIBYJ_cjs = require('./chunk-E5OKIBYJ.cjs');
|
|
6
6
|
var chunkNE7GRF7G_cjs = require('./chunk-NE7GRF7G.cjs');
|
|
7
|
+
var chunkZMAWPOG5_cjs = require('./chunk-ZMAWPOG5.cjs');
|
|
7
8
|
var chunkC6IPNPMZ_cjs = require('./chunk-C6IPNPMZ.cjs');
|
|
8
9
|
var chunkDWNKXV5E_cjs = require('./chunk-DWNKXV5E.cjs');
|
|
9
10
|
var chunkHNBSGCSZ_cjs = require('./chunk-HNBSGCSZ.cjs');
|
|
10
11
|
var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
|
|
11
12
|
var chunkMD4KDE44_cjs = require('./chunk-MD4KDE44.cjs');
|
|
12
|
-
var
|
|
13
|
+
var chunkKS2TDPR6_cjs = require('./chunk-KS2TDPR6.cjs');
|
|
13
14
|
var reactTable = require('@tanstack/react-table');
|
|
14
|
-
var
|
|
15
|
+
var React16 = require('react');
|
|
15
16
|
var react = require('@osdk/react');
|
|
16
17
|
var classNames9 = require('classnames');
|
|
17
18
|
var icons = require('@blueprintjs/icons');
|
|
@@ -28,7 +29,7 @@ var reactDom = require('react-dom');
|
|
|
28
29
|
|
|
29
30
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
31
|
|
|
31
|
-
var
|
|
32
|
+
var React16__default = /*#__PURE__*/_interopDefault(React16);
|
|
32
33
|
var classNames9__default = /*#__PURE__*/_interopDefault(classNames9);
|
|
33
34
|
|
|
34
35
|
// src/object-table/LoadingCell.module.css
|
|
@@ -39,19 +40,19 @@ var TableCell_default = {};
|
|
|
39
40
|
|
|
40
41
|
// src/object-table/LoadingCell.tsx
|
|
41
42
|
function LoadingCellContent() {
|
|
42
|
-
return /* @__PURE__ */
|
|
43
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunk7LXS66DW_cjs.SkeletonBar, {
|
|
43
44
|
className: classNames9__default.default(LoadingCell_default.osdkLoadingCell, LoadingCell_default.osdkCellSkeleton)
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
function LoadingCell({
|
|
47
48
|
width
|
|
48
49
|
}) {
|
|
49
|
-
return /* @__PURE__ */
|
|
50
|
+
return /* @__PURE__ */ React16__default.default.createElement("td", {
|
|
50
51
|
className: TableCell_default.osdkTableCell,
|
|
51
52
|
style: {
|
|
52
53
|
width
|
|
53
54
|
}
|
|
54
|
-
}, /* @__PURE__ */
|
|
55
|
+
}, /* @__PURE__ */ React16__default.default.createElement(LoadingCellContent, null));
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
// src/object-table/components/AsyncValueCell.tsx
|
|
@@ -64,28 +65,76 @@ function AsyncValueCell({
|
|
|
64
65
|
return "Error";
|
|
65
66
|
}
|
|
66
67
|
if (data != null) {
|
|
67
|
-
return /* @__PURE__ */
|
|
68
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, data);
|
|
68
69
|
}
|
|
69
70
|
if (isLoading) {
|
|
70
|
-
return /* @__PURE__ */
|
|
71
|
+
return /* @__PURE__ */ React16__default.default.createElement(LoadingCellContent, null);
|
|
71
72
|
}
|
|
72
73
|
return "No value";
|
|
73
74
|
}
|
|
74
75
|
|
|
76
|
+
// src/object-table/utils/markingValue.ts
|
|
77
|
+
function toMarkingIdArray(value) {
|
|
78
|
+
if (value == null) {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
if (typeof value === "string") {
|
|
82
|
+
return [value];
|
|
83
|
+
}
|
|
84
|
+
if (Array.isArray(value)) {
|
|
85
|
+
const ids = value.filter((v) => typeof v === "string");
|
|
86
|
+
return Array.from(new Set(ids));
|
|
87
|
+
}
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// src/object-table/components/CbacMarkingCell.tsx
|
|
92
|
+
function CbacMarkingCell({
|
|
93
|
+
value
|
|
94
|
+
}) {
|
|
95
|
+
const markingIds = toMarkingIdArray(value);
|
|
96
|
+
if (markingIds.length === 0) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkZMAWPOG5_cjs.CbacBanner, {
|
|
100
|
+
markingIds
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// src/object-table/components/MandatoryMarkingCell.module.css
|
|
105
|
+
var MandatoryMarkingCell_default = {};
|
|
106
|
+
|
|
107
|
+
// src/object-table/components/MandatoryMarkingCell.tsx
|
|
108
|
+
function MandatoryMarkingCell({
|
|
109
|
+
value
|
|
110
|
+
}) {
|
|
111
|
+
const markingIds = toMarkingIdArray(value);
|
|
112
|
+
if (markingIds.length === 0) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
return /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
116
|
+
className: MandatoryMarkingCell_default.container
|
|
117
|
+
}, markingIds.map((id) => /* @__PURE__ */ React16__default.default.createElement(chunkZMAWPOG5_cjs.CbacBanner, {
|
|
118
|
+
key: id,
|
|
119
|
+
markingIds: [id],
|
|
120
|
+
className: MandatoryMarkingCell_default.pill
|
|
121
|
+
})));
|
|
122
|
+
}
|
|
123
|
+
|
|
75
124
|
// src/object-table/EditableCell.module.css
|
|
76
125
|
var EditableCell_default = {};
|
|
77
|
-
var PortalTrackerContext = /* @__PURE__ */
|
|
126
|
+
var PortalTrackerContext = /* @__PURE__ */ React16.createContext(void 0);
|
|
78
127
|
function PortalTrackerProvider({
|
|
79
128
|
children
|
|
80
129
|
}) {
|
|
81
|
-
const portalsRef =
|
|
82
|
-
const register =
|
|
130
|
+
const portalsRef = React16.useRef(/* @__PURE__ */ new Set());
|
|
131
|
+
const register = React16.useCallback((element) => {
|
|
83
132
|
portalsRef.current.add(element);
|
|
84
133
|
return () => {
|
|
85
134
|
portalsRef.current.delete(element);
|
|
86
135
|
};
|
|
87
136
|
}, []);
|
|
88
|
-
const containsElement =
|
|
137
|
+
const containsElement = React16.useCallback((node) => {
|
|
89
138
|
for (const portal of portalsRef.current) {
|
|
90
139
|
if (portal.contains(node)) {
|
|
91
140
|
return true;
|
|
@@ -93,21 +142,21 @@ function PortalTrackerProvider({
|
|
|
93
142
|
}
|
|
94
143
|
return false;
|
|
95
144
|
}, []);
|
|
96
|
-
const value =
|
|
145
|
+
const value = React16.useRef({
|
|
97
146
|
register,
|
|
98
147
|
containsElement
|
|
99
148
|
});
|
|
100
|
-
return /* @__PURE__ */
|
|
149
|
+
return /* @__PURE__ */ React16__default.default.createElement(PortalTrackerContext.Provider, {
|
|
101
150
|
value: value.current
|
|
102
151
|
}, children);
|
|
103
152
|
}
|
|
104
153
|
function usePortalTracker() {
|
|
105
|
-
return
|
|
154
|
+
return React16.useContext(PortalTrackerContext);
|
|
106
155
|
}
|
|
107
156
|
function useRegisterPortal() {
|
|
108
|
-
const tracker =
|
|
109
|
-
const cleanupRef =
|
|
110
|
-
return
|
|
157
|
+
const tracker = React16.useContext(PortalTrackerContext);
|
|
158
|
+
const cleanupRef = React16.useRef(null);
|
|
159
|
+
return React16.useCallback((element) => {
|
|
111
160
|
cleanupRef.current?.();
|
|
112
161
|
cleanupRef.current = null;
|
|
113
162
|
if (element && tracker) {
|
|
@@ -145,50 +194,50 @@ function DatePickerCellFieldInner({
|
|
|
145
194
|
dataType
|
|
146
195
|
}) {
|
|
147
196
|
const portalRef = useRegisterPortal();
|
|
148
|
-
const dateValue =
|
|
197
|
+
const dateValue = React16.useMemo(() => parseDateValue(inputValue), [inputValue]);
|
|
149
198
|
const showTime = fieldComponentProps?.showTime ?? dataType === "timestamp";
|
|
150
|
-
const handleChange =
|
|
199
|
+
const handleChange = React16.useCallback((newValue) => {
|
|
151
200
|
if (newValue == null) {
|
|
152
201
|
onChange(null);
|
|
153
202
|
return;
|
|
154
203
|
}
|
|
155
204
|
onChange(showTime ? newValue.toISOString() : chunkNE7GRF7G_cjs.formatDateForInput(newValue));
|
|
156
205
|
}, [onChange, showTime]);
|
|
157
|
-
return /* @__PURE__ */
|
|
206
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
158
207
|
className: classNames9__default.default(EditableCell_default.osdkEditableCellDatePicker, {
|
|
159
208
|
[EditableCell_default.error]: hasValidationError,
|
|
160
209
|
[EditableCell_default.osdkEditedInput]: isEdited
|
|
161
210
|
})
|
|
162
|
-
}, /* @__PURE__ */
|
|
211
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkE5OKIBYJ_cjs.DatePicker, _extends({}, fieldComponentProps, {
|
|
163
212
|
showTime,
|
|
164
213
|
value: dateValue,
|
|
165
214
|
onChange: handleChange,
|
|
166
215
|
portalRef,
|
|
167
216
|
modal: false
|
|
168
|
-
})), hasValidationError && /* @__PURE__ */
|
|
217
|
+
})), hasValidationError && /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
169
218
|
className: EditableCell_default.errorIconWrapper
|
|
170
|
-
}, /* @__PURE__ */
|
|
219
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.Error, {
|
|
171
220
|
className: EditableCell_default.errorIcon
|
|
172
221
|
})));
|
|
173
222
|
}
|
|
174
|
-
var DatePickerCellField = /* @__PURE__ */
|
|
223
|
+
var DatePickerCellField = /* @__PURE__ */ React16__default.default.memo(DatePickerCellFieldInner);
|
|
175
224
|
function ReadonlyDisplayCellInner({
|
|
176
225
|
inputValue,
|
|
177
226
|
hasValidationError,
|
|
178
227
|
isEdited
|
|
179
228
|
}) {
|
|
180
|
-
return /* @__PURE__ */
|
|
229
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
181
230
|
className: classNames9__default.default(EditableCell_default.osdkEditableCell, {
|
|
182
231
|
[EditableCell_default.error]: hasValidationError,
|
|
183
232
|
[EditableCell_default.osdkEditedInput]: isEdited
|
|
184
233
|
})
|
|
185
|
-
}, /* @__PURE__ */
|
|
234
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
186
235
|
className: classNames9__default.default(EditableCell_default.osdkEditableInput, EditableCell_default.readonlyDisplayCell)
|
|
187
|
-
}, inputValue), hasValidationError && /* @__PURE__ */
|
|
236
|
+
}, inputValue), hasValidationError && /* @__PURE__ */ React16__default.default.createElement(icons.Error, {
|
|
188
237
|
className: EditableCell_default.errorIcon
|
|
189
238
|
}));
|
|
190
239
|
}
|
|
191
|
-
var ReadonlyDisplayCell = /* @__PURE__ */
|
|
240
|
+
var ReadonlyDisplayCell = /* @__PURE__ */ React16__default.default.memo(ReadonlyDisplayCellInner);
|
|
192
241
|
|
|
193
242
|
// src/object-table/components/DropdownCellField.tsx
|
|
194
243
|
function _extends2() {
|
|
@@ -214,25 +263,25 @@ function DropdownCellFieldInner({
|
|
|
214
263
|
itemToStringLabel
|
|
215
264
|
} = fieldComponentProps;
|
|
216
265
|
if (!isRowFocused) {
|
|
217
|
-
return /* @__PURE__ */
|
|
266
|
+
return /* @__PURE__ */ React16__default.default.createElement(ReadonlyDisplayCell, {
|
|
218
267
|
inputValue: itemToStringLabel ? itemToStringLabel(value) : inputValue,
|
|
219
268
|
hasValidationError,
|
|
220
269
|
isEdited
|
|
221
270
|
});
|
|
222
271
|
}
|
|
223
|
-
return /* @__PURE__ */
|
|
272
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
224
273
|
className: classNames9__default.default(EditableCell_default.osdkEditableCellDropdown, {
|
|
225
274
|
[EditableCell_default.error]: hasValidationError,
|
|
226
275
|
[EditableCell_default.osdkEditedInput]: isEdited
|
|
227
276
|
})
|
|
228
|
-
}, /* @__PURE__ */
|
|
277
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunk3S52UDZM_cjs.DropdownField, _extends2({}, fieldComponentProps, {
|
|
229
278
|
portalRef,
|
|
230
279
|
value,
|
|
231
280
|
onChange,
|
|
232
281
|
modal: false
|
|
233
282
|
})));
|
|
234
283
|
}
|
|
235
|
-
var DropdownCellField = /* @__PURE__ */
|
|
284
|
+
var DropdownCellField = /* @__PURE__ */ React16__default.default.memo(DropdownCellFieldInner);
|
|
236
285
|
function TextInputCellFieldInner({
|
|
237
286
|
inputType,
|
|
238
287
|
inputValue,
|
|
@@ -242,12 +291,12 @@ function TextInputCellFieldInner({
|
|
|
242
291
|
onBlur,
|
|
243
292
|
onKeyDown
|
|
244
293
|
}) {
|
|
245
|
-
return /* @__PURE__ */
|
|
294
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
246
295
|
className: classNames9__default.default(EditableCell_default.osdkEditableCell, {
|
|
247
296
|
[EditableCell_default.error]: hasValidationError,
|
|
248
297
|
[EditableCell_default.osdkEditedInput]: isEdited
|
|
249
298
|
})
|
|
250
|
-
}, /* @__PURE__ */
|
|
299
|
+
}, /* @__PURE__ */ React16__default.default.createElement(input.Input, {
|
|
251
300
|
type: inputType,
|
|
252
301
|
value: inputValue,
|
|
253
302
|
className: EditableCell_default.osdkEditableInput,
|
|
@@ -255,11 +304,11 @@ function TextInputCellFieldInner({
|
|
|
255
304
|
onBlur,
|
|
256
305
|
onKeyDown,
|
|
257
306
|
"aria-invalid": hasValidationError
|
|
258
|
-
}), hasValidationError && /* @__PURE__ */
|
|
307
|
+
}), hasValidationError && /* @__PURE__ */ React16__default.default.createElement(icons.Error, {
|
|
259
308
|
className: EditableCell_default.errorIcon
|
|
260
309
|
}));
|
|
261
310
|
}
|
|
262
|
-
var TextInputCellField = /* @__PURE__ */
|
|
311
|
+
var TextInputCellField = /* @__PURE__ */ React16__default.default.memo(TextInputCellFieldInner);
|
|
263
312
|
|
|
264
313
|
// src/object-table/utils/editableUtils.ts
|
|
265
314
|
function isColumnDeclaredEditable(editable) {
|
|
@@ -318,10 +367,10 @@ function EditableCellInner({
|
|
|
318
367
|
rowCellEdits,
|
|
319
368
|
isRowFocused = false
|
|
320
369
|
}) {
|
|
321
|
-
const [inputValue, setInputValue] =
|
|
322
|
-
const isCancelled =
|
|
323
|
-
const validationAbortControllerRef =
|
|
324
|
-
const abortValidation =
|
|
370
|
+
const [inputValue, setInputValue] = React16.useState(valueToString(currentValue));
|
|
371
|
+
const isCancelled = React16.useRef(false);
|
|
372
|
+
const validationAbortControllerRef = React16.useRef(null);
|
|
373
|
+
const abortValidation = React16.useCallback(() => {
|
|
325
374
|
if (validationAbortControllerRef.current) {
|
|
326
375
|
validationAbortControllerRef.current.abort();
|
|
327
376
|
validationAbortControllerRef.current = null;
|
|
@@ -329,15 +378,15 @@ function EditableCellInner({
|
|
|
329
378
|
}, []);
|
|
330
379
|
const hasValidationError = validationError != null;
|
|
331
380
|
const isEdited = !cellValuesEqual(currentValue, initialValue);
|
|
332
|
-
|
|
381
|
+
React16.useEffect(() => {
|
|
333
382
|
setInputValue(valueToString(currentValue));
|
|
334
383
|
}, [currentValue]);
|
|
335
|
-
|
|
384
|
+
React16.useEffect(() => {
|
|
336
385
|
return () => {
|
|
337
386
|
abortValidation();
|
|
338
387
|
};
|
|
339
388
|
}, [abortValidation]);
|
|
340
|
-
const runValidation =
|
|
389
|
+
const runValidation = React16.useCallback((parsedValue) => {
|
|
341
390
|
if (!validateEdit) {
|
|
342
391
|
return;
|
|
343
392
|
}
|
|
@@ -363,7 +412,7 @@ function EditableCellInner({
|
|
|
363
412
|
}
|
|
364
413
|
});
|
|
365
414
|
}, [validateEdit, onCellValidationError, clearCellValidationError, cellId]);
|
|
366
|
-
const commitEdit =
|
|
415
|
+
const commitEdit = React16.useCallback((newValue) => {
|
|
367
416
|
abortValidation();
|
|
368
417
|
onCellEdit(cellId, {
|
|
369
418
|
rowId,
|
|
@@ -374,7 +423,7 @@ function EditableCellInner({
|
|
|
374
423
|
});
|
|
375
424
|
runValidation(newValue);
|
|
376
425
|
}, [abortValidation, onCellEdit, cellId, rowId, columnId, initialValue, originalRowData, runValidation]);
|
|
377
|
-
const handleBlur =
|
|
426
|
+
const handleBlur = React16.useCallback(() => {
|
|
378
427
|
if (isCancelled.current) {
|
|
379
428
|
isCancelled.current = false;
|
|
380
429
|
return;
|
|
@@ -385,11 +434,11 @@ function EditableCellInner({
|
|
|
385
434
|
const parsedValue = parseValueByType(inputValue, dataType);
|
|
386
435
|
commitEdit(parsedValue);
|
|
387
436
|
}, [inputValue, currentValue, dataType, commitEdit]);
|
|
388
|
-
const handleInputChange =
|
|
437
|
+
const handleInputChange = React16.useCallback((value) => {
|
|
389
438
|
abortValidation();
|
|
390
439
|
setInputValue(value);
|
|
391
440
|
}, [abortValidation]);
|
|
392
|
-
const handleKeyDown =
|
|
441
|
+
const handleKeyDown = React16.useCallback((e) => {
|
|
393
442
|
if (e.key === "Enter") {
|
|
394
443
|
e.currentTarget.blur();
|
|
395
444
|
}
|
|
@@ -399,17 +448,17 @@ function EditableCellInner({
|
|
|
399
448
|
e.currentTarget.blur();
|
|
400
449
|
}
|
|
401
450
|
}, [currentValue]);
|
|
402
|
-
const handleCommit =
|
|
451
|
+
const handleCommit = React16.useCallback((newValue) => {
|
|
403
452
|
if (cellValuesEqual(newValue, currentValue)) return;
|
|
404
453
|
commitEdit(newValue);
|
|
405
454
|
}, [commitEdit, currentValue]);
|
|
406
455
|
const inputType = dataType && NUMBER_TYPES.includes(dataType) ? "number" : "text";
|
|
407
|
-
const dropdownFieldProps =
|
|
408
|
-
const datePickerFieldProps =
|
|
456
|
+
const dropdownFieldProps = React16.useMemo(() => editFieldConfig?.fieldComponent === "DROPDOWN" ? editFieldConfig.getFieldComponentProps(originalRowData, rowCellEdits) : void 0, [editFieldConfig, originalRowData, rowCellEdits]);
|
|
457
|
+
const datePickerFieldProps = React16.useMemo(() => editFieldConfig?.fieldComponent === "DATE_PICKER" ? editFieldConfig.getFieldComponentProps(originalRowData, rowCellEdits) : void 0, [editFieldConfig, originalRowData, rowCellEdits]);
|
|
409
458
|
const renderFieldInput = () => {
|
|
410
459
|
switch (editFieldConfig?.fieldComponent) {
|
|
411
460
|
case "DROPDOWN":
|
|
412
|
-
return /* @__PURE__ */
|
|
461
|
+
return /* @__PURE__ */ React16__default.default.createElement(DropdownCellField, {
|
|
413
462
|
fieldComponentProps: dropdownFieldProps,
|
|
414
463
|
isRowFocused,
|
|
415
464
|
inputValue,
|
|
@@ -419,7 +468,7 @@ function EditableCellInner({
|
|
|
419
468
|
onChange: handleCommit
|
|
420
469
|
});
|
|
421
470
|
case "DATE_PICKER":
|
|
422
|
-
return /* @__PURE__ */
|
|
471
|
+
return /* @__PURE__ */ React16__default.default.createElement(DatePickerCellField, {
|
|
423
472
|
fieldComponentProps: datePickerFieldProps,
|
|
424
473
|
inputValue,
|
|
425
474
|
hasValidationError,
|
|
@@ -428,7 +477,7 @@ function EditableCellInner({
|
|
|
428
477
|
});
|
|
429
478
|
default:
|
|
430
479
|
if (dataType != null && DATE_TYPES.includes(dataType)) {
|
|
431
|
-
return /* @__PURE__ */
|
|
480
|
+
return /* @__PURE__ */ React16__default.default.createElement(DatePickerCellField, {
|
|
432
481
|
inputValue,
|
|
433
482
|
hasValidationError,
|
|
434
483
|
isEdited,
|
|
@@ -436,7 +485,7 @@ function EditableCellInner({
|
|
|
436
485
|
dataType
|
|
437
486
|
});
|
|
438
487
|
}
|
|
439
|
-
return /* @__PURE__ */
|
|
488
|
+
return /* @__PURE__ */ React16__default.default.createElement(TextInputCellField, {
|
|
440
489
|
inputType,
|
|
441
490
|
inputValue,
|
|
442
491
|
hasValidationError,
|
|
@@ -447,23 +496,23 @@ function EditableCellInner({
|
|
|
447
496
|
});
|
|
448
497
|
}
|
|
449
498
|
};
|
|
450
|
-
return /* @__PURE__ */
|
|
499
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Provider, null, /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Root, {
|
|
451
500
|
disabled: !hasValidationError
|
|
452
|
-
}, /* @__PURE__ */
|
|
501
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Trigger, {
|
|
453
502
|
className: EditableCell_default.osdkEditableCellTrigger,
|
|
454
|
-
render: /* @__PURE__ */
|
|
503
|
+
render: /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
455
504
|
className: EditableCell_default.osdkTooltipTriggerWrapper
|
|
456
505
|
})
|
|
457
|
-
}, renderFieldInput()), /* @__PURE__ */
|
|
506
|
+
}, renderFieldInput()), /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Portal, null, /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Positioner, {
|
|
458
507
|
sideOffset: 4,
|
|
459
508
|
side: "bottom"
|
|
460
|
-
}, /* @__PURE__ */
|
|
509
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Popup, null, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
461
510
|
className: EditableCell_default.validationError
|
|
462
|
-
}, /* @__PURE__ */
|
|
511
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.Error, {
|
|
463
512
|
className: EditableCell_default.errorIcon
|
|
464
|
-
}), validationError), /* @__PURE__ */
|
|
513
|
+
}), validationError), /* @__PURE__ */ React16__default.default.createElement(chunkHNBSGCSZ_cjs.Tooltip.Arrow, null))))));
|
|
465
514
|
}
|
|
466
|
-
var EditableCell = /* @__PURE__ */
|
|
515
|
+
var EditableCell = /* @__PURE__ */ React16__default.default.memo(EditableCellInner);
|
|
467
516
|
|
|
468
517
|
// src/object-table/utils/AsyncCellData.ts
|
|
469
518
|
var isAsyncCellData = (value) => {
|
|
@@ -514,17 +563,27 @@ function renderDefaultCell(cellContext) {
|
|
|
514
563
|
const cellValue = cellContext.getValue();
|
|
515
564
|
const asyncCellData = isAsyncCellData(cellValue) ? cellValue : void 0;
|
|
516
565
|
if (columnMeta?.isAsyncColumn && asyncCellData) {
|
|
517
|
-
return /* @__PURE__ */
|
|
566
|
+
return /* @__PURE__ */ React16__default.default.createElement(AsyncValueCell, asyncCellData);
|
|
567
|
+
}
|
|
568
|
+
if (columnMeta?.markingType === "CBAC") {
|
|
569
|
+
return /* @__PURE__ */ React16__default.default.createElement(CbacMarkingCell, {
|
|
570
|
+
value: cellValue
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
if (columnMeta?.markingType === "MANDATORY") {
|
|
574
|
+
return /* @__PURE__ */ React16__default.default.createElement(MandatoryMarkingCell, {
|
|
575
|
+
value: cellValue
|
|
576
|
+
});
|
|
518
577
|
}
|
|
519
578
|
const rowData = cellContext.row.original;
|
|
520
579
|
const isEditable = isCellEditable(columnMeta?.editable, rowData);
|
|
521
580
|
if (!meta?.onCellEdit || !shouldShowEditableCell(isEditable, meta?.onCellEdit, meta?.isInEditMode)) {
|
|
522
581
|
if (meta?.isInEditMode) {
|
|
523
|
-
return /* @__PURE__ */
|
|
582
|
+
return /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
524
583
|
className: EditableCell_default.nonEditableCellInEditMode
|
|
525
584
|
}, toDisplayValue(cellValue));
|
|
526
585
|
}
|
|
527
|
-
return /* @__PURE__ */
|
|
586
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, toDisplayValue(cellValue));
|
|
528
587
|
}
|
|
529
588
|
const rowId = cellContext.row.id;
|
|
530
589
|
const columnId = cellContext.column.id;
|
|
@@ -538,7 +597,7 @@ function renderDefaultCell(cellContext) {
|
|
|
538
597
|
const validationError = meta.validationErrors?.get(cellId);
|
|
539
598
|
const isRowFocused = meta.focusedRowId === rowId;
|
|
540
599
|
const rowCellEdits = filterCellEditsToRow(cellEdits, rowId);
|
|
541
|
-
return /* @__PURE__ */
|
|
600
|
+
return /* @__PURE__ */ React16__default.default.createElement(EditableCell, {
|
|
542
601
|
initialValue: cellValue,
|
|
543
602
|
currentValue,
|
|
544
603
|
cellId,
|
|
@@ -564,7 +623,7 @@ function useColumnDefs(objectType, columnDefinitions) {
|
|
|
564
623
|
loading,
|
|
565
624
|
error
|
|
566
625
|
} = react.useOsdkMetadata(objectType);
|
|
567
|
-
const columns =
|
|
626
|
+
const columns = React16.useMemo(() => {
|
|
568
627
|
const objectProperties = metadata?.properties;
|
|
569
628
|
if (columnDefinitions) {
|
|
570
629
|
return getColumnsFromColumnDefinitions(columnDefinitions, objectProperties);
|
|
@@ -597,6 +656,7 @@ function getColumnsFromColumnDefinitions(columnDefinitions, objectProperties) {
|
|
|
597
656
|
const propertyMetadata = locator.type === "property" ? objectProperties?.[locator.id] : void 0;
|
|
598
657
|
const colKey = locator.id;
|
|
599
658
|
const dataType = propertyMetadata?.type && typeof propertyMetadata.type === "string" ? propertyMetadata.type : void 0;
|
|
659
|
+
const markingType = propertyMetadata?.typeMetadata?.type === "marking" ? propertyMetadata.typeMetadata.markingType : void 0;
|
|
600
660
|
const colDef = {
|
|
601
661
|
id: colKey,
|
|
602
662
|
accessorKey: colKey,
|
|
@@ -608,6 +668,7 @@ function getColumnsFromColumnDefinitions(columnDefinitions, objectProperties) {
|
|
|
608
668
|
editable,
|
|
609
669
|
editFieldConfig,
|
|
610
670
|
dataType,
|
|
671
|
+
markingType,
|
|
611
672
|
validateEdit
|
|
612
673
|
},
|
|
613
674
|
size: width,
|
|
@@ -665,11 +726,11 @@ var useColumnPinning = ({
|
|
|
665
726
|
hasSelectionColumn,
|
|
666
727
|
onColumnsPinnedChanged
|
|
667
728
|
}) => {
|
|
668
|
-
const [columnPinning, setColumnPinning] =
|
|
729
|
+
const [columnPinning, setColumnPinning] = React16.useState({
|
|
669
730
|
left: [],
|
|
670
731
|
right: []
|
|
671
732
|
});
|
|
672
|
-
|
|
733
|
+
React16.useEffect(() => {
|
|
673
734
|
const defaultState = getColumnPinningStateFromColumnDefs(columnDefinitions);
|
|
674
735
|
const selectionCol = hasSelectionColumn ? [SELECTION_COLUMN_ID] : [];
|
|
675
736
|
setColumnPinning({
|
|
@@ -677,7 +738,7 @@ var useColumnPinning = ({
|
|
|
677
738
|
right: [...defaultState.right ?? []]
|
|
678
739
|
});
|
|
679
740
|
}, [columnDefinitions, hasSelectionColumn]);
|
|
680
|
-
const onColumnPinningChange =
|
|
741
|
+
const onColumnPinningChange = React16.useCallback((updater) => {
|
|
681
742
|
setColumnPinning((prev) => {
|
|
682
743
|
const newPinning = typeof updater === "function" ? updater(prev) : updater;
|
|
683
744
|
if (onColumnsPinnedChanged) {
|
|
@@ -734,8 +795,8 @@ function convertColumnPinningStateToArray(pinningState) {
|
|
|
734
795
|
var useColumnResize = ({
|
|
735
796
|
onColumnResize
|
|
736
797
|
}) => {
|
|
737
|
-
const [columnSizing, setColumnSizing] =
|
|
738
|
-
const onColumnSizingChange =
|
|
798
|
+
const [columnSizing, setColumnSizing] = React16.useState({});
|
|
799
|
+
const onColumnSizingChange = React16.useCallback((updater) => {
|
|
739
800
|
setColumnSizing((prev) => {
|
|
740
801
|
const newState = typeof updater === "function" ? updater(prev) : updater;
|
|
741
802
|
if (onColumnResize) {
|
|
@@ -762,15 +823,15 @@ var useColumnVisibility = ({
|
|
|
762
823
|
allColumns,
|
|
763
824
|
onColumnVisibilityChanged
|
|
764
825
|
}) => {
|
|
765
|
-
const [columnVisibility, setColumnVisibility] =
|
|
766
|
-
const [columnOrder, setColumnOrder] =
|
|
767
|
-
|
|
826
|
+
const [columnVisibility, setColumnVisibility] = React16.useState(() => getColumnVisibilityState(allColumns));
|
|
827
|
+
const [columnOrder, setColumnOrder] = React16.useState(() => getColumnOrder(allColumns));
|
|
828
|
+
React16.useEffect(() => {
|
|
768
829
|
setColumnVisibility(getColumnVisibilityState(allColumns));
|
|
769
830
|
}, [allColumns]);
|
|
770
|
-
|
|
831
|
+
React16.useEffect(() => {
|
|
771
832
|
setColumnOrder(getColumnOrder(allColumns));
|
|
772
833
|
}, [allColumns]);
|
|
773
|
-
const onColumnVisibilityChange =
|
|
834
|
+
const onColumnVisibilityChange = React16.useCallback((updaterOrValue) => {
|
|
774
835
|
setColumnVisibility((prev) => {
|
|
775
836
|
const newState = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
776
837
|
if (onColumnVisibilityChanged) {
|
|
@@ -783,7 +844,7 @@ var useColumnVisibility = ({
|
|
|
783
844
|
return newState;
|
|
784
845
|
});
|
|
785
846
|
}, [onColumnVisibilityChanged]);
|
|
786
|
-
const onColumnOrderChange =
|
|
847
|
+
const onColumnOrderChange = React16.useCallback((updaterOrValue) => {
|
|
787
848
|
setColumnOrder((prev) => {
|
|
788
849
|
const newState = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
789
850
|
return newState;
|
|
@@ -816,17 +877,17 @@ function useEditableTable({
|
|
|
816
877
|
onCellValueChanged,
|
|
817
878
|
onSubmitEdits
|
|
818
879
|
}) {
|
|
819
|
-
const [isActive, setActive] =
|
|
820
|
-
const [cellEdits, setCellEdits] =
|
|
821
|
-
const [validationErrors, setValidationErrors] =
|
|
822
|
-
const clearCellValidationError =
|
|
880
|
+
const [isActive, setActive] = React16.useState(editMode === "always");
|
|
881
|
+
const [cellEdits, setCellEdits] = React16.useState({});
|
|
882
|
+
const [validationErrors, setValidationErrors] = React16.useState(/* @__PURE__ */ new Map());
|
|
883
|
+
const clearCellValidationError = React16.useCallback((cellId) => {
|
|
823
884
|
setValidationErrors((prev) => {
|
|
824
885
|
const newErrors = new Map(prev);
|
|
825
886
|
newErrors.delete(cellId);
|
|
826
887
|
return newErrors;
|
|
827
888
|
});
|
|
828
889
|
}, []);
|
|
829
|
-
const handleCellEdit =
|
|
890
|
+
const handleCellEdit = React16.useCallback((cellId, info) => {
|
|
830
891
|
if (cellValuesEqual(info.newValue, info.oldValue)) {
|
|
831
892
|
setCellEdits((prev) => {
|
|
832
893
|
const {
|
|
@@ -843,15 +904,15 @@ function useEditableTable({
|
|
|
843
904
|
}
|
|
844
905
|
onCellValueChanged?.(info);
|
|
845
906
|
}, [onCellValueChanged]);
|
|
846
|
-
const clearEdits =
|
|
907
|
+
const clearEdits = React16.useCallback(() => {
|
|
847
908
|
setCellEdits({});
|
|
848
909
|
setValidationErrors(/* @__PURE__ */ new Map());
|
|
849
910
|
}, []);
|
|
850
|
-
const handleSubmitEdits =
|
|
911
|
+
const handleSubmitEdits = React16.useCallback(async () => {
|
|
851
912
|
const edits = Object.values(cellEdits);
|
|
852
913
|
return onSubmitEdits ? onSubmitEdits(edits) : false;
|
|
853
914
|
}, [cellEdits, onSubmitEdits]);
|
|
854
|
-
const onCellValidationError =
|
|
915
|
+
const onCellValidationError = React16.useCallback((cellId, error) => {
|
|
855
916
|
setValidationErrors((prev) => {
|
|
856
917
|
const newErrors = new Map(prev);
|
|
857
918
|
newErrors.set(cellId, error);
|
|
@@ -908,15 +969,15 @@ function useFunctionColumnsData({
|
|
|
908
969
|
pageSize = DEFAULT_PAGE_SIZE
|
|
909
970
|
}) {
|
|
910
971
|
const client = react.useOsdkClient();
|
|
911
|
-
const prevDataRef =
|
|
972
|
+
const prevDataRef = React16.useRef({});
|
|
912
973
|
const stableObjects = useStableObjects(objects);
|
|
913
|
-
const functionColDefs =
|
|
914
|
-
const pagedObjectSets =
|
|
974
|
+
const functionColDefs = React16.useMemo(() => extractFunctionLocators(columnDefinitions), [columnDefinitions]);
|
|
975
|
+
const pagedObjectSets = React16.useMemo(() => {
|
|
915
976
|
if (!stableObjects?.length) return [];
|
|
916
977
|
return buildPagedObjectSets(client, objectOrInterfaceType, stableObjects, pageSize);
|
|
917
978
|
}, [client, objectOrInterfaceType, stableObjects, pageSize]);
|
|
918
979
|
const disabled = pagedObjectSets.length === 0 || functionColDefs.length === 0;
|
|
919
|
-
const queryGrid =
|
|
980
|
+
const queryGrid = React16.useMemo(() => {
|
|
920
981
|
if (pagedObjectSets.length === 0 || functionColDefs.length === 0) {
|
|
921
982
|
return EMPTY_QUERY_GRID;
|
|
922
983
|
}
|
|
@@ -927,8 +988,8 @@ function useFunctionColumnsData({
|
|
|
927
988
|
enabled: !disabled,
|
|
928
989
|
maxConcurrent: DEFAULT_MAX_CONCURRENT_REQUESTS
|
|
929
990
|
});
|
|
930
|
-
const mergedResults =
|
|
931
|
-
const data =
|
|
991
|
+
const mergedResults = React16.useMemo(() => mergePagedResults(results, queryGrid.numColumns), [results, queryGrid.numColumns]);
|
|
992
|
+
const data = React16.useMemo(() => {
|
|
932
993
|
const columnData = buildFunctionColumnData(mergedResults, functionColDefs, stableObjects, disabled, prevDataRef.current);
|
|
933
994
|
prevDataRef.current = columnData;
|
|
934
995
|
return columnData;
|
|
@@ -1023,7 +1084,7 @@ function resolveCell(result, objectKey, getValue, prevData) {
|
|
|
1023
1084
|
};
|
|
1024
1085
|
}
|
|
1025
1086
|
var useStableObjects = (objects) => {
|
|
1026
|
-
return
|
|
1087
|
+
return React16.useMemo(() => objects, [
|
|
1027
1088
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1028
1089
|
JSON.stringify((objects ?? []).map((item) => ({
|
|
1029
1090
|
$apiName: item.$apiName,
|
|
@@ -1039,7 +1100,7 @@ var useStableObjects = (objects) => {
|
|
|
1039
1100
|
|
|
1040
1101
|
// src/object-table/hooks/useObjectTableData.ts
|
|
1041
1102
|
function useObjectTableData(objectOrInterfaceType, columnDefinitions, filter, sorting, objectSet, objectSetOptions, dedupeIntervalMs = DEFAULT_OBJECT_TABLE_DEDUPE_INTERVAL_MS, pageSize = DEFAULT_PAGE_SIZE, streamUpdates) {
|
|
1042
|
-
const orderBy =
|
|
1103
|
+
const orderBy = React16.useMemo(() => {
|
|
1043
1104
|
if (!sorting || sorting.length === 0) {
|
|
1044
1105
|
return void 0;
|
|
1045
1106
|
}
|
|
@@ -1048,7 +1109,7 @@ function useObjectTableData(objectOrInterfaceType, columnDefinitions, filter, so
|
|
|
1048
1109
|
return acc;
|
|
1049
1110
|
}, {});
|
|
1050
1111
|
}, [sorting]);
|
|
1051
|
-
const withProperties =
|
|
1112
|
+
const withProperties = React16.useMemo(() => {
|
|
1052
1113
|
if (!columnDefinitions) {
|
|
1053
1114
|
return;
|
|
1054
1115
|
}
|
|
@@ -1093,7 +1154,7 @@ function useObjectTableData(objectOrInterfaceType, columnDefinitions, filter, so
|
|
|
1093
1154
|
columnDefinitions,
|
|
1094
1155
|
pageSize
|
|
1095
1156
|
});
|
|
1096
|
-
const mergedData =
|
|
1157
|
+
const mergedData = React16.useMemo(() => {
|
|
1097
1158
|
if (!baseResult.data) return baseResult.data;
|
|
1098
1159
|
return baseResult.data.map((obj) => {
|
|
1099
1160
|
const objKey = String(obj.$primaryKey);
|
|
@@ -1200,9 +1261,9 @@ function useObjectTableSnapshot({
|
|
|
1200
1261
|
orderBy
|
|
1201
1262
|
}) {
|
|
1202
1263
|
const client = react.useOsdkClient();
|
|
1203
|
-
const functionLocators =
|
|
1204
|
-
const customColumnIds =
|
|
1205
|
-
const getSnapshot =
|
|
1264
|
+
const functionLocators = React16.useMemo(() => extractFunctionLocators(columnDefinitions), [columnDefinitions]);
|
|
1265
|
+
const customColumnIds = React16.useMemo(() => new Set(columnDefinitions?.filter((definition) => definition.locator.type === "custom").map((definition) => String(definition.locator.id)) ?? []), [columnDefinitions]);
|
|
1266
|
+
const getSnapshot = React16.useCallback(async (options) => {
|
|
1206
1267
|
const rowLimit = options?.rowLimit ?? DEFAULT_SNAPSHOT_ROW_LIMIT;
|
|
1207
1268
|
const rowLimitExceededError = `Error in getSnapshot: total row count exceeds row limit of ${rowLimit}.`;
|
|
1208
1269
|
if (totalCount != null) {
|
|
@@ -1248,7 +1309,7 @@ function useObjectTableSnapshot({
|
|
|
1248
1309
|
totalCount
|
|
1249
1310
|
};
|
|
1250
1311
|
}, [table, objectSet, objectOrInterfaceType, functionLocators, customColumnIds, client, pageSize, totalCount, orderBy]);
|
|
1251
|
-
return
|
|
1312
|
+
return React16.useMemo(() => ({
|
|
1252
1313
|
getSnapshot
|
|
1253
1314
|
}), [getSnapshot]);
|
|
1254
1315
|
}
|
|
@@ -1269,12 +1330,12 @@ function useRowSelection({
|
|
|
1269
1330
|
onRowSelectionChanged,
|
|
1270
1331
|
data
|
|
1271
1332
|
}) {
|
|
1272
|
-
const [internalRowSelection, setInternalRowSelection] =
|
|
1273
|
-
const [internalIsAllSelected, setInternalIsAllSelected] =
|
|
1274
|
-
const [lastSelectedRowIndex, setLastSelectedRowIndex] =
|
|
1333
|
+
const [internalRowSelection, setInternalRowSelection] = React16.useState({});
|
|
1334
|
+
const [internalIsAllSelected, setInternalIsAllSelected] = React16.useState(false);
|
|
1335
|
+
const [lastSelectedRowIndex, setLastSelectedRowIndex] = React16.useState(null);
|
|
1275
1336
|
const isControlled = selectedRows !== void 0;
|
|
1276
1337
|
const enableRowSelection = selectionMode !== "none";
|
|
1277
|
-
const rowSelectionState =
|
|
1338
|
+
const rowSelectionState = React16.useMemo(() => {
|
|
1278
1339
|
if (!enableRowSelection) return {};
|
|
1279
1340
|
if (isControlled) {
|
|
1280
1341
|
const selectedRowIds = isAllSelectedProp ? (data ?? []).map((item) => item.$primaryKey) : selectedRows;
|
|
@@ -1285,11 +1346,11 @@ function useRowSelection({
|
|
|
1285
1346
|
}
|
|
1286
1347
|
return internalRowSelection;
|
|
1287
1348
|
}, [enableRowSelection, isControlled, selectedRows, isAllSelectedProp, internalIsAllSelected, internalRowSelection, data]);
|
|
1288
|
-
const selectedCount =
|
|
1349
|
+
const selectedCount = React16.useMemo(() => Object.values(rowSelectionState).filter(Boolean).length, [rowSelectionState]);
|
|
1289
1350
|
const totalCount = data?.length ?? 0;
|
|
1290
1351
|
const isAllSelected = deriveIsAllSelected(isControlled, isAllSelectedProp, internalIsAllSelected, selectedCount, totalCount);
|
|
1291
1352
|
const hasSelection = isAllSelected || selectedCount > 0;
|
|
1292
|
-
const lastFiredAllSelectedIdsRef =
|
|
1353
|
+
const lastFiredAllSelectedIdsRef = React16.useRef(null);
|
|
1293
1354
|
const fireSelectionCallbacks = chunk3S52UDZM_cjs.useEventCallback((ids, isSelectAll) => {
|
|
1294
1355
|
onRowSelection?.(ids, isSelectAll);
|
|
1295
1356
|
if (onRowSelectionChanged) {
|
|
@@ -1302,7 +1363,7 @@ function useRowSelection({
|
|
|
1302
1363
|
});
|
|
1303
1364
|
}
|
|
1304
1365
|
});
|
|
1305
|
-
const onToggleAll =
|
|
1366
|
+
const onToggleAll = React16.useCallback(() => {
|
|
1306
1367
|
if (!enableRowSelection || !data) return;
|
|
1307
1368
|
const newIsAllSelected = !hasSelection;
|
|
1308
1369
|
const newSelectedRows = newIsAllSelected ? data.map((item) => item.$primaryKey) : [];
|
|
@@ -1313,7 +1374,7 @@ function useRowSelection({
|
|
|
1313
1374
|
lastFiredAllSelectedIdsRef.current = newIsAllSelected ? JSON.stringify(newSelectedRows) : null;
|
|
1314
1375
|
fireSelectionCallbacks(newSelectedRows, newIsAllSelected);
|
|
1315
1376
|
}, [enableRowSelection, data, hasSelection, isControlled, fireSelectionCallbacks]);
|
|
1316
|
-
const onToggleRow =
|
|
1377
|
+
const onToggleRow = React16.useCallback((rowId, rowIndex, isShiftClick = false) => {
|
|
1317
1378
|
if (!enableRowSelection || !data) return;
|
|
1318
1379
|
let newSelectedRows;
|
|
1319
1380
|
if (selectionMode === "single") {
|
|
@@ -1354,7 +1415,7 @@ function useRowSelection({
|
|
|
1354
1415
|
lastFiredAllSelectedIdsRef.current = null;
|
|
1355
1416
|
fireSelectionCallbacks(newSelectedRows, false);
|
|
1356
1417
|
}, [enableRowSelection, data, selectionMode, isControlled, fireSelectionCallbacks, rowSelectionState, lastSelectedRowIndex]);
|
|
1357
|
-
|
|
1418
|
+
React16.useEffect(function syncSelectAllOnDataChange() {
|
|
1358
1419
|
if (isControlled || !internalIsAllSelected || !data) {
|
|
1359
1420
|
if (!internalIsAllSelected) {
|
|
1360
1421
|
lastFiredAllSelectedIdsRef.current = null;
|
|
@@ -1459,7 +1520,7 @@ function SelectionHeaderCell({
|
|
|
1459
1520
|
onToggleAll
|
|
1460
1521
|
}) {
|
|
1461
1522
|
const checkboxLabel = hasSelection ? "Deselect all rows" : "Select all rows";
|
|
1462
|
-
return /* @__PURE__ */
|
|
1523
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.Checkbox, {
|
|
1463
1524
|
indeterminate: hasSelection && !isAllSelected,
|
|
1464
1525
|
checked: isAllSelected,
|
|
1465
1526
|
onCheckedChange: onToggleAll,
|
|
@@ -1470,21 +1531,21 @@ function SelectionCell({
|
|
|
1470
1531
|
row,
|
|
1471
1532
|
onToggleRow
|
|
1472
1533
|
}) {
|
|
1473
|
-
const handleClick =
|
|
1534
|
+
const handleClick = React16.useCallback((event) => {
|
|
1474
1535
|
event.stopPropagation();
|
|
1475
1536
|
const isShiftClick = event.shiftKey;
|
|
1476
1537
|
onToggleRow(row.id, row.index, isShiftClick);
|
|
1477
1538
|
}, [onToggleRow, row.id, row.index]);
|
|
1478
|
-
const handleKeyDown =
|
|
1539
|
+
const handleKeyDown = React16.useCallback((event) => {
|
|
1479
1540
|
if (event.key === "Enter") {
|
|
1480
1541
|
const isShiftClick = event.shiftKey;
|
|
1481
1542
|
onToggleRow(row.id, row.index, isShiftClick);
|
|
1482
1543
|
}
|
|
1483
1544
|
}, [onToggleRow, row.id, row.index]);
|
|
1484
|
-
return /* @__PURE__ */
|
|
1545
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1485
1546
|
onClick: handleClick,
|
|
1486
1547
|
onKeyDown: handleKeyDown
|
|
1487
|
-
}, /* @__PURE__ */
|
|
1548
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.Checkbox, {
|
|
1488
1549
|
checked: row.getIsSelected(),
|
|
1489
1550
|
"aria-label": `Select row ${row.index + 1}`
|
|
1490
1551
|
}));
|
|
@@ -1498,26 +1559,26 @@ var useSelectionColumn = ({
|
|
|
1498
1559
|
onToggleAll,
|
|
1499
1560
|
onToggleRow
|
|
1500
1561
|
}) => {
|
|
1501
|
-
const isAllSelectedRef =
|
|
1562
|
+
const isAllSelectedRef = React16.useRef(isAllSelected);
|
|
1502
1563
|
isAllSelectedRef.current = isAllSelected;
|
|
1503
|
-
const hasSelectionRef =
|
|
1564
|
+
const hasSelectionRef = React16.useRef(hasSelection);
|
|
1504
1565
|
hasSelectionRef.current = hasSelection;
|
|
1505
|
-
const onToggleAllRef =
|
|
1566
|
+
const onToggleAllRef = React16.useRef(onToggleAll);
|
|
1506
1567
|
onToggleAllRef.current = onToggleAll;
|
|
1507
|
-
const onToggleRowRef =
|
|
1568
|
+
const onToggleRowRef = React16.useRef(onToggleRow);
|
|
1508
1569
|
onToggleRowRef.current = onToggleRow;
|
|
1509
|
-
const selectionColumn =
|
|
1570
|
+
const selectionColumn = React16.useMemo(() => {
|
|
1510
1571
|
if (selectionMode === "none") return null;
|
|
1511
1572
|
const colDef = {
|
|
1512
1573
|
id: SELECTION_COLUMN_ID,
|
|
1513
|
-
header: () => selectionMode === "multiple" ? /* @__PURE__ */
|
|
1574
|
+
header: () => selectionMode === "multiple" ? /* @__PURE__ */ React16__default.default.createElement(SelectionHeaderCell, {
|
|
1514
1575
|
isAllSelected: isAllSelectedRef.current,
|
|
1515
1576
|
hasSelection: hasSelectionRef.current,
|
|
1516
1577
|
onToggleAll: onToggleAllRef.current
|
|
1517
1578
|
}) : null,
|
|
1518
1579
|
cell: ({
|
|
1519
1580
|
row
|
|
1520
|
-
}) => /* @__PURE__ */
|
|
1581
|
+
}) => /* @__PURE__ */ React16__default.default.createElement(SelectionCell, {
|
|
1521
1582
|
row,
|
|
1522
1583
|
onToggleRow: onToggleRowRef.current
|
|
1523
1584
|
}),
|
|
@@ -1537,17 +1598,17 @@ var useTableSorting = ({
|
|
|
1537
1598
|
defaultOrderBy,
|
|
1538
1599
|
onOrderByChanged
|
|
1539
1600
|
}) => {
|
|
1540
|
-
const [internalSorting, setInternalSorting] =
|
|
1601
|
+
const [internalSorting, setInternalSorting] = React16.useState(() => defaultOrderBy ? convertOrderByToSortingState(defaultOrderBy) : []);
|
|
1541
1602
|
const isControlled = orderBy !== void 0;
|
|
1542
|
-
const sortingState =
|
|
1543
|
-
const orderByState =
|
|
1603
|
+
const sortingState = React16.useMemo(() => orderBy ? convertOrderByToSortingState(orderBy) : internalSorting, [orderBy, internalSorting]);
|
|
1604
|
+
const orderByState = React16.useMemo(() => {
|
|
1544
1605
|
const currentOrderBy = orderBy ? orderBy : convertSortingStateToOrderBy(internalSorting);
|
|
1545
1606
|
return Object.fromEntries(currentOrderBy.map(({
|
|
1546
1607
|
property,
|
|
1547
1608
|
direction
|
|
1548
1609
|
}) => [property, direction]));
|
|
1549
1610
|
}, [orderBy, internalSorting]);
|
|
1550
|
-
const onSortingChange =
|
|
1611
|
+
const onSortingChange = React16.useCallback((updater) => {
|
|
1551
1612
|
const newSorting = typeof updater === "function" ? updater(sortingState) : updater;
|
|
1552
1613
|
if (!isControlled) {
|
|
1553
1614
|
setInternalSorting(newSorting);
|
|
@@ -1587,13 +1648,13 @@ function useFocusedRow({
|
|
|
1587
1648
|
getRowById
|
|
1588
1649
|
}) {
|
|
1589
1650
|
const isControlled = focusedRowId !== void 0;
|
|
1590
|
-
const [internalFocusedRowId, setInternalFocusedRowId] =
|
|
1651
|
+
const [internalFocusedRowId, setInternalFocusedRowId] = React16.useState(null);
|
|
1591
1652
|
const effectiveId = isControlled ? focusedRowId ?? null : internalFocusedRowId;
|
|
1592
1653
|
const fireChanged = chunk3S52UDZM_cjs.useEventCallback((id) => {
|
|
1593
1654
|
const row = id != null ? getRowById(id) : null;
|
|
1594
1655
|
onFocusedRowChanged?.(row);
|
|
1595
1656
|
});
|
|
1596
|
-
const setFocusedRowId =
|
|
1657
|
+
const setFocusedRowId = React16.useCallback((id) => {
|
|
1597
1658
|
if (effectiveId === id) return;
|
|
1598
1659
|
if (!isControlled) {
|
|
1599
1660
|
setInternalFocusedRowId(id);
|
|
@@ -1618,17 +1679,17 @@ function LoadingRow({
|
|
|
1618
1679
|
rowHeight = DEFAULT_ROW_HEIGHT,
|
|
1619
1680
|
columnWidth = DEFAULT_COLUMN_WIDTH
|
|
1620
1681
|
}) {
|
|
1621
|
-
return /* @__PURE__ */
|
|
1682
|
+
return /* @__PURE__ */ React16__default.default.createElement("tr", {
|
|
1622
1683
|
className: TableRow_default.osdkTableRow,
|
|
1623
1684
|
style: {
|
|
1624
1685
|
height: `${rowHeight}px`,
|
|
1625
1686
|
transform: `translateY(${translateY}px)`
|
|
1626
1687
|
}
|
|
1627
|
-
}, /* @__PURE__ */
|
|
1688
|
+
}, /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, Array.from({
|
|
1628
1689
|
length: columnCount
|
|
1629
1690
|
}).map((_, index) => {
|
|
1630
1691
|
const width = headers.length > index ? headers[index].getSize() : columnWidth;
|
|
1631
|
-
return /* @__PURE__ */
|
|
1692
|
+
return /* @__PURE__ */ React16__default.default.createElement(LoadingCell, {
|
|
1632
1693
|
key: `loading-cell-${index}`,
|
|
1633
1694
|
width
|
|
1634
1695
|
});
|
|
@@ -1671,27 +1732,27 @@ function DraggableListItem({
|
|
|
1671
1732
|
transform: utilities.CSS.Transform.toString(transform),
|
|
1672
1733
|
transition
|
|
1673
1734
|
};
|
|
1674
|
-
const handleRemove =
|
|
1735
|
+
const handleRemove = React16.useCallback(() => {
|
|
1675
1736
|
onRemove?.(item.id);
|
|
1676
1737
|
}, [item.id, onRemove]);
|
|
1677
1738
|
const RemoveIcon = removeIconVariant === "trash" ? icons.Trash : icons.SmallCross;
|
|
1678
|
-
return /* @__PURE__ */
|
|
1739
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1679
1740
|
ref: setNodeRef,
|
|
1680
1741
|
style,
|
|
1681
1742
|
className: DraggableList_default.draggableItem,
|
|
1682
1743
|
"data-dragging": isDragging
|
|
1683
|
-
}, /* @__PURE__ */
|
|
1744
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", _extends3({
|
|
1684
1745
|
className: DraggableList_default.dragHandle,
|
|
1685
1746
|
"aria-label": `Reorder ${item.label}`
|
|
1686
|
-
}, attributes, listeners), /* @__PURE__ */
|
|
1747
|
+
}, attributes, listeners), /* @__PURE__ */ React16__default.default.createElement(icons.DragHandleVertical, {
|
|
1687
1748
|
className: DraggableList_default.icon
|
|
1688
|
-
})), /* @__PURE__ */
|
|
1749
|
+
})), /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1689
1750
|
className: DraggableList_default.itemContent
|
|
1690
|
-
}, renderContent ? renderContent(item) : item.label), onRemove && /* @__PURE__ */
|
|
1751
|
+
}, renderContent ? renderContent(item) : item.label), onRemove && /* @__PURE__ */ React16__default.default.createElement(button.Button, {
|
|
1691
1752
|
className: DraggableList_default.removeButton,
|
|
1692
1753
|
onClick: handleRemove,
|
|
1693
1754
|
"aria-label": `Remove ${item.label}`
|
|
1694
|
-
}, /* @__PURE__ */
|
|
1755
|
+
}, /* @__PURE__ */ React16__default.default.createElement(RemoveIcon, {
|
|
1695
1756
|
className: DraggableList_default.icon
|
|
1696
1757
|
})));
|
|
1697
1758
|
}
|
|
@@ -1704,7 +1765,7 @@ function DraggableList({
|
|
|
1704
1765
|
emptyMessage,
|
|
1705
1766
|
className
|
|
1706
1767
|
}) {
|
|
1707
|
-
const itemIds =
|
|
1768
|
+
const itemIds = React16.useMemo(() => items.map((item) => item.id), [items]);
|
|
1708
1769
|
const sensors = core.useSensors(core.useSensor(core.PointerSensor, {
|
|
1709
1770
|
activationConstraint: {
|
|
1710
1771
|
distance: 5
|
|
@@ -1712,7 +1773,7 @@ function DraggableList({
|
|
|
1712
1773
|
}), core.useSensor(core.KeyboardSensor, {
|
|
1713
1774
|
coordinateGetter: sortable.sortableKeyboardCoordinates
|
|
1714
1775
|
}));
|
|
1715
|
-
const handleDragEnd =
|
|
1776
|
+
const handleDragEnd = React16.useCallback((event) => {
|
|
1716
1777
|
const {
|
|
1717
1778
|
active,
|
|
1718
1779
|
over
|
|
@@ -1723,31 +1784,31 @@ function DraggableList({
|
|
|
1723
1784
|
onReorder(oldIndex, newIndex);
|
|
1724
1785
|
}
|
|
1725
1786
|
}, [items, onReorder]);
|
|
1726
|
-
const containerRef =
|
|
1787
|
+
const containerRef = React16.useRef(null);
|
|
1727
1788
|
useKeyboardEvents(containerRef);
|
|
1728
1789
|
const DndContext = core.DndContext;
|
|
1729
|
-
return /* @__PURE__ */
|
|
1790
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1730
1791
|
ref: containerRef,
|
|
1731
1792
|
className: classNames9__default.default(DraggableList_default.draggableListContainer, className)
|
|
1732
|
-
}, /* @__PURE__ */
|
|
1793
|
+
}, /* @__PURE__ */ React16__default.default.createElement(DndContext, {
|
|
1733
1794
|
sensors,
|
|
1734
1795
|
collisionDetection: core.closestCenter,
|
|
1735
1796
|
onDragEnd: handleDragEnd
|
|
1736
|
-
}, /* @__PURE__ */
|
|
1797
|
+
}, /* @__PURE__ */ React16__default.default.createElement(sortable.SortableContext, {
|
|
1737
1798
|
items: itemIds,
|
|
1738
1799
|
strategy: sortable.verticalListSortingStrategy
|
|
1739
|
-
}, items.map((item) => /* @__PURE__ */
|
|
1800
|
+
}, items.map((item) => /* @__PURE__ */ React16__default.default.createElement(DraggableListItem, {
|
|
1740
1801
|
key: item.id,
|
|
1741
1802
|
item,
|
|
1742
1803
|
onRemove,
|
|
1743
1804
|
removeIconVariant,
|
|
1744
1805
|
renderContent
|
|
1745
|
-
})))), items.length === 0 && emptyMessage && /* @__PURE__ */
|
|
1806
|
+
})))), items.length === 0 && emptyMessage && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1746
1807
|
className: DraggableList_default.emptyState
|
|
1747
1808
|
}, emptyMessage));
|
|
1748
1809
|
}
|
|
1749
1810
|
var useKeyboardEvents = (containerRef) => {
|
|
1750
|
-
|
|
1811
|
+
React16.useEffect(() => {
|
|
1751
1812
|
const el = containerRef.current;
|
|
1752
1813
|
if (el == null) {
|
|
1753
1814
|
return;
|
|
@@ -1785,9 +1846,9 @@ function ColumnConfigDialog({
|
|
|
1785
1846
|
onApply,
|
|
1786
1847
|
isValidConfig
|
|
1787
1848
|
}) {
|
|
1788
|
-
const [visibleColumns, setVisibleColumns] =
|
|
1789
|
-
const [searchQuery, setSearchQuery] =
|
|
1790
|
-
const allColumns =
|
|
1849
|
+
const [visibleColumns, setVisibleColumns] = React16.useState([]);
|
|
1850
|
+
const [searchQuery, setSearchQuery] = React16.useState("");
|
|
1851
|
+
const allColumns = React16.useMemo(() => {
|
|
1791
1852
|
return columnOptions.map((opt) => {
|
|
1792
1853
|
const isVisible = currentVisibility ? currentVisibility[opt.id] : false;
|
|
1793
1854
|
return {
|
|
@@ -1797,7 +1858,7 @@ function ColumnConfigDialog({
|
|
|
1797
1858
|
};
|
|
1798
1859
|
});
|
|
1799
1860
|
}, [columnOptions, currentVisibility]);
|
|
1800
|
-
|
|
1861
|
+
React16.useEffect(() => {
|
|
1801
1862
|
if (isOpen) {
|
|
1802
1863
|
const visibleCols = allColumns.filter((col) => col.isVisible);
|
|
1803
1864
|
if (!!currentColumnOrder?.length) {
|
|
@@ -1813,19 +1874,19 @@ function ColumnConfigDialog({
|
|
|
1813
1874
|
setSearchQuery("");
|
|
1814
1875
|
}
|
|
1815
1876
|
}, [isOpen, allColumns, currentColumnOrder]);
|
|
1816
|
-
const handleApply =
|
|
1877
|
+
const handleApply = React16.useCallback(() => {
|
|
1817
1878
|
onApply(getColumnConfig(allColumns, visibleColumns));
|
|
1818
1879
|
onClose();
|
|
1819
1880
|
}, [allColumns, visibleColumns, onApply, onClose]);
|
|
1820
1881
|
const isValid = isValidConfig ? isValidConfig(getColumnConfig(allColumns, visibleColumns)) : true;
|
|
1821
1882
|
const isApplyDisabled = visibleColumns.length === 0 || !isValid;
|
|
1822
|
-
const handleReorderColumns =
|
|
1883
|
+
const handleReorderColumns = React16.useCallback((fromIndex, toIndex) => {
|
|
1823
1884
|
setVisibleColumns((items) => sortable.arrayMove(items, fromIndex, toIndex));
|
|
1824
1885
|
}, []);
|
|
1825
|
-
const handleRemoveColumn =
|
|
1886
|
+
const handleRemoveColumn = React16.useCallback((columnId) => {
|
|
1826
1887
|
setVisibleColumns((prev) => prev.filter((col) => col.id !== columnId));
|
|
1827
1888
|
}, []);
|
|
1828
|
-
const handleToggleColumn =
|
|
1889
|
+
const handleToggleColumn = React16.useCallback((column) => {
|
|
1829
1890
|
setVisibleColumns((prev) => {
|
|
1830
1891
|
const isCurrentlyVisible = prev.some((col) => col.id === column.id);
|
|
1831
1892
|
if (isCurrentlyVisible) {
|
|
@@ -1835,10 +1896,10 @@ function ColumnConfigDialog({
|
|
|
1835
1896
|
}
|
|
1836
1897
|
});
|
|
1837
1898
|
}, []);
|
|
1838
|
-
const handleSearchChange =
|
|
1899
|
+
const handleSearchChange = React16.useCallback((event) => {
|
|
1839
1900
|
setSearchQuery(event.target.value);
|
|
1840
1901
|
}, []);
|
|
1841
|
-
const handleSelectAll =
|
|
1902
|
+
const handleSelectAll = React16.useCallback((columns) => {
|
|
1842
1903
|
setVisibleColumns((prev) => {
|
|
1843
1904
|
const allSelected = columns.every((col) => prev.some((v) => v.id === col.id));
|
|
1844
1905
|
if (allSelected) {
|
|
@@ -1849,33 +1910,33 @@ function ColumnConfigDialog({
|
|
|
1849
1910
|
}
|
|
1850
1911
|
});
|
|
1851
1912
|
}, []);
|
|
1852
|
-
const filteredAvailableColumns =
|
|
1913
|
+
const filteredAvailableColumns = React16.useMemo(() => {
|
|
1853
1914
|
const query = searchQuery.toLowerCase().trim();
|
|
1854
1915
|
if (!query) {
|
|
1855
1916
|
return allColumns;
|
|
1856
1917
|
}
|
|
1857
1918
|
return allColumns.filter((col) => (col.label?.toLowerCase().includes(query) ?? false) || col.id.toLowerCase().includes(query));
|
|
1858
1919
|
}, [allColumns, searchQuery]);
|
|
1859
|
-
const footer =
|
|
1920
|
+
const footer = React16.useMemo(() => /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
1860
1921
|
onClick: onClose
|
|
1861
|
-
}, "Cancel"), /* @__PURE__ */
|
|
1922
|
+
}, "Cancel"), /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
1862
1923
|
variant: "primary",
|
|
1863
1924
|
onClick: handleApply,
|
|
1864
1925
|
disabled: isApplyDisabled
|
|
1865
1926
|
}, "Apply")), [onClose, handleApply, isApplyDisabled]);
|
|
1866
|
-
return /* @__PURE__ */
|
|
1927
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkC6IPNPMZ_cjs.Dialog, {
|
|
1867
1928
|
isOpen,
|
|
1868
1929
|
onOpenChange: onClose,
|
|
1869
1930
|
title: DialogTitle,
|
|
1870
1931
|
footer,
|
|
1871
1932
|
className: ColumnConfigDialog_default.columnConfigDialog
|
|
1872
|
-
}, /* @__PURE__ */
|
|
1933
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1873
1934
|
className: ColumnConfigDialog_default.dialogLayout
|
|
1874
|
-
}, /* @__PURE__ */
|
|
1935
|
+
}, /* @__PURE__ */ React16__default.default.createElement(VisibleColumnsList, {
|
|
1875
1936
|
columns: visibleColumns,
|
|
1876
1937
|
onReorder: handleReorderColumns,
|
|
1877
1938
|
onRemove: handleRemoveColumn
|
|
1878
|
-
}), /* @__PURE__ */
|
|
1939
|
+
}), /* @__PURE__ */ React16__default.default.createElement(AvailableColumnsList, {
|
|
1879
1940
|
visibleColumns,
|
|
1880
1941
|
searchQuery,
|
|
1881
1942
|
onSearchChange: handleSearchChange,
|
|
@@ -1884,9 +1945,9 @@ function ColumnConfigDialog({
|
|
|
1884
1945
|
filteredColumns: filteredAvailableColumns
|
|
1885
1946
|
})));
|
|
1886
1947
|
}
|
|
1887
|
-
var DialogTitle = /* @__PURE__ */
|
|
1948
|
+
var DialogTitle = /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1888
1949
|
className: ColumnConfigDialog_default.title
|
|
1889
|
-
}, /* @__PURE__ */
|
|
1950
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.Cog, null), "Configure Table Columns");
|
|
1890
1951
|
var getColumnConfig = (allColumns, visibleColumns) => {
|
|
1891
1952
|
const hiddenColumns = allColumns.filter((col) => !visibleColumns.some((v) => v.id === col.id));
|
|
1892
1953
|
return [...visibleColumns.map((col) => ({
|
|
@@ -1902,17 +1963,17 @@ function VisibleColumnsList({
|
|
|
1902
1963
|
onReorder,
|
|
1903
1964
|
onRemove
|
|
1904
1965
|
}) {
|
|
1905
|
-
return /* @__PURE__ */
|
|
1966
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1906
1967
|
className: ColumnConfigDialog_default.visibleColumnsContainer
|
|
1907
|
-
}, /* @__PURE__ */
|
|
1968
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1908
1969
|
className: ColumnConfigDialog_default.sectionHeader
|
|
1909
|
-
}, /* @__PURE__ */
|
|
1970
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1910
1971
|
className: ColumnConfigDialog_default.sectionTitle
|
|
1911
|
-
}, /* @__PURE__ */
|
|
1972
|
+
}, /* @__PURE__ */ React16__default.default.createElement("span", null, "Visible Columns"), /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
1912
1973
|
className: ColumnConfigDialog_default.countTag
|
|
1913
|
-
}, columns.length)), /* @__PURE__ */
|
|
1974
|
+
}, columns.length)), /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1914
1975
|
className: ColumnConfigDialog_default.sectionHint
|
|
1915
|
-
}, "Drag to reorder")), /* @__PURE__ */
|
|
1976
|
+
}, "Drag to reorder")), /* @__PURE__ */ React16__default.default.createElement(DraggableList, {
|
|
1916
1977
|
items: columns,
|
|
1917
1978
|
onReorder,
|
|
1918
1979
|
onRemove,
|
|
@@ -1933,42 +1994,42 @@ function AvailableColumnsList({
|
|
|
1933
1994
|
const totalCount = filteredColumns.length;
|
|
1934
1995
|
const allFilteredSelected = filteredColumns.every((col) => visibleColumns.some((v) => v.id === col.id));
|
|
1935
1996
|
const someFilteredSelected = filteredColumns.some((col) => visibleColumns.some((v) => v.id === col.id));
|
|
1936
|
-
const handleSelectAllClick =
|
|
1997
|
+
const handleSelectAllClick = React16.useCallback(() => {
|
|
1937
1998
|
onSelectAll(filteredColumns);
|
|
1938
1999
|
}, [filteredColumns, onSelectAll]);
|
|
1939
|
-
return /* @__PURE__ */
|
|
2000
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1940
2001
|
className: ColumnConfigDialog_default.availableColumnsContainer
|
|
1941
|
-
}, /* @__PURE__ */
|
|
2002
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1942
2003
|
className: classNames9__default.default(ColumnConfigDialog_default.sectionHeader, ColumnConfigDialog_default.sectionTitle)
|
|
1943
|
-
}, "Add or Remove Columns"), /* @__PURE__ */
|
|
2004
|
+
}, "Add or Remove Columns"), /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.SearchBar, {
|
|
1944
2005
|
value: searchQuery,
|
|
1945
2006
|
onChange: onSearchChange,
|
|
1946
2007
|
placeholder: "Search...",
|
|
1947
2008
|
"aria-label": "Search available columns",
|
|
1948
2009
|
className: ColumnConfigDialog_default.searchContainer
|
|
1949
|
-
}), /* @__PURE__ */
|
|
2010
|
+
}), /* @__PURE__ */ React16__default.default.createElement(collapsible.Collapsible.Root, {
|
|
1950
2011
|
defaultOpen: true,
|
|
1951
2012
|
className: ColumnConfigDialog_default.propertiesList
|
|
1952
|
-
}, /* @__PURE__ */
|
|
2013
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1953
2014
|
className: ColumnConfigDialog_default.categoryHeader
|
|
1954
|
-
}, /* @__PURE__ */
|
|
2015
|
+
}, /* @__PURE__ */ React16__default.default.createElement("label", {
|
|
1955
2016
|
className: ColumnConfigDialog_default.selectAllLabel
|
|
1956
|
-
}, /* @__PURE__ */
|
|
2017
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.Checkbox, {
|
|
1957
2018
|
checked: allFilteredSelected,
|
|
1958
2019
|
indeterminate: someFilteredSelected && !allFilteredSelected,
|
|
1959
2020
|
onCheckedChange: handleSelectAllClick,
|
|
1960
2021
|
className: ColumnConfigDialog_default.checkbox
|
|
1961
|
-
}), "All Columns"), /* @__PURE__ */
|
|
2022
|
+
}), "All Columns"), /* @__PURE__ */ React16__default.default.createElement(collapsible.Collapsible.Trigger, {
|
|
1962
2023
|
className: ColumnConfigDialog_default.categoryTrigger
|
|
1963
|
-
}, /* @__PURE__ */
|
|
2024
|
+
}, /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
1964
2025
|
className: ColumnConfigDialog_default.categoryCount
|
|
1965
|
-
}, selectedCount, "/", totalCount), /* @__PURE__ */
|
|
2026
|
+
}, selectedCount, "/", totalCount), /* @__PURE__ */ React16__default.default.createElement(icons.CaretDown, {
|
|
1966
2027
|
className: ColumnConfigDialog_default.caretIcon
|
|
1967
|
-
}))), /* @__PURE__ */
|
|
2028
|
+
}))), /* @__PURE__ */ React16__default.default.createElement(collapsible.Collapsible.Panel, {
|
|
1968
2029
|
className: ColumnConfigDialog_default.propertyList
|
|
1969
|
-
}, filteredColumns.length === 0 ? /* @__PURE__ */
|
|
2030
|
+
}, filteredColumns.length === 0 ? /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1970
2031
|
className: ColumnConfigDialog_default.emptyState
|
|
1971
|
-
}, "No matching columns found") : filteredColumns.map((column) => /* @__PURE__ */
|
|
2032
|
+
}, "No matching columns found") : filteredColumns.map((column) => /* @__PURE__ */ React16__default.default.createElement(PropertyItem, {
|
|
1972
2033
|
key: column.id,
|
|
1973
2034
|
column,
|
|
1974
2035
|
isSelected: visibleColumns.some((v) => v.id === column.id),
|
|
@@ -1981,20 +2042,20 @@ function PropertyItem({
|
|
|
1981
2042
|
onToggle,
|
|
1982
2043
|
showInfoIcon = false
|
|
1983
2044
|
}) {
|
|
1984
|
-
const handleClick =
|
|
2045
|
+
const handleClick = React16.useCallback(() => {
|
|
1985
2046
|
onToggle(column);
|
|
1986
2047
|
}, [onToggle, column]);
|
|
1987
|
-
return /* @__PURE__ */
|
|
2048
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
1988
2049
|
className: ColumnConfigDialog_default.propertyItem
|
|
1989
|
-
}, /* @__PURE__ */
|
|
2050
|
+
}, /* @__PURE__ */ React16__default.default.createElement("label", {
|
|
1990
2051
|
className: ColumnConfigDialog_default.propertyLabel
|
|
1991
|
-
}, /* @__PURE__ */
|
|
2052
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.Checkbox, {
|
|
1992
2053
|
checked: isSelected,
|
|
1993
2054
|
onCheckedChange: handleClick,
|
|
1994
2055
|
className: ColumnConfigDialog_default.checkbox
|
|
1995
|
-
}), /* @__PURE__ */
|
|
2056
|
+
}), /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
1996
2057
|
className: ColumnConfigDialog_default.propertyName
|
|
1997
|
-
}, column.label)), showInfoIcon && /* @__PURE__ */
|
|
2058
|
+
}, column.label)), showInfoIcon && /* @__PURE__ */ React16__default.default.createElement(icons.SmallInfoSign, {
|
|
1998
2059
|
className: ColumnConfigDialog_default.infoIcon
|
|
1999
2060
|
}));
|
|
2000
2061
|
}
|
|
@@ -2007,8 +2068,8 @@ function SortableItemsList({
|
|
|
2007
2068
|
onRemove,
|
|
2008
2069
|
className
|
|
2009
2070
|
}) {
|
|
2010
|
-
const renderContent =
|
|
2011
|
-
return /* @__PURE__ */
|
|
2071
|
+
const renderContent = React16.useCallback((item) => item.content, []);
|
|
2072
|
+
return /* @__PURE__ */ React16__default.default.createElement(DraggableList, {
|
|
2012
2073
|
items,
|
|
2013
2074
|
onReorder,
|
|
2014
2075
|
onRemove,
|
|
@@ -2026,8 +2087,8 @@ function MultiColumnSortDialog({
|
|
|
2026
2087
|
currentSorting,
|
|
2027
2088
|
columnOptions
|
|
2028
2089
|
}) {
|
|
2029
|
-
const [selectedSortColumns, setSelectedSortColumns] =
|
|
2030
|
-
|
|
2090
|
+
const [selectedSortColumns, setSelectedSortColumns] = React16.useState([]);
|
|
2091
|
+
React16.useEffect(() => {
|
|
2031
2092
|
if (isOpen) {
|
|
2032
2093
|
const selectedColumns = [];
|
|
2033
2094
|
for (const sort of currentSorting) {
|
|
@@ -2042,25 +2103,25 @@ function MultiColumnSortDialog({
|
|
|
2042
2103
|
setSelectedSortColumns(selectedColumns);
|
|
2043
2104
|
}
|
|
2044
2105
|
}, [isOpen, currentSorting, columnOptions]);
|
|
2045
|
-
const handleAddColumn =
|
|
2106
|
+
const handleAddColumn = React16.useCallback((column) => {
|
|
2046
2107
|
setSelectedSortColumns((prev) => [...prev, {
|
|
2047
2108
|
...column,
|
|
2048
2109
|
direction: "asc"
|
|
2049
2110
|
}]);
|
|
2050
2111
|
}, []);
|
|
2051
|
-
const handleRemoveSortColumn =
|
|
2112
|
+
const handleRemoveSortColumn = React16.useCallback((id) => {
|
|
2052
2113
|
setSelectedSortColumns((prev) => prev.filter((item) => item.id !== id));
|
|
2053
2114
|
}, []);
|
|
2054
|
-
const handleReorderSortColumns =
|
|
2115
|
+
const handleReorderSortColumns = React16.useCallback((fromIndex, toIndex) => {
|
|
2055
2116
|
setSelectedSortColumns((items) => sortable.arrayMove(items, fromIndex, toIndex));
|
|
2056
2117
|
}, []);
|
|
2057
|
-
const handleToggleSortDirection =
|
|
2118
|
+
const handleToggleSortDirection = React16.useCallback((id) => {
|
|
2058
2119
|
setSelectedSortColumns((prev) => prev.map((item) => item.id === id ? {
|
|
2059
2120
|
...item,
|
|
2060
2121
|
direction: item.direction === "asc" ? "desc" : "asc"
|
|
2061
2122
|
} : item));
|
|
2062
2123
|
}, []);
|
|
2063
|
-
const handleApply =
|
|
2124
|
+
const handleApply = React16.useCallback(() => {
|
|
2064
2125
|
const sortingState = selectedSortColumns.map((col) => ({
|
|
2065
2126
|
id: col.id,
|
|
2066
2127
|
desc: col.direction === "desc"
|
|
@@ -2068,71 +2129,71 @@ function MultiColumnSortDialog({
|
|
|
2068
2129
|
onApply(sortingState);
|
|
2069
2130
|
onClose();
|
|
2070
2131
|
}, [selectedSortColumns, onApply, onClose]);
|
|
2071
|
-
const availableColumns =
|
|
2072
|
-
const searchableMenuItems =
|
|
2132
|
+
const availableColumns = React16.useMemo(() => columnOptions.filter((col) => col.canSort && !selectedSortColumns.some((selected) => selected.id === col.id)), [columnOptions, selectedSortColumns]);
|
|
2133
|
+
const searchableMenuItems = React16.useMemo(() => availableColumns.map((col) => ({
|
|
2073
2134
|
key: col.id,
|
|
2074
2135
|
label: col.name
|
|
2075
2136
|
})), [availableColumns]);
|
|
2076
|
-
const handleMenuItemSelected =
|
|
2137
|
+
const handleMenuItemSelected = React16.useCallback((key) => {
|
|
2077
2138
|
const column = availableColumns.find((col) => col.id === key);
|
|
2078
2139
|
if (column) {
|
|
2079
2140
|
handleAddColumn(column);
|
|
2080
2141
|
}
|
|
2081
2142
|
}, [availableColumns, handleAddColumn]);
|
|
2082
|
-
const sortableItems =
|
|
2143
|
+
const sortableItems = React16.useMemo(() => {
|
|
2083
2144
|
return selectedSortColumns.map((item) => ({
|
|
2084
2145
|
id: item.id,
|
|
2085
2146
|
label: item.name,
|
|
2086
|
-
content: /* @__PURE__ */
|
|
2147
|
+
content: /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2087
2148
|
className: MultiColumnSortDialog_default.sortColumnItem
|
|
2088
|
-
}, /* @__PURE__ */
|
|
2149
|
+
}, /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
2089
2150
|
className: classNames9__default.default(MultiColumnSortDialog_default.sortColumnName, MultiColumnSortDialog_default.truncate)
|
|
2090
|
-
}, item.name), /* @__PURE__ */
|
|
2151
|
+
}, item.name), /* @__PURE__ */ React16__default.default.createElement(button.Button, {
|
|
2091
2152
|
className: MultiColumnSortDialog_default.sortDirectionButton,
|
|
2092
2153
|
onClick: () => handleToggleSortDirection(item.id),
|
|
2093
2154
|
"aria-label": `Toggle sort direction for ${item.name}`
|
|
2094
|
-
}, item.direction === "asc" ? /* @__PURE__ */
|
|
2155
|
+
}, item.direction === "asc" ? /* @__PURE__ */ React16__default.default.createElement(icons.SortAlphabetical, {
|
|
2095
2156
|
className: MultiColumnSortDialog_default.sortIcon
|
|
2096
|
-
}) : /* @__PURE__ */
|
|
2157
|
+
}) : /* @__PURE__ */ React16__default.default.createElement(icons.SortAlphabeticalDesc, {
|
|
2097
2158
|
className: MultiColumnSortDialog_default.sortIcon
|
|
2098
2159
|
})))
|
|
2099
2160
|
}));
|
|
2100
2161
|
}, [selectedSortColumns, handleToggleSortDirection]);
|
|
2101
|
-
const footer =
|
|
2162
|
+
const footer = React16.useMemo(() => /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
2102
2163
|
onClick: onClose
|
|
2103
|
-
}, "Cancel"), /* @__PURE__ */
|
|
2164
|
+
}, "Cancel"), /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
2104
2165
|
variant: "primary",
|
|
2105
2166
|
onClick: handleApply
|
|
2106
2167
|
}, "Apply")), [handleApply, onClose]);
|
|
2107
|
-
return /* @__PURE__ */
|
|
2168
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkC6IPNPMZ_cjs.Dialog, {
|
|
2108
2169
|
isOpen,
|
|
2109
2170
|
onOpenChange: onClose,
|
|
2110
2171
|
title: DialogTitle2,
|
|
2111
2172
|
footer
|
|
2112
|
-
}, /* @__PURE__ */
|
|
2173
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2113
2174
|
className: MultiColumnSortDialog_default.sortColumnsList
|
|
2114
|
-
}, /* @__PURE__ */
|
|
2175
|
+
}, /* @__PURE__ */ React16__default.default.createElement(SortableItemsList, {
|
|
2115
2176
|
items: sortableItems,
|
|
2116
2177
|
onReorder: handleReorderSortColumns,
|
|
2117
2178
|
onRemove: handleRemoveSortColumn,
|
|
2118
2179
|
className: MultiColumnSortDialog_default.sortableList
|
|
2119
|
-
}), /* @__PURE__ */
|
|
2180
|
+
}), /* @__PURE__ */ React16__default.default.createElement(chunkPOHAXPLQ_cjs.SearchableMenu, {
|
|
2120
2181
|
items: searchableMenuItems,
|
|
2121
2182
|
onItemSelected: handleMenuItemSelected,
|
|
2122
|
-
trigger: /* @__PURE__ */
|
|
2183
|
+
trigger: /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(icons.Add, {
|
|
2123
2184
|
className: MultiColumnSortDialog_default.addIcon
|
|
2124
|
-
}), /* @__PURE__ */
|
|
2185
|
+
}), /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
2125
2186
|
className: MultiColumnSortDialog_default.addColumnText
|
|
2126
|
-
}, "Add Column to Sort"), /* @__PURE__ */
|
|
2187
|
+
}, "Add Column to Sort"), /* @__PURE__ */ React16__default.default.createElement(icons.CaretDown, null)),
|
|
2127
2188
|
triggerClassName: MultiColumnSortDialog_default.addColumnButton,
|
|
2128
2189
|
disabled: availableColumns.length === 0,
|
|
2129
2190
|
searchPlaceholder: "Search columns",
|
|
2130
2191
|
emptyMessage: "No matching columns"
|
|
2131
2192
|
})));
|
|
2132
2193
|
}
|
|
2133
|
-
var DialogTitle2 = /* @__PURE__ */
|
|
2194
|
+
var DialogTitle2 = /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2134
2195
|
className: MultiColumnSortDialog_default.title
|
|
2135
|
-
}, /* @__PURE__ */
|
|
2196
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.Cog, null), "Sort on Multiple Columns");
|
|
2136
2197
|
|
|
2137
2198
|
// src/object-table/TableHeader.module.css
|
|
2138
2199
|
var TableHeader_default = {};
|
|
@@ -2144,7 +2205,7 @@ var TableHeaderContent_default = {};
|
|
|
2144
2205
|
function TableHeaderContent({
|
|
2145
2206
|
header
|
|
2146
2207
|
}) {
|
|
2147
|
-
return /* @__PURE__ */
|
|
2208
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2148
2209
|
className: TableHeaderContent_default.osdkHeaderContent
|
|
2149
2210
|
}, reactTable.flexRender(header.column.columnDef.header, header.getContext()));
|
|
2150
2211
|
}
|
|
@@ -2159,13 +2220,13 @@ function HeaderMenuItem({
|
|
|
2159
2220
|
label,
|
|
2160
2221
|
active = false
|
|
2161
2222
|
}) {
|
|
2162
|
-
return /* @__PURE__ */
|
|
2223
|
+
return /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Item, {
|
|
2163
2224
|
closeOnClick: true,
|
|
2164
2225
|
className: classNames9__default.default(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderMenuItem, active && TableHeaderWithPopover_default.osdkHeaderActiveMenuItem),
|
|
2165
2226
|
onClick
|
|
2166
|
-
}, /* @__PURE__ */
|
|
2227
|
+
}, /* @__PURE__ */ React16__default.default.createElement(Icon, {
|
|
2167
2228
|
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
2168
|
-
}), /* @__PURE__ */
|
|
2229
|
+
}), /* @__PURE__ */ React16__default.default.createElement("span", null, label));
|
|
2169
2230
|
}
|
|
2170
2231
|
function TableHeaderWithPopover({
|
|
2171
2232
|
header,
|
|
@@ -2190,8 +2251,8 @@ function TableHeaderWithPopover({
|
|
|
2190
2251
|
setSorting
|
|
2191
2252
|
} = table;
|
|
2192
2253
|
const currentSorting = table.getState().sorting;
|
|
2193
|
-
const [isOpen, setIsOpen] =
|
|
2194
|
-
const handlePinLeft =
|
|
2254
|
+
const [isOpen, setIsOpen] = React16.useState(false);
|
|
2255
|
+
const handlePinLeft = React16.useCallback(() => {
|
|
2195
2256
|
setColumnPinning((prev) => {
|
|
2196
2257
|
return {
|
|
2197
2258
|
left: [...prev.left || [], header.column.id],
|
|
@@ -2199,7 +2260,7 @@ function TableHeaderWithPopover({
|
|
|
2199
2260
|
};
|
|
2200
2261
|
});
|
|
2201
2262
|
}, [header.column.id, setColumnPinning]);
|
|
2202
|
-
const handleUnpin =
|
|
2263
|
+
const handleUnpin = React16.useCallback(() => {
|
|
2203
2264
|
setColumnPinning((prev) => {
|
|
2204
2265
|
return {
|
|
2205
2266
|
left: prev.left?.filter((id) => id !== header.column.id) || [],
|
|
@@ -2207,42 +2268,42 @@ function TableHeaderWithPopover({
|
|
|
2207
2268
|
};
|
|
2208
2269
|
});
|
|
2209
2270
|
}, [header.column.id, setColumnPinning]);
|
|
2210
|
-
const handleSortAscending =
|
|
2271
|
+
const handleSortAscending = React16.useCallback(() => {
|
|
2211
2272
|
header.column.toggleSorting(false);
|
|
2212
2273
|
setSorting?.([{
|
|
2213
2274
|
id: header.column.id,
|
|
2214
2275
|
desc: false
|
|
2215
2276
|
}]);
|
|
2216
2277
|
}, [header.column, setSorting]);
|
|
2217
|
-
const handleSortDescending =
|
|
2278
|
+
const handleSortDescending = React16.useCallback(() => {
|
|
2218
2279
|
header.column.toggleSorting(true);
|
|
2219
2280
|
setSorting?.([{
|
|
2220
2281
|
id: header.column.id,
|
|
2221
2282
|
desc: true
|
|
2222
2283
|
}]);
|
|
2223
2284
|
}, [header.column, setSorting]);
|
|
2224
|
-
const handleClearAllSorts =
|
|
2285
|
+
const handleClearAllSorts = React16.useCallback(() => {
|
|
2225
2286
|
header.column.clearSorting();
|
|
2226
2287
|
setSorting?.([]);
|
|
2227
2288
|
}, [header.column, setSorting]);
|
|
2228
|
-
const handleResetSize =
|
|
2289
|
+
const handleResetSize = React16.useCallback(() => {
|
|
2229
2290
|
header.column.resetSize();
|
|
2230
2291
|
if (onResetSize) {
|
|
2231
2292
|
onResetSize();
|
|
2232
2293
|
}
|
|
2233
2294
|
}, [header.column, onResetSize]);
|
|
2234
|
-
const handleInteraction =
|
|
2295
|
+
const handleInteraction = React16.useCallback((e) => {
|
|
2235
2296
|
e.preventDefault();
|
|
2236
2297
|
setIsOpen((prev) => !prev);
|
|
2237
2298
|
}, []);
|
|
2238
|
-
const handleHeaderClick =
|
|
2299
|
+
const handleHeaderClick = React16.useCallback(() => {
|
|
2239
2300
|
onColumnHeaderClick?.(header.column.id);
|
|
2240
2301
|
}, [header.column.id, onColumnHeaderClick]);
|
|
2241
|
-
const handleOpenColumnConfig =
|
|
2302
|
+
const handleOpenColumnConfig = React16.useCallback(() => {
|
|
2242
2303
|
onOpenColumnConfig?.();
|
|
2243
2304
|
setIsOpen(false);
|
|
2244
2305
|
}, [onOpenColumnConfig]);
|
|
2245
|
-
const handleOpenMultiSort =
|
|
2306
|
+
const handleOpenMultiSort = React16.useCallback(() => {
|
|
2246
2307
|
onOpenMultiSort?.();
|
|
2247
2308
|
setIsOpen(false);
|
|
2248
2309
|
}, [onOpenMultiSort]);
|
|
@@ -2250,73 +2311,73 @@ function TableHeaderWithPopover({
|
|
|
2250
2311
|
const isSortable = header.column.getCanSort();
|
|
2251
2312
|
const sortIndex = currentSorting?.findIndex((s) => s.id === header.column.id) ?? -1;
|
|
2252
2313
|
const hasAnyMenuItems = showPinningItems || showSortingItems && isSortable || showResizeItem || showConfigItem;
|
|
2253
|
-
return /* @__PURE__ */
|
|
2314
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Root, {
|
|
2254
2315
|
open: isOpen,
|
|
2255
2316
|
onOpenChange: setIsOpen,
|
|
2256
2317
|
modal: false
|
|
2257
|
-
}, /* @__PURE__ */
|
|
2318
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2258
2319
|
className: classNames9__default.default(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContainer),
|
|
2259
2320
|
onContextMenu: handleInteraction
|
|
2260
|
-
}, /* @__PURE__ */
|
|
2321
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2261
2322
|
className: classNames9__default.default(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContentLeft, onColumnHeaderClick && TableHeaderWithPopover_default.osdkHeaderContentLeftClickable),
|
|
2262
2323
|
onClick: onColumnHeaderClick ? handleHeaderClick : void 0
|
|
2263
|
-
}, isColumnPinned && /* @__PURE__ */
|
|
2324
|
+
}, isColumnPinned && /* @__PURE__ */ React16__default.default.createElement(icons.Pin, {
|
|
2264
2325
|
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
2265
|
-
}), /* @__PURE__ */
|
|
2326
|
+
}), /* @__PURE__ */ React16__default.default.createElement(TableHeaderContent, {
|
|
2266
2327
|
header
|
|
2267
|
-
})), /* @__PURE__ */
|
|
2328
|
+
})), /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2268
2329
|
className: classNames9__default.default(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContentRight)
|
|
2269
|
-
}, isSorted && /* @__PURE__ */
|
|
2330
|
+
}, isSorted && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2270
2331
|
className: TableHeaderWithPopover_default.osdkCenterContainer
|
|
2271
|
-
}, isSorted === "asc" ? /* @__PURE__ */
|
|
2332
|
+
}, isSorted === "asc" ? /* @__PURE__ */ React16__default.default.createElement(icons.SortAlphabetical, {
|
|
2272
2333
|
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
2273
|
-
}) : /* @__PURE__ */
|
|
2334
|
+
}) : /* @__PURE__ */ React16__default.default.createElement(icons.SortAlphabeticalDesc, {
|
|
2274
2335
|
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
2275
|
-
}), currentSorting.length > 1 && sortIndex >= 0 && /* @__PURE__ */
|
|
2336
|
+
}), currentSorting.length > 1 && sortIndex >= 0 && /* @__PURE__ */ React16__default.default.createElement("span", {
|
|
2276
2337
|
className: TableHeaderWithPopover_default.sortIndex
|
|
2277
|
-
}, sortIndex + 1)), hasAnyMenuItems && /* @__PURE__ */
|
|
2338
|
+
}, sortIndex + 1)), hasAnyMenuItems && /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Trigger, {
|
|
2278
2339
|
"aria-label": `Open header menu for column with id=${header.column.id}`,
|
|
2279
2340
|
className: classNames9__default.default(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkHeaderPopoverTrigger)
|
|
2280
|
-
}, /* @__PURE__ */
|
|
2341
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.ChevronDown, {
|
|
2281
2342
|
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
2282
|
-
}))), /* @__PURE__ */
|
|
2343
|
+
}))), /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Portal, {
|
|
2283
2344
|
container: portalContainer
|
|
2284
|
-
}, /* @__PURE__ */
|
|
2345
|
+
}, /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Positioner, {
|
|
2285
2346
|
sideOffset: 4
|
|
2286
|
-
}, /* @__PURE__ */
|
|
2347
|
+
}, /* @__PURE__ */ React16__default.default.createElement(menu.Menu.Popup, {
|
|
2287
2348
|
className: TableHeaderWithPopover_default.osdkHeaderPopup
|
|
2288
|
-
}, showPinningItems && !isColumnPinned && /* @__PURE__ */
|
|
2349
|
+
}, showPinningItems && !isColumnPinned && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2289
2350
|
onClick: handlePinLeft,
|
|
2290
2351
|
icon: icons.Pin,
|
|
2291
2352
|
label: "Pin column"
|
|
2292
|
-
}), showPinningItems && isColumnPinned && /* @__PURE__ */
|
|
2353
|
+
}), showPinningItems && isColumnPinned && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2293
2354
|
onClick: handleUnpin,
|
|
2294
2355
|
icon: icons.Unpin,
|
|
2295
2356
|
label: "Unpin Column",
|
|
2296
2357
|
active: true
|
|
2297
|
-
}), showSortingItems && isSortable && /* @__PURE__ */
|
|
2358
|
+
}), showSortingItems && isSortable && /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2298
2359
|
onClick: handleSortAscending,
|
|
2299
2360
|
icon: icons.SortAlphabetical,
|
|
2300
2361
|
label: "Sort ascending",
|
|
2301
2362
|
active: isSorted === "asc"
|
|
2302
|
-
}), /* @__PURE__ */
|
|
2363
|
+
}), /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2303
2364
|
onClick: handleSortDescending,
|
|
2304
2365
|
icon: icons.SortAlphabeticalDesc,
|
|
2305
2366
|
label: "Sort descending",
|
|
2306
2367
|
active: isSorted === "desc"
|
|
2307
|
-
}), columnOptions?.some((col) => col.canSort) && /* @__PURE__ */
|
|
2368
|
+
}), columnOptions?.some((col) => col.canSort) && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2308
2369
|
onClick: handleOpenMultiSort,
|
|
2309
2370
|
icon: icons.Sort,
|
|
2310
2371
|
label: "Sort on multiple columns"
|
|
2311
|
-
})), showSortingItems && !!currentSorting?.length && /* @__PURE__ */
|
|
2372
|
+
})), showSortingItems && !!currentSorting?.length && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2312
2373
|
onClick: handleClearAllSorts,
|
|
2313
2374
|
icon: icons.Remove,
|
|
2314
2375
|
label: "Clear all sorts"
|
|
2315
|
-
}), showResizeItem && /* @__PURE__ */
|
|
2376
|
+
}), showResizeItem && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2316
2377
|
onClick: handleResetSize,
|
|
2317
2378
|
icon: icons.VerticalDistribution,
|
|
2318
2379
|
label: "Reset Column Size"
|
|
2319
|
-
}), showConfigItem && /* @__PURE__ */
|
|
2380
|
+
}), showConfigItem && /* @__PURE__ */ React16__default.default.createElement(HeaderMenuItem, {
|
|
2320
2381
|
onClick: handleOpenColumnConfig,
|
|
2321
2382
|
icon: icons.Settings,
|
|
2322
2383
|
label: "Configure Columns"
|
|
@@ -2371,25 +2432,25 @@ function TableHeader({
|
|
|
2371
2432
|
const currentVisibility = table.getState().columnVisibility;
|
|
2372
2433
|
const currentColumnOrder = table.getState().columnOrder;
|
|
2373
2434
|
const isResizing = !!table.getState().columnSizingInfo?.isResizingColumn;
|
|
2374
|
-
const [configDialogOpen, setConfigDialogOpen] =
|
|
2375
|
-
const [multiSortDialogOpen, setMultiSortDialogOpen] =
|
|
2376
|
-
const handleOpenColumnConfig =
|
|
2435
|
+
const [configDialogOpen, setConfigDialogOpen] = React16.useState(false);
|
|
2436
|
+
const [multiSortDialogOpen, setMultiSortDialogOpen] = React16.useState(false);
|
|
2437
|
+
const handleOpenColumnConfig = React16.useCallback(() => {
|
|
2377
2438
|
setConfigDialogOpen(true);
|
|
2378
2439
|
}, []);
|
|
2379
|
-
const handleCloseColumnConfig =
|
|
2440
|
+
const handleCloseColumnConfig = React16.useCallback(() => {
|
|
2380
2441
|
setConfigDialogOpen(false);
|
|
2381
2442
|
}, []);
|
|
2382
|
-
const handleOpenMultiSort =
|
|
2443
|
+
const handleOpenMultiSort = React16.useCallback(() => {
|
|
2383
2444
|
setMultiSortDialogOpen(true);
|
|
2384
2445
|
}, []);
|
|
2385
|
-
const handleCloseMultiSort =
|
|
2446
|
+
const handleCloseMultiSort = React16.useCallback(() => {
|
|
2386
2447
|
setMultiSortDialogOpen(false);
|
|
2387
2448
|
}, []);
|
|
2388
|
-
const handleApplyMultiSort =
|
|
2449
|
+
const handleApplyMultiSort = React16.useCallback((sortColumns) => {
|
|
2389
2450
|
setMultiSortDialogOpen(false);
|
|
2390
2451
|
setSorting?.(sortColumns);
|
|
2391
2452
|
}, [setSorting]);
|
|
2392
|
-
const handleApplyColumnConfig =
|
|
2453
|
+
const handleApplyColumnConfig = React16.useCallback((updates) => {
|
|
2393
2454
|
const newVisibilityState = {};
|
|
2394
2455
|
for (const update of updates) {
|
|
2395
2456
|
newVisibilityState[update.columnId] = update.isVisible;
|
|
@@ -2397,7 +2458,7 @@ function TableHeader({
|
|
|
2397
2458
|
setColumnOrder(updates.map((col) => col.columnId));
|
|
2398
2459
|
setColumnVisibility(newVisibilityState);
|
|
2399
2460
|
}, [setColumnOrder, setColumnVisibility]);
|
|
2400
|
-
const columnOptions =
|
|
2461
|
+
const columnOptions = React16.useMemo(() => {
|
|
2401
2462
|
const allHeaders = table.getHeaderGroups().flatMap((headerGroup) => headerGroup.headers);
|
|
2402
2463
|
return table.getAllColumns().filter((column) => column.id !== SELECTION_COLUMN_ID).map((column) => {
|
|
2403
2464
|
return {
|
|
@@ -2407,10 +2468,10 @@ function TableHeader({
|
|
|
2407
2468
|
};
|
|
2408
2469
|
});
|
|
2409
2470
|
}, [table]);
|
|
2410
|
-
return /* @__PURE__ */
|
|
2471
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement("thead", {
|
|
2411
2472
|
className: TableHeader_default.osdkTableHeader,
|
|
2412
2473
|
"data-resizing": isResizing
|
|
2413
|
-
}, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */
|
|
2474
|
+
}, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React16__default.default.createElement("tr", {
|
|
2414
2475
|
key: headerGroup.id,
|
|
2415
2476
|
className: TableHeader_default.osdkTableHeaderRow
|
|
2416
2477
|
}, headerGroup.headers.map((header) => {
|
|
@@ -2419,16 +2480,16 @@ function TableHeader({
|
|
|
2419
2480
|
} = getColumnPinningStyles(header.column);
|
|
2420
2481
|
const isColumnPinned = header.column.getIsPinned();
|
|
2421
2482
|
const isSelectColumn = header.id === SELECTION_COLUMN_ID;
|
|
2422
|
-
return /* @__PURE__ */
|
|
2483
|
+
return /* @__PURE__ */ React16__default.default.createElement("th", {
|
|
2423
2484
|
key: header.id,
|
|
2424
2485
|
"data-pinned": header.column.getIsPinned(),
|
|
2425
2486
|
className: classNames9__default.default(TableHeader_default.osdkTableHeaderCell, {
|
|
2426
2487
|
[TableHeader_default.osdkTableSelectionHeaderCell]: isSelectColumn
|
|
2427
2488
|
}),
|
|
2428
2489
|
style: columnStyles
|
|
2429
|
-
}, header.isPlaceholder ? null : isSelectColumn ? /* @__PURE__ */
|
|
2490
|
+
}, header.isPlaceholder ? null : isSelectColumn ? /* @__PURE__ */ React16__default.default.createElement(TableHeaderContent, {
|
|
2430
2491
|
header
|
|
2431
|
-
}) : /* @__PURE__ */
|
|
2492
|
+
}) : /* @__PURE__ */ React16__default.default.createElement(TableHeaderWithPopover, {
|
|
2432
2493
|
table,
|
|
2433
2494
|
header,
|
|
2434
2495
|
isColumnPinned,
|
|
@@ -2437,20 +2498,20 @@ function TableHeader({
|
|
|
2437
2498
|
onOpenColumnConfig: handleOpenColumnConfig,
|
|
2438
2499
|
onOpenMultiSort: handleOpenMultiSort,
|
|
2439
2500
|
onColumnHeaderClick
|
|
2440
|
-
}), header.column.getCanResize() && headerMenuFeatureFlags?.showResizeItem !== false && /* @__PURE__ */
|
|
2501
|
+
}), header.column.getCanResize() && headerMenuFeatureFlags?.showResizeItem !== false && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2441
2502
|
className: TableHeader_default.osdkTableHeaderResizer,
|
|
2442
2503
|
onDoubleClick: () => header.column.resetSize(),
|
|
2443
2504
|
onMouseDown: header.getResizeHandler(),
|
|
2444
2505
|
onTouchStart: header.getResizeHandler()
|
|
2445
2506
|
}));
|
|
2446
|
-
})))), !!columnOptions?.length && /* @__PURE__ */
|
|
2507
|
+
})))), !!columnOptions?.length && /* @__PURE__ */ React16__default.default.createElement(ColumnConfigDialog, {
|
|
2447
2508
|
isOpen: configDialogOpen,
|
|
2448
2509
|
onClose: handleCloseColumnConfig,
|
|
2449
2510
|
columnOptions,
|
|
2450
2511
|
currentVisibility,
|
|
2451
2512
|
currentColumnOrder,
|
|
2452
2513
|
onApply: handleApplyColumnConfig
|
|
2453
|
-
}), columnOptions?.some((col) => col.canSort) && /* @__PURE__ */
|
|
2514
|
+
}), columnOptions?.some((col) => col.canSort) && /* @__PURE__ */ React16__default.default.createElement(MultiColumnSortDialog, {
|
|
2454
2515
|
isOpen: multiSortDialogOpen,
|
|
2455
2516
|
onClose: handleCloseMultiSort,
|
|
2456
2517
|
columnOptions,
|
|
@@ -2469,13 +2530,13 @@ function LoadingStateTable({
|
|
|
2469
2530
|
}) {
|
|
2470
2531
|
const enableRowSelection = table.options.enableRowSelection;
|
|
2471
2532
|
const minHeaderCount = enableRowSelection ? 1 : 0;
|
|
2472
|
-
const headers =
|
|
2533
|
+
const headers = React16.useMemo(() => headerGroups.length > 0 ? headerGroups[0].headers : [], [headerGroups]);
|
|
2473
2534
|
const hasHeadersLoaded = headers.length > minHeaderCount;
|
|
2474
|
-
const headerRef =
|
|
2475
|
-
const bodyRef =
|
|
2476
|
-
const [loadingRowCount, setLoadingRowCount] =
|
|
2477
|
-
const [loadingColumnCount, setLoadingColumnCount] =
|
|
2478
|
-
|
|
2535
|
+
const headerRef = React16.useRef(null);
|
|
2536
|
+
const bodyRef = React16.useRef(null);
|
|
2537
|
+
const [loadingRowCount, setLoadingRowCount] = React16.useState(MIN_LOADING_ROWS);
|
|
2538
|
+
const [loadingColumnCount, setLoadingColumnCount] = React16.useState(headers.length);
|
|
2539
|
+
React16.useEffect(() => {
|
|
2479
2540
|
if (hasHeadersLoaded) {
|
|
2480
2541
|
setLoadingColumnCount(headers.length);
|
|
2481
2542
|
} else {
|
|
@@ -2488,7 +2549,7 @@ function LoadingStateTable({
|
|
|
2488
2549
|
}
|
|
2489
2550
|
}
|
|
2490
2551
|
}, [columnWidth, hasHeadersLoaded, headers, tableContainerRef]);
|
|
2491
|
-
|
|
2552
|
+
React16.useEffect(() => {
|
|
2492
2553
|
if (tableContainerRef.current) {
|
|
2493
2554
|
const containerHeight = tableContainerRef.current.clientHeight;
|
|
2494
2555
|
const availableHeight = containerHeight - rowHeight;
|
|
@@ -2498,32 +2559,32 @@ function LoadingStateTable({
|
|
|
2498
2559
|
}
|
|
2499
2560
|
}
|
|
2500
2561
|
}, [tableContainerRef, rowHeight]);
|
|
2501
|
-
return /* @__PURE__ */
|
|
2562
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, hasHeadersLoaded ? /* @__PURE__ */ React16__default.default.createElement(TableHeader, {
|
|
2502
2563
|
table
|
|
2503
|
-
}) : /* @__PURE__ */
|
|
2564
|
+
}) : /* @__PURE__ */ React16__default.default.createElement("thead", {
|
|
2504
2565
|
className: TableHeader_default.osdkTableHeader,
|
|
2505
2566
|
ref: headerRef
|
|
2506
|
-
}, /* @__PURE__ */
|
|
2567
|
+
}, /* @__PURE__ */ React16__default.default.createElement("tr", {
|
|
2507
2568
|
className: TableHeader_default.osdkTableHeaderRow
|
|
2508
2569
|
}, Array.from({
|
|
2509
2570
|
length: loadingColumnCount
|
|
2510
2571
|
}).map((_, index) => {
|
|
2511
2572
|
const width = headers.length > index ? headers[index].getSize() : columnWidth;
|
|
2512
|
-
return /* @__PURE__ */
|
|
2573
|
+
return /* @__PURE__ */ React16__default.default.createElement("th", {
|
|
2513
2574
|
key: `loading-header-${index}`,
|
|
2514
2575
|
className: TableHeader_default.osdkTableHeaderCell,
|
|
2515
2576
|
style: {
|
|
2516
2577
|
width
|
|
2517
2578
|
}
|
|
2518
|
-
}, /* @__PURE__ */
|
|
2579
|
+
}, /* @__PURE__ */ React16__default.default.createElement(chunk7LXS66DW_cjs.SkeletonBar, {
|
|
2519
2580
|
className: classNames9__default.default(TableHeader_default.osdkLoadingHeaderCell, LoadingCell_default.osdkCellSkeleton)
|
|
2520
2581
|
}));
|
|
2521
|
-
}))), /* @__PURE__ */
|
|
2582
|
+
}))), /* @__PURE__ */ React16__default.default.createElement("tbody", {
|
|
2522
2583
|
className: TableBody_default.osdkTableBody,
|
|
2523
2584
|
ref: bodyRef
|
|
2524
2585
|
}, Array.from({
|
|
2525
2586
|
length: loadingRowCount
|
|
2526
|
-
}).map((_, index) => /* @__PURE__ */
|
|
2587
|
+
}).map((_, index) => /* @__PURE__ */ React16__default.default.createElement(LoadingRow, {
|
|
2527
2588
|
key: `skeleton-${index}`,
|
|
2528
2589
|
columnCount: loadingColumnCount,
|
|
2529
2590
|
headers,
|
|
@@ -2540,9 +2601,9 @@ var NonIdealState_default = {};
|
|
|
2540
2601
|
function NonIdealState({
|
|
2541
2602
|
message
|
|
2542
2603
|
}) {
|
|
2543
|
-
return /* @__PURE__ */
|
|
2604
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2544
2605
|
className: NonIdealState_default.container
|
|
2545
|
-
}, /* @__PURE__ */
|
|
2606
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2546
2607
|
className: NonIdealState_default.message
|
|
2547
2608
|
}, message));
|
|
2548
2609
|
}
|
|
@@ -2560,8 +2621,8 @@ function CellContextMenu({
|
|
|
2560
2621
|
onClose,
|
|
2561
2622
|
renderContent
|
|
2562
2623
|
}) {
|
|
2563
|
-
const ref =
|
|
2564
|
-
|
|
2624
|
+
const ref = React16.useRef(null);
|
|
2625
|
+
React16.useEffect(() => {
|
|
2565
2626
|
const handleClickOutside = (event) => {
|
|
2566
2627
|
if (ref.current && !ref.current.contains(event.target)) {
|
|
2567
2628
|
onClose();
|
|
@@ -2572,7 +2633,7 @@ function CellContextMenu({
|
|
|
2572
2633
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
2573
2634
|
};
|
|
2574
2635
|
}, [onClose]);
|
|
2575
|
-
return /* @__PURE__ */ reactDom.createPortal(/* @__PURE__ */
|
|
2636
|
+
return /* @__PURE__ */ reactDom.createPortal(/* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2576
2637
|
ref,
|
|
2577
2638
|
className: CellContextMenu_default.osdkCellContextMenu,
|
|
2578
2639
|
style: {
|
|
@@ -2585,9 +2646,9 @@ function CellContextMenu({
|
|
|
2585
2646
|
var useCellContextMenu = ({
|
|
2586
2647
|
tdRef
|
|
2587
2648
|
}) => {
|
|
2588
|
-
const [popoverPosition, setPopoverPosition] =
|
|
2589
|
-
const [isContextMenuOpen, setIsContextMenuOpen] =
|
|
2590
|
-
const handleOpenContextMenu =
|
|
2649
|
+
const [popoverPosition, setPopoverPosition] = React16.useState(null);
|
|
2650
|
+
const [isContextMenuOpen, setIsContextMenuOpen] = React16.useState(false);
|
|
2651
|
+
const handleOpenContextMenu = React16.useCallback((event) => {
|
|
2591
2652
|
event.preventDefault();
|
|
2592
2653
|
event.stopPropagation();
|
|
2593
2654
|
if (tdRef.current) {
|
|
@@ -2601,7 +2662,7 @@ var useCellContextMenu = ({
|
|
|
2601
2662
|
setIsContextMenuOpen(true);
|
|
2602
2663
|
}
|
|
2603
2664
|
}, [tdRef]);
|
|
2604
|
-
const handleCloseContextMenu =
|
|
2665
|
+
const handleCloseContextMenu = React16.useCallback(() => {
|
|
2605
2666
|
setIsContextMenuOpen(false);
|
|
2606
2667
|
setPopoverPosition(null);
|
|
2607
2668
|
}, []);
|
|
@@ -2618,7 +2679,7 @@ function TableCell({
|
|
|
2618
2679
|
cell,
|
|
2619
2680
|
renderCellContextMenu
|
|
2620
2681
|
}) {
|
|
2621
|
-
const tdRef =
|
|
2682
|
+
const tdRef = React16.useRef(null);
|
|
2622
2683
|
const isSelectColumn = cell.column.id === SELECTION_COLUMN_ID;
|
|
2623
2684
|
const {
|
|
2624
2685
|
isContextMenuOpen,
|
|
@@ -2635,16 +2696,16 @@ function TableCell({
|
|
|
2635
2696
|
const tableMeta = cell.getContext().table.options.meta;
|
|
2636
2697
|
const columnMeta = cell.column.columnDef.meta;
|
|
2637
2698
|
const isEditable = shouldShowEditableCell(isCellEditable(columnMeta?.editable, cell.row.original), tableMeta?.onCellEdit, tableMeta?.isInEditMode);
|
|
2638
|
-
return /* @__PURE__ */
|
|
2699
|
+
return /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement("td", {
|
|
2639
2700
|
ref: tdRef,
|
|
2640
2701
|
"data-pinned": cell.column.getIsPinned(),
|
|
2641
2702
|
"data-editable": isEditable ? "true" : void 0,
|
|
2642
2703
|
className: TableCell_default.osdkTableCell,
|
|
2643
2704
|
style: columnStyles,
|
|
2644
2705
|
onContextMenu: handleOpenContextMenu
|
|
2645
|
-
}, /* @__PURE__ */
|
|
2706
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2646
2707
|
className: TableCell_default.osdkTableCellContent
|
|
2647
|
-
}, reactTable.flexRender(cell.column.columnDef.cell, cell.getContext()))), shouldRenderContextMenu && /* @__PURE__ */
|
|
2708
|
+
}, reactTable.flexRender(cell.column.columnDef.cell, cell.getContext()))), shouldRenderContextMenu && /* @__PURE__ */ React16__default.default.createElement(CellContextMenu, {
|
|
2648
2709
|
cell,
|
|
2649
2710
|
position: popoverPosition,
|
|
2650
2711
|
onClose: handleCloseContextMenu,
|
|
@@ -2672,21 +2733,21 @@ function TableRow({
|
|
|
2672
2733
|
isInEditMode,
|
|
2673
2734
|
getRowAttributes
|
|
2674
2735
|
}) {
|
|
2675
|
-
const handleClickCapture =
|
|
2736
|
+
const handleClickCapture = React16.useCallback(() => {
|
|
2676
2737
|
setFocusedRowId?.(row.id);
|
|
2677
2738
|
}, [row.id, setFocusedRowId]);
|
|
2678
|
-
const handleClick =
|
|
2739
|
+
const handleClick = React16.useCallback(() => {
|
|
2679
2740
|
if (!isInEditMode) {
|
|
2680
2741
|
onRowClick?.(row.original);
|
|
2681
2742
|
}
|
|
2682
2743
|
}, [isInEditMode, onRowClick, row.original]);
|
|
2683
|
-
const customRowAttributes =
|
|
2744
|
+
const customRowAttributes = React16.useMemo(() => {
|
|
2684
2745
|
if (!getRowAttributes) {
|
|
2685
2746
|
return;
|
|
2686
2747
|
}
|
|
2687
2748
|
return Object.fromEntries(Object.entries(getRowAttributes(row.original)).filter((entry) => entry[1] != null));
|
|
2688
2749
|
}, [getRowAttributes, row.original]);
|
|
2689
|
-
return /* @__PURE__ */
|
|
2750
|
+
return /* @__PURE__ */ React16__default.default.createElement("tr", _extends4({}, customRowAttributes, {
|
|
2690
2751
|
"data-selected": row.getIsSelected(),
|
|
2691
2752
|
"data-focused": isFocused,
|
|
2692
2753
|
"data-row-parity": virtualRow.index % 2 === 0 ? "even" : "odd",
|
|
@@ -2697,7 +2758,7 @@ function TableRow({
|
|
|
2697
2758
|
},
|
|
2698
2759
|
onClickCapture: handleClickCapture,
|
|
2699
2760
|
onClick: handleClick
|
|
2700
|
-
}), row.getVisibleCells().map((cell) => /* @__PURE__ */
|
|
2761
|
+
}), row.getVisibleCells().map((cell) => /* @__PURE__ */ React16__default.default.createElement(TableCell, {
|
|
2701
2762
|
key: cell.id,
|
|
2702
2763
|
cell,
|
|
2703
2764
|
renderCellContextMenu
|
|
@@ -2724,20 +2785,20 @@ function TableBody({
|
|
|
2724
2785
|
getScrollElement: () => tableContainerRef.current,
|
|
2725
2786
|
overscan: VIRTUALIZER_OVERSCAN
|
|
2726
2787
|
});
|
|
2727
|
-
|
|
2788
|
+
React16.useLayoutEffect(() => {
|
|
2728
2789
|
rowVirtualizer.measure();
|
|
2729
2790
|
}, [rowVirtualizer, rows.length]);
|
|
2730
2791
|
const totalSize = rowVirtualizer.getTotalSize();
|
|
2731
2792
|
const bodyHeight = isLoadingMore ? totalSize + rowHeight : totalSize;
|
|
2732
2793
|
const headers = headerGroups[0]?.headers ?? [];
|
|
2733
|
-
return /* @__PURE__ */
|
|
2794
|
+
return /* @__PURE__ */ React16__default.default.createElement("tbody", {
|
|
2734
2795
|
className: TableBody_default.osdkTableBody,
|
|
2735
2796
|
style: {
|
|
2736
2797
|
height: `${bodyHeight}px`
|
|
2737
2798
|
}
|
|
2738
2799
|
}, rowVirtualizer.getVirtualItems().map((virtualRow) => {
|
|
2739
2800
|
const row = rows[virtualRow.index];
|
|
2740
|
-
return /* @__PURE__ */
|
|
2801
|
+
return /* @__PURE__ */ React16__default.default.createElement(TableRow, {
|
|
2741
2802
|
key: row.id,
|
|
2742
2803
|
row,
|
|
2743
2804
|
virtualRow,
|
|
@@ -2748,7 +2809,7 @@ function TableBody({
|
|
|
2748
2809
|
isInEditMode,
|
|
2749
2810
|
getRowAttributes
|
|
2750
2811
|
});
|
|
2751
|
-
}), isLoadingMore && /* @__PURE__ */
|
|
2812
|
+
}), isLoadingMore && /* @__PURE__ */ React16__default.default.createElement(LoadingRow, {
|
|
2752
2813
|
headers,
|
|
2753
2814
|
translateY: totalSize,
|
|
2754
2815
|
rowHeight,
|
|
@@ -2773,10 +2834,10 @@ function TableEditContainer({
|
|
|
2773
2834
|
} = editableConfig;
|
|
2774
2835
|
const hasEdits = Object.keys(cellEdits ?? {}).length > 0;
|
|
2775
2836
|
const hasValidationError = (validationErrors?.size ?? 0) > 0;
|
|
2776
|
-
const [isSubmitting, setIsSubmitting] =
|
|
2837
|
+
const [isSubmitting, setIsSubmitting] = React16.useState(false);
|
|
2777
2838
|
const isInEditMode = editModeState.isActive;
|
|
2778
2839
|
const canToggleEditMode = editModeState.type === "manual";
|
|
2779
|
-
const handleSubmitEdits =
|
|
2840
|
+
const handleSubmitEdits = React16.useCallback(async () => {
|
|
2780
2841
|
setIsSubmitting(true);
|
|
2781
2842
|
try {
|
|
2782
2843
|
const success = await onSubmitEdits?.();
|
|
@@ -2790,40 +2851,40 @@ function TableEditContainer({
|
|
|
2790
2851
|
setIsSubmitting(false);
|
|
2791
2852
|
}
|
|
2792
2853
|
}, [editModeState, onSubmitEdits, clearEdits]);
|
|
2793
|
-
const handleCancelEdits =
|
|
2854
|
+
const handleCancelEdits = React16.useCallback(() => {
|
|
2794
2855
|
clearEdits?.();
|
|
2795
2856
|
if (editModeState?.type === "manual") {
|
|
2796
2857
|
editModeState.setActive(false);
|
|
2797
2858
|
}
|
|
2798
2859
|
}, [clearEdits, editModeState]);
|
|
2799
|
-
const handleEnterEditMode =
|
|
2860
|
+
const handleEnterEditMode = React16.useCallback(() => {
|
|
2800
2861
|
if (editModeState?.type === "manual") {
|
|
2801
2862
|
editModeState.setActive(true);
|
|
2802
2863
|
}
|
|
2803
2864
|
}, [editModeState]);
|
|
2804
|
-
return /* @__PURE__ */
|
|
2865
|
+
return /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2805
2866
|
className: TableEditContainer_default.tableEditContainer
|
|
2806
|
-
}, hasEdits || hasValidationError ? /* @__PURE__ */
|
|
2867
|
+
}, hasEdits || hasValidationError ? /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2807
2868
|
className: TableEditContainer_default.editsInfoContainer
|
|
2808
|
-
}, hasEdits && /* @__PURE__ */
|
|
2869
|
+
}, hasEdits && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2809
2870
|
className: TableEditContainer_default.modificationCount
|
|
2810
|
-
}, `${cellEdits ? Object.keys(cellEdits).length : 0} modifications`), hasEdits && hasValidationError && /* @__PURE__ */
|
|
2871
|
+
}, `${cellEdits ? Object.keys(cellEdits).length : 0} modifications`), hasEdits && hasValidationError && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2811
2872
|
className: TableEditContainer_default.divider
|
|
2812
|
-
}), hasValidationError && /* @__PURE__ */
|
|
2873
|
+
}), hasValidationError && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2813
2874
|
className: TableEditContainer_default.validationError
|
|
2814
|
-
}, /* @__PURE__ */
|
|
2875
|
+
}, /* @__PURE__ */ React16__default.default.createElement(icons.Error, {
|
|
2815
2876
|
className: TableEditContainer_default.errorIcon
|
|
2816
|
-
}), "Validation error")) : isInEditMode && !hasFocusedRow && /* @__PURE__ */
|
|
2877
|
+
}), "Validation error")) : isInEditMode && !hasFocusedRow && /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2817
2878
|
className: TableEditContainer_default.placeholder
|
|
2818
|
-
}, "Select a row to edit data\u2026"), /* @__PURE__ */
|
|
2879
|
+
}, "Select a row to edit data\u2026"), /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2819
2880
|
className: TableEditContainer_default.editButtons
|
|
2820
|
-
}, !isInEditMode && canToggleEditMode && /* @__PURE__ */
|
|
2881
|
+
}, !isInEditMode && canToggleEditMode && /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
2821
2882
|
variant: "primary",
|
|
2822
2883
|
onClick: handleEnterEditMode
|
|
2823
|
-
}, "Edit Table"), isInEditMode && canToggleEditMode && /* @__PURE__ */
|
|
2884
|
+
}, "Edit Table"), isInEditMode && canToggleEditMode && /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
2824
2885
|
variant: "secondary",
|
|
2825
2886
|
onClick: handleCancelEdits
|
|
2826
|
-
}, "Cancel"), isInEditMode && !!onSubmitEdits && /* @__PURE__ */
|
|
2887
|
+
}, "Cancel"), isInEditMode && !!onSubmitEdits && /* @__PURE__ */ React16__default.default.createElement(chunkMD4KDE44_cjs.ActionButton, {
|
|
2827
2888
|
variant: "primary",
|
|
2828
2889
|
onClick: handleSubmitEdits,
|
|
2829
2890
|
disabled: !hasEdits || isSubmitting || hasValidationError
|
|
@@ -2832,7 +2893,7 @@ function TableEditContainer({
|
|
|
2832
2893
|
|
|
2833
2894
|
// src/object-table/Table.tsx
|
|
2834
2895
|
function BaseTable(props) {
|
|
2835
|
-
return /* @__PURE__ */
|
|
2896
|
+
return /* @__PURE__ */ React16__default.default.createElement(PortalTrackerProvider, null, /* @__PURE__ */ React16__default.default.createElement(BaseTableInner, props));
|
|
2836
2897
|
}
|
|
2837
2898
|
function BaseTableInner({
|
|
2838
2899
|
table,
|
|
@@ -2852,10 +2913,10 @@ function BaseTableInner({
|
|
|
2852
2913
|
focusedRowId: focusedRowIdProp,
|
|
2853
2914
|
onFocusedRowChanged
|
|
2854
2915
|
}) {
|
|
2855
|
-
const tableContainerRef =
|
|
2856
|
-
const objectTablePortalRef =
|
|
2857
|
-
const [isLoadingMore, setIsLoadingMore] =
|
|
2858
|
-
const getRowById =
|
|
2916
|
+
const tableContainerRef = React16.useRef(null);
|
|
2917
|
+
const objectTablePortalRef = React16.useRef(null);
|
|
2918
|
+
const [isLoadingMore, setIsLoadingMore] = React16.useState(false);
|
|
2919
|
+
const getRowById = React16.useCallback((id) => {
|
|
2859
2920
|
try {
|
|
2860
2921
|
return table.getRow(id, true)?.original ?? null;
|
|
2861
2922
|
} catch {
|
|
@@ -2874,13 +2935,13 @@ function BaseTableInner({
|
|
|
2874
2935
|
if (table.options.meta) {
|
|
2875
2936
|
table.options.meta.focusedRowId = focusedRowId;
|
|
2876
2937
|
}
|
|
2877
|
-
const fetchingRef =
|
|
2878
|
-
|
|
2938
|
+
const fetchingRef = React16.useRef(false);
|
|
2939
|
+
React16.useEffect(() => {
|
|
2879
2940
|
if (!isLoading || fetchNextPage == null) {
|
|
2880
2941
|
setIsLoadingMore(false);
|
|
2881
2942
|
}
|
|
2882
2943
|
}, [isLoading, fetchNextPage]);
|
|
2883
|
-
const fetchMoreOnEndReached =
|
|
2944
|
+
const fetchMoreOnEndReached = React16.useCallback(async (containerRefElement) => {
|
|
2884
2945
|
if (containerRefElement && !fetchingRef.current && !isLoadingMore) {
|
|
2885
2946
|
const {
|
|
2886
2947
|
scrollHeight,
|
|
@@ -2898,14 +2959,14 @@ function BaseTableInner({
|
|
|
2898
2959
|
}
|
|
2899
2960
|
}
|
|
2900
2961
|
}, [fetchNextPage, isLoading, isLoadingMore]);
|
|
2901
|
-
const handleScroll =
|
|
2962
|
+
const handleScroll = React16.useCallback(async (e) => {
|
|
2902
2963
|
await fetchMoreOnEndReached(e.currentTarget);
|
|
2903
2964
|
}, [fetchMoreOnEndReached]);
|
|
2904
2965
|
const rows = table.getRowModel().rows;
|
|
2905
2966
|
const headerGroups = table.getHeaderGroups();
|
|
2906
2967
|
const hasData = rows.length > 0;
|
|
2907
2968
|
const hasEditableColumns = table.getAllColumns().some((column) => isColumnDeclaredEditable(column.columnDef.meta?.editable));
|
|
2908
|
-
|
|
2969
|
+
React16.useEffect(() => {
|
|
2909
2970
|
const handleClickOutside = (event) => {
|
|
2910
2971
|
const target = event.target;
|
|
2911
2972
|
if (tableContainerRef.current && !tableContainerRef.current.contains(target) && !portalTracker?.containsElement(target)) {
|
|
@@ -2917,25 +2978,25 @@ function BaseTableInner({
|
|
|
2917
2978
|
document.removeEventListener("pointerdown", handleClickOutside);
|
|
2918
2979
|
};
|
|
2919
2980
|
}, [portalTracker, setFocusedRowId]);
|
|
2920
|
-
return /* @__PURE__ */
|
|
2981
|
+
return /* @__PURE__ */ React16__default.default.createElement(chunkDWNKXV5E_cjs.PortalContainerProvider, {
|
|
2921
2982
|
container: objectTablePortalRef
|
|
2922
|
-
}, /* @__PURE__ */
|
|
2983
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2923
2984
|
ref: objectTablePortalRef,
|
|
2924
2985
|
className: classNames9__default.default(Table_default.osdkTableWrapper, className)
|
|
2925
|
-
}, /* @__PURE__ */
|
|
2986
|
+
}, /* @__PURE__ */ React16__default.default.createElement("div", {
|
|
2926
2987
|
ref: tableContainerRef,
|
|
2927
2988
|
className: Table_default.osdkTableContainer,
|
|
2928
2989
|
onScroll: handleScroll
|
|
2929
|
-
}, /* @__PURE__ */
|
|
2990
|
+
}, /* @__PURE__ */ React16__default.default.createElement("table", null, isLoading && !hasData ? /* @__PURE__ */ React16__default.default.createElement(LoadingStateTable, {
|
|
2930
2991
|
table,
|
|
2931
2992
|
headerGroups,
|
|
2932
2993
|
rowHeight,
|
|
2933
2994
|
tableContainerRef
|
|
2934
|
-
}) : /* @__PURE__ */
|
|
2995
|
+
}) : /* @__PURE__ */ React16__default.default.createElement(React16__default.default.Fragment, null, /* @__PURE__ */ React16__default.default.createElement(TableHeader, {
|
|
2935
2996
|
table,
|
|
2936
2997
|
headerMenuFeatureFlags,
|
|
2937
2998
|
onColumnHeaderClick
|
|
2938
|
-
}), /* @__PURE__ */
|
|
2999
|
+
}), /* @__PURE__ */ React16__default.default.createElement(TableBody, {
|
|
2939
3000
|
rows,
|
|
2940
3001
|
tableContainerRef,
|
|
2941
3002
|
onRowClick,
|
|
@@ -2947,11 +3008,11 @@ function BaseTableInner({
|
|
|
2947
3008
|
setFocusedRowId,
|
|
2948
3009
|
isInEditMode: editableConfig?.editModeState.isActive,
|
|
2949
3010
|
getRowAttributes
|
|
2950
|
-
}))), !hasData && error == null && (renderEmptyState != null ? renderEmptyState() : /* @__PURE__ */
|
|
3011
|
+
}))), !hasData && error == null && (renderEmptyState != null ? renderEmptyState() : /* @__PURE__ */ React16__default.default.createElement(NonIdealState, {
|
|
2951
3012
|
message: "No Data"
|
|
2952
|
-
})), error != null && /* @__PURE__ */
|
|
3013
|
+
})), error != null && /* @__PURE__ */ React16__default.default.createElement(NonIdealState, {
|
|
2953
3014
|
message: `Error Loading Data: ${error.message}`
|
|
2954
|
-
})), showEditFooter && hasEditableColumns && editableConfig && /* @__PURE__ */
|
|
3015
|
+
})), showEditFooter && hasEditableColumns && editableConfig && /* @__PURE__ */ React16__default.default.createElement(TableEditContainer, {
|
|
2955
3016
|
editableConfig,
|
|
2956
3017
|
hasFocusedRow: focusedRowId != null
|
|
2957
3018
|
})));
|
|
@@ -3037,7 +3098,7 @@ function ObjectTable({
|
|
|
3037
3098
|
columns,
|
|
3038
3099
|
loading: isColumnsLoading
|
|
3039
3100
|
} = useColumnDefs(objectType, columnDefinitions);
|
|
3040
|
-
const handleRowSelectionChanged =
|
|
3101
|
+
const handleRowSelectionChanged = React16.useCallback((change) => {
|
|
3041
3102
|
if (!onRowSelectionChanged) return;
|
|
3042
3103
|
onRowSelectionChanged({
|
|
3043
3104
|
selectedRows: change.selectedRows,
|
|
@@ -3084,7 +3145,7 @@ function ObjectTable({
|
|
|
3084
3145
|
hasSelectionColumn: enableRowSelection,
|
|
3085
3146
|
onColumnsPinnedChanged
|
|
3086
3147
|
});
|
|
3087
|
-
const allColumns =
|
|
3148
|
+
const allColumns = React16.useMemo(() => {
|
|
3088
3149
|
return selectionColumn ? [selectionColumn, ...columns] : columns;
|
|
3089
3150
|
}, [selectionColumn, columns]);
|
|
3090
3151
|
const editableConfig = useEditableTable({
|
|
@@ -3139,21 +3200,21 @@ function ObjectTable({
|
|
|
3139
3200
|
totalCount,
|
|
3140
3201
|
orderBy: orderByState
|
|
3141
3202
|
});
|
|
3142
|
-
|
|
3203
|
+
React16.useImperativeHandle(tableRef, () => ({
|
|
3143
3204
|
getSnapshot
|
|
3144
3205
|
}), [getSnapshot]);
|
|
3145
|
-
const onRenderCellContextMenu =
|
|
3206
|
+
const onRenderCellContextMenu = React16.useCallback((row, cell) => {
|
|
3146
3207
|
return renderCellContextMenu?.(row, cell.getValue());
|
|
3147
3208
|
}, [renderCellContextMenu]);
|
|
3148
|
-
const handleColumnHeaderClick =
|
|
3209
|
+
const handleColumnHeaderClick = React16.useMemo(() => onColumnHeaderClick ? (columnId) => onColumnHeaderClick(columnId) : void 0, [onColumnHeaderClick]);
|
|
3149
3210
|
const isTableLoading = isLoading || isColumnsLoading;
|
|
3150
|
-
const headerMenuFeatureFlags =
|
|
3211
|
+
const headerMenuFeatureFlags = React16.useMemo(() => ({
|
|
3151
3212
|
showSortingItems: enableOrdering,
|
|
3152
3213
|
showPinningItems: enableColumnPinning,
|
|
3153
3214
|
showResizeItem: enableColumnResizing,
|
|
3154
3215
|
showConfigItem: enableColumnConfig
|
|
3155
3216
|
}), [enableOrdering, enableColumnPinning, enableColumnResizing, enableColumnConfig]);
|
|
3156
|
-
return /* @__PURE__ */
|
|
3217
|
+
return /* @__PURE__ */ React16__default.default.createElement(BaseTable, {
|
|
3157
3218
|
table,
|
|
3158
3219
|
isLoading: isTableLoading,
|
|
3159
3220
|
fetchNextPage: fetchMore,
|
|
@@ -3174,7 +3235,7 @@ function ObjectTable({
|
|
|
3174
3235
|
}
|
|
3175
3236
|
|
|
3176
3237
|
// src/public/experimental/object-table.ts
|
|
3177
|
-
var ObjectTable2 =
|
|
3238
|
+
var ObjectTable2 = chunkKS2TDPR6_cjs.withOsdkMetrics(ObjectTable, "ObjectTable");
|
|
3178
3239
|
|
|
3179
3240
|
exports.BaseTable = BaseTable;
|
|
3180
3241
|
exports.ColumnConfigDialog = ColumnConfigDialog;
|
|
@@ -3182,5 +3243,5 @@ exports.LoadingCell = LoadingCell;
|
|
|
3182
3243
|
exports.LoadingCellContent = LoadingCellContent;
|
|
3183
3244
|
exports.MultiColumnSortDialog = MultiColumnSortDialog;
|
|
3184
3245
|
exports.ObjectTable = ObjectTable2;
|
|
3185
|
-
//# sourceMappingURL=chunk-
|
|
3186
|
-
//# sourceMappingURL=chunk-
|
|
3246
|
+
//# sourceMappingURL=chunk-6TPEW5OW.cjs.map
|
|
3247
|
+
//# sourceMappingURL=chunk-6TPEW5OW.cjs.map
|