@kne/table-page 0.1.5 → 0.1.6

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.
@@ -18,7 +18,6 @@ import findLastIndex from 'lodash/findLastIndex';
18
18
  import isEqual from 'lodash/isEqual';
19
19
  import { useDebouncedCallback } from 'use-debounce';
20
20
  import { ReactSortable } from 'react-sortablejs';
21
- import set from 'lodash/set';
22
21
  import cloneDeep from 'lodash/cloneDeep';
23
22
  import { createWithIntlProvider, useIntl } from '@kne/react-intl';
24
23
  import filterZhCN from '@kne/react-filter/dist/locale/zh-CN';
@@ -1336,6 +1335,20 @@ const useSort = (props = {}) => {
1336
1335
  };
1337
1336
  useSort.sortDataSource = sortDataSource;
1338
1337
 
1338
+ const getColumnConfig = (config, columnName, field, defaultValue) => {
1339
+ const columnConfig = config == null ? void 0 : config[columnName];
1340
+ if (columnConfig != null && columnConfig[field] !== undefined) {
1341
+ return columnConfig[field];
1342
+ }
1343
+ const legacyValue = get(config, `${columnName}.${field}`);
1344
+ return legacyValue === undefined ? defaultValue : legacyValue;
1345
+ };
1346
+ const setColumnConfig = (config, columnName, updates) => {
1347
+ return Object.assign({}, config, {
1348
+ [columnName]: Object.assign({}, config == null ? void 0 : config[columnName], updates)
1349
+ });
1350
+ };
1351
+
1339
1352
  var configStyle = {"cell-resize-bar":"kne-table-page_PNaAP","table-changer-setting":"kne-table-page_B0U-O","is-active":"kne-table-page_vHrQo","table-config-header":"kne-table-page_Zp8MN","table-config-header-title":"kne-table-page_Pc6jR","columns-control-content":"kne-table-page_saJmr","columns-control-content-title":"kne-table-page_YmHni","columns-control-content-scroller":"kne-table-page_rgqWB","columns-control-sortable-list":"kne-table-page_JRcBW","columns-control-content-footer":"kne-table-page_nLwW1","columns-control-content-input":"kne-table-page_9qyJs","columns-control-content-list":"kne-table-page_Sslzr","columns-control-content-item":"kne-table-page_7CamD","is-drag":"kne-table-page_X18rq","columns-control-content-item-icon":"kne-table-page_Eab-e","columns-control-overlay":"kne-table-page_eT4HV","header-col":"kne-table-page_bjDly","header-cell-inner":"kne-table-page_9FKgD"};
1340
1353
 
1341
1354
  const locale$1 = {
@@ -1408,9 +1421,9 @@ const ColumnsControlContent = withLocale(({
1408
1421
  if (item.fixed === true || item.fixed === 'left') {
1409
1422
  return 'leftFixedColumns';
1410
1423
  }
1411
- return get(config, `${item.name}.visible`) !== true && item.hidden || get(config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';
1424
+ return getColumnConfig(config, item.name, 'visible') !== true && item.hidden || getColumnConfig(config, item.name, 'visible') === false ? 'hiddenColumns' : 'visibleColumns';
1412
1425
  })), (result, value, key) => {
1413
- result[key] = value.sort((a, b) => get(config, `${a.name}.rank`, 0) - get(config, `${b.name}.rank`, 0));
1426
+ result[key] = value.sort((a, b) => getColumnConfig(config, a.name, 'rank', 0) - getColumnConfig(config, b.name, 'rank', 0));
1414
1427
  }, {});
1415
1428
  }, [columns, config]);
1416
1429
  const sortableVisibleColumns = useMemo(() => {
@@ -1422,10 +1435,14 @@ const ColumnsControlContent = withLocale(({
1422
1435
  const newConfig = cloneDeep(config);
1423
1436
  const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);
1424
1437
  (columnsState.hiddenColumns || []).forEach(col => {
1425
- set(newConfig, `${col.name}.visible`, false);
1438
+ Object.assign(newConfig, setColumnConfig(newConfig, col.name, {
1439
+ visible: false
1440
+ }));
1426
1441
  });
1427
1442
  columnsList.forEach((col, index) => {
1428
- set(newConfig, `${col.name}.rank`, index + 1);
1443
+ Object.assign(newConfig, setColumnConfig(newConfig, col.name, {
1444
+ rank: index + 1
1445
+ }));
1429
1446
  });
1430
1447
  onChange(newConfig);
1431
1448
  };
@@ -1768,8 +1785,8 @@ const useTableConfig = ({
1768
1785
  }
1769
1786
  }, [name, _controllerOpen, _tableServerApis]);
1770
1787
  const visibleColumns = useMemo(() => {
1771
- return columns.filter(col => !(get(config, `${col.name}.visible`) === false || get(config, `${col.name}.visible`) !== true && col.hidden === true)).sort((a, b) => {
1772
- const computedIndex = item => get(config, `${item.name}.rank`, 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);
1788
+ return columns.filter(col => !(getColumnConfig(config, col.name, 'visible') === false || getColumnConfig(config, col.name, 'visible') !== true && col.hidden === true)).sort((a, b) => {
1789
+ const computedIndex = item => getColumnConfig(config, item.name, 'rank', 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);
1773
1790
  return computedIndex(a) - computedIndex(b);
1774
1791
  });
1775
1792
  }, [columns, config]);
@@ -1783,7 +1800,7 @@ const useTableConfig = ({
1783
1800
  const {
1784
1801
  width
1785
1802
  } = getColumnSize(col);
1786
- const contentWidth = get(config, `${col.name}.width`) || width;
1803
+ const contentWidth = getColumnConfig(config, col.name, 'width') || width;
1787
1804
  return sum + withConfigColumnExtra(contentWidth, index, columnCount, _controllerOpen);
1788
1805
  }, 0);
1789
1806
  }, [visibleColumns, config, columnCount, _controllerOpen]);
@@ -1806,7 +1823,7 @@ const useTableConfig = ({
1806
1823
  min,
1807
1824
  max
1808
1825
  } = getColumnSize(column);
1809
- const currentWidth = Math.min(Math.max(get(config, `${column.name}.width`) || width, min), max);
1826
+ const currentWidth = Math.min(Math.max(getColumnConfig(config, column.name, 'width') || width, min), max);
1810
1827
  return {
1811
1828
  currentWidth,
1812
1829
  min,