@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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ### 描述
4
4
 
5
- A React table page component based on Ant Design 5, supporting column config, filter, sort and batch operations.
5
+ A React table page component based on Ant Design, supporting column config, filter, sort and batch operations.
6
6
 
7
7
  ### 安装
8
8
 
package/dist/index.js CHANGED
@@ -18,7 +18,6 @@ var findLastIndex = require('lodash/findLastIndex');
18
18
  var isEqual = require('lodash/isEqual');
19
19
  var useDebounce = require('use-debounce');
20
20
  var reactSortablejs = require('react-sortablejs');
21
- var set = require('lodash/set');
22
21
  var cloneDeep = require('lodash/cloneDeep');
23
22
  var reactIntl = require('@kne/react-intl');
24
23
  var filterZhCN = require('@kne/react-filter/dist/locale/zh-CN');
@@ -39,7 +38,6 @@ var useRefCallback__default = /*#__PURE__*/_interopDefaultLegacy(useRefCallback)
39
38
  var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
40
39
  var findLastIndex__default = /*#__PURE__*/_interopDefaultLegacy(findLastIndex);
41
40
  var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
42
- var set__default = /*#__PURE__*/_interopDefaultLegacy(set);
43
41
  var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
44
42
  var filterZhCN__default = /*#__PURE__*/_interopDefaultLegacy(filterZhCN);
45
43
  var filterEnUS__default = /*#__PURE__*/_interopDefaultLegacy(filterEnUS);
@@ -1360,6 +1358,20 @@ const useSort = function (props) {
1360
1358
  };
1361
1359
  useSort.sortDataSource = sortDataSource;
1362
1360
 
1361
+ const getColumnConfig = (config, columnName, field, defaultValue) => {
1362
+ const columnConfig = config?.[columnName];
1363
+ if (columnConfig != null && columnConfig[field] !== undefined) {
1364
+ return columnConfig[field];
1365
+ }
1366
+ const legacyValue = get__default["default"](config, `${columnName}.${field}`);
1367
+ return legacyValue === undefined ? defaultValue : legacyValue;
1368
+ };
1369
+ const setColumnConfig = (config, columnName, updates) => {
1370
+ return Object.assign({}, config, {
1371
+ [columnName]: Object.assign({}, config?.[columnName], updates)
1372
+ });
1373
+ };
1374
+
1363
1375
  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"};
1364
1376
 
1365
1377
  const locale$1 = {
@@ -1449,9 +1461,9 @@ const ColumnsControlContent = withLocale(({
1449
1461
  if (item.fixed === true || item.fixed === 'left') {
1450
1462
  return 'leftFixedColumns';
1451
1463
  }
1452
- return get__default["default"](config, `${item.name}.visible`) !== true && item.hidden || get__default["default"](config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';
1464
+ return getColumnConfig(config, item.name, 'visible') !== true && item.hidden || getColumnConfig(config, item.name, 'visible') === false ? 'hiddenColumns' : 'visibleColumns';
1453
1465
  })), (result, value, key) => {
1454
- result[key] = value.sort((a, b) => get__default["default"](config, `${a.name}.rank`, 0) - get__default["default"](config, `${b.name}.rank`, 0));
1466
+ result[key] = value.sort((a, b) => getColumnConfig(config, a.name, 'rank', 0) - getColumnConfig(config, b.name, 'rank', 0));
1455
1467
  }, {});
1456
1468
  }, [columns, config]);
1457
1469
  const sortableVisibleColumns = react.useMemo(() => {
@@ -1463,10 +1475,14 @@ const ColumnsControlContent = withLocale(({
1463
1475
  const newConfig = cloneDeep__default["default"](config);
1464
1476
  const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);
1465
1477
  (columnsState.hiddenColumns || []).forEach(col => {
1466
- set__default["default"](newConfig, `${col.name}.visible`, false);
1478
+ Object.assign(newConfig, setColumnConfig(newConfig, col.name, {
1479
+ visible: false
1480
+ }));
1467
1481
  });
1468
1482
  columnsList.forEach((col, index) => {
1469
- set__default["default"](newConfig, `${col.name}.rank`, index + 1);
1483
+ Object.assign(newConfig, setColumnConfig(newConfig, col.name, {
1484
+ rank: index + 1
1485
+ }));
1470
1486
  });
1471
1487
  onChange(newConfig);
1472
1488
  };
@@ -1833,8 +1849,8 @@ const useTableConfig = _ref2 => {
1833
1849
  }
1834
1850
  }, [name, controllerOpen, tableServerApis]);
1835
1851
  const visibleColumns = react.useMemo(() => {
1836
- return columns.filter(col => !(get__default["default"](config, col.name + ".visible") === false || get__default["default"](config, col.name + ".visible") !== true && col.hidden === true)).sort((a, b) => {
1837
- const computedIndex = item => get__default["default"](config, item.name + ".rank", 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);
1852
+ return columns.filter(col => !(getColumnConfig(config, col.name, 'visible') === false || getColumnConfig(config, col.name, 'visible') !== true && col.hidden === true)).sort((a, b) => {
1853
+ const computedIndex = item => getColumnConfig(config, item.name, 'rank', 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);
1838
1854
  return computedIndex(a) - computedIndex(b);
1839
1855
  });
1840
1856
  }, [columns, config]);
@@ -1847,7 +1863,7 @@ const useTableConfig = _ref2 => {
1847
1863
  return visibleColumns.reduce((sum, col, index) => {
1848
1864
  const _getColumnSize = getColumnSize(col),
1849
1865
  width = _getColumnSize.width;
1850
- const contentWidth = get__default["default"](config, col.name + ".width") || width;
1866
+ const contentWidth = getColumnConfig(config, col.name, 'width') || width;
1851
1867
  return sum + withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);
1852
1868
  }, 0);
1853
1869
  }, [visibleColumns, config, columnCount, controllerOpen]);
@@ -1868,7 +1884,7 @@ const useTableConfig = _ref2 => {
1868
1884
  width = _getColumnSize2.width,
1869
1885
  min = _getColumnSize2.min,
1870
1886
  max = _getColumnSize2.max;
1871
- const currentWidth = Math.min(Math.max(get__default["default"](config, column.name + ".width") || width, min), max);
1887
+ const currentWidth = Math.min(Math.max(getColumnConfig(config, column.name, 'width') || width, min), max);
1872
1888
  return {
1873
1889
  currentWidth,
1874
1890
  min,