@teselagen/ui 0.5.23-beta.13 → 0.5.23-beta.15
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/index.cjs.js +38 -28
- package/index.es.js +38 -28
- package/package.json +1 -1
- package/src/DataTable/ColumnFilterMenu.js +6 -4
- package/src/DataTable/index.js +23 -10
package/index.cjs.js
CHANGED
|
@@ -47060,9 +47060,7 @@ const ColumnFilterMenu = /* @__PURE__ */ __name(({
|
|
|
47060
47060
|
removeSingleFilter,
|
|
47061
47061
|
schemaForField,
|
|
47062
47062
|
setNewParams,
|
|
47063
|
-
togglePopover: () =>
|
|
47064
|
-
setColumnFilterMenuOpen(false);
|
|
47065
|
-
}
|
|
47063
|
+
togglePopover: () => setColumnFilterMenuOpen(false)
|
|
47066
47064
|
}
|
|
47067
47065
|
)
|
|
47068
47066
|
},
|
|
@@ -47072,7 +47070,11 @@ const ColumnFilterMenu = /* @__PURE__ */ __name(({
|
|
|
47072
47070
|
style: { marginLeft: 5 },
|
|
47073
47071
|
icon: "filter",
|
|
47074
47072
|
size: extraCompact ? 14 : void 0,
|
|
47075
|
-
onClick: () =>
|
|
47073
|
+
onClick: (e2) => {
|
|
47074
|
+
e2.preventDefault();
|
|
47075
|
+
e2.stopPropagation();
|
|
47076
|
+
setColumnFilterMenuOpen((prev) => !prev);
|
|
47077
|
+
},
|
|
47076
47078
|
className: classNames("tg-filter-menu-button", {
|
|
47077
47079
|
"tg-active-filter": !!filterActiveForColumn
|
|
47078
47080
|
})
|
|
@@ -48254,6 +48256,21 @@ const throwFormError = /* @__PURE__ */ __name((error) => {
|
|
|
48254
48256
|
}
|
|
48255
48257
|
throw new reduxForm.SubmissionError(errorToUse);
|
|
48256
48258
|
}, "throwFormError");
|
|
48259
|
+
const useTraceUpdate = /* @__PURE__ */ __name((props) => {
|
|
48260
|
+
const prev = React$1.useRef(props);
|
|
48261
|
+
React$1.useEffect(() => {
|
|
48262
|
+
const changedProps = Object.entries(props).reduce((ps, [k2, v2]) => {
|
|
48263
|
+
if (prev.current[k2] !== v2) {
|
|
48264
|
+
ps[k2] = [prev.current[k2], v2];
|
|
48265
|
+
}
|
|
48266
|
+
return ps;
|
|
48267
|
+
}, {});
|
|
48268
|
+
if (Object.keys(changedProps).length > 0) {
|
|
48269
|
+
console.log("Changed props:", changedProps);
|
|
48270
|
+
}
|
|
48271
|
+
prev.current = props;
|
|
48272
|
+
});
|
|
48273
|
+
}, "useTraceUpdate");
|
|
48257
48274
|
T();
|
|
48258
48275
|
const IS_LINUX = window.navigator.platform.toLowerCase().search("linux") > -1;
|
|
48259
48276
|
const itemSizeEstimators = {
|
|
@@ -48405,11 +48422,12 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48405
48422
|
props = __spreadValues(__spreadValues({}, props), withSelectedEntities2 && typeof withSelectedEntities2 === "string" && {
|
|
48406
48423
|
[withSelectedEntities2]: selectedEntities
|
|
48407
48424
|
});
|
|
48408
|
-
const
|
|
48425
|
+
const _currentParams = React$1.useMemo(() => {
|
|
48409
48426
|
const tmp = (urlConnected ? getCurrentParamsFromUrl(history.location) : reduxFormQueryParams) || {};
|
|
48410
48427
|
tmp.searchTerm = reduxFormSearchInput;
|
|
48411
48428
|
return tmp;
|
|
48412
48429
|
}, [history, reduxFormQueryParams, reduxFormSearchInput, urlConnected]);
|
|
48430
|
+
const currentParams = useDeepEqualMemo(_currentParams);
|
|
48413
48431
|
const tableParams = React$1.useMemo(() => {
|
|
48414
48432
|
if (!isTableParamsConnected) {
|
|
48415
48433
|
const updateSearch = /* @__PURE__ */ __name((val) => {
|
|
@@ -48487,6 +48505,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48487
48505
|
isTableParamsConnected,
|
|
48488
48506
|
urlConnected
|
|
48489
48507
|
]);
|
|
48508
|
+
useTraceUpdate(__spreadValues({}, queryParams));
|
|
48490
48509
|
props = __spreadValues(__spreadValues({}, props), queryParams);
|
|
48491
48510
|
const {
|
|
48492
48511
|
addFilters = noop$3,
|
|
@@ -48663,7 +48682,13 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48663
48682
|
if (!showForcedHiddenColumns && withDisplayOptions && (isSimple || isInfinite)) {
|
|
48664
48683
|
noValsForField = entities.every((e2) => {
|
|
48665
48684
|
const val = get$5(e2, field.path);
|
|
48666
|
-
return field.render ? !field.render(val, e2
|
|
48685
|
+
return field.render ? !field.render(val, e2, void 0, {
|
|
48686
|
+
currentParams,
|
|
48687
|
+
setNewParams
|
|
48688
|
+
}) : (cellRenderer == null ? void 0 : cellRenderer[field.path]) ? !cellRenderer[field.path](val, e2, void 0, {
|
|
48689
|
+
currentParams,
|
|
48690
|
+
setNewParams
|
|
48691
|
+
}) : !val;
|
|
48667
48692
|
});
|
|
48668
48693
|
}
|
|
48669
48694
|
if (noValsForField) {
|
|
@@ -48705,8 +48730,8 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48705
48730
|
}
|
|
48706
48731
|
return schema2;
|
|
48707
48732
|
}, [
|
|
48708
|
-
cellRenderer,
|
|
48709
48733
|
convertedSchema,
|
|
48734
|
+
currentParams,
|
|
48710
48735
|
entities,
|
|
48711
48736
|
history,
|
|
48712
48737
|
isInfinite,
|
|
@@ -48714,6 +48739,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48714
48739
|
isSimple,
|
|
48715
48740
|
isViewable,
|
|
48716
48741
|
onDoubleClick,
|
|
48742
|
+
// setNewParams,
|
|
48717
48743
|
showForcedHiddenColumns,
|
|
48718
48744
|
tableConfig.columnOrderings,
|
|
48719
48745
|
tableConfig.fieldOptions,
|
|
@@ -49606,7 +49632,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49606
49632
|
]);
|
|
49607
49633
|
React$1.useEffect(() => {
|
|
49608
49634
|
addFilters(additionalFilters);
|
|
49609
|
-
}, [
|
|
49635
|
+
}, [additionalFilters]);
|
|
49610
49636
|
React$1.useEffect(() => {
|
|
49611
49637
|
setColumns(
|
|
49612
49638
|
schema.fields ? schema.fields.reduce((col, field, i) => {
|
|
@@ -49747,13 +49773,13 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49747
49773
|
}
|
|
49748
49774
|
});
|
|
49749
49775
|
}, "addEntitiesToSelection");
|
|
49750
|
-
const refocusTable =
|
|
49776
|
+
const refocusTable = React$1.useCallback(() => {
|
|
49751
49777
|
var _a2, _b2;
|
|
49752
49778
|
const table2 = (_b2 = (_a2 = tableRef.current) == null ? void 0 : _a2.tableRef) == null ? void 0 : _b2.closest(
|
|
49753
49779
|
".data-table-container>div"
|
|
49754
49780
|
);
|
|
49755
49781
|
table2 == null ? void 0 : table2.focus();
|
|
49756
|
-
},
|
|
49782
|
+
}, []);
|
|
49757
49783
|
const isSelectionARectangle = React$1.useCallback(() => {
|
|
49758
49784
|
if (selectedCells && Object.keys(selectedCells).length > 1) {
|
|
49759
49785
|
const pathToIndex = getFieldPathToIndex(schema);
|
|
@@ -49940,6 +49966,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49940
49966
|
formatAndValidateEntities,
|
|
49941
49967
|
primarySelectedCellId,
|
|
49942
49968
|
reduxFormCellValidation,
|
|
49969
|
+
refocusTable,
|
|
49943
49970
|
updateEntitiesHelper,
|
|
49944
49971
|
updateValidation
|
|
49945
49972
|
]
|
|
@@ -50122,6 +50149,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50122
50149
|
isCellEditable,
|
|
50123
50150
|
isCopyable,
|
|
50124
50151
|
reduxFormCellValidation,
|
|
50152
|
+
refocusTable,
|
|
50125
50153
|
updateEntitiesHelper,
|
|
50126
50154
|
updateValidation
|
|
50127
50155
|
]
|
|
@@ -50595,8 +50623,6 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50595
50623
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50596
50624
|
[
|
|
50597
50625
|
SubComponent,
|
|
50598
|
-
addFilters,
|
|
50599
|
-
cellRenderer,
|
|
50600
50626
|
columns,
|
|
50601
50627
|
compact3,
|
|
50602
50628
|
currentParams,
|
|
@@ -50629,7 +50655,6 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50629
50655
|
removeSingleFilter,
|
|
50630
50656
|
schema,
|
|
50631
50657
|
selectedCells,
|
|
50632
|
-
setNewParams,
|
|
50633
50658
|
setOrder,
|
|
50634
50659
|
shouldShowSubComponent,
|
|
50635
50660
|
startCellEdit,
|
|
@@ -69540,21 +69565,6 @@ const CmdButton = withCommand({
|
|
|
69540
69565
|
icon: "icon",
|
|
69541
69566
|
disabled: "isDisabled"
|
|
69542
69567
|
})(core.Button);
|
|
69543
|
-
const useTraceUpdate = /* @__PURE__ */ __name((props) => {
|
|
69544
|
-
const prev = React$1.useRef(props);
|
|
69545
|
-
React$1.useEffect(() => {
|
|
69546
|
-
const changedProps = Object.entries(props).reduce((ps, [k2, v2]) => {
|
|
69547
|
-
if (prev.current[k2] !== v2) {
|
|
69548
|
-
ps[k2] = [prev.current[k2], v2];
|
|
69549
|
-
}
|
|
69550
|
-
return ps;
|
|
69551
|
-
}, {});
|
|
69552
|
-
if (Object.keys(changedProps).length > 0) {
|
|
69553
|
-
console.log("Changed props:", changedProps);
|
|
69554
|
-
}
|
|
69555
|
-
prev.current = props;
|
|
69556
|
-
});
|
|
69557
|
-
}, "useTraceUpdate");
|
|
69558
69568
|
const showProgressToast = /* @__PURE__ */ __name((message, value, key, opts) => {
|
|
69559
69569
|
return window.toastr.default(
|
|
69560
69570
|
/* @__PURE__ */ React$1.createElement("div", null, /* @__PURE__ */ React$1.createElement("div", { style: { marginBottom: 10 } }, message), /* @__PURE__ */ React$1.createElement(
|
package/index.es.js
CHANGED
|
@@ -47042,9 +47042,7 @@ const ColumnFilterMenu = /* @__PURE__ */ __name(({
|
|
|
47042
47042
|
removeSingleFilter,
|
|
47043
47043
|
schemaForField,
|
|
47044
47044
|
setNewParams,
|
|
47045
|
-
togglePopover: () =>
|
|
47046
|
-
setColumnFilterMenuOpen(false);
|
|
47047
|
-
}
|
|
47045
|
+
togglePopover: () => setColumnFilterMenuOpen(false)
|
|
47048
47046
|
}
|
|
47049
47047
|
)
|
|
47050
47048
|
},
|
|
@@ -47054,7 +47052,11 @@ const ColumnFilterMenu = /* @__PURE__ */ __name(({
|
|
|
47054
47052
|
style: { marginLeft: 5 },
|
|
47055
47053
|
icon: "filter",
|
|
47056
47054
|
size: extraCompact ? 14 : void 0,
|
|
47057
|
-
onClick: () =>
|
|
47055
|
+
onClick: (e2) => {
|
|
47056
|
+
e2.preventDefault();
|
|
47057
|
+
e2.stopPropagation();
|
|
47058
|
+
setColumnFilterMenuOpen((prev) => !prev);
|
|
47059
|
+
},
|
|
47058
47060
|
className: classNames("tg-filter-menu-button", {
|
|
47059
47061
|
"tg-active-filter": !!filterActiveForColumn
|
|
47060
47062
|
})
|
|
@@ -48236,6 +48238,21 @@ const throwFormError = /* @__PURE__ */ __name((error) => {
|
|
|
48236
48238
|
}
|
|
48237
48239
|
throw new SubmissionError(errorToUse);
|
|
48238
48240
|
}, "throwFormError");
|
|
48241
|
+
const useTraceUpdate = /* @__PURE__ */ __name((props) => {
|
|
48242
|
+
const prev = useRef(props);
|
|
48243
|
+
useEffect(() => {
|
|
48244
|
+
const changedProps = Object.entries(props).reduce((ps, [k2, v2]) => {
|
|
48245
|
+
if (prev.current[k2] !== v2) {
|
|
48246
|
+
ps[k2] = [prev.current[k2], v2];
|
|
48247
|
+
}
|
|
48248
|
+
return ps;
|
|
48249
|
+
}, {});
|
|
48250
|
+
if (Object.keys(changedProps).length > 0) {
|
|
48251
|
+
console.log("Changed props:", changedProps);
|
|
48252
|
+
}
|
|
48253
|
+
prev.current = props;
|
|
48254
|
+
});
|
|
48255
|
+
}, "useTraceUpdate");
|
|
48239
48256
|
T();
|
|
48240
48257
|
const IS_LINUX = window.navigator.platform.toLowerCase().search("linux") > -1;
|
|
48241
48258
|
const itemSizeEstimators = {
|
|
@@ -48387,11 +48404,12 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48387
48404
|
props = __spreadValues(__spreadValues({}, props), withSelectedEntities2 && typeof withSelectedEntities2 === "string" && {
|
|
48388
48405
|
[withSelectedEntities2]: selectedEntities
|
|
48389
48406
|
});
|
|
48390
|
-
const
|
|
48407
|
+
const _currentParams = useMemo(() => {
|
|
48391
48408
|
const tmp = (urlConnected ? getCurrentParamsFromUrl(history.location) : reduxFormQueryParams) || {};
|
|
48392
48409
|
tmp.searchTerm = reduxFormSearchInput;
|
|
48393
48410
|
return tmp;
|
|
48394
48411
|
}, [history, reduxFormQueryParams, reduxFormSearchInput, urlConnected]);
|
|
48412
|
+
const currentParams = useDeepEqualMemo(_currentParams);
|
|
48395
48413
|
const tableParams = useMemo(() => {
|
|
48396
48414
|
if (!isTableParamsConnected) {
|
|
48397
48415
|
const updateSearch = /* @__PURE__ */ __name((val) => {
|
|
@@ -48469,6 +48487,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48469
48487
|
isTableParamsConnected,
|
|
48470
48488
|
urlConnected
|
|
48471
48489
|
]);
|
|
48490
|
+
useTraceUpdate(__spreadValues({}, queryParams));
|
|
48472
48491
|
props = __spreadValues(__spreadValues({}, props), queryParams);
|
|
48473
48492
|
const {
|
|
48474
48493
|
addFilters = noop$3,
|
|
@@ -48645,7 +48664,13 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48645
48664
|
if (!showForcedHiddenColumns && withDisplayOptions && (isSimple || isInfinite)) {
|
|
48646
48665
|
noValsForField = entities.every((e2) => {
|
|
48647
48666
|
const val = get$5(e2, field.path);
|
|
48648
|
-
return field.render ? !field.render(val, e2
|
|
48667
|
+
return field.render ? !field.render(val, e2, void 0, {
|
|
48668
|
+
currentParams,
|
|
48669
|
+
setNewParams
|
|
48670
|
+
}) : (cellRenderer == null ? void 0 : cellRenderer[field.path]) ? !cellRenderer[field.path](val, e2, void 0, {
|
|
48671
|
+
currentParams,
|
|
48672
|
+
setNewParams
|
|
48673
|
+
}) : !val;
|
|
48649
48674
|
});
|
|
48650
48675
|
}
|
|
48651
48676
|
if (noValsForField) {
|
|
@@ -48687,8 +48712,8 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48687
48712
|
}
|
|
48688
48713
|
return schema2;
|
|
48689
48714
|
}, [
|
|
48690
|
-
cellRenderer,
|
|
48691
48715
|
convertedSchema,
|
|
48716
|
+
currentParams,
|
|
48692
48717
|
entities,
|
|
48693
48718
|
history,
|
|
48694
48719
|
isInfinite,
|
|
@@ -48696,6 +48721,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
48696
48721
|
isSimple,
|
|
48697
48722
|
isViewable,
|
|
48698
48723
|
onDoubleClick,
|
|
48724
|
+
// setNewParams,
|
|
48699
48725
|
showForcedHiddenColumns,
|
|
48700
48726
|
tableConfig.columnOrderings,
|
|
48701
48727
|
tableConfig.fieldOptions,
|
|
@@ -49588,7 +49614,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49588
49614
|
]);
|
|
49589
49615
|
useEffect(() => {
|
|
49590
49616
|
addFilters(additionalFilters);
|
|
49591
|
-
}, [
|
|
49617
|
+
}, [additionalFilters]);
|
|
49592
49618
|
useEffect(() => {
|
|
49593
49619
|
setColumns(
|
|
49594
49620
|
schema.fields ? schema.fields.reduce((col, field, i) => {
|
|
@@ -49729,13 +49755,13 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49729
49755
|
}
|
|
49730
49756
|
});
|
|
49731
49757
|
}, "addEntitiesToSelection");
|
|
49732
|
-
const refocusTable =
|
|
49758
|
+
const refocusTable = useCallback(() => {
|
|
49733
49759
|
var _a2, _b2;
|
|
49734
49760
|
const table2 = (_b2 = (_a2 = tableRef.current) == null ? void 0 : _a2.tableRef) == null ? void 0 : _b2.closest(
|
|
49735
49761
|
".data-table-container>div"
|
|
49736
49762
|
);
|
|
49737
49763
|
table2 == null ? void 0 : table2.focus();
|
|
49738
|
-
},
|
|
49764
|
+
}, []);
|
|
49739
49765
|
const isSelectionARectangle = useCallback(() => {
|
|
49740
49766
|
if (selectedCells && Object.keys(selectedCells).length > 1) {
|
|
49741
49767
|
const pathToIndex = getFieldPathToIndex(schema);
|
|
@@ -49922,6 +49948,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
49922
49948
|
formatAndValidateEntities,
|
|
49923
49949
|
primarySelectedCellId,
|
|
49924
49950
|
reduxFormCellValidation,
|
|
49951
|
+
refocusTable,
|
|
49925
49952
|
updateEntitiesHelper,
|
|
49926
49953
|
updateValidation
|
|
49927
49954
|
]
|
|
@@ -50104,6 +50131,7 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50104
50131
|
isCellEditable,
|
|
50105
50132
|
isCopyable,
|
|
50106
50133
|
reduxFormCellValidation,
|
|
50134
|
+
refocusTable,
|
|
50107
50135
|
updateEntitiesHelper,
|
|
50108
50136
|
updateValidation
|
|
50109
50137
|
]
|
|
@@ -50577,8 +50605,6 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50577
50605
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50578
50606
|
[
|
|
50579
50607
|
SubComponent,
|
|
50580
|
-
addFilters,
|
|
50581
|
-
cellRenderer,
|
|
50582
50608
|
columns,
|
|
50583
50609
|
compact3,
|
|
50584
50610
|
currentParams,
|
|
@@ -50611,7 +50637,6 @@ const DataTable = /* @__PURE__ */ __name((_G) => {
|
|
|
50611
50637
|
removeSingleFilter,
|
|
50612
50638
|
schema,
|
|
50613
50639
|
selectedCells,
|
|
50614
|
-
setNewParams,
|
|
50615
50640
|
setOrder,
|
|
50616
50641
|
shouldShowSubComponent,
|
|
50617
50642
|
startCellEdit,
|
|
@@ -69522,21 +69547,6 @@ const CmdButton = withCommand({
|
|
|
69522
69547
|
icon: "icon",
|
|
69523
69548
|
disabled: "isDisabled"
|
|
69524
69549
|
})(Button);
|
|
69525
|
-
const useTraceUpdate = /* @__PURE__ */ __name((props) => {
|
|
69526
|
-
const prev = useRef(props);
|
|
69527
|
-
useEffect(() => {
|
|
69528
|
-
const changedProps = Object.entries(props).reduce((ps, [k2, v2]) => {
|
|
69529
|
-
if (prev.current[k2] !== v2) {
|
|
69530
|
-
ps[k2] = [prev.current[k2], v2];
|
|
69531
|
-
}
|
|
69532
|
-
return ps;
|
|
69533
|
-
}, {});
|
|
69534
|
-
if (Object.keys(changedProps).length > 0) {
|
|
69535
|
-
console.log("Changed props:", changedProps);
|
|
69536
|
-
}
|
|
69537
|
-
prev.current = props;
|
|
69538
|
-
});
|
|
69539
|
-
}, "useTraceUpdate");
|
|
69540
69550
|
const showProgressToast = /* @__PURE__ */ __name((message, value, key, opts) => {
|
|
69541
69551
|
return window.toastr.default(
|
|
69542
69552
|
/* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("div", { style: { marginBottom: 10 } }, message), /* @__PURE__ */ React__default.createElement(
|
package/package.json
CHANGED
|
@@ -38,9 +38,7 @@ export const ColumnFilterMenu = ({
|
|
|
38
38
|
removeSingleFilter={removeSingleFilter}
|
|
39
39
|
schemaForField={schemaForField}
|
|
40
40
|
setNewParams={setNewParams}
|
|
41
|
-
togglePopover={() =>
|
|
42
|
-
setColumnFilterMenuOpen(false);
|
|
43
|
-
}}
|
|
41
|
+
togglePopover={() => setColumnFilterMenuOpen(false)}
|
|
44
42
|
/>
|
|
45
43
|
}
|
|
46
44
|
>
|
|
@@ -48,7 +46,11 @@ export const ColumnFilterMenu = ({
|
|
|
48
46
|
style={{ marginLeft: 5 }}
|
|
49
47
|
icon="filter"
|
|
50
48
|
size={extraCompact ? 14 : undefined}
|
|
51
|
-
onClick={
|
|
49
|
+
onClick={e => {
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
setColumnFilterMenuOpen(prev => !prev);
|
|
53
|
+
}}
|
|
52
54
|
className={classNames("tg-filter-menu-button", {
|
|
53
55
|
"tg-active-filter": !!filterActiveForColumn
|
|
54
56
|
})}
|
package/src/DataTable/index.js
CHANGED
|
@@ -102,6 +102,7 @@ import {
|
|
|
102
102
|
import { RenderColumns } from "./Columns";
|
|
103
103
|
import { formValueSelector } from "redux-form";
|
|
104
104
|
import { throwFormError } from "../throwFormError";
|
|
105
|
+
import { useTraceUpdate } from "../utils/useTraceUpdate";
|
|
105
106
|
|
|
106
107
|
enablePatches();
|
|
107
108
|
const IS_LINUX = window.navigator.platform.toLowerCase().search("linux") > -1;
|
|
@@ -268,7 +269,7 @@ const DataTable = ({
|
|
|
268
269
|
})
|
|
269
270
|
};
|
|
270
271
|
|
|
271
|
-
const
|
|
272
|
+
const _currentParams = useMemo(() => {
|
|
272
273
|
const tmp =
|
|
273
274
|
(urlConnected
|
|
274
275
|
? getCurrentParamsFromUrl(history.location) //important to use history location and not ownProps.location because for some reason the location path lags one render behind!!
|
|
@@ -278,6 +279,8 @@ const DataTable = ({
|
|
|
278
279
|
return tmp;
|
|
279
280
|
}, [history, reduxFormQueryParams, reduxFormSearchInput, urlConnected]);
|
|
280
281
|
|
|
282
|
+
const currentParams = useDeepEqualMemo(_currentParams);
|
|
283
|
+
|
|
281
284
|
const tableParams = useMemo(() => {
|
|
282
285
|
if (!isTableParamsConnected) {
|
|
283
286
|
const updateSearch = val => {
|
|
@@ -376,6 +379,8 @@ const DataTable = ({
|
|
|
376
379
|
urlConnected
|
|
377
380
|
]);
|
|
378
381
|
|
|
382
|
+
useTraceUpdate({ ...queryParams });
|
|
383
|
+
|
|
379
384
|
props = {
|
|
380
385
|
...props,
|
|
381
386
|
...queryParams
|
|
@@ -577,9 +582,15 @@ const DataTable = ({
|
|
|
577
582
|
noValsForField = entities.every(e => {
|
|
578
583
|
const val = get(e, field.path);
|
|
579
584
|
return field.render
|
|
580
|
-
? !field.render(val, e
|
|
585
|
+
? !field.render(val, e, undefined, {
|
|
586
|
+
currentParams,
|
|
587
|
+
setNewParams
|
|
588
|
+
})
|
|
581
589
|
: cellRenderer?.[field.path]
|
|
582
|
-
? !cellRenderer[field.path](val, e
|
|
590
|
+
? !cellRenderer[field.path](val, e, undefined, {
|
|
591
|
+
currentParams,
|
|
592
|
+
setNewParams
|
|
593
|
+
})
|
|
583
594
|
: !val;
|
|
584
595
|
});
|
|
585
596
|
}
|
|
@@ -636,9 +647,10 @@ const DataTable = ({
|
|
|
636
647
|
}
|
|
637
648
|
}
|
|
638
649
|
return schema;
|
|
650
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
639
651
|
}, [
|
|
640
|
-
cellRenderer,
|
|
641
652
|
convertedSchema,
|
|
653
|
+
currentParams,
|
|
642
654
|
entities,
|
|
643
655
|
history,
|
|
644
656
|
isInfinite,
|
|
@@ -646,6 +658,7 @@ const DataTable = ({
|
|
|
646
658
|
isSimple,
|
|
647
659
|
isViewable,
|
|
648
660
|
onDoubleClick,
|
|
661
|
+
// setNewParams,
|
|
649
662
|
showForcedHiddenColumns,
|
|
650
663
|
tableConfig.columnOrderings,
|
|
651
664
|
tableConfig.fieldOptions,
|
|
@@ -1652,7 +1665,8 @@ const DataTable = ({
|
|
|
1652
1665
|
|
|
1653
1666
|
useEffect(() => {
|
|
1654
1667
|
addFilters(additionalFilters);
|
|
1655
|
-
|
|
1668
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1669
|
+
}, [additionalFilters]);
|
|
1656
1670
|
|
|
1657
1671
|
useEffect(() => {
|
|
1658
1672
|
setColumns(
|
|
@@ -1806,12 +1820,12 @@ const DataTable = ({
|
|
|
1806
1820
|
});
|
|
1807
1821
|
};
|
|
1808
1822
|
|
|
1809
|
-
const refocusTable = () => {
|
|
1823
|
+
const refocusTable = useCallback(() => {
|
|
1810
1824
|
const table = tableRef.current?.tableRef?.closest(
|
|
1811
1825
|
".data-table-container>div"
|
|
1812
1826
|
);
|
|
1813
1827
|
table?.focus();
|
|
1814
|
-
};
|
|
1828
|
+
}, []);
|
|
1815
1829
|
|
|
1816
1830
|
const isSelectionARectangle = useCallback(() => {
|
|
1817
1831
|
if (selectedCells && Object.keys(selectedCells).length > 1) {
|
|
@@ -2013,6 +2027,7 @@ const DataTable = ({
|
|
|
2013
2027
|
formatAndValidateEntities,
|
|
2014
2028
|
primarySelectedCellId,
|
|
2015
2029
|
reduxFormCellValidation,
|
|
2030
|
+
refocusTable,
|
|
2016
2031
|
updateEntitiesHelper,
|
|
2017
2032
|
updateValidation
|
|
2018
2033
|
]
|
|
@@ -2200,6 +2215,7 @@ const DataTable = ({
|
|
|
2200
2215
|
isCellEditable,
|
|
2201
2216
|
isCopyable,
|
|
2202
2217
|
reduxFormCellValidation,
|
|
2218
|
+
refocusTable,
|
|
2203
2219
|
updateEntitiesHelper,
|
|
2204
2220
|
updateValidation
|
|
2205
2221
|
]
|
|
@@ -2731,8 +2747,6 @@ const DataTable = ({
|
|
|
2731
2747
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2732
2748
|
[
|
|
2733
2749
|
SubComponent,
|
|
2734
|
-
addFilters,
|
|
2735
|
-
cellRenderer,
|
|
2736
2750
|
columns,
|
|
2737
2751
|
compact,
|
|
2738
2752
|
currentParams,
|
|
@@ -2765,7 +2779,6 @@ const DataTable = ({
|
|
|
2765
2779
|
removeSingleFilter,
|
|
2766
2780
|
schema,
|
|
2767
2781
|
selectedCells,
|
|
2768
|
-
setNewParams,
|
|
2769
2782
|
setOrder,
|
|
2770
2783
|
shouldShowSubComponent,
|
|
2771
2784
|
startCellEdit,
|