@pdg/react-table 1.0.65 → 1.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Table/Table.types.d.ts +1 -1
- package/dist/index.esm.js +45 -22
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +45 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3459,6 +3459,7 @@ TableTopHead.defaultProps = TableTopHeadDefaultProps;
|
|
|
3459
3459
|
var templateObject_1$1;function columnFilter(v) {
|
|
3460
3460
|
return v !== undefined && v !== null && v !== false;
|
|
3461
3461
|
}
|
|
3462
|
+
var _columnId = 0;
|
|
3462
3463
|
var Table = React.forwardRef(function (_a, ref) {
|
|
3463
3464
|
// Ref ---------------------------------------------------------------------------------------------------------------
|
|
3464
3465
|
var caption = _a.caption, topHeadRows = _a.topHeadRows, initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, initStickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, fullHeight = _a.fullHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, sortable$1 = _a.sortable, onClick = _a.onClick, onGetBodyRowSx = _a.onGetBodyRowSx, onPageChange = _a.onPageChange, onSortChange = _a.onSortChange, onCheckChange = _a.onCheckChange,
|
|
@@ -3469,6 +3470,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3469
3470
|
var updateHeadCheckTimer = React.useRef();
|
|
3470
3471
|
var fireOnCheckChangeTimer = React.useRef({});
|
|
3471
3472
|
var simpleBarRef = React.useRef(null);
|
|
3473
|
+
var finalColumnsIdRef = React.useRef([]);
|
|
3472
3474
|
// sortable --------------------------------------------------------------------------------------------------------
|
|
3473
3475
|
var sensors = core.useSensors(core.useSensor(core.MouseSensor, {
|
|
3474
3476
|
// Require the mouse to move by 10 pixels before activating
|
|
@@ -3539,18 +3541,28 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3539
3541
|
return __assign$3({ id: id == null ? "".concat(v4(), "_").concat(index) : id }, item);
|
|
3540
3542
|
});
|
|
3541
3543
|
}, []);
|
|
3544
|
+
var getFinalColumnId = React.useCallback(function (column) {
|
|
3545
|
+
if (finalColumns && finalColumnsIdRef.current) {
|
|
3546
|
+
var idx = finalColumns.indexOf(column);
|
|
3547
|
+
return finalColumnsIdRef.current[idx];
|
|
3548
|
+
}
|
|
3549
|
+
else {
|
|
3550
|
+
return '';
|
|
3551
|
+
}
|
|
3552
|
+
}, [finalColumns]);
|
|
3542
3553
|
var updateHeadCheck = React.useCallback(function (column) {
|
|
3543
3554
|
if (updateHeadCheckTimer.current) {
|
|
3544
3555
|
clearTimeout(updateHeadCheckTimer.current);
|
|
3545
3556
|
updateHeadCheckTimer.current = undefined;
|
|
3546
3557
|
}
|
|
3547
|
-
var
|
|
3558
|
+
var columnId = getFinalColumnId(column);
|
|
3559
|
+
var headColumnData = localHeaderDataRef.current[columnId];
|
|
3548
3560
|
if (headColumnData) {
|
|
3549
3561
|
updateHeadCheckTimer.current = setTimeout(function () {
|
|
3550
3562
|
var _a, _b;
|
|
3551
3563
|
updateHeadCheckTimer.current = undefined;
|
|
3552
3564
|
var enabledCheckExists = !!Object.keys(localBodyDataRef.current).find(function (key) {
|
|
3553
|
-
var columnData = localBodyDataRef.current[key].columns[
|
|
3565
|
+
var columnData = localBodyDataRef.current[key].columns[columnId];
|
|
3554
3566
|
if (columnData) {
|
|
3555
3567
|
if (!columnData.checkDisabled) {
|
|
3556
3568
|
return true;
|
|
@@ -3559,7 +3571,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3559
3571
|
});
|
|
3560
3572
|
var allChecked = enabledCheckExists &&
|
|
3561
3573
|
!Object.keys(localBodyDataRef.current).find(function (key) {
|
|
3562
|
-
var columnData = localBodyDataRef.current[key].columns[
|
|
3574
|
+
var columnData = localBodyDataRef.current[key].columns[columnId];
|
|
3563
3575
|
if (columnData) {
|
|
3564
3576
|
if (!columnData.checkDisabled) {
|
|
3565
3577
|
return !columnData.checked;
|
|
@@ -3570,7 +3582,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3570
3582
|
(_b = headColumnData.commands) === null || _b === void 0 ? void 0 : _b.setChecked(allChecked);
|
|
3571
3583
|
}, 100);
|
|
3572
3584
|
}
|
|
3573
|
-
}, []);
|
|
3585
|
+
}, [getFinalColumnId]);
|
|
3574
3586
|
var getCheckedItems = React.useCallback(function (columnId) {
|
|
3575
3587
|
var checkedItems = [];
|
|
3576
3588
|
Object.keys(localBodyDataRef.current).forEach(function (key) {
|
|
@@ -3643,7 +3655,17 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3643
3655
|
React.useEffect(function () {
|
|
3644
3656
|
stopHeadCheckTimer();
|
|
3645
3657
|
clearFireOnCheckChangeTimer();
|
|
3646
|
-
|
|
3658
|
+
var newFinalColumns = columns === null || columns === void 0 ? void 0 : columns.filter(columnFilter);
|
|
3659
|
+
setFinalColumns(newFinalColumns);
|
|
3660
|
+
finalColumnsIdRef.current = newFinalColumns === null || newFinalColumns === void 0 ? void 0 : newFinalColumns.map(function (col) {
|
|
3661
|
+
if (col.id) {
|
|
3662
|
+
return col.id;
|
|
3663
|
+
}
|
|
3664
|
+
else {
|
|
3665
|
+
_columnId += 1;
|
|
3666
|
+
return "$c$".concat(_columnId, "$");
|
|
3667
|
+
}
|
|
3668
|
+
});
|
|
3647
3669
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3648
3670
|
}, [columns]);
|
|
3649
3671
|
React.useLayoutEffect(function () {
|
|
@@ -3657,7 +3679,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3657
3679
|
if (finalColumns) {
|
|
3658
3680
|
finalColumns.forEach(function (c) {
|
|
3659
3681
|
var _a;
|
|
3660
|
-
var columnId = c
|
|
3682
|
+
var columnId = getFinalColumnId(c);
|
|
3661
3683
|
if ((_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[columnId]) {
|
|
3662
3684
|
res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];
|
|
3663
3685
|
}
|
|
@@ -3676,18 +3698,18 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3676
3698
|
else {
|
|
3677
3699
|
localBodyDataRef.current = {};
|
|
3678
3700
|
}
|
|
3679
|
-
}, [sortableItems, finalColumns, clearFireOnCheckChangeTimer]);
|
|
3701
|
+
}, [sortableItems, finalColumns, clearFireOnCheckChangeTimer, getFinalColumnId]);
|
|
3680
3702
|
React.useLayoutEffect(function () {
|
|
3681
3703
|
if (finalColumns) {
|
|
3682
3704
|
localHeaderDataRef.current = finalColumns.reduce(function (res, c) {
|
|
3683
|
-
res[c
|
|
3705
|
+
res[getFinalColumnId(c)] = { column: c, checked: false };
|
|
3684
3706
|
return res;
|
|
3685
3707
|
}, {});
|
|
3686
3708
|
}
|
|
3687
3709
|
else {
|
|
3688
3710
|
localHeaderDataRef.current = {};
|
|
3689
3711
|
}
|
|
3690
|
-
}, [finalColumns]);
|
|
3712
|
+
}, [finalColumns, getFinalColumnId]);
|
|
3691
3713
|
// Commands --------------------------------------------------------------------------------------------------------
|
|
3692
3714
|
React.useLayoutEffect(function () {
|
|
3693
3715
|
if (ref) {
|
|
@@ -3768,14 +3790,14 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3768
3790
|
var handleHeadCheckChange = React.useCallback(function (column, checked) {
|
|
3769
3791
|
Object.keys(localBodyDataRef.current).forEach(function (key) {
|
|
3770
3792
|
var _a;
|
|
3771
|
-
var data = localBodyDataRef.current[key].columns[column
|
|
3793
|
+
var data = localBodyDataRef.current[key].columns[getFinalColumnId(column)];
|
|
3772
3794
|
if (data) {
|
|
3773
3795
|
if (!data.checkDisabled) {
|
|
3774
3796
|
(_a = data.commands) === null || _a === void 0 ? void 0 : _a.setChecked(checked);
|
|
3775
3797
|
}
|
|
3776
3798
|
}
|
|
3777
3799
|
});
|
|
3778
|
-
}, []);
|
|
3800
|
+
}, [getFinalColumnId]);
|
|
3779
3801
|
var handleBodyCheckChange = React.useCallback(function (item, column) {
|
|
3780
3802
|
updateHeadCheck(column);
|
|
3781
3803
|
}, [updateHeadCheck]);
|
|
@@ -3798,39 +3820,40 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3798
3820
|
}, [openMenuId]);
|
|
3799
3821
|
var TableContextSetItemColumnChecked = React.useCallback(function (item, column, checked) {
|
|
3800
3822
|
var _a;
|
|
3801
|
-
var
|
|
3823
|
+
var columnId = getFinalColumnId(column);
|
|
3824
|
+
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[columnId];
|
|
3802
3825
|
if (data) {
|
|
3803
3826
|
data.checked = checked;
|
|
3804
|
-
fireOnCheckChange(
|
|
3827
|
+
fireOnCheckChange(columnId);
|
|
3805
3828
|
}
|
|
3806
|
-
}, [fireOnCheckChange]);
|
|
3829
|
+
}, [fireOnCheckChange, getFinalColumnId]);
|
|
3807
3830
|
var TableContextSetItemColumnCheckDisabled = React.useCallback(function (item, column, disabled) {
|
|
3808
3831
|
var _a;
|
|
3809
|
-
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[column
|
|
3832
|
+
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[getFinalColumnId(column)];
|
|
3810
3833
|
if (data) {
|
|
3811
3834
|
data.checkDisabled = disabled;
|
|
3812
3835
|
updateHeadCheck(column);
|
|
3813
3836
|
}
|
|
3814
|
-
}, [updateHeadCheck]);
|
|
3837
|
+
}, [getFinalColumnId, updateHeadCheck]);
|
|
3815
3838
|
var TableContextSetItemColumnCommands = React.useCallback(function (item, column, commands) {
|
|
3816
3839
|
var _a;
|
|
3817
|
-
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[column
|
|
3840
|
+
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[getFinalColumnId(column)];
|
|
3818
3841
|
if (data) {
|
|
3819
3842
|
data.commands = commands;
|
|
3820
3843
|
}
|
|
3821
|
-
}, []);
|
|
3844
|
+
}, [getFinalColumnId]);
|
|
3822
3845
|
var TableContextSetHeadColumnChecked = React.useCallback(function (column, checked) {
|
|
3823
|
-
var data = localHeaderDataRef.current[column
|
|
3846
|
+
var data = localHeaderDataRef.current[getFinalColumnId(column)];
|
|
3824
3847
|
if (data) {
|
|
3825
3848
|
data.checked = checked;
|
|
3826
3849
|
}
|
|
3827
|
-
}, []);
|
|
3850
|
+
}, [getFinalColumnId]);
|
|
3828
3851
|
var TableContextSetHeadColumnCommands = React.useCallback(function (column, commands) {
|
|
3829
|
-
var data = localHeaderDataRef.current[column
|
|
3852
|
+
var data = localHeaderDataRef.current[getFinalColumnId(column)];
|
|
3830
3853
|
if (data) {
|
|
3831
3854
|
data.commands = commands;
|
|
3832
3855
|
}
|
|
3833
|
-
}, []);
|
|
3856
|
+
}, [getFinalColumnId]);
|
|
3834
3857
|
// Memo --------------------------------------------------------------------------------------------------------------
|
|
3835
3858
|
var tableContextValue = React.useMemo(function () { return ({
|
|
3836
3859
|
menuOpen: menuOpen,
|