@kdcloudjs/table 1.2.0-canary.17 → 1.2.0-canary.17-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/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +4565 -5707
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- 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 +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 +9 -48
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- 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 +19 -74
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +5 -30
- 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 +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +41 -59
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +108 -197
- package/es/table/base/utils.js +17 -57
- 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.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 +18 -91
- 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 +26 -50
- 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 +74 -154
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.js +37 -75
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- 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-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +35 -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/style/index.less +1 -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.js +42 -96
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- 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 +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 +4 -12
- 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 +5 -27
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- 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 +79 -166
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -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 +3 -11
- package/lib/locale/locale.js +13 -69
- package/lib/locale/zh-CN.js +1 -2
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/header.js +19 -84
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +5 -33
- 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 +13 -64
- 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 -75
- package/lib/table/base/styles.js +9 -37
- package/lib/table/base/table.js +120 -241
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- 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 +18 -63
- package/lib/table/pipeline/features/contextMenu.js +20 -117
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +29 -76
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -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 +76 -175
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.js +39 -89
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- 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 +2 -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-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +36 -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/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +15 -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 +20 -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.js +44 -122
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- 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 +2 -3
- 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 +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- 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/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 +7 -38
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/package.json +219 -218
|
@@ -10,35 +10,25 @@ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instan
|
|
|
10
10
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
11
11
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
12
12
|
import _Map from "@babel/runtime-corejs3/core-js-stable/map";
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
function _unsupportedIterableToArray(o, minLen) { var _context10; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context10 = Object.prototype.toString.call(o)).call(_context10, 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); }
|
|
17
|
-
|
|
18
|
-
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; }
|
|
19
|
-
|
|
13
|
+
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; } } }; }
|
|
14
|
+
function _unsupportedIterableToArray(r, a) { if (r) { var _context10; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context10 = {}.toString.call(r)).call(_context10, 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; } }
|
|
15
|
+
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; }
|
|
20
16
|
import { collectNodes, isLeafNode, console } from '../utils';
|
|
21
17
|
import { AUTO_VIRTUAL_THRESHOLD, OVERSCAN_SIZE, sum } from './utils';
|
|
22
|
-
|
|
23
18
|
function resolveVirtualEnabled(virtualEnum, defaultValue) {
|
|
24
19
|
if (virtualEnum == null || virtualEnum === 'auto') {
|
|
25
20
|
return defaultValue;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
return virtualEnum;
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
var lockColumnNeedSpecifiedWidthWarned = false;
|
|
32
|
-
|
|
33
25
|
function warnLockColumnNeedSpecifiedWidth(column) {
|
|
34
26
|
if (!lockColumnNeedSpecifiedWidthWarned) {
|
|
35
27
|
lockColumnNeedSpecifiedWidthWarned = true;
|
|
36
28
|
console.warn('lock=true 的列需要指定宽度', column);
|
|
37
29
|
}
|
|
38
30
|
}
|
|
39
|
-
|
|
40
31
|
var columnHiddenDeprecatedWarned = false;
|
|
41
|
-
|
|
42
32
|
function warnColumnHiddenDeprecated(column) {
|
|
43
33
|
if (!columnHiddenDeprecatedWarned) {
|
|
44
34
|
columnHiddenDeprecatedWarned = true;
|
|
@@ -46,24 +36,18 @@ function warnColumnHiddenDeprecated(column) {
|
|
|
46
36
|
}
|
|
47
37
|
}
|
|
48
38
|
/** 检查列配置 & 设置默认宽度 & 剔除隐藏的列 */
|
|
49
|
-
|
|
50
|
-
|
|
51
39
|
function processColumns(columns, defaultColumnWidth) {
|
|
52
40
|
if (columns == null || !Array.isArray(columns)) {
|
|
53
41
|
console.warn('<BaseTable /> props.columns 需要传入一个数组', columns);
|
|
54
42
|
columns = [];
|
|
55
43
|
}
|
|
56
|
-
|
|
57
44
|
function dfs(columns) {
|
|
58
45
|
var result = [];
|
|
59
|
-
|
|
60
46
|
var _iterator = _createForOfIteratorHelper(columns),
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
_step;
|
|
63
48
|
try {
|
|
64
49
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
65
50
|
var column = _step.value;
|
|
66
|
-
|
|
67
51
|
if (column.width == null) {
|
|
68
52
|
if (defaultColumnWidth != null) {
|
|
69
53
|
column = _extends(_extends({}, column), {
|
|
@@ -73,7 +57,6 @@ function processColumns(columns, defaultColumnWidth) {
|
|
|
73
57
|
warnLockColumnNeedSpecifiedWidth(column);
|
|
74
58
|
}
|
|
75
59
|
}
|
|
76
|
-
|
|
77
60
|
if (isLeafNode(column)) {
|
|
78
61
|
if (column.hidden) {
|
|
79
62
|
// 被隐藏的列 会在这里被剔除
|
|
@@ -82,8 +65,8 @@ function processColumns(columns, defaultColumnWidth) {
|
|
|
82
65
|
result.push(column);
|
|
83
66
|
}
|
|
84
67
|
} else {
|
|
85
|
-
var nextChildren = dfs(column.children);
|
|
86
|
-
|
|
68
|
+
var nextChildren = dfs(column.children);
|
|
69
|
+
// 如果 nextChildren 为空,说明所有的子节点均被隐藏了,在这里隐藏父节点
|
|
87
70
|
if (nextChildren.length > 0) {
|
|
88
71
|
result.push(_extends(_extends({}, column), {
|
|
89
72
|
children: nextChildren
|
|
@@ -96,23 +79,17 @@ function processColumns(columns, defaultColumnWidth) {
|
|
|
96
79
|
} finally {
|
|
97
80
|
_iterator.f();
|
|
98
81
|
}
|
|
99
|
-
|
|
100
82
|
return result;
|
|
101
83
|
}
|
|
102
|
-
|
|
103
84
|
return dfs(columns);
|
|
104
85
|
}
|
|
105
|
-
|
|
106
86
|
export function getLeftNestedLockCount(columns) {
|
|
107
87
|
var nestedCount = 0;
|
|
108
|
-
|
|
109
88
|
var _iterator2 = _createForOfIteratorHelper(columns),
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
_step2;
|
|
112
90
|
try {
|
|
113
91
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
114
92
|
var col = _step2.value;
|
|
115
|
-
|
|
116
93
|
if (isLock(col)) {
|
|
117
94
|
nestedCount += 1;
|
|
118
95
|
} else {
|
|
@@ -124,9 +101,7 @@ export function getLeftNestedLockCount(columns) {
|
|
|
124
101
|
} finally {
|
|
125
102
|
_iterator2.f();
|
|
126
103
|
}
|
|
127
|
-
|
|
128
104
|
return nestedCount;
|
|
129
|
-
|
|
130
105
|
function isLock(col) {
|
|
131
106
|
if (isLeafNode(col)) {
|
|
132
107
|
return col.lock;
|
|
@@ -135,15 +110,12 @@ export function getLeftNestedLockCount(columns) {
|
|
|
135
110
|
}
|
|
136
111
|
}
|
|
137
112
|
}
|
|
138
|
-
|
|
139
113
|
function getHorizontalRenderRange(_ref) {
|
|
140
114
|
var _context, _context2;
|
|
141
|
-
|
|
142
115
|
var offsetX = _ref.offsetX,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
116
|
+
maxRenderWidth = _ref.maxRenderWidth,
|
|
117
|
+
flat = _flatInstanceProperty(_ref),
|
|
118
|
+
useVirtual = _ref.useVirtual;
|
|
147
119
|
if (!useVirtual.horizontal) {
|
|
148
120
|
return {
|
|
149
121
|
leftIndex: 0,
|
|
@@ -152,30 +124,24 @@ function getHorizontalRenderRange(_ref) {
|
|
|
152
124
|
rightBlank: 0
|
|
153
125
|
};
|
|
154
126
|
}
|
|
155
|
-
|
|
156
127
|
var leftIndex = 0;
|
|
157
128
|
var centerCount = 0;
|
|
158
129
|
var leftBlank = 0;
|
|
159
130
|
var centerRenderWidth = 0;
|
|
160
131
|
var overscannedOffsetX = Math.max(0, offsetX - OVERSCAN_SIZE);
|
|
161
|
-
|
|
162
132
|
while (leftIndex < flat.center.length) {
|
|
163
133
|
var col = flat.center[leftIndex];
|
|
164
|
-
|
|
165
134
|
if (col.width + leftBlank < overscannedOffsetX) {
|
|
166
135
|
leftIndex += 1;
|
|
167
136
|
leftBlank += col.width;
|
|
168
137
|
} else {
|
|
169
138
|
break;
|
|
170
139
|
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
140
|
+
}
|
|
141
|
+
// 考虑 over scan 之后,中间部分的列至少需要渲染的宽度
|
|
174
142
|
var minCenterRenderWidth = maxRenderWidth + (overscannedOffsetX - leftBlank) + 2 * OVERSCAN_SIZE;
|
|
175
|
-
|
|
176
143
|
while (leftIndex + centerCount < flat.center.length) {
|
|
177
144
|
var _col = flat.center[leftIndex + centerCount];
|
|
178
|
-
|
|
179
145
|
if (centerRenderWidth < minCenterRenderWidth) {
|
|
180
146
|
centerRenderWidth += _col.width;
|
|
181
147
|
centerCount += 1;
|
|
@@ -183,7 +149,6 @@ function getHorizontalRenderRange(_ref) {
|
|
|
183
149
|
break;
|
|
184
150
|
}
|
|
185
151
|
}
|
|
186
|
-
|
|
187
152
|
var rightBlankCount = flat.center.length - leftIndex - centerCount;
|
|
188
153
|
var rightBlank = sum(_mapInstanceProperty(_context = _sliceInstanceProperty(_context2 = flat.center).call(_context2, flat.center.length - rightBlankCount)).call(_context, function (col) {
|
|
189
154
|
return col.width;
|
|
@@ -194,28 +159,25 @@ function getHorizontalRenderRange(_ref) {
|
|
|
194
159
|
rightIndex: leftIndex + centerCount,
|
|
195
160
|
rightBlank: rightBlank
|
|
196
161
|
};
|
|
197
|
-
}
|
|
162
|
+
}
|
|
163
|
+
// 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)
|
|
198
164
|
// todo 可以考虑下将 header 部分的计算逻辑也放到这个文件中,目前应该有一些重复的计算逻辑
|
|
199
|
-
|
|
200
|
-
|
|
201
165
|
export function calculateRenderInfo(table) {
|
|
202
166
|
var _context3, _context4, _context5, _context6, _context7, _context8, _context9;
|
|
203
|
-
|
|
204
167
|
var _table$state = table.state,
|
|
205
|
-
|
|
206
|
-
|
|
168
|
+
offsetX = _table$state.offsetX,
|
|
169
|
+
maxRenderWidth = _table$state.maxRenderWidth;
|
|
207
170
|
var _table$props = table.props,
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
171
|
+
useVirtualProp = _table$props.useVirtual,
|
|
172
|
+
columnsProp = _table$props.columns,
|
|
173
|
+
dataSourceProp = _table$props.dataSource,
|
|
174
|
+
defaultColumnWidth = _table$props.defaultColumnWidth;
|
|
212
175
|
var columns = processColumns(columnsProp, defaultColumnWidth);
|
|
213
176
|
var leftNestedLockCount = getLeftNestedLockCount(columns);
|
|
214
177
|
var fullFlat = collectNodes(columns, 'leaf-only');
|
|
215
178
|
var flat;
|
|
216
179
|
var nested;
|
|
217
180
|
var useVirtual;
|
|
218
|
-
|
|
219
181
|
if (leftNestedLockCount === columns.length) {
|
|
220
182
|
flat = {
|
|
221
183
|
left: [],
|
|
@@ -236,13 +198,9 @@ export function calculateRenderInfo(table) {
|
|
|
236
198
|
};
|
|
237
199
|
} else {
|
|
238
200
|
var leftNested = _sliceInstanceProperty(columns).call(columns, 0, leftNestedLockCount);
|
|
239
|
-
|
|
240
201
|
var rightNestedLockCount = getLeftNestedLockCount(_sliceInstanceProperty(columns).call(columns).reverse());
|
|
241
|
-
|
|
242
202
|
var centerNested = _sliceInstanceProperty(columns).call(columns, leftNestedLockCount, columns.length - rightNestedLockCount);
|
|
243
|
-
|
|
244
203
|
var rightNested = _sliceInstanceProperty(columns).call(columns, columns.length - rightNestedLockCount);
|
|
245
|
-
|
|
246
204
|
var shouldEnableHozVirtual = fullFlat.length >= AUTO_VIRTUAL_THRESHOLD && fullFlat.every(function (col) {
|
|
247
205
|
return col.width != null;
|
|
248
206
|
});
|
|
@@ -265,7 +223,6 @@ export function calculateRenderInfo(table) {
|
|
|
265
223
|
center: centerNested
|
|
266
224
|
};
|
|
267
225
|
}
|
|
268
|
-
|
|
269
226
|
var horizontalRenderRange = getHorizontalRenderRange({
|
|
270
227
|
maxRenderWidth: maxRenderWidth,
|
|
271
228
|
offsetX: offsetX,
|
|
@@ -274,10 +231,9 @@ export function calculateRenderInfo(table) {
|
|
|
274
231
|
});
|
|
275
232
|
var verticalRenderRange = table.getVerticalRenderRange(useVirtual);
|
|
276
233
|
var leftBlank = horizontalRenderRange.leftBlank,
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
234
|
+
leftIndex = horizontalRenderRange.leftIndex,
|
|
235
|
+
rightBlank = horizontalRenderRange.rightBlank,
|
|
236
|
+
rightIndex = horizontalRenderRange.rightIndex;
|
|
281
237
|
var unfilteredVisibleColumnDescriptors = _concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(_mapInstanceProperty(_context4 = flat.left).call(_context4, function (col, i) {
|
|
282
238
|
return {
|
|
283
239
|
type: 'normal',
|
|
@@ -305,8 +261,8 @@ export function calculateRenderInfo(table) {
|
|
|
305
261
|
colIndex: flat.full.length - flat.right.length + i
|
|
306
262
|
};
|
|
307
263
|
})));
|
|
308
|
-
|
|
309
|
-
|
|
264
|
+
var visibleColumnDescriptors = _filterInstanceProperty(unfilteredVisibleColumnDescriptors).call(unfilteredVisibleColumnDescriptors, Boolean);
|
|
265
|
+
// const totalWidth = visibleColumnDescriptors.reduce((pre, cur) => {
|
|
310
266
|
// if (cur.type === 'blank') {
|
|
311
267
|
// return cur.width + pre
|
|
312
268
|
// } else {
|
|
@@ -320,27 +276,21 @@ export function calculateRenderInfo(table) {
|
|
|
320
276
|
// width: `width: calc(100% - ${totalWidth}px)`
|
|
321
277
|
// } as VisibleColumnDescriptor)
|
|
322
278
|
// }
|
|
323
|
-
|
|
324
|
-
|
|
325
279
|
var fullFlatCount = flat.full.length;
|
|
326
280
|
var leftFlatCount = flat.left.length;
|
|
327
281
|
var rightFlatCount = flat.right.length;
|
|
328
282
|
var stickyLeftMap = new _Map();
|
|
329
283
|
var stickyLeft = 0;
|
|
330
|
-
|
|
331
284
|
for (var i = 0; i < leftFlatCount; i++) {
|
|
332
285
|
stickyLeftMap.set(i, stickyLeft);
|
|
333
286
|
stickyLeft += flat.full[i].width;
|
|
334
287
|
}
|
|
335
|
-
|
|
336
288
|
var stickyRightMap = new _Map();
|
|
337
289
|
var stickyRight = 0;
|
|
338
|
-
|
|
339
290
|
for (var _i = 0; _i < rightFlatCount; _i++) {
|
|
340
291
|
stickyRightMap.set(fullFlatCount - 1 - _i, stickyRight);
|
|
341
292
|
stickyRight += flat.full[fullFlatCount - 1 - _i].width;
|
|
342
293
|
}
|
|
343
|
-
|
|
344
294
|
var leftLockTotalWidth = sum(_mapInstanceProperty(_context8 = flat.left).call(_context8, function (col) {
|
|
345
295
|
return col.width;
|
|
346
296
|
}));
|
package/es/table/base/empty.js
CHANGED
|
@@ -13,10 +13,10 @@ var DefaultEmptyContent = /*#__PURE__*/React.memo(function () {
|
|
|
13
13
|
});
|
|
14
14
|
export function EmptyHtmlTable(_ref) {
|
|
15
15
|
var descriptors = _ref.descriptors,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
isLoading = _ref.isLoading,
|
|
17
|
+
emptyCellHeight = _ref.emptyCellHeight,
|
|
18
|
+
_ref$EmptyContent = _ref.EmptyContent,
|
|
19
|
+
EmptyContent = _ref$EmptyContent === void 0 ? DefaultEmptyContent : _ref$EmptyContent;
|
|
20
20
|
var show = !isLoading;
|
|
21
21
|
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("table", {
|
|
22
22
|
key: "table"
|
|
@@ -31,8 +31,8 @@ export function EmptyHtmlTable(_ref) {
|
|
|
31
31
|
style: {
|
|
32
32
|
height: emptyCellHeight !== null && emptyCellHeight !== void 0 ? emptyCellHeight : 200
|
|
33
33
|
}
|
|
34
|
-
})))), show && /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
})))), show && ( /*#__PURE__*/React.createElement("div", {
|
|
35
35
|
className: Classes.emptyWrapper,
|
|
36
36
|
key: "empty"
|
|
37
|
-
}, /*#__PURE__*/React.createElement(EmptyContent, null)));
|
|
37
|
+
}, /*#__PURE__*/React.createElement(EmptyContent, null))));
|
|
38
38
|
}
|
package/es/table/base/header.js
CHANGED
|
@@ -8,48 +8,34 @@ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instan
|
|
|
8
8
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
9
9
|
import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
10
10
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 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
|
-
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
|
-
|
|
11
|
+
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; } } }; }
|
|
12
|
+
function _unsupportedIterableToArray(r, a) { if (r) { var _context6; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context6 = {}.toString.call(r)).call(_context6, 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; } }
|
|
13
|
+
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; }
|
|
18
14
|
import cx from 'classnames';
|
|
19
15
|
import React from 'react';
|
|
20
16
|
import { getTreeDepth, isLeafNode } from '../utils';
|
|
21
17
|
import { Classes } from './styles';
|
|
22
|
-
|
|
23
18
|
function range(n) {
|
|
24
19
|
var array = [];
|
|
25
|
-
|
|
26
20
|
for (var i = 0; i < n; i++) {
|
|
27
21
|
array.push(i);
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
return array;
|
|
31
24
|
}
|
|
32
25
|
/** 根据当前横向虚拟滚动 对 nested.center 进行过滤,结果只保留当前视野内可见的那些列配置 */
|
|
33
|
-
|
|
34
|
-
|
|
35
26
|
function filterNestedCenter(centerNested, hoz, leftFlatCount) {
|
|
36
27
|
return dfs(centerNested, leftFlatCount).filtered;
|
|
37
|
-
|
|
38
28
|
function dfs(cols, startColIndex) {
|
|
39
29
|
var leafCount = 0;
|
|
40
30
|
var filtered = [];
|
|
41
|
-
|
|
42
31
|
var _iterator = _createForOfIteratorHelper(cols),
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
_step;
|
|
45
33
|
try {
|
|
46
34
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
47
35
|
var col = _step.value;
|
|
48
36
|
var colIndex = startColIndex + leafCount;
|
|
49
|
-
|
|
50
37
|
if (isLeafNode(col)) {
|
|
51
38
|
leafCount += 1;
|
|
52
|
-
|
|
53
39
|
if (leftFlatCount + hoz.leftIndex <= colIndex && colIndex < leftFlatCount + hoz.rightIndex) {
|
|
54
40
|
filtered.push({
|
|
55
41
|
colIndex: colIndex,
|
|
@@ -59,7 +45,6 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
|
|
|
59
45
|
} else {
|
|
60
46
|
var dfsRes = dfs(col.children, colIndex);
|
|
61
47
|
leafCount += dfsRes.leafCount;
|
|
62
|
-
|
|
63
48
|
if (dfsRes.filtered.length > 0) {
|
|
64
49
|
filtered.push({
|
|
65
50
|
colIndex: colIndex,
|
|
@@ -74,7 +59,6 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
|
|
|
74
59
|
} finally {
|
|
75
60
|
_iterator.f();
|
|
76
61
|
}
|
|
77
|
-
|
|
78
62
|
return {
|
|
79
63
|
filtered: filtered,
|
|
80
64
|
leafCount: leafCount
|
|
@@ -82,28 +66,21 @@ function filterNestedCenter(centerNested, hoz, leftFlatCount) {
|
|
|
82
66
|
}
|
|
83
67
|
}
|
|
84
68
|
/** 根据输入的 nested 列配置,算出相应的 leveled & flat 配置方便渲染 */
|
|
85
|
-
|
|
86
|
-
|
|
87
69
|
function calculateLeveledAndFlat(inputNested, rowCount) {
|
|
88
70
|
var leveled = [];
|
|
89
|
-
|
|
90
71
|
for (var depth = 0; depth < rowCount; depth++) {
|
|
91
72
|
leveled.push([]);
|
|
92
73
|
}
|
|
93
|
-
|
|
94
74
|
var flat = [];
|
|
95
75
|
dfs(inputNested, 0);
|
|
96
76
|
return {
|
|
97
77
|
flat: flat,
|
|
98
78
|
leveled: leveled
|
|
99
79
|
};
|
|
100
|
-
|
|
101
80
|
function dfs(input, depth) {
|
|
102
81
|
var leafCount = 0;
|
|
103
|
-
|
|
104
82
|
for (var i = 0; i < input.length; i++) {
|
|
105
83
|
var indexedCol = input[i];
|
|
106
|
-
|
|
107
84
|
if (isLeafNode(indexedCol)) {
|
|
108
85
|
leafCount += 1;
|
|
109
86
|
var wrapped = {
|
|
@@ -119,7 +96,6 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
|
|
|
119
96
|
} else {
|
|
120
97
|
var dfsRes = dfs(indexedCol.children, depth + 1);
|
|
121
98
|
leafCount += dfsRes.leafCount;
|
|
122
|
-
|
|
123
99
|
if (dfsRes.leafCount > 0) {
|
|
124
100
|
leveled[depth].push({
|
|
125
101
|
type: 'normal',
|
|
@@ -132,26 +108,20 @@ function calculateLeveledAndFlat(inputNested, rowCount) {
|
|
|
132
108
|
}
|
|
133
109
|
}
|
|
134
110
|
}
|
|
135
|
-
|
|
136
111
|
return {
|
|
137
112
|
leafCount: leafCount
|
|
138
113
|
};
|
|
139
114
|
}
|
|
140
115
|
}
|
|
141
116
|
/** 包装列配置,附加上 colIndex 属性 */
|
|
142
|
-
|
|
143
|
-
|
|
144
117
|
function attachColIndex(inputNested, colIndexOffset) {
|
|
145
118
|
return dfs(inputNested, colIndexOffset).result;
|
|
146
|
-
|
|
147
119
|
function dfs(input, startColIndex) {
|
|
148
120
|
var result = [];
|
|
149
121
|
var leafCount = 0;
|
|
150
|
-
|
|
151
122
|
for (var i = 0; i < input.length; i++) {
|
|
152
123
|
var col = input[i];
|
|
153
124
|
var colIndex = startColIndex + leafCount;
|
|
154
|
-
|
|
155
125
|
if (isLeafNode(col)) {
|
|
156
126
|
leafCount += 1;
|
|
157
127
|
result.push({
|
|
@@ -161,7 +131,6 @@ function attachColIndex(inputNested, colIndexOffset) {
|
|
|
161
131
|
} else {
|
|
162
132
|
var sub = dfs(col.children, colIndex);
|
|
163
133
|
leafCount += sub.leafCount;
|
|
164
|
-
|
|
165
134
|
if (sub.leafCount > 0) {
|
|
166
135
|
result.push({
|
|
167
136
|
col: col,
|
|
@@ -171,7 +140,6 @@ function attachColIndex(inputNested, colIndexOffset) {
|
|
|
171
140
|
}
|
|
172
141
|
}
|
|
173
142
|
}
|
|
174
|
-
|
|
175
143
|
return {
|
|
176
144
|
result: result,
|
|
177
145
|
leafCount: leafCount
|
|
@@ -179,17 +147,13 @@ function attachColIndex(inputNested, colIndexOffset) {
|
|
|
179
147
|
}
|
|
180
148
|
}
|
|
181
149
|
/** 计算用于渲染表头的数据结构 */
|
|
182
|
-
|
|
183
|
-
|
|
184
150
|
function calculateHeaderRenderInfo(_ref, rowCount) {
|
|
185
151
|
var flat = _flatInstanceProperty(_ref),
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
152
|
+
nested = _ref.nested,
|
|
153
|
+
hoz = _ref.horizontalRenderRange,
|
|
154
|
+
useVirtual = _ref.useVirtual;
|
|
190
155
|
if (useVirtual.header) {
|
|
191
156
|
var _context, _context2;
|
|
192
|
-
|
|
193
157
|
var leftPart = calculateLeveledAndFlat(attachColIndex(nested.left, 0), rowCount);
|
|
194
158
|
var filtered = filterNestedCenter(nested.center, hoz, flat.left.length);
|
|
195
159
|
var centerPart = calculateLeveledAndFlat(filtered, rowCount);
|
|
@@ -206,7 +170,6 @@ function calculateHeaderRenderInfo(_ref, rowCount) {
|
|
|
206
170
|
}], _toConsumableArray(_flatInstanceProperty(rightPart))),
|
|
207
171
|
leveled: _mapInstanceProperty(_context2 = range(rowCount)).call(_context2, function (depth) {
|
|
208
172
|
var _context3;
|
|
209
|
-
|
|
210
173
|
return _concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(leftPart.leveled[depth]), [{
|
|
211
174
|
type: 'blank',
|
|
212
175
|
width: hoz.leftBlank,
|
|
@@ -219,35 +182,26 @@ function calculateHeaderRenderInfo(_ref, rowCount) {
|
|
|
219
182
|
})
|
|
220
183
|
};
|
|
221
184
|
}
|
|
222
|
-
|
|
223
185
|
return calculateLeveledAndFlat(attachColIndex(nested.full, 0), rowCount);
|
|
224
186
|
}
|
|
225
|
-
|
|
226
187
|
export default function TableHeader(_ref2) {
|
|
227
188
|
var _context4, _context5;
|
|
228
|
-
|
|
229
189
|
var info = _ref2.info,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
190
|
+
theaderPosition = _ref2.theaderPosition,
|
|
191
|
+
_rowCount = _ref2.rowCount;
|
|
233
192
|
var nested = info.nested,
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
193
|
+
flat = _flatInstanceProperty(info),
|
|
194
|
+
stickyLeftMap = info.stickyLeftMap,
|
|
195
|
+
stickyRightMap = info.stickyRightMap;
|
|
238
196
|
var rowCount = _rowCount !== null && _rowCount !== void 0 ? _rowCount : getTreeDepth(nested.full) + 1;
|
|
239
197
|
var headerRenderInfo = calculateHeaderRenderInfo(info, rowCount);
|
|
240
198
|
var fullFlatCount = flat.full.length;
|
|
241
199
|
var leftFlatCount = flat.left.length;
|
|
242
200
|
var rightFlatCount = flat.right.length;
|
|
243
|
-
|
|
244
201
|
var thead = _mapInstanceProperty(_context4 = headerRenderInfo.leveled).call(_context4, function (wrappedCols, level) {
|
|
245
|
-
var
|
|
246
|
-
|
|
247
|
-
var _wrappedCols = _concatInstanceProperty(wrappedCols).call(wrappedCols); // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
|
|
202
|
+
var _wrappedCols = _concatInstanceProperty(wrappedCols).call(wrappedCols);
|
|
203
|
+
// 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
|
|
248
204
|
// rowspan 需要空白的列头去占位, 需要补充额外的空白列头
|
|
249
|
-
|
|
250
|
-
|
|
251
205
|
if (rowCount > 1 && ['left', 'right'].indexOf(theaderPosition) > -1) {
|
|
252
206
|
_wrappedCols.push({
|
|
253
207
|
type: 'blank',
|
|
@@ -256,20 +210,15 @@ export default function TableHeader(_ref2) {
|
|
|
256
210
|
isPlacehoder: true
|
|
257
211
|
});
|
|
258
212
|
}
|
|
259
|
-
|
|
260
213
|
var headerCells = _mapInstanceProperty(_wrappedCols).call(_wrappedCols, function (wrapped, index) {
|
|
261
214
|
var _a, _b, _c;
|
|
262
|
-
|
|
263
215
|
if (wrapped.type === 'normal') {
|
|
264
|
-
var _cx;
|
|
265
|
-
|
|
266
216
|
var colIndex = wrapped.colIndex,
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
217
|
+
colSpan = wrapped.colSpan,
|
|
218
|
+
isLeaf = wrapped.isLeaf,
|
|
219
|
+
col = wrapped.col;
|
|
270
220
|
var headerCellProps = (_a = col.headerCellProps) !== null && _a !== void 0 ? _a : {};
|
|
271
221
|
var positionStyle = {};
|
|
272
|
-
|
|
273
222
|
if (colIndex < leftFlatCount) {
|
|
274
223
|
positionStyle.position = 'sticky';
|
|
275
224
|
positionStyle.left = stickyLeftMap.get(colIndex);
|
|
@@ -277,12 +226,11 @@ export default function TableHeader(_ref2) {
|
|
|
277
226
|
positionStyle.position = 'sticky';
|
|
278
227
|
positionStyle.right = stickyRightMap.get(colIndex);
|
|
279
228
|
}
|
|
280
|
-
|
|
281
229
|
var justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start';
|
|
282
230
|
var cell = /*#__PURE__*/React.createElement("th", _extends({
|
|
283
231
|
key: colIndex
|
|
284
232
|
}, headerCellProps, {
|
|
285
|
-
className: cx(Classes.tableHeaderCell, headerCellProps.className, (
|
|
233
|
+
className: cx(Classes.tableHeaderCell, headerCellProps.className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Classes.first, colIndex === 0), Classes.last, colIndex + colSpan === fullFlatCount), Classes.lockLeft, colIndex < leftFlatCount || theaderPosition === 'left'), Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right'), Classes.leaf, wrapped.isLeaf)),
|
|
286
234
|
colSpan: colSpan,
|
|
287
235
|
rowSpan: isLeaf ? rowCount - level : undefined,
|
|
288
236
|
style: _extends(_extends({
|
|
@@ -310,13 +258,11 @@ export default function TableHeader(_ref2) {
|
|
|
310
258
|
}
|
|
311
259
|
}
|
|
312
260
|
});
|
|
313
|
-
|
|
314
261
|
return /*#__PURE__*/React.createElement("tr", {
|
|
315
262
|
key: level,
|
|
316
|
-
className: cx(Classes.tableHeaderRow, (
|
|
263
|
+
className: cx(Classes.tableHeaderRow, _defineProperty(_defineProperty({}, Classes.first, level === 0), Classes.last, level === rowCount - 1))
|
|
317
264
|
}, headerCells);
|
|
318
265
|
});
|
|
319
|
-
|
|
320
266
|
var colgroup = _mapInstanceProperty(_context5 = _flatInstanceProperty(headerRenderInfo)).call(_context5, function (wrapped) {
|
|
321
267
|
if (wrapped.type === 'blank') {
|
|
322
268
|
if (wrapped.width > 0) {
|
|
@@ -338,6 +284,5 @@ export default function TableHeader(_ref2) {
|
|
|
338
284
|
});
|
|
339
285
|
}
|
|
340
286
|
});
|
|
341
|
-
|
|
342
287
|
return /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("colgroup", null, colgroup), /*#__PURE__*/React.createElement("thead", null, thead));
|
|
343
288
|
}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime-corejs3/helpers/createClass";
|
|
3
3
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
4
|
-
|
|
5
4
|
/** 在表格的单元格的渲染过程中,先渲染的单元格的 colSpan/rowSpan 会影响到后续单元格是否被渲染
|
|
6
5
|
* `SpanManager` 会在内部维护一份状态来记录最近渲染单元格的 colSpan/rowSpan,
|
|
7
6
|
* 方便后续的单元格快速判断 "是否需要跳过渲染" */
|
|
8
7
|
var SpanManager = /*#__PURE__*/function () {
|
|
9
8
|
function SpanManager() {
|
|
10
9
|
_classCallCheck(this, SpanManager);
|
|
11
|
-
|
|
12
10
|
this.rects = [];
|
|
13
11
|
}
|
|
14
|
-
|
|
15
|
-
_createClass(SpanManager, [{
|
|
12
|
+
return _createClass(SpanManager, [{
|
|
16
13
|
key: "testSkip",
|
|
17
14
|
value: function testSkip(rowIndex, colIndex) {
|
|
18
15
|
return this.rects.some(function (_ref) {
|
|
19
16
|
var left = _ref.left,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
right = _ref.right,
|
|
18
|
+
top = _ref.top,
|
|
19
|
+
bottom = _ref.bottom;
|
|
23
20
|
return left <= colIndex && colIndex < right && top <= rowIndex && rowIndex < bottom;
|
|
24
21
|
});
|
|
25
22
|
}
|
|
@@ -27,7 +24,6 @@ var SpanManager = /*#__PURE__*/function () {
|
|
|
27
24
|
key: "stripUpwards",
|
|
28
25
|
value: function stripUpwards(rowIndex) {
|
|
29
26
|
var _context;
|
|
30
|
-
|
|
31
27
|
this.rects = _filterInstanceProperty(_context = this.rects).call(_context, function (rect) {
|
|
32
28
|
return rect.bottom > rowIndex;
|
|
33
29
|
});
|
|
@@ -43,8 +39,5 @@ var SpanManager = /*#__PURE__*/function () {
|
|
|
43
39
|
});
|
|
44
40
|
}
|
|
45
41
|
}]);
|
|
46
|
-
|
|
47
|
-
return SpanManager;
|
|
48
42
|
}();
|
|
49
|
-
|
|
50
43
|
export { SpanManager as default };
|