@kdcloudjs/table 1.2.0-canary.16 → 1.2.0-canary.16-hotfix
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/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +2047 -3489
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +16 -16
- 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 +35 -96
- package/es/_utils/hooks.js +18 -42
- 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 +74 -137
- 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 +5 -43
- package/es/table/base/calculations.js +22 -72
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +4 -4
- package/es/table/base/header.js +14 -67
- package/es/table/base/helpers/SpanManager.js +3 -9
- package/es/table/base/helpers/TableDOMUtils.js +4 -27
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +14 -35
- package/es/table/base/loading.js +6 -8
- package/es/table/base/renderTemplates.js +26 -44
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +95 -181
- package/es/table/base/utils.js +14 -54
- package/es/table/common-views.js +0 -7
- 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.d.ts +1 -0
- package/es/table/pipeline/features/columnDrag.js +236 -303
- package/es/table/pipeline/features/columnFilter.js +11 -48
- 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 +51 -42
- package/es/table/pipeline/features/contextMenu.js +18 -89
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +25 -48
- 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 +63 -142
- package/es/table/pipeline/features/rowDetail.js +2 -41
- package/es/table/pipeline/features/rowDrag.js +36 -71
- package/es/table/pipeline/features/rowGrouping.js +2 -35
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +31 -83
- package/es/table/pipeline/features/tips.js +0 -6
- package/es/table/pipeline/features/treeMode.js +9 -44
- package/es/table/pipeline/features/treeSelect.js +0 -26
- package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
- package/es/table/pipeline/pipeline.js +11 -51
- package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
- package/es/table/pivot/cross-table/cross-table.js +22 -28
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +31 -71
- package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +10 -32
- 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 +15 -37
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +36 -88
- package/es/table/transforms/tips.js +1 -6
- package/es/table/transforms/treeMode.js +30 -69
- 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/buildTree.js +4 -19
- package/es/table/utils/collectNodes.js +1 -10
- 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 +4 -40
- package/es/table/utils/getTreeDepth.js +1 -9
- package/es/table/utils/groupBy.js +1 -10
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +1 -12
- package/es/table/utils/mergeCellProps.js +6 -13
- package/es/table/utils/others.js +3 -16
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +2 -15
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
- package/lib/_utils/arrayUtil.js +0 -5
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +35 -100
- package/lib/_utils/hooks.js +18 -53
- package/lib/_utils/index.js +0 -6
- 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 +0 -6
- package/lib/_utils/usePopper.js +74 -158
- package/lib/config-provider/ConfigContext.js +1 -4
- package/lib/config-provider/compDefaultProps.js +0 -1
- package/lib/config-provider/configProvider.js +3 -18
- package/lib/config-provider/defaultConfig.js +0 -5
- package/lib/config-provider/index.js +0 -6
- package/lib/index.js +2 -8
- package/lib/locale/index.js +0 -7
- package/lib/locale/locale.js +5 -57
- package/lib/table/base/calculations.js +22 -83
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +4 -16
- package/lib/table/base/header.js +14 -77
- package/lib/table/base/helpers/SpanManager.js +3 -11
- package/lib/table/base/helpers/TableDOMUtils.js +2 -27
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +14 -45
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +6 -12
- package/lib/table/base/renderTemplates.js +27 -58
- package/lib/table/base/styles.js +0 -21
- package/lib/table/base/table.js +95 -214
- package/lib/table/base/utils.js +14 -89
- package/lib/table/common-views.js +0 -16
- package/lib/table/index.js +0 -13
- package/lib/table/internals.js +0 -14
- package/lib/table/pipeline/features/autoFill.js +11 -47
- 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 +4 -32
- package/lib/table/pipeline/features/columnDrag.d.ts +1 -0
- package/lib/table/pipeline/features/columnDrag.js +236 -309
- package/lib/table/pipeline/features/columnFilter.js +11 -62
- 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 +51 -58
- package/lib/table/pipeline/features/contextMenu.js +18 -113
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +25 -70
- package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +0 -7
- package/lib/table/pipeline/features/footerDataSource.js +0 -10
- 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 +63 -159
- package/lib/table/pipeline/features/rowDetail.js +2 -65
- package/lib/table/pipeline/features/rowDrag.js +36 -81
- package/lib/table/pipeline/features/rowGrouping.js +2 -55
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +31 -103
- package/lib/table/pipeline/features/tips.js +0 -15
- package/lib/table/pipeline/features/treeMode.js +9 -65
- package/lib/table/pipeline/features/treeSelect.js +0 -34
- package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
- package/lib/table/pipeline/index.js +0 -8
- package/lib/table/pipeline/pipeline.js +11 -60
- package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
- package/lib/table/pivot/cross-table/cross-table.js +22 -36
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
- 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 +31 -82
- package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
- 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 +10 -53
- 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 +15 -56
- 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.js +36 -112
- package/lib/table/transforms/tips.js +1 -16
- package/lib/table/transforms/treeMode.js +30 -96
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +1 -8
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/buildTree.js +4 -30
- package/lib/table/utils/collectNodes.js +1 -15
- package/lib/table/utils/console.js +0 -16
- package/lib/table/utils/copyToClipboard.js +0 -6
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +4 -49
- package/lib/table/utils/getTreeDepth.js +1 -14
- package/lib/table/utils/groupBy.js +1 -14
- package/lib/table/utils/index.js +0 -21
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +1 -21
- package/lib/table/utils/mergeCellProps.js +6 -17
- package/lib/table/utils/others.js +3 -31
- package/lib/table/utils/proto.js +2 -33
- package/lib/table/utils/selectColumn.js +0 -1
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +2 -22
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
- package/package.json +2 -1
|
@@ -4,32 +4,24 @@ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instan
|
|
|
4
4
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
5
5
|
import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
6
6
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
7
|
-
|
|
8
7
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
9
|
-
|
|
10
8
|
function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); }
|
|
11
|
-
|
|
12
9
|
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; }
|
|
13
|
-
|
|
14
10
|
import isLeafNode from './isLeafNode';
|
|
15
11
|
export default function makeRecursiveMapper(fn) {
|
|
16
12
|
return function (tree) {
|
|
17
13
|
return dfs(tree, 0, []).result;
|
|
18
|
-
|
|
19
14
|
function dfs(nodes, parentStartIndex, path) {
|
|
20
15
|
var flatCount = 0;
|
|
21
16
|
var result = [];
|
|
22
|
-
|
|
23
17
|
var _iterator = _createForOfIteratorHelper(nodes),
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
_step;
|
|
26
19
|
try {
|
|
27
20
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
28
21
|
var node = _step.value;
|
|
29
22
|
path.push(node);
|
|
30
23
|
var startIndex = parentStartIndex + flatCount;
|
|
31
24
|
var subResult = void 0;
|
|
32
|
-
|
|
33
25
|
if (isLeafNode(node)) {
|
|
34
26
|
subResult = fn(node, {
|
|
35
27
|
// parentStartIndex,
|
|
@@ -51,13 +43,11 @@ export default function makeRecursiveMapper(fn) {
|
|
|
51
43
|
});
|
|
52
44
|
flatCount += dfsResult.flatCount;
|
|
53
45
|
}
|
|
54
|
-
|
|
55
46
|
if (Array.isArray(subResult)) {
|
|
56
47
|
result.push.apply(result, _toConsumableArray(subResult));
|
|
57
48
|
} else if (subResult != null) {
|
|
58
49
|
result.push(subResult);
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
path.pop();
|
|
62
52
|
}
|
|
63
53
|
} catch (err) {
|
|
@@ -65,7 +55,6 @@ export default function makeRecursiveMapper(fn) {
|
|
|
65
55
|
} finally {
|
|
66
56
|
_iterator.f();
|
|
67
57
|
}
|
|
68
|
-
|
|
69
58
|
return {
|
|
70
59
|
result: result,
|
|
71
60
|
flatCount: flatCount
|
|
@@ -2,12 +2,12 @@ import _typeof from "@babel/runtime-corejs3/helpers/typeof";
|
|
|
2
2
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
3
3
|
import _Object$keys2 from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
|
4
4
|
import cx from 'classnames';
|
|
5
|
-
|
|
6
5
|
function composeEventHandler(handler1, handler2) {
|
|
7
6
|
return function () {
|
|
8
7
|
// 先执行原有的事件回调函数
|
|
9
8
|
handler1.apply(void 0, arguments);
|
|
10
|
-
handler2.apply(void 0, arguments);
|
|
9
|
+
handler2.apply(void 0, arguments);
|
|
10
|
+
// 事件回调函数没有返回值,故这里不进行 return
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
/** 合并两个 cellProps(单元格属性)对象,返回一个合并后的全新对象。
|
|
@@ -16,29 +16,23 @@ function composeEventHandler(handler1, handler2) {
|
|
|
16
16
|
* * 对于 数字、字符串、布尔值类型的字段,extra 中的字段值将直接覆盖 base 中的字段值(className 是个特例,会进行字符串拼接)
|
|
17
17
|
* * 对于函数/方法类型的字段(对应单元格的事件回调函数),mergeCellProps 将生成一个新的函数,新函数将按序调用 base 和 extra 中的方法
|
|
18
18
|
* * 对于普通对象类型的字段(对应单元格的样式),mergeCellProps 将合并两个对象 */
|
|
19
|
-
|
|
20
|
-
|
|
21
19
|
export default function mergeCellProps(base, extra) {
|
|
22
20
|
if (base == null) {
|
|
23
21
|
return extra;
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
if (extra == null) {
|
|
27
24
|
return base;
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
var result = _extends({}, base);
|
|
31
|
-
|
|
32
27
|
for (var _i = 0, _Object$keys = _Object$keys2(extra); _i < _Object$keys.length; _i++) {
|
|
33
28
|
var key = _Object$keys[_i];
|
|
34
29
|
var value = extra[key];
|
|
35
|
-
|
|
36
30
|
var type = _typeof(value);
|
|
37
|
-
|
|
38
31
|
if (value === null) {
|
|
39
32
|
// value=null 时 覆盖原来的值
|
|
40
33
|
result[key] = null;
|
|
41
|
-
} else if (value === undefined) {
|
|
34
|
+
} else if (value === undefined) {
|
|
35
|
+
// value=undefined 时 保留原来的值
|
|
42
36
|
} else if (type === 'number' || type === 'string' || type === 'boolean') {
|
|
43
37
|
if (key === 'className') {
|
|
44
38
|
result[key] = cx(result[key], value);
|
|
@@ -47,7 +41,6 @@ export default function mergeCellProps(base, extra) {
|
|
|
47
41
|
}
|
|
48
42
|
} else if (type === 'function') {
|
|
49
43
|
var prev = result[key];
|
|
50
|
-
|
|
51
44
|
if (prev == null) {
|
|
52
45
|
result[key] = value;
|
|
53
46
|
} else {
|
|
@@ -55,8 +48,8 @@ export default function mergeCellProps(base, extra) {
|
|
|
55
48
|
}
|
|
56
49
|
} else if (type === 'object') {
|
|
57
50
|
result[key] = _extends({}, result[key], value);
|
|
58
|
-
}
|
|
59
|
-
|
|
51
|
+
}
|
|
52
|
+
// else `type` is 'bigint' or 'symbol', `value` is an invalid cellProp, ignore it
|
|
60
53
|
}
|
|
61
54
|
|
|
62
55
|
return result;
|
package/es/table/utils/others.js
CHANGED
|
@@ -8,13 +8,9 @@ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
|
8
8
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
9
9
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
10
10
|
import _spliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/splice";
|
|
11
|
-
|
|
12
11
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
13
|
-
|
|
14
12
|
function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context2 = Object.prototype.toString.call(o)).call(_context2, 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); }
|
|
15
|
-
|
|
16
13
|
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; }
|
|
17
|
-
|
|
18
14
|
export function flatMap(array, callback) {
|
|
19
15
|
var result = [];
|
|
20
16
|
array.forEach(function (value, index) {
|
|
@@ -24,16 +20,13 @@ export function flatMap(array, callback) {
|
|
|
24
20
|
}
|
|
25
21
|
export function fromEntries(entries) {
|
|
26
22
|
var result = {};
|
|
27
|
-
|
|
28
23
|
var _iterator = _createForOfIteratorHelper(entries),
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
_step;
|
|
31
25
|
try {
|
|
32
26
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
33
27
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
key = _step$value[0],
|
|
29
|
+
value = _step$value[1];
|
|
37
30
|
result[key] = value;
|
|
38
31
|
}
|
|
39
32
|
} catch (err) {
|
|
@@ -41,7 +34,6 @@ export function fromEntries(entries) {
|
|
|
41
34
|
} finally {
|
|
42
35
|
_iterator.f();
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
return result;
|
|
46
38
|
}
|
|
47
39
|
export var arrayUtils = {
|
|
@@ -67,20 +59,15 @@ export function findByTree(array, condition) {
|
|
|
67
59
|
var index = 0;
|
|
68
60
|
var len = array.length;
|
|
69
61
|
var stack = [];
|
|
70
|
-
|
|
71
62
|
while (index < len || stack.length) {
|
|
72
63
|
var item = array[index++] || stack.pop();
|
|
73
|
-
|
|
74
64
|
if (condition(item, index)) {
|
|
75
65
|
return item;
|
|
76
66
|
}
|
|
77
|
-
|
|
78
67
|
if (item.children) {
|
|
79
68
|
var _context;
|
|
80
|
-
|
|
81
69
|
_spliceInstanceProperty(stack).apply(stack, _concatInstanceProperty(_context = [0, 0]).call(_context, _toConsumableArray(item.children)));
|
|
82
70
|
}
|
|
83
71
|
}
|
|
84
|
-
|
|
85
72
|
return null;
|
|
86
73
|
}
|
package/es/table/utils/proto.js
CHANGED
|
@@ -2,31 +2,22 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
|
2
2
|
import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
3
3
|
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
|
4
4
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
5
|
-
|
|
6
5
|
var factorySymbol = _Symbol('factory-symbol');
|
|
7
|
-
|
|
8
6
|
function isProtoFactory(v) {
|
|
9
7
|
return v && v[factorySymbol];
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
function proto(baseRecord) {
|
|
13
10
|
var ensureArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto';
|
|
14
|
-
|
|
15
11
|
var baseKeys = _Object$keys(baseRecord);
|
|
16
|
-
|
|
17
12
|
function process(record) {
|
|
18
13
|
var result = _extends({}, record);
|
|
19
|
-
|
|
20
14
|
baseKeys.forEach(function (key) {
|
|
21
15
|
var _a;
|
|
22
|
-
|
|
23
16
|
if (result[key] === proto.empty) {
|
|
24
17
|
delete result[key];
|
|
25
18
|
return;
|
|
26
19
|
}
|
|
27
|
-
|
|
28
20
|
var base = baseRecord[key];
|
|
29
|
-
|
|
30
21
|
if (isProtoFactory(base)) {
|
|
31
22
|
result[key] = base(result[key]);
|
|
32
23
|
} else {
|
|
@@ -35,72 +26,53 @@ function proto(baseRecord) {
|
|
|
35
26
|
});
|
|
36
27
|
return result;
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
function factory(arg) {
|
|
40
30
|
var isEnsureArray = ensureArray === 'auto' ? Array.isArray(arg) : ensureArray;
|
|
41
|
-
|
|
42
31
|
if (isEnsureArray) {
|
|
43
32
|
if (arg == null) {
|
|
44
33
|
return [];
|
|
45
34
|
}
|
|
46
|
-
|
|
47
35
|
return _mapInstanceProperty(arg).call(arg, process);
|
|
48
36
|
} else {
|
|
49
37
|
return process(arg);
|
|
50
38
|
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
}
|
|
40
|
+
// @ts-ignore
|
|
54
41
|
factory[factorySymbol] = true;
|
|
55
|
-
|
|
56
42
|
factory.extends = function (extRecord) {
|
|
57
43
|
var extFactory = proto(extRecord, ensureArray);
|
|
58
44
|
return function (arg) {
|
|
59
45
|
return factory(extFactory(arg));
|
|
60
46
|
};
|
|
61
47
|
};
|
|
62
|
-
|
|
63
48
|
return factory;
|
|
64
49
|
}
|
|
65
|
-
|
|
66
50
|
proto.empty = _Symbol('proto.empty');
|
|
67
|
-
|
|
68
51
|
proto.string = function (v) {
|
|
69
52
|
if (v != null && typeof v !== 'string') {
|
|
70
53
|
throw new Error('must be string');
|
|
71
54
|
}
|
|
72
|
-
|
|
73
55
|
return v;
|
|
74
56
|
};
|
|
75
|
-
|
|
76
57
|
proto.string[factorySymbol] = true;
|
|
77
|
-
|
|
78
58
|
proto.number = function (v) {
|
|
79
59
|
if (v != null && typeof v !== 'number') {
|
|
80
60
|
throw new Error('must be number');
|
|
81
61
|
}
|
|
82
|
-
|
|
83
62
|
return v;
|
|
84
63
|
};
|
|
85
|
-
|
|
86
64
|
proto.number[factorySymbol] = true;
|
|
87
|
-
|
|
88
65
|
proto.notNull = function (v) {
|
|
89
66
|
if (v == null) {
|
|
90
67
|
throw new Error('must be not null');
|
|
91
68
|
}
|
|
92
|
-
|
|
93
69
|
return v;
|
|
94
70
|
};
|
|
95
|
-
|
|
96
71
|
proto.notNull[factorySymbol] = true;
|
|
97
|
-
|
|
98
72
|
proto.object = function (baseRecord) {
|
|
99
73
|
return proto(baseRecord, false);
|
|
100
74
|
};
|
|
101
|
-
|
|
102
75
|
proto.array = function (baseRecord) {
|
|
103
76
|
return proto(baseRecord, true);
|
|
104
77
|
};
|
|
105
|
-
|
|
106
78
|
export default proto;
|
|
@@ -11,15 +11,12 @@ export default function smartCompare(x, y) {
|
|
|
11
11
|
if (x == null) {
|
|
12
12
|
return 1;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
14
|
if (y == null) {
|
|
16
15
|
return -1;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
if (typeof x === 'number' && typeof y === 'number') {
|
|
20
18
|
return x - y;
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
if (typeof x === 'string' && typeof y === 'string') {
|
|
24
21
|
// 字符串使用 默认的字典序
|
|
25
22
|
if (x < y) {
|
|
@@ -30,22 +27,17 @@ export default function smartCompare(x, y) {
|
|
|
30
27
|
return 0;
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
if (Array.isArray(x) && Array.isArray(y)) {
|
|
35
31
|
var len = Math.min(x.length, y.length);
|
|
36
|
-
|
|
37
32
|
for (var i = 0; i < len; i++) {
|
|
38
33
|
var cmp = smartCompare(x[i], y[i]);
|
|
39
|
-
|
|
40
34
|
if (cmp !== 0) {
|
|
41
35
|
return cmp;
|
|
42
36
|
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
}
|
|
38
|
+
// 数组长度不等时,元素少的字段放在前面
|
|
46
39
|
return x.length - y.length;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
}
|
|
41
|
+
// 对于不认识的数据类型,返回 0
|
|
50
42
|
return 0;
|
|
51
43
|
}
|
|
@@ -4,15 +4,10 @@ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
|
4
4
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
5
5
|
import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
|
|
6
6
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
7
|
-
|
|
8
7
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
9
|
-
|
|
10
8
|
function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); }
|
|
11
|
-
|
|
12
9
|
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; }
|
|
13
|
-
|
|
14
10
|
import isLeafNode from './isLeafNode';
|
|
15
|
-
|
|
16
11
|
function normalizeAsArray(input) {
|
|
17
12
|
if (input == null) {
|
|
18
13
|
return [];
|
|
@@ -23,30 +18,24 @@ function normalizeAsArray(input) {
|
|
|
23
18
|
}
|
|
24
19
|
}
|
|
25
20
|
/** @deprecated 该 API 已经过时,请使用 makeRecursiveMapper */
|
|
26
|
-
|
|
27
|
-
|
|
28
21
|
export default function traverseColumn(fn) {
|
|
29
22
|
return function (_ref) {
|
|
30
23
|
var columns = _ref.columns,
|
|
31
|
-
|
|
24
|
+
dataSource = _ref.dataSource;
|
|
32
25
|
return {
|
|
33
26
|
dataSource: dataSource,
|
|
34
27
|
columns: dfs(columns, 0).result
|
|
35
28
|
};
|
|
36
|
-
|
|
37
29
|
function dfs(columns, parentStartColIndex) {
|
|
38
30
|
var flatColCount = 0;
|
|
39
31
|
var result = [];
|
|
40
|
-
|
|
41
32
|
var _iterator = _createForOfIteratorHelper(columns),
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
_step;
|
|
44
34
|
try {
|
|
45
35
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
46
36
|
var col = _step.value;
|
|
47
37
|
var startColIndex = parentStartColIndex + flatColCount;
|
|
48
38
|
var unNormalized = void 0;
|
|
49
|
-
|
|
50
39
|
if (isLeafNode(col)) {
|
|
51
40
|
unNormalized = fn(col, {
|
|
52
41
|
range: {
|
|
@@ -69,7 +58,6 @@ export default function traverseColumn(fn) {
|
|
|
69
58
|
});
|
|
70
59
|
flatColCount += dfsResult.flatColCount;
|
|
71
60
|
}
|
|
72
|
-
|
|
73
61
|
result.push.apply(result, _toConsumableArray(normalizeAsArray(unNormalized)));
|
|
74
62
|
}
|
|
75
63
|
} catch (err) {
|
|
@@ -77,7 +65,6 @@ export default function traverseColumn(fn) {
|
|
|
77
65
|
} finally {
|
|
78
66
|
_iterator.f();
|
|
79
67
|
}
|
|
80
|
-
|
|
81
68
|
return {
|
|
82
69
|
result: result,
|
|
83
70
|
flatColCount: flatColCount
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
2
|
import _createClass from "@babel/runtime-corejs3/helpers/createClass";
|
|
3
3
|
import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck";
|
|
4
|
-
|
|
5
4
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
6
|
-
|
|
7
5
|
function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); }
|
|
8
|
-
|
|
9
6
|
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; }
|
|
10
|
-
|
|
11
7
|
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
12
8
|
import _Map from "@babel/runtime-corejs3/core-js-stable/map";
|
|
13
9
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
@@ -16,38 +12,30 @@ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
|
16
12
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
17
13
|
import isLeafNode from '../isLeafNode';
|
|
18
14
|
import { arrayUtils } from '../others';
|
|
19
|
-
|
|
20
15
|
var Wrapper = /*#__PURE__*/_createClass(function Wrapper(input) {
|
|
21
16
|
_classCallCheck(this, Wrapper);
|
|
22
|
-
|
|
23
17
|
_extends(this, input);
|
|
24
18
|
});
|
|
25
|
-
|
|
26
19
|
var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
27
20
|
function StrictTreeDataHelper(opts) {
|
|
28
21
|
_classCallCheck(this, StrictTreeDataHelper);
|
|
29
|
-
|
|
30
22
|
this.opts = opts;
|
|
31
23
|
this.valueSet = new _Set(opts.value);
|
|
32
24
|
this.initWrapperTree();
|
|
33
25
|
}
|
|
34
|
-
|
|
35
26
|
_createClass(StrictTreeDataHelper, [{
|
|
36
27
|
key: "initWrapperTree",
|
|
37
28
|
value: function initWrapperTree() {
|
|
38
29
|
var _this = this;
|
|
39
|
-
|
|
40
30
|
var getNodeValue = this.opts.getNodeValue;
|
|
41
31
|
this.rootWrapper = new Wrapper({
|
|
42
32
|
root: true,
|
|
43
33
|
children: []
|
|
44
34
|
});
|
|
45
35
|
this.wrapperMap = new _Map();
|
|
46
|
-
|
|
47
36
|
var dfs = function dfs(parentWrapper, nodes) {
|
|
48
37
|
var _iterator = _createForOfIteratorHelper(nodes),
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
_step;
|
|
51
39
|
try {
|
|
52
40
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
53
41
|
var node = _step.value;
|
|
@@ -56,11 +44,8 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
56
44
|
node: node,
|
|
57
45
|
checked: _this.valueSet.has(getNodeValue(node))
|
|
58
46
|
});
|
|
59
|
-
|
|
60
47
|
_this.wrapperMap.set(getNodeValue(node), wrapper);
|
|
61
|
-
|
|
62
48
|
parentWrapper.children.push(wrapper);
|
|
63
|
-
|
|
64
49
|
if (!isLeafNode(node)) {
|
|
65
50
|
wrapper.children = [];
|
|
66
51
|
dfs(wrapper, node.children);
|
|
@@ -72,7 +57,6 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
72
57
|
_iterator.f();
|
|
73
58
|
}
|
|
74
59
|
};
|
|
75
|
-
|
|
76
60
|
dfs(this.rootWrapper, this.opts.tree);
|
|
77
61
|
}
|
|
78
62
|
}, {
|
|
@@ -96,7 +80,6 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
96
80
|
if (!this.isChecked(nodeValue)) {
|
|
97
81
|
return arrayUtils.merge(this.value, [nodeValue]);
|
|
98
82
|
}
|
|
99
|
-
|
|
100
83
|
return this.value;
|
|
101
84
|
}
|
|
102
85
|
}, {
|
|
@@ -105,7 +88,6 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
105
88
|
if (this.isChecked(nodeValue)) {
|
|
106
89
|
return arrayUtils.diff(this.value, [nodeValue]);
|
|
107
90
|
}
|
|
108
|
-
|
|
109
91
|
return this.value;
|
|
110
92
|
}
|
|
111
93
|
}, {
|
|
@@ -121,7 +103,6 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
121
103
|
key: "getNode",
|
|
122
104
|
value: function getNode(nodeValue) {
|
|
123
105
|
var _a;
|
|
124
|
-
|
|
125
106
|
return (_a = this.wrapperMap.get(nodeValue)) === null || _a === void 0 ? void 0 : _a.node;
|
|
126
107
|
}
|
|
127
108
|
}, {
|
|
@@ -130,8 +111,6 @@ var StrictTreeDataHelper = /*#__PURE__*/function () {
|
|
|
130
111
|
return this.value;
|
|
131
112
|
}
|
|
132
113
|
}]);
|
|
133
|
-
|
|
134
114
|
return StrictTreeDataHelper;
|
|
135
115
|
}();
|
|
136
|
-
|
|
137
116
|
export { StrictTreeDataHelper as default };
|