@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 +1 -1
- package/dist/index.js +26 -10
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +26 -9
- package/dist/index.modern.js.map +1 -1
- package/package.json +2 -2
package/dist/index.modern.js
CHANGED
|
@@ -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
|
|
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) =>
|
|
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
|
-
|
|
1438
|
+
Object.assign(newConfig, setColumnConfig(newConfig, col.name, {
|
|
1439
|
+
visible: false
|
|
1440
|
+
}));
|
|
1426
1441
|
});
|
|
1427
1442
|
columnsList.forEach((col, index) => {
|
|
1428
|
-
|
|
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 => !(
|
|
1772
|
-
const computedIndex = item =>
|
|
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 =
|
|
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(
|
|
1826
|
+
const currentWidth = Math.min(Math.max(getColumnConfig(config, column.name, 'width') || width, min), max);
|
|
1810
1827
|
return {
|
|
1811
1828
|
currentWidth,
|
|
1812
1829
|
min,
|