@pdg/react-table 1.0.65 → 1.0.67
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 +3 -1
- package/dist/index.esm.js +56 -25
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +55 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3021,6 +3021,16 @@ var TableBodyCell = function (_a) {
|
|
|
3021
3021
|
if (typeof data === 'string' || typeof data === 'number') {
|
|
3022
3022
|
data = numberWithThousandSeparator(data);
|
|
3023
3023
|
}
|
|
3024
|
+
if (column.numberPrefix) {
|
|
3025
|
+
data = (React.createElement(React.Fragment, null,
|
|
3026
|
+
React.createElement("span", { style: { opacity: 0.5, marginRight: 2 } }, column.numberPrefix),
|
|
3027
|
+
data));
|
|
3028
|
+
}
|
|
3029
|
+
if (column.numberSuffix) {
|
|
3030
|
+
data = (React.createElement(React.Fragment, null,
|
|
3031
|
+
data,
|
|
3032
|
+
React.createElement("span", { style: { opacity: 0.5, marginLeft: 2 } }, column.numberSuffix)));
|
|
3033
|
+
}
|
|
3024
3034
|
break;
|
|
3025
3035
|
case 'tel':
|
|
3026
3036
|
if (typeof data === 'string') {
|
|
@@ -3041,8 +3051,6 @@ var TableBodyCell = function (_a) {
|
|
|
3041
3051
|
case 'buttons':
|
|
3042
3052
|
data = (React.createElement(StyledButtonsBox, { className: 'TableBodyCell-buttons-box', justifyContent: buttonsBoxJustifyContent, onClick: menuOpen ? undefined : function (e) { return e.stopPropagation(); } }, data));
|
|
3043
3053
|
break;
|
|
3044
|
-
}
|
|
3045
|
-
switch (column.type) {
|
|
3046
3054
|
case 'img':
|
|
3047
3055
|
{
|
|
3048
3056
|
var img = React.createElement("img", { src: data, style: { maxWidth: '100%', verticalAlign: 'middle' }, alt: '' });
|
|
@@ -3459,6 +3467,7 @@ TableTopHead.defaultProps = TableTopHeadDefaultProps;
|
|
|
3459
3467
|
var templateObject_1$1;function columnFilter(v) {
|
|
3460
3468
|
return v !== undefined && v !== null && v !== false;
|
|
3461
3469
|
}
|
|
3470
|
+
var _columnId = 0;
|
|
3462
3471
|
var Table = React.forwardRef(function (_a, ref) {
|
|
3463
3472
|
// Ref ---------------------------------------------------------------------------------------------------------------
|
|
3464
3473
|
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 +3478,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3469
3478
|
var updateHeadCheckTimer = React.useRef();
|
|
3470
3479
|
var fireOnCheckChangeTimer = React.useRef({});
|
|
3471
3480
|
var simpleBarRef = React.useRef(null);
|
|
3481
|
+
var finalColumnsIdRef = React.useRef([]);
|
|
3472
3482
|
// sortable --------------------------------------------------------------------------------------------------------
|
|
3473
3483
|
var sensors = core.useSensors(core.useSensor(core.MouseSensor, {
|
|
3474
3484
|
// Require the mouse to move by 10 pixels before activating
|
|
@@ -3539,18 +3549,28 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3539
3549
|
return __assign$3({ id: id == null ? "".concat(v4(), "_").concat(index) : id }, item);
|
|
3540
3550
|
});
|
|
3541
3551
|
}, []);
|
|
3552
|
+
var getFinalColumnId = React.useCallback(function (column) {
|
|
3553
|
+
if (finalColumns && finalColumnsIdRef.current) {
|
|
3554
|
+
var idx = finalColumns.indexOf(column);
|
|
3555
|
+
return finalColumnsIdRef.current[idx];
|
|
3556
|
+
}
|
|
3557
|
+
else {
|
|
3558
|
+
return '';
|
|
3559
|
+
}
|
|
3560
|
+
}, [finalColumns]);
|
|
3542
3561
|
var updateHeadCheck = React.useCallback(function (column) {
|
|
3543
3562
|
if (updateHeadCheckTimer.current) {
|
|
3544
3563
|
clearTimeout(updateHeadCheckTimer.current);
|
|
3545
3564
|
updateHeadCheckTimer.current = undefined;
|
|
3546
3565
|
}
|
|
3547
|
-
var
|
|
3566
|
+
var columnId = getFinalColumnId(column);
|
|
3567
|
+
var headColumnData = localHeaderDataRef.current[columnId];
|
|
3548
3568
|
if (headColumnData) {
|
|
3549
3569
|
updateHeadCheckTimer.current = setTimeout(function () {
|
|
3550
3570
|
var _a, _b;
|
|
3551
3571
|
updateHeadCheckTimer.current = undefined;
|
|
3552
3572
|
var enabledCheckExists = !!Object.keys(localBodyDataRef.current).find(function (key) {
|
|
3553
|
-
var columnData = localBodyDataRef.current[key].columns[
|
|
3573
|
+
var columnData = localBodyDataRef.current[key].columns[columnId];
|
|
3554
3574
|
if (columnData) {
|
|
3555
3575
|
if (!columnData.checkDisabled) {
|
|
3556
3576
|
return true;
|
|
@@ -3559,7 +3579,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3559
3579
|
});
|
|
3560
3580
|
var allChecked = enabledCheckExists &&
|
|
3561
3581
|
!Object.keys(localBodyDataRef.current).find(function (key) {
|
|
3562
|
-
var columnData = localBodyDataRef.current[key].columns[
|
|
3582
|
+
var columnData = localBodyDataRef.current[key].columns[columnId];
|
|
3563
3583
|
if (columnData) {
|
|
3564
3584
|
if (!columnData.checkDisabled) {
|
|
3565
3585
|
return !columnData.checked;
|
|
@@ -3570,7 +3590,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3570
3590
|
(_b = headColumnData.commands) === null || _b === void 0 ? void 0 : _b.setChecked(allChecked);
|
|
3571
3591
|
}, 100);
|
|
3572
3592
|
}
|
|
3573
|
-
}, []);
|
|
3593
|
+
}, [getFinalColumnId]);
|
|
3574
3594
|
var getCheckedItems = React.useCallback(function (columnId) {
|
|
3575
3595
|
var checkedItems = [];
|
|
3576
3596
|
Object.keys(localBodyDataRef.current).forEach(function (key) {
|
|
@@ -3643,7 +3663,17 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3643
3663
|
React.useEffect(function () {
|
|
3644
3664
|
stopHeadCheckTimer();
|
|
3645
3665
|
clearFireOnCheckChangeTimer();
|
|
3646
|
-
|
|
3666
|
+
var newFinalColumns = columns === null || columns === void 0 ? void 0 : columns.filter(columnFilter);
|
|
3667
|
+
setFinalColumns(newFinalColumns);
|
|
3668
|
+
finalColumnsIdRef.current = newFinalColumns === null || newFinalColumns === void 0 ? void 0 : newFinalColumns.map(function (col) {
|
|
3669
|
+
if (col.id) {
|
|
3670
|
+
return col.id;
|
|
3671
|
+
}
|
|
3672
|
+
else {
|
|
3673
|
+
_columnId += 1;
|
|
3674
|
+
return "$c$".concat(_columnId, "$");
|
|
3675
|
+
}
|
|
3676
|
+
});
|
|
3647
3677
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3648
3678
|
}, [columns]);
|
|
3649
3679
|
React.useLayoutEffect(function () {
|
|
@@ -3657,7 +3687,7 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3657
3687
|
if (finalColumns) {
|
|
3658
3688
|
finalColumns.forEach(function (c) {
|
|
3659
3689
|
var _a;
|
|
3660
|
-
var columnId = c
|
|
3690
|
+
var columnId = getFinalColumnId(c);
|
|
3661
3691
|
if ((_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[columnId]) {
|
|
3662
3692
|
res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];
|
|
3663
3693
|
}
|
|
@@ -3676,18 +3706,18 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3676
3706
|
else {
|
|
3677
3707
|
localBodyDataRef.current = {};
|
|
3678
3708
|
}
|
|
3679
|
-
}, [sortableItems, finalColumns, clearFireOnCheckChangeTimer]);
|
|
3709
|
+
}, [sortableItems, finalColumns, clearFireOnCheckChangeTimer, getFinalColumnId]);
|
|
3680
3710
|
React.useLayoutEffect(function () {
|
|
3681
3711
|
if (finalColumns) {
|
|
3682
3712
|
localHeaderDataRef.current = finalColumns.reduce(function (res, c) {
|
|
3683
|
-
res[c
|
|
3713
|
+
res[getFinalColumnId(c)] = { column: c, checked: false };
|
|
3684
3714
|
return res;
|
|
3685
3715
|
}, {});
|
|
3686
3716
|
}
|
|
3687
3717
|
else {
|
|
3688
3718
|
localHeaderDataRef.current = {};
|
|
3689
3719
|
}
|
|
3690
|
-
}, [finalColumns]);
|
|
3720
|
+
}, [finalColumns, getFinalColumnId]);
|
|
3691
3721
|
// Commands --------------------------------------------------------------------------------------------------------
|
|
3692
3722
|
React.useLayoutEffect(function () {
|
|
3693
3723
|
if (ref) {
|
|
@@ -3768,14 +3798,14 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3768
3798
|
var handleHeadCheckChange = React.useCallback(function (column, checked) {
|
|
3769
3799
|
Object.keys(localBodyDataRef.current).forEach(function (key) {
|
|
3770
3800
|
var _a;
|
|
3771
|
-
var data = localBodyDataRef.current[key].columns[column
|
|
3801
|
+
var data = localBodyDataRef.current[key].columns[getFinalColumnId(column)];
|
|
3772
3802
|
if (data) {
|
|
3773
3803
|
if (!data.checkDisabled) {
|
|
3774
3804
|
(_a = data.commands) === null || _a === void 0 ? void 0 : _a.setChecked(checked);
|
|
3775
3805
|
}
|
|
3776
3806
|
}
|
|
3777
3807
|
});
|
|
3778
|
-
}, []);
|
|
3808
|
+
}, [getFinalColumnId]);
|
|
3779
3809
|
var handleBodyCheckChange = React.useCallback(function (item, column) {
|
|
3780
3810
|
updateHeadCheck(column);
|
|
3781
3811
|
}, [updateHeadCheck]);
|
|
@@ -3798,39 +3828,40 @@ var Table = React.forwardRef(function (_a, ref) {
|
|
|
3798
3828
|
}, [openMenuId]);
|
|
3799
3829
|
var TableContextSetItemColumnChecked = React.useCallback(function (item, column, checked) {
|
|
3800
3830
|
var _a;
|
|
3801
|
-
var
|
|
3831
|
+
var columnId = getFinalColumnId(column);
|
|
3832
|
+
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[columnId];
|
|
3802
3833
|
if (data) {
|
|
3803
3834
|
data.checked = checked;
|
|
3804
|
-
fireOnCheckChange(
|
|
3835
|
+
fireOnCheckChange(columnId);
|
|
3805
3836
|
}
|
|
3806
|
-
}, [fireOnCheckChange]);
|
|
3837
|
+
}, [fireOnCheckChange, getFinalColumnId]);
|
|
3807
3838
|
var TableContextSetItemColumnCheckDisabled = React.useCallback(function (item, column, disabled) {
|
|
3808
3839
|
var _a;
|
|
3809
|
-
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)];
|
|
3810
3841
|
if (data) {
|
|
3811
3842
|
data.checkDisabled = disabled;
|
|
3812
3843
|
updateHeadCheck(column);
|
|
3813
3844
|
}
|
|
3814
|
-
}, [updateHeadCheck]);
|
|
3845
|
+
}, [getFinalColumnId, updateHeadCheck]);
|
|
3815
3846
|
var TableContextSetItemColumnCommands = React.useCallback(function (item, column, commands) {
|
|
3816
3847
|
var _a;
|
|
3817
|
-
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[column
|
|
3848
|
+
var data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[getFinalColumnId(column)];
|
|
3818
3849
|
if (data) {
|
|
3819
3850
|
data.commands = commands;
|
|
3820
3851
|
}
|
|
3821
|
-
}, []);
|
|
3852
|
+
}, [getFinalColumnId]);
|
|
3822
3853
|
var TableContextSetHeadColumnChecked = React.useCallback(function (column, checked) {
|
|
3823
|
-
var data = localHeaderDataRef.current[column
|
|
3854
|
+
var data = localHeaderDataRef.current[getFinalColumnId(column)];
|
|
3824
3855
|
if (data) {
|
|
3825
3856
|
data.checked = checked;
|
|
3826
3857
|
}
|
|
3827
|
-
}, []);
|
|
3858
|
+
}, [getFinalColumnId]);
|
|
3828
3859
|
var TableContextSetHeadColumnCommands = React.useCallback(function (column, commands) {
|
|
3829
|
-
var data = localHeaderDataRef.current[column
|
|
3860
|
+
var data = localHeaderDataRef.current[getFinalColumnId(column)];
|
|
3830
3861
|
if (data) {
|
|
3831
3862
|
data.commands = commands;
|
|
3832
3863
|
}
|
|
3833
|
-
}, []);
|
|
3864
|
+
}, [getFinalColumnId]);
|
|
3834
3865
|
// Memo --------------------------------------------------------------------------------------------------------------
|
|
3835
3866
|
var tableContextValue = React.useMemo(function () { return ({
|
|
3836
3867
|
menuOpen: menuOpen,
|