@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.6-hotfix.1
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 +0 -0
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +4847 -6022
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +16 -24
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +36 -101
- package/es/_utils/hooks.js +21 -45
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +84 -147
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +11 -50
- package/es/table/base/calculations.js +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/header.js +30 -81
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +9 -34
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +2 -3
- package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +42 -60
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +110 -199
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/interfaces.d.ts +2 -0
- package/es/table/internals.d.ts +2 -1
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +13 -39
- package/es/table/pipeline/features/contextMenu.js +22 -95
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +27 -51
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +73 -152
- package/es/table/pipeline/features/rowDetail.js +6 -43
- package/es/table/pipeline/features/rowDrag.js +39 -78
- package/es/table/pipeline/features/rowGrouping.js +10 -42
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +37 -90
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.js +14 -49
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.js +12 -53
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-table/interfaces.d.ts +1 -1
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +13 -35
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.d.ts +1 -0
- package/es/table/transforms/sort.js +42 -96
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +39 -80
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/browserType.js +12 -19
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +7 -43
- package/es/table/utils/getTreeDepth.js +8 -13
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/es/table/utils/uiDegrade.js +0 -5
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +3 -11
- package/lib/_utils/usePopper.js +88 -176
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +5 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +2 -11
- package/lib/locale/locale.js +15 -71
- package/lib/locale/zh-CN.js +1 -2
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +7 -20
- package/lib/table/base/header.js +30 -91
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +9 -37
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +2 -7
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +14 -65
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +44 -76
- package/lib/table/base/styles.js +8 -37
- package/lib/table/base/table.js +121 -243
- package/lib/table/base/utils.js +26 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/interfaces.d.ts +2 -0
- package/lib/table/internals.d.ts +2 -1
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/features/autoFill.js +14 -53
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +17 -63
- package/lib/table/pipeline/features/contextMenu.js +23 -121
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +16 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +29 -77
- package/lib/table/pipeline/features/filter/FilterPanel.js +13 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +75 -173
- package/lib/table/pipeline/features/rowDetail.js +6 -67
- package/lib/table/pipeline/features/rowDrag.js +41 -93
- package/lib/table/pipeline/features/rowGrouping.js +10 -62
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -110
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.js +15 -72
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +1 -10
- package/lib/table/pipeline/pipeline.js +13 -64
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-table/interfaces.d.ts +1 -1
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +14 -58
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +19 -63
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.d.ts +1 -0
- package/lib/table/transforms/sort.js +43 -122
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +40 -109
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +14 -23
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +8 -18
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -22
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +3 -2
|
@@ -1,64 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
|
|
4
|
-
|
|
5
4
|
var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
|
|
6
|
-
|
|
7
5
|
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
|
8
|
-
|
|
9
6
|
var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
|
|
10
|
-
|
|
11
7
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
12
|
-
|
|
13
8
|
Object.defineProperty(exports, "__esModule", {
|
|
14
9
|
value: true
|
|
15
10
|
});
|
|
16
11
|
exports.sort = sort;
|
|
17
|
-
|
|
18
12
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
19
|
-
|
|
20
13
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
21
|
-
|
|
22
14
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
|
|
23
|
-
|
|
24
15
|
var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
25
|
-
|
|
26
16
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
27
|
-
|
|
28
17
|
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
|
29
|
-
|
|
30
18
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
31
|
-
|
|
32
19
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
|
|
33
|
-
|
|
34
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
35
|
-
|
|
36
21
|
var _react = _interopRequireDefault(require("react"));
|
|
37
|
-
|
|
38
22
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
39
|
-
|
|
40
23
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
|
-
|
|
42
24
|
var _internals = require("../../internals");
|
|
43
|
-
|
|
44
25
|
var _utils = require("../../utils");
|
|
45
|
-
|
|
46
26
|
var _styles = require("../../base/styles");
|
|
47
|
-
|
|
48
27
|
var _templateObject;
|
|
49
|
-
|
|
50
|
-
function
|
|
51
|
-
|
|
52
|
-
function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context4 = Object.prototype.toString.call(o)).call(_context4, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
53
|
-
|
|
54
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
55
|
-
|
|
28
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
29
|
+
function _unsupportedIterableToArray(r, a) { if (r) { var _context4; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty2(_context4 = {}.toString.call(r)).call(_context4, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
30
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
56
31
|
function SortIcon(_ref) {
|
|
57
32
|
var _ref$size = _ref.size,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
33
|
+
size = _ref$size === void 0 ? 32 : _ref$size,
|
|
34
|
+
style = _ref.style,
|
|
35
|
+
className = _ref.className,
|
|
36
|
+
order = _ref.order;
|
|
62
37
|
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
63
38
|
style: style,
|
|
64
39
|
className: className,
|
|
@@ -79,16 +54,13 @@ function SortIcon(_ref) {
|
|
|
79
54
|
d: "M24 24L16 32 8 24z "
|
|
80
55
|
}));
|
|
81
56
|
}
|
|
82
|
-
|
|
83
57
|
function DefaultSortHeaderCell(_ref2) {
|
|
84
|
-
var _cx;
|
|
85
|
-
|
|
86
58
|
var children = _ref2.children,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
59
|
+
column = _ref2.column,
|
|
60
|
+
onToggle = _ref2.onToggle,
|
|
61
|
+
sortOrder = _ref2.sortOrder,
|
|
62
|
+
sortIndex = _ref2.sortIndex,
|
|
63
|
+
sortOptions = _ref2.sortOptions;
|
|
92
64
|
// 通过 justify-content 来与 col.align 保持对齐方向一致
|
|
93
65
|
var justifyContent = column.align === 'right' ? 'flex-end' : column.align === 'center' ? 'center' : 'flex-start';
|
|
94
66
|
return /*#__PURE__*/_react.default.createElement(TableHeaderCell, {
|
|
@@ -102,10 +74,10 @@ function DefaultSortHeaderCell(_ref2) {
|
|
|
102
74
|
marginLeft: 2,
|
|
103
75
|
flexShrink: 0
|
|
104
76
|
},
|
|
105
|
-
className: (0, _classnames.default)((
|
|
77
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.tableSortIcon, true), "active", sortOrder === 'desc' || sortOrder === 'asc')),
|
|
106
78
|
size: 16,
|
|
107
79
|
order: sortOrder
|
|
108
|
-
}), sortOptions.mode === 'multiple' && sortIndex !== -1 && /*#__PURE__*/_react.default.createElement("div", {
|
|
80
|
+
}), sortOptions.mode === 'multiple' && sortIndex !== -1 && (/*#__PURE__*/_react.default.createElement("div", {
|
|
109
81
|
style: {
|
|
110
82
|
userSelect: 'none',
|
|
111
83
|
marginLeft: 2,
|
|
@@ -114,50 +86,41 @@ function DefaultSortHeaderCell(_ref2) {
|
|
|
114
86
|
fontSize: 10,
|
|
115
87
|
fontFamily: 'monospace'
|
|
116
88
|
}
|
|
117
|
-
}, sortIndex + 1));
|
|
89
|
+
}, sortIndex + 1)));
|
|
118
90
|
}
|
|
119
|
-
|
|
120
91
|
function hasAnySortableColumns(cols) {
|
|
121
92
|
return cols.some(function (col) {
|
|
122
93
|
var _a;
|
|
123
|
-
|
|
124
94
|
return Boolean((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || !(0, _utils.isLeafNode)(col) && hasAnySortableColumns(col.children);
|
|
125
95
|
});
|
|
126
96
|
}
|
|
127
|
-
|
|
128
97
|
var TableHeaderCell = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n display: flex;\n align-items: center;\n // flex: auto;\n"])));
|
|
129
|
-
|
|
130
98
|
var stateKey = 'sort';
|
|
131
|
-
|
|
132
99
|
function sort() {
|
|
133
100
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
134
101
|
return function sortStep(pipeline) {
|
|
135
102
|
var _a, _b, _c;
|
|
136
|
-
|
|
137
103
|
var _opts$orders = opts.orders,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
104
|
+
orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
|
|
105
|
+
_opts$mode = opts.mode,
|
|
106
|
+
mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
|
|
107
|
+
_opts$SortHeaderCell = opts.SortHeaderCell,
|
|
108
|
+
SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
|
|
109
|
+
keepDataSource = opts.keepDataSource,
|
|
110
|
+
highlightColumnWhenActive = opts.highlightColumnWhenActive,
|
|
111
|
+
stopClickEventPropagation = opts.stopClickEventPropagation,
|
|
112
|
+
sortIconHoverShow = opts.sortIconHoverShow;
|
|
147
113
|
var inputSorts = (_c = (_b = (_a = opts.sorts) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultSorts) !== null && _c !== void 0 ? _c : [];
|
|
148
114
|
var activeSorts = (0, _filter.default)(inputSorts).call(inputSorts, function (s) {
|
|
149
115
|
return s.order !== 'none';
|
|
150
|
-
});
|
|
151
|
-
|
|
116
|
+
});
|
|
117
|
+
// 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
|
|
152
118
|
var sorts = mode === 'multiple' ? activeSorts : (0, _slice.default)(activeSorts).call(activeSorts, 0, 1);
|
|
153
|
-
|
|
154
119
|
var onChangeSortsInMultipleMode = function onChangeSortsInMultipleMode(nextSorts, currentSort) {
|
|
155
120
|
var _a;
|
|
156
|
-
|
|
157
121
|
(_a = opts.onChangeSorts) === null || _a === void 0 ? void 0 : _a.call(opts, nextSorts, currentSort);
|
|
158
122
|
pipeline.setStateAtKey(stateKey, nextSorts);
|
|
159
123
|
};
|
|
160
|
-
|
|
161
124
|
var onChangeSorts = mode === 'multiple' ? onChangeSortsInMultipleMode : function (nextSorts, currentSort) {
|
|
162
125
|
// 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效
|
|
163
126
|
var len = nextSorts.length;
|
|
@@ -180,59 +143,46 @@ function sort() {
|
|
|
180
143
|
}));
|
|
181
144
|
var dataSource = pipeline.getDataSource();
|
|
182
145
|
var columns = pipeline.getColumns();
|
|
183
|
-
|
|
184
146
|
if (process.env.NODE_ENV !== 'production') {
|
|
185
147
|
if (!hasAnySortableColumns(columns)) {
|
|
186
148
|
_utils.console.warn('commonTransform.sort 缺少可排序的列,请通过 column.features.sortable 来指定哪些列可排序', columns);
|
|
187
149
|
}
|
|
188
150
|
}
|
|
189
|
-
|
|
190
151
|
pipeline.dataSource(processDataSource(dataSource));
|
|
191
152
|
pipeline.columns(processColumns(columns));
|
|
192
153
|
return pipeline;
|
|
193
|
-
|
|
194
154
|
function processDataSource(dataSource) {
|
|
195
155
|
var _context, _context2;
|
|
196
|
-
|
|
197
156
|
if (keepDataSource) {
|
|
198
157
|
return dataSource;
|
|
199
158
|
}
|
|
200
|
-
|
|
201
159
|
if (sortMap.size === 0) {
|
|
202
160
|
return dataSource;
|
|
203
161
|
}
|
|
204
|
-
|
|
205
162
|
var sortColumnsMap = new _map.default((0, _map2.default)(_context = (0, _filter.default)(_context2 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context2, function (col) {
|
|
206
163
|
var _a, _b;
|
|
207
|
-
|
|
208
164
|
return ((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) !== false && ((_b = col.features) === null || _b === void 0 ? void 0 : _b.sortable) != null;
|
|
209
165
|
})).call(_context, function (col) {
|
|
210
166
|
return [col.code, col];
|
|
211
167
|
}));
|
|
212
168
|
return (0, _utils.layeredSort)(dataSource, function (x, y) {
|
|
213
169
|
var _iterator = _createForOfIteratorHelper(sorts),
|
|
214
|
-
|
|
215
|
-
|
|
170
|
+
_step;
|
|
216
171
|
try {
|
|
217
172
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
218
173
|
var _step$value = _step.value,
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var column = sortColumnsMap.get(code);
|
|
222
|
-
|
|
174
|
+
code = _step$value.code,
|
|
175
|
+
order = _step$value.order;
|
|
176
|
+
var column = sortColumnsMap.get(code);
|
|
177
|
+
// 如果 code 对应的 column 不可排序,我们跳过该 code
|
|
223
178
|
if (column == null) {
|
|
224
179
|
continue;
|
|
225
180
|
}
|
|
226
|
-
|
|
227
181
|
var sortable = column.features.sortable;
|
|
228
182
|
var compareFn = typeof sortable === 'function' ? sortable : _utils.smartCompare;
|
|
229
|
-
|
|
230
183
|
var xValue = _internals.internals.safeGetValue(column, x, -1);
|
|
231
|
-
|
|
232
184
|
var yValue = _internals.internals.safeGetValue(column, y, -1);
|
|
233
|
-
|
|
234
185
|
var cmp = compareFn(xValue, yValue, x, y);
|
|
235
|
-
|
|
236
186
|
if (cmp !== 0) {
|
|
237
187
|
return cmp * (order === 'asc' ? 1 : -1);
|
|
238
188
|
}
|
|
@@ -242,16 +192,13 @@ function sort() {
|
|
|
242
192
|
} finally {
|
|
243
193
|
_iterator.f();
|
|
244
194
|
}
|
|
245
|
-
|
|
246
195
|
return 0;
|
|
247
196
|
});
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
197
|
+
}
|
|
198
|
+
// 在「升序 - 降序 - 不排序」之间不断切换
|
|
251
199
|
function toggle(code) {
|
|
252
200
|
var sort = sortMap.get(code);
|
|
253
201
|
var currentSort;
|
|
254
|
-
|
|
255
202
|
if (sort == null) {
|
|
256
203
|
currentSort = {
|
|
257
204
|
code: code,
|
|
@@ -268,7 +215,6 @@ function sort() {
|
|
|
268
215
|
code: code,
|
|
269
216
|
order: nextOrder
|
|
270
217
|
};
|
|
271
|
-
|
|
272
218
|
if (nextOrder === 'none') {
|
|
273
219
|
nextSorts.pop();
|
|
274
220
|
} else {
|
|
@@ -276,43 +222,33 @@ function sort() {
|
|
|
276
222
|
order: nextOrder
|
|
277
223
|
});
|
|
278
224
|
}
|
|
279
|
-
|
|
280
225
|
onChangeSorts(nextSorts, currentSort);
|
|
281
226
|
}
|
|
282
227
|
}
|
|
283
|
-
|
|
284
228
|
function processColumns(columns) {
|
|
285
229
|
return (0, _map2.default)(columns).call(columns, dfs);
|
|
286
|
-
|
|
287
230
|
function dfs(col) {
|
|
288
231
|
var _a;
|
|
289
|
-
|
|
290
232
|
var result = (0, _extends2.default)({}, col);
|
|
291
233
|
var sortable = col.code && (((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || sortMap.has(col.code));
|
|
292
234
|
var active = sortable && sortMap.has(col.code);
|
|
293
|
-
|
|
294
235
|
if (sortable) {
|
|
295
236
|
var sortIndex = -1;
|
|
296
237
|
var sortOrder = 'none';
|
|
297
|
-
|
|
298
238
|
if (active) {
|
|
299
239
|
var _sortMap$get = sortMap.get(col.code),
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
240
|
+
order = _sortMap$get.order,
|
|
241
|
+
index = _sortMap$get.index;
|
|
303
242
|
sortOrder = order;
|
|
304
243
|
sortIndex = index;
|
|
305
|
-
|
|
306
244
|
if (highlightColumnWhenActive) {
|
|
307
245
|
result.headerCellProps = (0, _utils.mergeCellProps)(col.headerCellProps, {
|
|
308
246
|
style: {
|
|
309
247
|
background: 'var(--header-highlight-bgcolor)'
|
|
310
248
|
}
|
|
311
249
|
});
|
|
312
|
-
|
|
313
250
|
result.getCellProps = function (value, row, rowIndex) {
|
|
314
251
|
var prevCellProps = _internals.internals.safeGetCellProps(col, row, rowIndex);
|
|
315
|
-
|
|
316
252
|
return (0, _utils.mergeCellProps)(prevCellProps, {
|
|
317
253
|
style: {
|
|
318
254
|
background: 'var(--highlight-bgcolor)'
|
|
@@ -321,13 +257,11 @@ function sort() {
|
|
|
321
257
|
};
|
|
322
258
|
}
|
|
323
259
|
}
|
|
324
|
-
|
|
325
260
|
var sortNode = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
|
|
326
261
|
onToggle: function onToggle(e) {
|
|
327
262
|
if (stopClickEventPropagation) {
|
|
328
263
|
e.stopPropagation();
|
|
329
264
|
}
|
|
330
|
-
|
|
331
265
|
toggle(col.code);
|
|
332
266
|
},
|
|
333
267
|
sortOrder: sortOrder,
|
|
@@ -337,22 +271,19 @@ function sort() {
|
|
|
337
271
|
}, _internals.internals.safeRenderHeader((0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
338
272
|
title: col.title && col.title[0] ? col.title[0] : col.title
|
|
339
273
|
})));
|
|
340
|
-
|
|
341
274
|
var _sortNodeWithoutTitle = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
|
|
342
275
|
onToggle: function onToggle(e) {
|
|
343
276
|
if (stopClickEventPropagation) {
|
|
344
277
|
e.stopPropagation();
|
|
345
278
|
}
|
|
346
|
-
|
|
347
279
|
toggle(col.code);
|
|
348
280
|
},
|
|
349
281
|
sortOrder: sortOrder,
|
|
350
282
|
column: col,
|
|
351
283
|
sortIndex: sortIndex,
|
|
352
284
|
sortOptions: sortOptions
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
|
|
285
|
+
});
|
|
286
|
+
// 开启标题行高自适应后,修改表头的渲染结构
|
|
356
287
|
if (col.renderHeader) {
|
|
357
288
|
result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
|
|
358
289
|
} else {
|
|
@@ -363,17 +294,13 @@ function sort() {
|
|
|
363
294
|
}
|
|
364
295
|
}
|
|
365
296
|
}
|
|
366
|
-
|
|
367
297
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
368
298
|
var _context3;
|
|
369
|
-
|
|
370
299
|
result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
|
|
371
300
|
}
|
|
372
|
-
|
|
373
301
|
return result;
|
|
374
302
|
}
|
|
375
303
|
}
|
|
376
|
-
|
|
377
304
|
function getNextOrder(order) {
|
|
378
305
|
var idx = orders.indexOf(order);
|
|
379
306
|
return orders[idx === orders.length - 1 ? 0 : idx + 1];
|
|
@@ -1,53 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.tips = tips;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
-
|
|
18
12
|
var _commonViews = require("../../common-views");
|
|
19
|
-
|
|
20
13
|
var _internals = require("../../internals");
|
|
21
|
-
|
|
22
14
|
var _utils = require("../../utils");
|
|
23
|
-
|
|
24
15
|
var _templateObject;
|
|
25
|
-
|
|
26
16
|
var HeaderCellWithTips = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n\n .tip-icon-wrapper {\n margin-left: 2px;\n }\n\n .tip-icon {\n display: flex;\n fill: currentColor;\n }\n"])));
|
|
27
|
-
|
|
28
17
|
function tips() {
|
|
29
18
|
return function tipsSteap(pipeline) {
|
|
30
19
|
var Balloon = pipeline.ctx.components.Balloon;
|
|
31
20
|
var Tooltip = pipeline.ctx.components.Tooltip;
|
|
32
|
-
|
|
33
21
|
if (Balloon == null && Tooltip == null) {
|
|
34
22
|
throw new Error('使用 tips 之前需要通过 pipeline context 设置 components.Balloon / components.Tooltip');
|
|
35
23
|
}
|
|
36
|
-
|
|
37
24
|
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
|
|
38
25
|
var _a;
|
|
39
|
-
|
|
40
26
|
if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.tips)) {
|
|
41
27
|
return col;
|
|
42
28
|
}
|
|
43
|
-
|
|
44
29
|
var justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start';
|
|
45
30
|
return (0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
46
|
-
title: /*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
|
|
31
|
+
title: (/*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
|
|
47
32
|
style: {
|
|
48
33
|
justifyContent: justifyContent
|
|
49
34
|
}
|
|
50
|
-
}, _internals.internals.safeRenderHeader(col), Balloon ?
|
|
35
|
+
}, _internals.internals.safeRenderHeader(col), Balloon ? (
|
|
51
36
|
/*#__PURE__*/
|
|
52
37
|
// fusion/hippo
|
|
53
38
|
_react.default.createElement(Balloon, {
|
|
@@ -57,7 +42,7 @@ function tips() {
|
|
|
57
42
|
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
|
|
58
43
|
className: "tip-icon"
|
|
59
44
|
}))
|
|
60
|
-
}, col.features.tips) :
|
|
45
|
+
}, col.features.tips)) : (
|
|
61
46
|
/*#__PURE__*/
|
|
62
47
|
// antd
|
|
63
48
|
_react.default.createElement(Tooltip, {
|
|
@@ -66,7 +51,7 @@ function tips() {
|
|
|
66
51
|
className: "tip-icon-wrapper"
|
|
67
52
|
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
|
|
68
53
|
className: "tip-icon"
|
|
69
|
-
}))))
|
|
54
|
+
}))))))
|
|
70
55
|
});
|
|
71
56
|
}));
|
|
72
57
|
};
|