@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,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
6
|
-
|
|
7
5
|
var _styles = require("../../styles");
|
|
8
|
-
|
|
9
6
|
var _TableDOMUtils = require("../TableDOMUtils");
|
|
10
|
-
|
|
11
7
|
var NAME = 'TableDOMUtils';
|
|
12
8
|
describe("".concat(NAME), function () {
|
|
13
9
|
var tableDOMHelper;
|
|
14
10
|
var container;
|
|
15
11
|
beforeAll(function () {
|
|
16
|
-
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15
|
|
17
|
-
|
|
12
|
+
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context0, _context1, _context10, _context11, _context12, _context13, _context14, _context15;
|
|
18
13
|
container = document.createElement('div');
|
|
19
|
-
container.innerHTML = (0, _concat.default)(_context = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = (0, _concat.default)(
|
|
14
|
+
container.innerHTML = (0, _concat.default)(_context = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = (0, _concat.default)(_context0 = (0, _concat.default)(_context1 = (0, _concat.default)(_context10 = (0, _concat.default)(_context11 = (0, _concat.default)(_context12 = (0, _concat.default)(_context13 = (0, _concat.default)(_context14 = (0, _concat.default)(_context15 = "<div class='".concat(_styles.Classes.artTableWrapper, "'>\n <div class='")).call(_context15, _styles.Classes.loadingWrapper, "'>\n <div class='")).call(_context14, _styles.Classes.loadingIndicatorWrapper, "'>\n <div class='")).call(_context13, _styles.Classes.loadingIndicator, "'></div>\n </div> \n <div class='")).call(_context12, _styles.Classes.loadingContentWrapper, "'>\n <div class='")).call(_context11, _styles.Classes.artTable, "'>\n <div class='")).call(_context10, _styles.Classes.tableHeader, "'>\n \n </div>\n <div class='")).call(_context1, _styles.Classes.tableBody, "'>\n <div class='")).call(_context0, _styles.Classes.virtual, "'>\n <div class='")).call(_context9, _styles.Classes.virtualBlank, " top'></div>\n <table></table>\n <div class='")).call(_context8, _styles.Classes.virtualBlank, " bottom'></div>\n </div> \n </div>\n <div class='")).call(_context7, _styles.Classes.tableFooter, "'>\n </div>\n <div class='")).call(_context6, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context5, _styles.Classes.leftLockShadow, "'></div>\n </div>\n <div class='")).call(_context4, _styles.Classes.lockShadowMask, "'>\n <div class='")).call(_context3, _styles.Classes.rightLockShadow, "'></div>\n </div>\n </div>\n <div class='")).call(_context2, _styles.Classes.stickyScroll, "'>\n <div class='")).call(_context, _styles.Classes.stickyScrollItem, "'></div>\n </div>\n </div> \n </div> \n </div>");
|
|
20
15
|
tableDOMHelper = new _TableDOMUtils.TableDOMHelper(container.querySelector(".".concat(_styles.Classes.artTableWrapper)));
|
|
21
16
|
});
|
|
22
17
|
afterAll(function () {
|
|
@@ -1,90 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
6
|
-
|
|
7
5
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
-
|
|
9
6
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
10
|
-
|
|
11
7
|
Object.defineProperty(exports, "__esModule", {
|
|
12
8
|
value: true
|
|
13
9
|
});
|
|
14
10
|
exports.getRichVisibleRectsStream = getRichVisibleRectsStream;
|
|
15
|
-
|
|
16
11
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
17
|
-
|
|
18
12
|
var _getNodeName = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/getNodeName"));
|
|
19
|
-
|
|
20
13
|
var _getOffsetParent = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/getOffsetParent"));
|
|
21
|
-
|
|
22
14
|
var _getParentNode = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/getParentNode"));
|
|
23
|
-
|
|
24
15
|
var _getWindow = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/getWindow"));
|
|
25
|
-
|
|
26
16
|
var _getWindowScroll = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/getWindowScroll"));
|
|
27
|
-
|
|
28
17
|
var _instanceOf = require("@popperjs/core/lib/dom-utils/instanceOf");
|
|
29
|
-
|
|
30
18
|
var _isScrollParent = _interopRequireDefault(require("@popperjs/core/lib/dom-utils/isScrollParent"));
|
|
31
|
-
|
|
32
19
|
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
33
|
-
|
|
34
20
|
var _rxjs = require("rxjs");
|
|
35
|
-
|
|
36
21
|
var op = _interopRequireWildcard(require("rxjs/operators"));
|
|
37
|
-
|
|
38
22
|
var _utils = require("../utils");
|
|
39
|
-
|
|
40
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
|
-
|
|
42
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
44
24
|
function isWindow(arg) {
|
|
45
25
|
return arg.toString() === '[object Window]' || arg.toString() === '[object global]';
|
|
46
26
|
}
|
|
47
|
-
|
|
48
27
|
function isBody(arg) {
|
|
49
28
|
return (0, _getNodeName.default)(arg) === 'body';
|
|
50
29
|
}
|
|
51
|
-
|
|
52
30
|
function isHtml(arg) {
|
|
53
31
|
return (0, _getNodeName.default)(arg) === 'html';
|
|
54
32
|
}
|
|
55
|
-
|
|
56
33
|
function isHtmlOrBody(arg) {
|
|
57
34
|
return isHtml(arg) || isBody(arg);
|
|
58
|
-
}
|
|
35
|
+
}
|
|
36
|
+
// 计算从 start(子元素)到 stop(祖先元素)之间所有元素的 scrollTop 或 scrollLeft 的和
|
|
59
37
|
// 注意 start 和 stop 都是 INCLUSIVE 的,即两者的 scrollTop 或 scrollLeft 都会统计在内
|
|
60
|
-
|
|
61
|
-
|
|
62
38
|
function accumulateScrollOffset(start, stop, scrollOffsetKey) {
|
|
63
39
|
var result = 0;
|
|
64
40
|
var elem = start;
|
|
65
|
-
|
|
66
41
|
while (elem != null) {
|
|
67
42
|
result += elem[scrollOffsetKey];
|
|
68
|
-
|
|
69
43
|
if (elem === stop || isWindow(stop) && isHtmlOrBody(elem)) {
|
|
70
44
|
break;
|
|
71
45
|
}
|
|
72
|
-
|
|
73
46
|
elem = elem.parentElement;
|
|
74
47
|
}
|
|
75
|
-
|
|
76
48
|
if (isWindow(stop)) {
|
|
77
49
|
result += (0, _getWindowScroll.default)(elem)[scrollOffsetKey];
|
|
78
50
|
}
|
|
79
|
-
|
|
80
51
|
return result;
|
|
81
52
|
}
|
|
82
53
|
/**
|
|
83
54
|
* 获取 target 相对于 base 的布局大小和相对位置。
|
|
84
55
|
* 注意该方法会考虑滚动所带来的影响
|
|
85
56
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
57
|
function getRelativeLayoutRect(base, target) {
|
|
89
58
|
if (isWindow(target) || isHtmlOrBody(target)) {
|
|
90
59
|
return {
|
|
@@ -94,27 +63,22 @@ function getRelativeLayoutRect(base, target) {
|
|
|
94
63
|
bottom: window.innerHeight
|
|
95
64
|
};
|
|
96
65
|
}
|
|
97
|
-
|
|
98
66
|
var deltaX = 0;
|
|
99
67
|
var deltaY = 0;
|
|
100
68
|
var elem = target;
|
|
101
|
-
|
|
102
69
|
while (elem != null && elem != base) {
|
|
103
70
|
deltaY += elem.offsetTop;
|
|
104
71
|
deltaX += elem.offsetLeft;
|
|
105
72
|
var offsetParent = (0, _getOffsetParent.default)(elem);
|
|
106
73
|
deltaY -= accumulateScrollOffset(elem.parentElement, offsetParent, 'scrollTop');
|
|
107
74
|
deltaX -= accumulateScrollOffset(elem.parentElement, offsetParent, 'scrollLeft');
|
|
108
|
-
|
|
109
75
|
if (isWindow(offsetParent)) {
|
|
110
76
|
break;
|
|
111
77
|
}
|
|
112
|
-
|
|
113
78
|
deltaY += offsetParent.clientTop;
|
|
114
79
|
deltaX += offsetParent.clientLeft;
|
|
115
80
|
elem = offsetParent;
|
|
116
81
|
}
|
|
117
|
-
|
|
118
82
|
return {
|
|
119
83
|
top: deltaY,
|
|
120
84
|
bottom: deltaY + target.offsetHeight,
|
|
@@ -122,51 +86,40 @@ function getRelativeLayoutRect(base, target) {
|
|
|
122
86
|
right: deltaX + target.offsetWidth
|
|
123
87
|
};
|
|
124
88
|
}
|
|
125
|
-
|
|
126
89
|
function findCommonOffsetAncestor(target, scrollParent) {
|
|
127
90
|
if (isWindow(scrollParent)) {
|
|
128
91
|
return scrollParent;
|
|
129
92
|
}
|
|
130
|
-
|
|
131
93
|
var offsetParents = listOffsetParents(target);
|
|
132
|
-
|
|
133
94
|
if ((0, _includes.default)(offsetParents).call(offsetParents, scrollParent)) {
|
|
134
95
|
return scrollParent;
|
|
135
96
|
}
|
|
136
|
-
|
|
137
97
|
return (0, _getOffsetParent.default)(scrollParent);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
98
|
+
}
|
|
99
|
+
// 列出 target 元素上层的所有 offset parents
|
|
141
100
|
function listOffsetParents(target) {
|
|
142
101
|
var result = [];
|
|
143
102
|
var elem = target;
|
|
144
|
-
|
|
145
103
|
while (true) {
|
|
146
104
|
if (isWindow(elem)) {
|
|
147
105
|
break;
|
|
148
106
|
}
|
|
149
|
-
|
|
150
107
|
elem = (0, _getOffsetParent.default)(elem);
|
|
151
108
|
result.push(elem);
|
|
152
109
|
}
|
|
153
|
-
|
|
154
110
|
return result;
|
|
155
111
|
}
|
|
156
|
-
|
|
157
112
|
function fromScrollEvent(element) {
|
|
158
113
|
return (0, _rxjs.fromEvent)(element, 'scroll', {
|
|
159
114
|
passive: true
|
|
160
115
|
});
|
|
161
116
|
}
|
|
162
|
-
|
|
163
117
|
function fromResizeEvent(element) {
|
|
164
118
|
if (isWindow(element)) {
|
|
165
119
|
return (0, _rxjs.fromEvent)(element, 'resize', {
|
|
166
120
|
passive: true
|
|
167
121
|
});
|
|
168
122
|
}
|
|
169
|
-
|
|
170
123
|
return new _rxjs.Observable(function (subscriber) {
|
|
171
124
|
var resizeObserver = new _resizeObserverPolyfill.default(function (entries) {
|
|
172
125
|
subscriber.next(entries);
|
|
@@ -177,30 +130,26 @@ function fromResizeEvent(element) {
|
|
|
177
130
|
};
|
|
178
131
|
});
|
|
179
132
|
}
|
|
180
|
-
|
|
181
133
|
function getScrollParent(elem) {
|
|
182
134
|
var _context;
|
|
183
|
-
|
|
184
135
|
if ((0, _includes.default)(_context = ['html', 'body', '#document']).call(_context, (0, _getNodeName.default)(elem))) {
|
|
185
136
|
return (0, _getWindow.default)(elem);
|
|
186
137
|
}
|
|
187
|
-
|
|
188
138
|
if ((0, _instanceOf.isHTMLElement)(elem) && (0, _isScrollParent.default)(elem)) {
|
|
189
139
|
return elem;
|
|
190
140
|
}
|
|
191
|
-
|
|
192
141
|
return getScrollParent((0, _getParentNode.default)(elem));
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
142
|
+
}
|
|
143
|
+
// 获取 target 相对于「它的滚动父元素」的可见部分的大小与位置
|
|
196
144
|
function getRichVisibleRectsStream(target, structureMayChange$, virtualDebugLabel) {
|
|
197
|
-
return structureMayChange$.pipe(op.mapTo(target), op.distinctUntilChanged(_utils.shallowEqual),
|
|
145
|
+
return structureMayChange$.pipe(op.mapTo(target), op.distinctUntilChanged(_utils.shallowEqual),
|
|
146
|
+
// 当target没有发生变化时,无需重新查找
|
|
198
147
|
op.startWith('init'), op.map(function () {
|
|
199
148
|
// target 的第一个滚动父元素,我们认为这就是虚拟滚动发生的地方
|
|
200
149
|
// 即虚拟滚动不考虑「更上层元素发生滚动」的情况
|
|
201
150
|
// 直接从父元素开始查找,防止自身设置overflow属性导致是同一个元素
|
|
202
|
-
var scrollParent = getScrollParent((0, _getParentNode.default)(target));
|
|
203
|
-
|
|
151
|
+
var scrollParent = getScrollParent((0, _getParentNode.default)(target));
|
|
152
|
+
// target 和 scrollParent 的共同 offset 祖先,作为布局尺寸计算时的参照元素
|
|
204
153
|
var commonOffsetAncestor = findCommonOffsetAncestor(target, scrollParent);
|
|
205
154
|
return {
|
|
206
155
|
scrollParent: scrollParent,
|
|
@@ -212,7 +161,7 @@ function getRichVisibleRectsStream(target, structureMayChange$, virtualDebugLabe
|
|
|
212
161
|
}
|
|
213
162
|
}), op.switchMap(function (_ref) {
|
|
214
163
|
var scrollParent = _ref.scrollParent,
|
|
215
|
-
|
|
164
|
+
commonOffsetAncestor = _ref.commonOffsetAncestor;
|
|
216
165
|
var events$ = (0, _rxjs.merge)(fromScrollEvent(scrollParent), fromResizeEvent(scrollParent), fromResizeEvent(target));
|
|
217
166
|
return events$.pipe(op.map(function (event) {
|
|
218
167
|
return {
|
|
@@ -222,8 +171,8 @@ function getRichVisibleRectsStream(target, structureMayChange$, virtualDebugLabe
|
|
|
222
171
|
};
|
|
223
172
|
}), op.map(function (_ref2) {
|
|
224
173
|
var event = _ref2.event,
|
|
225
|
-
|
|
226
|
-
|
|
174
|
+
scrollParentRect = _ref2.scrollParentRect,
|
|
175
|
+
targetRect = _ref2.targetRect;
|
|
227
176
|
return {
|
|
228
177
|
event: event,
|
|
229
178
|
targetRect: targetRect,
|
|
@@ -1,19 +1,14 @@
|
|
|
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.getFullRenderRange = getFullRenderRange;
|
|
9
8
|
exports.makeRowHeightManager = makeRowHeightManager;
|
|
10
|
-
|
|
11
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
12
|
-
|
|
13
10
|
var _fill = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/fill"));
|
|
14
|
-
|
|
15
11
|
var _utils = require("../utils");
|
|
16
|
-
|
|
17
12
|
function getFullRenderRange(rowCount) {
|
|
18
13
|
return {
|
|
19
14
|
topIndex: 0,
|
|
@@ -22,17 +17,13 @@ function getFullRenderRange(rowCount) {
|
|
|
22
17
|
bottomBlank: 0
|
|
23
18
|
};
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
function makeRowHeightManager(initRowCount, estimatedRowHeight) {
|
|
27
21
|
var _context;
|
|
28
|
-
|
|
29
22
|
var cache = (0, _fill.default)(_context = new Array(initRowCount)).call(_context, estimatedRowHeight);
|
|
30
|
-
|
|
31
23
|
function getRenderRange(offset, maxRenderHeight, rowCount) {
|
|
32
24
|
if (cache.length !== rowCount) {
|
|
33
25
|
setRowCount(rowCount);
|
|
34
26
|
}
|
|
35
|
-
|
|
36
27
|
if (maxRenderHeight <= 0) {
|
|
37
28
|
// maxRenderHeight <= 0 说明表格目前在 viewport 之外
|
|
38
29
|
if (offset <= 0) {
|
|
@@ -46,7 +37,6 @@ function makeRowHeightManager(initRowCount, estimatedRowHeight) {
|
|
|
46
37
|
// 表格与 viewport 相交
|
|
47
38
|
return getRenderRangeWhenInView();
|
|
48
39
|
}
|
|
49
|
-
|
|
50
40
|
function getRenderRangeWhenBelowView() {
|
|
51
41
|
var start = {
|
|
52
42
|
topIndex: 0,
|
|
@@ -55,22 +45,18 @@ function makeRowHeightManager(initRowCount, estimatedRowHeight) {
|
|
|
55
45
|
var end = getEnd(0, start);
|
|
56
46
|
return (0, _extends2.default)((0, _extends2.default)({}, start), end);
|
|
57
47
|
}
|
|
58
|
-
|
|
59
48
|
function getRenderRangeWhenAboveView() {
|
|
60
49
|
var totalSize = getEstimatedTotalSize(rowCount);
|
|
61
50
|
var start = getStart(totalSize);
|
|
62
51
|
var end = getEnd(totalSize, start);
|
|
63
52
|
return (0, _extends2.default)((0, _extends2.default)({}, start), end);
|
|
64
53
|
}
|
|
65
|
-
|
|
66
54
|
function getRenderRangeWhenInView() {
|
|
67
55
|
var start = getStart(offset);
|
|
68
56
|
var end = getEnd(offset + maxRenderHeight, start);
|
|
69
57
|
return (0, _extends2.default)((0, _extends2.default)({}, start), end);
|
|
70
58
|
}
|
|
71
59
|
/** 获取虚拟滚动在 开始位置上的信息 */
|
|
72
|
-
|
|
73
|
-
|
|
74
60
|
function getStart(offset) {
|
|
75
61
|
if (cache.length === 0) {
|
|
76
62
|
return {
|
|
@@ -78,73 +64,56 @@ function makeRowHeightManager(initRowCount, estimatedRowHeight) {
|
|
|
78
64
|
topBlank: 0
|
|
79
65
|
};
|
|
80
66
|
}
|
|
81
|
-
|
|
82
67
|
var topIndex = 0;
|
|
83
68
|
var topBlank = 0;
|
|
84
|
-
|
|
85
69
|
while (topIndex < cache.length) {
|
|
86
70
|
var h = cache[topIndex];
|
|
87
|
-
|
|
88
71
|
if (topBlank + h >= offset) {
|
|
89
72
|
break;
|
|
90
73
|
}
|
|
91
|
-
|
|
92
74
|
topBlank += h;
|
|
93
75
|
topIndex += 1;
|
|
94
76
|
}
|
|
95
|
-
|
|
96
77
|
return overscanUpwards(topIndex, topBlank);
|
|
97
78
|
}
|
|
98
|
-
|
|
99
79
|
function overscanUpwards(topIndex, topBlank) {
|
|
100
80
|
var overscanSize = 0;
|
|
101
81
|
var overscanCount = 0;
|
|
102
|
-
|
|
103
82
|
while (overscanCount < topIndex && overscanSize < _utils.OVERSCAN_SIZE) {
|
|
104
83
|
overscanCount += 1;
|
|
105
84
|
overscanSize += cache[topIndex - overscanCount];
|
|
106
85
|
}
|
|
107
|
-
|
|
108
86
|
return {
|
|
109
87
|
topIndex: topIndex - overscanCount,
|
|
110
88
|
topBlank: topBlank - overscanSize
|
|
111
89
|
};
|
|
112
90
|
}
|
|
113
91
|
/** 获取虚拟滚动 在结束位置上的信息 */
|
|
114
|
-
|
|
115
|
-
|
|
116
92
|
function getEnd(endOffset, startInfo) {
|
|
117
93
|
var bottomIndex = startInfo.topIndex;
|
|
118
94
|
var offset = startInfo.topBlank;
|
|
119
|
-
|
|
120
95
|
while (bottomIndex < rowCount && offset < endOffset) {
|
|
121
96
|
offset += cache[bottomIndex];
|
|
122
97
|
bottomIndex += 1;
|
|
123
98
|
}
|
|
124
|
-
|
|
125
99
|
var bottomBlank = getEstimatedTotalSize(rowCount) - offset;
|
|
126
100
|
return overscanDownwards(bottomIndex, bottomBlank);
|
|
127
101
|
}
|
|
128
|
-
|
|
129
102
|
function overscanDownwards(bottomIndex, bottomBlank) {
|
|
130
103
|
var overscanSize = 0;
|
|
131
104
|
var overscanCount = 0;
|
|
132
|
-
|
|
133
105
|
while (overscanCount < rowCount - bottomIndex && overscanSize < _utils.OVERSCAN_SIZE) {
|
|
134
106
|
overscanSize += cache[bottomIndex + overscanCount];
|
|
135
107
|
overscanCount += 1;
|
|
136
108
|
}
|
|
137
|
-
|
|
138
109
|
return {
|
|
139
110
|
bottomIndex: bottomIndex + overscanCount,
|
|
140
111
|
bottomBlank: bottomBlank - overscanSize
|
|
141
112
|
};
|
|
142
113
|
}
|
|
143
|
-
|
|
144
114
|
function getEstimatedTotalSize(rowCount) {
|
|
145
115
|
return (0, _utils.sum)(cache) + (rowCount - cache.length) * estimatedRowHeight;
|
|
146
116
|
}
|
|
147
|
-
|
|
148
117
|
function setRowCount(count) {
|
|
149
118
|
// 将 cache 的长度设置为 count
|
|
150
119
|
if (count < cache.length) {
|
|
@@ -156,11 +125,9 @@ function makeRowHeightManager(initRowCount, estimatedRowHeight) {
|
|
|
156
125
|
}
|
|
157
126
|
}
|
|
158
127
|
}
|
|
159
|
-
|
|
160
128
|
function updateRow(index, offset, size) {
|
|
161
129
|
cache[index] = size;
|
|
162
130
|
}
|
|
163
|
-
|
|
164
131
|
return {
|
|
165
132
|
getRenderRange: getRenderRange,
|
|
166
133
|
updateRow: updateRow,
|
|
@@ -1,45 +1,32 @@
|
|
|
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.HtmlTable = HtmlTable;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
|
|
15
|
-
|
|
16
11
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
17
|
-
|
|
18
12
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
19
|
-
|
|
20
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
-
|
|
22
14
|
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
15
|
var _internals = require("../internals");
|
|
25
|
-
|
|
26
16
|
var _colgroup = require("./colgroup");
|
|
27
|
-
|
|
28
17
|
var _SpanManager = _interopRequireDefault(require("./helpers/SpanManager"));
|
|
29
|
-
|
|
30
18
|
var _styles = require("./styles");
|
|
31
|
-
|
|
32
19
|
function HtmlTable(_ref) {
|
|
33
20
|
var tbodyHtmlTag = _ref.tbodyHtmlTag,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
21
|
+
getRowProps = _ref.getRowProps,
|
|
22
|
+
primaryKey = _ref.primaryKey,
|
|
23
|
+
stickyRightOffset = _ref.stickyRightOffset,
|
|
24
|
+
data = _ref.data,
|
|
25
|
+
verInfo = _ref.verticalRenderInfo,
|
|
26
|
+
hozInfo = _ref.horizontalRenderInfo,
|
|
27
|
+
tbodyPosition = _ref.tbodyPosition;
|
|
41
28
|
var flat = (0, _flat.default)(hozInfo),
|
|
42
|
-
|
|
29
|
+
hoz = hozInfo.horizontalRenderRange;
|
|
43
30
|
var spanManager = new _SpanManager.default();
|
|
44
31
|
var fullFlatCount = flat.full.length;
|
|
45
32
|
var leftFlatCount = flat.left.length;
|
|
@@ -47,18 +34,16 @@ function HtmlTable(_ref) {
|
|
|
47
34
|
return /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement(_colgroup.Colgroup, {
|
|
48
35
|
descriptors: hozInfo.visible
|
|
49
36
|
}), /*#__PURE__*/_react.default.createElement(tbodyHtmlTag, null, (0, _map.default)(data).call(data, renderRow)));
|
|
50
|
-
|
|
51
37
|
function renderRow(record, i) {
|
|
52
|
-
var
|
|
53
|
-
|
|
38
|
+
var _context;
|
|
54
39
|
var rowIndex = verInfo.offset + i;
|
|
55
40
|
spanManager.stripUpwards(rowIndex);
|
|
56
41
|
var rowProps = getRowProps(record, rowIndex);
|
|
57
|
-
var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, (
|
|
58
|
-
var visibleColumnDescriptor = (0, _concat.default)(_context = hozInfo.visible).call(_context);
|
|
42
|
+
var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, rowIndex === verInfo.first), _styles.Classes.last, rowIndex === verInfo.last), _styles.Classes.even, rowIndex % 2 === 0), _styles.Classes.odd, rowIndex % 2 === 1), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
|
|
43
|
+
var visibleColumnDescriptor = (0, _concat.default)(_context = hozInfo.visible).call(_context);
|
|
44
|
+
// 左中右区域渲染,存在融合单元格时需要适配rowspan属性
|
|
59
45
|
// 如果固定的列均存在融合单元格,需空白一列做占位,否则融合的单元格不会渲染,导致显示异常
|
|
60
46
|
// 这里无法区分是否存在融合列,默认左右固定区域均添加占位空白列
|
|
61
|
-
|
|
62
47
|
if (['left', 'right'].indexOf(tbodyPosition) > -1) {
|
|
63
48
|
visibleColumnDescriptor.push({
|
|
64
49
|
type: 'blank',
|
|
@@ -67,7 +52,6 @@ function HtmlTable(_ref) {
|
|
|
67
52
|
isPlacehoder: true
|
|
68
53
|
});
|
|
69
54
|
}
|
|
70
|
-
|
|
71
55
|
return /*#__PURE__*/_react.default.createElement("tr", (0, _extends2.default)({}, rowProps, {
|
|
72
56
|
className: rowClass,
|
|
73
57
|
key: (rowProps === null || rowProps === void 0 ? void 0 : rowProps['data-row-detail-key']) ? rowProps['data-row-detail-key'] : _internals.internals.safeGetRowKey(primaryKey, record, rowIndex),
|
|
@@ -82,32 +66,22 @@ function HtmlTable(_ref) {
|
|
|
82
66
|
}
|
|
83
67
|
});
|
|
84
68
|
}
|
|
85
|
-
|
|
86
69
|
return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex);
|
|
87
70
|
}));
|
|
88
71
|
}
|
|
89
|
-
|
|
90
72
|
function renderBodyCell(record, rowIndex, column, colIndex) {
|
|
91
|
-
var _cx2;
|
|
92
|
-
|
|
93
73
|
var _a, _b, _c;
|
|
94
|
-
|
|
95
74
|
if (spanManager.testSkip(rowIndex, colIndex)) {
|
|
96
75
|
return null;
|
|
97
76
|
}
|
|
98
|
-
|
|
99
77
|
var value = _internals.internals.safeGetValue(column, record, rowIndex);
|
|
100
|
-
|
|
101
78
|
var cellProps = (_b = (_a = column.getCellProps) === null || _a === void 0 ? void 0 : _a.call(column, value, record, rowIndex)) !== null && _b !== void 0 ? _b : {};
|
|
102
79
|
var cellContent = value;
|
|
103
|
-
|
|
104
80
|
if (column.render) {
|
|
105
81
|
cellContent = column.render(value, record, rowIndex);
|
|
106
82
|
}
|
|
107
|
-
|
|
108
83
|
var colSpan = 1;
|
|
109
84
|
var rowSpan = 1;
|
|
110
|
-
|
|
111
85
|
if (column.getSpanRect) {
|
|
112
86
|
var spanRect = column.getSpanRect(value, record, rowIndex);
|
|
113
87
|
colSpan = spanRect == null ? 1 : spanRect.right - colIndex;
|
|
@@ -116,26 +90,21 @@ function HtmlTable(_ref) {
|
|
|
116
90
|
if (cellProps.colSpan != null) {
|
|
117
91
|
colSpan = cellProps.colSpan;
|
|
118
92
|
}
|
|
119
|
-
|
|
120
93
|
if (cellProps.rowSpan != null) {
|
|
121
94
|
rowSpan = cellProps.rowSpan;
|
|
122
95
|
}
|
|
123
96
|
}
|
|
124
|
-
|
|
125
97
|
var hasSpan = colSpan > 1 || rowSpan > 1;
|
|
126
|
-
|
|
127
98
|
if (hasSpan) {
|
|
128
99
|
spanManager.add(rowIndex, colIndex, colSpan, rowSpan);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
100
|
+
}
|
|
101
|
+
// rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格
|
|
132
102
|
rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex);
|
|
133
|
-
colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex);
|
|
134
|
-
|
|
103
|
+
colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex);
|
|
104
|
+
// todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
|
|
135
105
|
rowSpan = Math.max(rowSpan, 1);
|
|
136
106
|
colSpan = Math.max(colSpan, 1);
|
|
137
107
|
var positionStyle = {};
|
|
138
|
-
|
|
139
108
|
if (colIndex < leftFlatCount) {
|
|
140
109
|
positionStyle.position = 'sticky';
|
|
141
110
|
positionStyle.left = hozInfo.stickyLeftMap.get(colIndex);
|
|
@@ -143,11 +112,10 @@ function HtmlTable(_ref) {
|
|
|
143
112
|
positionStyle.position = 'sticky';
|
|
144
113
|
positionStyle.right = hozInfo.stickyRightMap.get(colIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0);
|
|
145
114
|
}
|
|
146
|
-
|
|
147
115
|
return /*#__PURE__*/_react.default.createElement('td', (0, _extends2.default)((0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({
|
|
148
116
|
key: colIndex
|
|
149
117
|
}, cellProps), {
|
|
150
|
-
className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, (
|
|
118
|
+
className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.first, colIndex === 0), _styles.Classes.last, colIndex + colSpan === fullFlatCount), _styles.Classes.lockLeft, colIndex < leftFlatCount || tbodyPosition === 'left'), _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount), _styles.Classes.rowSpan, rowSpan > 1))
|
|
151
119
|
}), hasSpan ? {
|
|
152
120
|
colSpan: colSpan,
|
|
153
121
|
rowSpan: rowSpan
|
package/lib/table/base/index.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
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.default = Loading;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _styles = require("./styles");
|
|
13
|
-
|
|
14
10
|
var DefaultLoadingIcon = /*#__PURE__*/_react.default.memo(function () {
|
|
15
11
|
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
16
12
|
style: {
|
|
@@ -39,10 +35,9 @@ var DefaultLoadingIcon = /*#__PURE__*/_react.default.memo(function () {
|
|
|
39
35
|
values: "0 50 50;360 50 50"
|
|
40
36
|
})));
|
|
41
37
|
});
|
|
42
|
-
|
|
43
38
|
function DefaultLoadingContentWrapper(_ref) {
|
|
44
39
|
var children = _ref.children,
|
|
45
|
-
|
|
40
|
+
visible = _ref.visible;
|
|
46
41
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
47
42
|
className: _styles.Classes.loadingContentWrapper,
|
|
48
43
|
style: {
|
|
@@ -50,21 +45,20 @@ function DefaultLoadingContentWrapper(_ref) {
|
|
|
50
45
|
}
|
|
51
46
|
}, children);
|
|
52
47
|
}
|
|
53
|
-
|
|
54
48
|
function Loading(_ref2) {
|
|
55
49
|
var visible = _ref2.visible,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
children = _ref2.children,
|
|
51
|
+
_ref2$LoadingContentW = _ref2.LoadingContentWrapper,
|
|
52
|
+
LoadingContentWrapper = _ref2$LoadingContentW === void 0 ? DefaultLoadingContentWrapper : _ref2$LoadingContentW,
|
|
53
|
+
_ref2$LoadingIcon = _ref2.LoadingIcon,
|
|
54
|
+
LoadingIcon = _ref2$LoadingIcon === void 0 ? DefaultLoadingIcon : _ref2$LoadingIcon;
|
|
61
55
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
62
56
|
className: _styles.Classes.loadingWrapper
|
|
63
|
-
}, visible && /*#__PURE__*/_react.default.createElement("div", {
|
|
57
|
+
}, visible && (/*#__PURE__*/_react.default.createElement("div", {
|
|
64
58
|
className: _styles.Classes.loadingIndicatorWrapper
|
|
65
59
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
66
60
|
className: _styles.Classes.loadingIndicator
|
|
67
|
-
}, /*#__PURE__*/_react.default.createElement(LoadingIcon, null))), /*#__PURE__*/_react.default.createElement(LoadingContentWrapper, {
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(LoadingIcon, null)))), /*#__PURE__*/_react.default.createElement(LoadingContentWrapper, {
|
|
68
62
|
visible: visible,
|
|
69
63
|
children: children
|
|
70
64
|
}));
|