@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/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 headColumnData = localHeaderDataRef.current[column.id];
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[column.id];
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[column.id];
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
- setFinalColumns(columns === null || columns === void 0 ? void 0 : columns.filter(columnFilter));
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.id;
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.id] = { column: c, checked: false };
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.id];
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 data = (_a = localBodyDataRef.current[item.id]) === null || _a === void 0 ? void 0 : _a.columns[column.id];
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(column.id);
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.id];
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.id];
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.id];
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.id];
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,