@hi-ui/table 4.9.2 → 4.10.0
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/CHANGELOG.md +10 -0
- package/lib/cjs/TableBody.js +4 -2
- package/lib/cjs/TableRow.js +1 -0
- package/lib/cjs/use-table.js +12 -15
- package/lib/cjs/utils/index.js +65 -0
- package/lib/esm/TableBody.js +4 -2
- package/lib/esm/TableRow.js +1 -0
- package/lib/esm/use-table.js +13 -16
- package/lib/esm/utils/index.js +64 -1
- package/lib/types/types.d.ts +9 -0
- package/lib/types/utils/index.d.ts +8 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @hi-ui/table
|
|
2
2
|
|
|
3
|
+
## 4.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#3093](https://github.com/XiaoMi/hiui/pull/3093) [`8192dc3c0`](https://github.com/XiaoMi/hiui/commit/8192dc3c06a5299165fcad1a05f291b994384e3f) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(table): 列排序支持设置默认排序顺序和受控模式 (#3091)
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#3105](https://github.com/XiaoMi/hiui/pull/3105) [`af5207873`](https://github.com/XiaoMi/hiui/commit/af5207873a2e1187a95b00d2c5f64658eb210086) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(table): 修复虚拟表格下自定义行和单元格样式无效问题 (#3100)
|
|
12
|
+
|
|
3
13
|
## 4.9.2
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/lib/cjs/TableBody.js
CHANGED
|
@@ -54,7 +54,8 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref) {
|
|
|
54
54
|
measureRowElementRef = _useTableContext.measureRowElementRef,
|
|
55
55
|
scrollbar = _useTableContext.scrollbar,
|
|
56
56
|
scrollLeft = _useTableContext.scrollLeft,
|
|
57
|
-
innerRef = _useTableContext.innerRef
|
|
57
|
+
innerRef = _useTableContext.innerRef,
|
|
58
|
+
rowClassName = _useTableContext.rowClassName;
|
|
58
59
|
var virtualListRef = React.useRef(null);
|
|
59
60
|
var listRef = React.useRef(null);
|
|
60
61
|
var cls = classname.cx(prefixCls + "-body");
|
|
@@ -146,7 +147,8 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref) {
|
|
|
146
147
|
key: row.id,
|
|
147
148
|
// @ts-ignore
|
|
148
149
|
rowIndex: index,
|
|
149
|
-
rowData: row
|
|
150
|
+
rowData: row,
|
|
151
|
+
className: rowClassName === null || rowClassName === void 0 ? void 0 : rowClassName(row, index)
|
|
150
152
|
}, getRequiredProps(row.id))));
|
|
151
153
|
}
|
|
152
154
|
}))) : TbodyContent.renderEmptyContent(Object.assign({
|
package/lib/cjs/TableRow.js
CHANGED
|
@@ -176,6 +176,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
176
176
|
}), flattedColumnsWithoutChildren.map(function (column, idx) {
|
|
177
177
|
return /*#__PURE__*/React__default["default"].createElement(TableCell.TableCell, {
|
|
178
178
|
key: idx,
|
|
179
|
+
className: cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName(rowDataProp, column, idx),
|
|
179
180
|
column: column,
|
|
180
181
|
isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
|
|
181
182
|
rowData: rowDataProp,
|
package/lib/cjs/use-table.js
CHANGED
|
@@ -45,6 +45,7 @@ var DEFAULT_HIGHLIGHTED_COL_KEYS = [];
|
|
|
45
45
|
var DEFAULT_EXPAND_ROW_KEYS = [];
|
|
46
46
|
var DEFAULT_FIXED_TO_COLUMN = {};
|
|
47
47
|
var useTable = function useTable(_a) {
|
|
48
|
+
var _b, _c, _d;
|
|
48
49
|
var _a$data = _a.data,
|
|
49
50
|
data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
|
|
50
51
|
_a$columns = _a.columns,
|
|
@@ -494,29 +495,25 @@ var useTable = function useTable(_a) {
|
|
|
494
495
|
return row.children && row.children.length || onLoadChildren && !row.isLeaf;
|
|
495
496
|
}) : false;
|
|
496
497
|
}, [data, onLoadChildren]);
|
|
497
|
-
var
|
|
498
|
+
var sortOrderColumn = React.useMemo(function () {
|
|
499
|
+
return index.getColumnByDefaultSortOrder(columns);
|
|
500
|
+
}, [columns]);
|
|
501
|
+
var _useState3 = React.useState((_b = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.dataKey) !== null && _b !== void 0 ? _b : null),
|
|
498
502
|
activeSorterColumn = _useState3[0],
|
|
499
503
|
setActiveSorterColumn = _useState3[1];
|
|
500
|
-
var _useState4 = React.useState(null),
|
|
504
|
+
var _useState4 = React.useState((_d = (_c = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.defaultSortOrder) !== null && _c !== void 0 ? _c : sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.sortOrder) !== null && _d !== void 0 ? _d : null),
|
|
501
505
|
activeSorterType = _useState4[0],
|
|
502
506
|
setActiveSorterType = _useState4[1];
|
|
507
|
+
React.useEffect(function () {
|
|
508
|
+
var _a, _b, _c;
|
|
509
|
+
setActiveSorterColumn((_a = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.dataKey) !== null && _a !== void 0 ? _a : null);
|
|
510
|
+
setActiveSorterType((_c = (_b = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.defaultSortOrder) !== null && _b !== void 0 ? _b : sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.sortOrder) !== null && _c !== void 0 ? _c : null);
|
|
511
|
+
}, [sortOrderColumn]);
|
|
503
512
|
//* *************** 根据排序列处理数据 ************** *//
|
|
504
513
|
var showData = React.useMemo(function () {
|
|
505
514
|
var _data = [].concat(transitionData);
|
|
506
515
|
if (activeSorterColumn) {
|
|
507
|
-
var sortedColumn =
|
|
508
|
-
var findColumn = function findColumn(columns) {
|
|
509
|
-
columns.forEach(function (item) {
|
|
510
|
-
if (item.dataKey === activeSorterColumn) {
|
|
511
|
-
sortedColumn = item;
|
|
512
|
-
return;
|
|
513
|
-
}
|
|
514
|
-
if (item.children) {
|
|
515
|
-
findColumn(item.children);
|
|
516
|
-
}
|
|
517
|
-
});
|
|
518
|
-
};
|
|
519
|
-
findColumn(columns);
|
|
516
|
+
var sortedColumn = index.getColumnByDataKey(columns, activeSorterColumn);
|
|
520
517
|
var sorter = sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.sorter;
|
|
521
518
|
if (sorter) {
|
|
522
519
|
activeSorterType === 'ascend' ? _data.sort(sorter) : _data.sort(sorter).reverse();
|
package/lib/cjs/utils/index.js
CHANGED
|
@@ -13,6 +13,39 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
13
13
|
value: true
|
|
14
14
|
});
|
|
15
15
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
16
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
17
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
18
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
19
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
20
|
+
if (it) o = it;
|
|
21
|
+
var i = 0;
|
|
22
|
+
return function () {
|
|
23
|
+
if (i >= o.length) return {
|
|
24
|
+
done: true
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
done: false,
|
|
28
|
+
value: o[i++]
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
33
|
+
}
|
|
34
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
35
|
+
if (!o) return;
|
|
36
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
37
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
38
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
39
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
40
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
41
|
+
}
|
|
42
|
+
function _arrayLikeToArray(arr, len) {
|
|
43
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
44
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
45
|
+
arr2[i] = arr[i];
|
|
46
|
+
}
|
|
47
|
+
return arr2;
|
|
48
|
+
}
|
|
16
49
|
var setColumnsDefaultWidth = function setColumnsDefaultWidth(columns, defaultWidth) {
|
|
17
50
|
var _columns = columns.concat();
|
|
18
51
|
var setWidth = function setWidth(_columns) {
|
|
@@ -153,7 +186,39 @@ var getTotalOrEvgRowData = function getTotalOrEvgRowData(_data, c, isAvg) {
|
|
|
153
186
|
}
|
|
154
187
|
return maxPointCount > 0 ? columnSumData.toFixed(maxPointCount) : columnSumData;
|
|
155
188
|
};
|
|
189
|
+
/**
|
|
190
|
+
* 获取指定列
|
|
191
|
+
*/
|
|
192
|
+
var getColumnByDataKey = function getColumnByDataKey(columns, dataKey) {
|
|
193
|
+
for (var _iterator = _createForOfIteratorHelperLoose(columns), _step; !(_step = _iterator()).done;) {
|
|
194
|
+
var column = _step.value;
|
|
195
|
+
if (column.dataKey === dataKey) {
|
|
196
|
+
return column;
|
|
197
|
+
}
|
|
198
|
+
if (column.children) {
|
|
199
|
+
return getColumnByDataKey(column.children, dataKey);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return {};
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* 获取默认排序的列
|
|
206
|
+
*/
|
|
207
|
+
var getColumnByDefaultSortOrder = function getColumnByDefaultSortOrder(columns) {
|
|
208
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(columns), _step2; !(_step2 = _iterator2()).done;) {
|
|
209
|
+
var column = _step2.value;
|
|
210
|
+
if (column.defaultSortOrder || column.sortOrder) {
|
|
211
|
+
return column;
|
|
212
|
+
}
|
|
213
|
+
if (column.children) {
|
|
214
|
+
return getColumnByDefaultSortOrder(column.children);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return {};
|
|
218
|
+
};
|
|
156
219
|
exports.checkNeedTotalOrEvg = checkNeedTotalOrEvg;
|
|
220
|
+
exports.getColumnByDataKey = getColumnByDataKey;
|
|
221
|
+
exports.getColumnByDefaultSortOrder = getColumnByDefaultSortOrder;
|
|
157
222
|
exports.getGroupItemWidth = getGroupItemWidth;
|
|
158
223
|
exports.getTotalOrEvgRowData = getTotalOrEvgRowData;
|
|
159
224
|
exports.parseFixedColumns = parseFixedColumns;
|
package/lib/esm/TableBody.js
CHANGED
|
@@ -41,7 +41,8 @@ var TableBody = /*#__PURE__*/forwardRef(function (_ref) {
|
|
|
41
41
|
measureRowElementRef = _useTableContext.measureRowElementRef,
|
|
42
42
|
scrollbar = _useTableContext.scrollbar,
|
|
43
43
|
scrollLeft = _useTableContext.scrollLeft,
|
|
44
|
-
innerRef = _useTableContext.innerRef
|
|
44
|
+
innerRef = _useTableContext.innerRef,
|
|
45
|
+
rowClassName = _useTableContext.rowClassName;
|
|
45
46
|
var virtualListRef = useRef(null);
|
|
46
47
|
var listRef = useRef(null);
|
|
47
48
|
var cls = cx(prefixCls + "-body");
|
|
@@ -133,7 +134,8 @@ var TableBody = /*#__PURE__*/forwardRef(function (_ref) {
|
|
|
133
134
|
key: row.id,
|
|
134
135
|
// @ts-ignore
|
|
135
136
|
rowIndex: index,
|
|
136
|
-
rowData: row
|
|
137
|
+
rowData: row,
|
|
138
|
+
className: rowClassName === null || rowClassName === void 0 ? void 0 : rowClassName(row, index)
|
|
137
139
|
}, getRequiredProps(row.id))));
|
|
138
140
|
}
|
|
139
141
|
}))) : renderEmptyContent(Object.assign({
|
package/lib/esm/TableRow.js
CHANGED
|
@@ -164,6 +164,7 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
164
164
|
}), flattedColumnsWithoutChildren.map(function (column, idx) {
|
|
165
165
|
return /*#__PURE__*/React__default.createElement(TableCell, {
|
|
166
166
|
key: idx,
|
|
167
|
+
className: cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName(rowDataProp, column, idx),
|
|
167
168
|
column: column,
|
|
168
169
|
isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
|
|
169
170
|
rowData: rowDataProp,
|
package/lib/esm/use-table.js
CHANGED
|
@@ -17,7 +17,7 @@ import { invariant } from '@hi-ui/env';
|
|
|
17
17
|
import { setAttrStatus } from '@hi-ui/dom-utils';
|
|
18
18
|
import { useCache } from '@hi-ui/use-cache';
|
|
19
19
|
import { useLatestCallback } from '@hi-ui/use-latest';
|
|
20
|
-
import { setColumnsDefaultWidth, parseFixedColumns } from './utils/index.js';
|
|
20
|
+
import { setColumnsDefaultWidth, parseFixedColumns, getColumnByDefaultSortOrder, getColumnByDataKey } from './utils/index.js';
|
|
21
21
|
import { useAsyncSwitch } from './hooks/use-async-switch.js';
|
|
22
22
|
import { useExpand } from './hooks/use-expand.js';
|
|
23
23
|
import { useChange } from './hooks/use-change.js';
|
|
@@ -33,6 +33,7 @@ var DEFAULT_HIGHLIGHTED_COL_KEYS = [];
|
|
|
33
33
|
var DEFAULT_EXPAND_ROW_KEYS = [];
|
|
34
34
|
var DEFAULT_FIXED_TO_COLUMN = {};
|
|
35
35
|
var useTable = function useTable(_a) {
|
|
36
|
+
var _b, _c, _d;
|
|
36
37
|
var _a$data = _a.data,
|
|
37
38
|
data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
|
|
38
39
|
_a$columns = _a.columns,
|
|
@@ -482,29 +483,25 @@ var useTable = function useTable(_a) {
|
|
|
482
483
|
return row.children && row.children.length || onLoadChildren && !row.isLeaf;
|
|
483
484
|
}) : false;
|
|
484
485
|
}, [data, onLoadChildren]);
|
|
485
|
-
var
|
|
486
|
+
var sortOrderColumn = useMemo(function () {
|
|
487
|
+
return getColumnByDefaultSortOrder(columns);
|
|
488
|
+
}, [columns]);
|
|
489
|
+
var _useState3 = useState((_b = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.dataKey) !== null && _b !== void 0 ? _b : null),
|
|
486
490
|
activeSorterColumn = _useState3[0],
|
|
487
491
|
setActiveSorterColumn = _useState3[1];
|
|
488
|
-
var _useState4 = useState(null),
|
|
492
|
+
var _useState4 = useState((_d = (_c = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.defaultSortOrder) !== null && _c !== void 0 ? _c : sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.sortOrder) !== null && _d !== void 0 ? _d : null),
|
|
489
493
|
activeSorterType = _useState4[0],
|
|
490
494
|
setActiveSorterType = _useState4[1];
|
|
495
|
+
useEffect(function () {
|
|
496
|
+
var _a, _b, _c;
|
|
497
|
+
setActiveSorterColumn((_a = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.dataKey) !== null && _a !== void 0 ? _a : null);
|
|
498
|
+
setActiveSorterType((_c = (_b = sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.defaultSortOrder) !== null && _b !== void 0 ? _b : sortOrderColumn === null || sortOrderColumn === void 0 ? void 0 : sortOrderColumn.sortOrder) !== null && _c !== void 0 ? _c : null);
|
|
499
|
+
}, [sortOrderColumn]);
|
|
491
500
|
//* *************** 根据排序列处理数据 ************** *//
|
|
492
501
|
var showData = useMemo(function () {
|
|
493
502
|
var _data = [].concat(transitionData);
|
|
494
503
|
if (activeSorterColumn) {
|
|
495
|
-
var sortedColumn =
|
|
496
|
-
var findColumn = function findColumn(columns) {
|
|
497
|
-
columns.forEach(function (item) {
|
|
498
|
-
if (item.dataKey === activeSorterColumn) {
|
|
499
|
-
sortedColumn = item;
|
|
500
|
-
return;
|
|
501
|
-
}
|
|
502
|
-
if (item.children) {
|
|
503
|
-
findColumn(item.children);
|
|
504
|
-
}
|
|
505
|
-
});
|
|
506
|
-
};
|
|
507
|
-
findColumn(columns);
|
|
504
|
+
var sortedColumn = getColumnByDataKey(columns, activeSorterColumn);
|
|
508
505
|
var sorter = sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.sorter;
|
|
509
506
|
if (sorter) {
|
|
510
507
|
activeSorterType === 'ascend' ? _data.sort(sorter) : _data.sort(sorter).reverse();
|
package/lib/esm/utils/index.js
CHANGED
|
@@ -8,6 +8,39 @@
|
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
9
|
*/
|
|
10
10
|
import { isNumeric } from '@hi-ui/type-assertion';
|
|
11
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
12
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
13
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
14
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
15
|
+
if (it) o = it;
|
|
16
|
+
var i = 0;
|
|
17
|
+
return function () {
|
|
18
|
+
if (i >= o.length) return {
|
|
19
|
+
done: true
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
done: false,
|
|
23
|
+
value: o[i++]
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
28
|
+
}
|
|
29
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
30
|
+
if (!o) return;
|
|
31
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
32
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
33
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
34
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
35
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
36
|
+
}
|
|
37
|
+
function _arrayLikeToArray(arr, len) {
|
|
38
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
39
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
40
|
+
arr2[i] = arr[i];
|
|
41
|
+
}
|
|
42
|
+
return arr2;
|
|
43
|
+
}
|
|
11
44
|
var setColumnsDefaultWidth = function setColumnsDefaultWidth(columns, defaultWidth) {
|
|
12
45
|
var _columns = columns.concat();
|
|
13
46
|
var setWidth = function setWidth(_columns) {
|
|
@@ -148,4 +181,34 @@ var getTotalOrEvgRowData = function getTotalOrEvgRowData(_data, c, isAvg) {
|
|
|
148
181
|
}
|
|
149
182
|
return maxPointCount > 0 ? columnSumData.toFixed(maxPointCount) : columnSumData;
|
|
150
183
|
};
|
|
151
|
-
|
|
184
|
+
/**
|
|
185
|
+
* 获取指定列
|
|
186
|
+
*/
|
|
187
|
+
var getColumnByDataKey = function getColumnByDataKey(columns, dataKey) {
|
|
188
|
+
for (var _iterator = _createForOfIteratorHelperLoose(columns), _step; !(_step = _iterator()).done;) {
|
|
189
|
+
var column = _step.value;
|
|
190
|
+
if (column.dataKey === dataKey) {
|
|
191
|
+
return column;
|
|
192
|
+
}
|
|
193
|
+
if (column.children) {
|
|
194
|
+
return getColumnByDataKey(column.children, dataKey);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return {};
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* 获取默认排序的列
|
|
201
|
+
*/
|
|
202
|
+
var getColumnByDefaultSortOrder = function getColumnByDefaultSortOrder(columns) {
|
|
203
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(columns), _step2; !(_step2 = _iterator2()).done;) {
|
|
204
|
+
var column = _step2.value;
|
|
205
|
+
if (column.defaultSortOrder || column.sortOrder) {
|
|
206
|
+
return column;
|
|
207
|
+
}
|
|
208
|
+
if (column.children) {
|
|
209
|
+
return getColumnByDefaultSortOrder(column.children);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return {};
|
|
213
|
+
};
|
|
214
|
+
export { checkNeedTotalOrEvg, getColumnByDataKey, getColumnByDefaultSortOrder, getGroupItemWidth, getTotalOrEvgRowData, parseFixedColumns, parseLocalArray, setColumnsDefaultWidth, uuid };
|
package/lib/types/types.d.ts
CHANGED
|
@@ -80,6 +80,7 @@ export interface TableColumnItemRenderReturn {
|
|
|
80
80
|
rowSpan?: number;
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
+
export declare type TableColumnSortOrder = 'ascend' | 'descend' | null;
|
|
83
84
|
export declare type TableColumnItem = {
|
|
84
85
|
/**
|
|
85
86
|
* 列标题
|
|
@@ -101,6 +102,14 @@ export declare type TableColumnItem = {
|
|
|
101
102
|
* 列对齐方式
|
|
102
103
|
*/
|
|
103
104
|
align?: TableColumnItemAlignEnum;
|
|
105
|
+
/**
|
|
106
|
+
* 排序顺序
|
|
107
|
+
*/
|
|
108
|
+
sortOrder?: TableColumnSortOrder;
|
|
109
|
+
/**
|
|
110
|
+
* 默认排序顺序
|
|
111
|
+
*/
|
|
112
|
+
defaultSortOrder?: TableColumnSortOrder;
|
|
104
113
|
/**
|
|
105
114
|
* 列排序函数
|
|
106
115
|
*/
|
|
@@ -16,3 +16,11 @@ export declare const uuid: () => string;
|
|
|
16
16
|
export declare const parseLocalArray: ({ key, defaultValue }: any) => any;
|
|
17
17
|
export declare const checkNeedTotalOrEvg: (_data: any[], item: any, calcKey: string) => boolean;
|
|
18
18
|
export declare const getTotalOrEvgRowData: (_data: any[], c: any, isAvg: boolean) => any;
|
|
19
|
+
/**
|
|
20
|
+
* 获取指定列
|
|
21
|
+
*/
|
|
22
|
+
export declare const getColumnByDataKey: (columns: TableColumnItem[], dataKey: string) => TableColumnItem;
|
|
23
|
+
/**
|
|
24
|
+
* 获取默认排序的列
|
|
25
|
+
*/
|
|
26
|
+
export declare const getColumnByDefaultSortOrder: (columns: TableColumnItem[]) => TableColumnItem;
|