@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.7-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/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.css.map +0 -0
- package/dist/@kdcloudjs/table.js +1755 -3334
- 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/dist/default-theme.js +0 -0
- package/dist/kd-ui-complete.less +0 -0
- package/dist/kd-ui.less +0 -0
- package/dist/theme.js +0 -0
- 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 +16 -69
- package/es/table/base/helpers/SpanManager.js +3 -9
- package/es/table/base/helpers/TableDOMUtils.js +4 -28
- 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 +13 -45
- 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.js +41 -96
- 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 +11 -37
- 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 +38 -76
- 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 +32 -89
- package/es/table/pipeline/features/tips.js +0 -6
- package/es/table/pipeline/features/treeMode.js +14 -46
- package/es/table/pipeline/features/treeSelect.js +0 -26
- 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 -93
- 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/browserType.js +12 -19
- 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/es/table/utils/uiDegrade.js +0 -5
- 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 +16 -79
- package/lib/table/base/helpers/SpanManager.js +3 -11
- package/lib/table/base/helpers/TableDOMUtils.js +2 -28
- 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 -63
- 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.js +41 -102
- 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 +11 -53
- 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 +38 -87
- 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 -108
- package/lib/table/pipeline/features/tips.js +0 -15
- package/lib/table/pipeline/features/treeMode.js +14 -67
- package/lib/table/pipeline/features/treeSelect.js +0 -34
- 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 -117
- 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/browserType.js +12 -19
- 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 -22
- 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/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +2 -1
- package/lib/style/color/colors.less +0 -2
- package/lib/style/core/index.less +0 -2
- package/lib/style/core/motion/other.less +0 -28
- package/lib/style/core/motion/slide.less +0 -53
- package/lib/style/core/motion.less +0 -2
- package/lib/style/core/reset.less +0 -186
- package/lib/style/index.css +0 -410
- package/lib/style/index.less +0 -2
- package/lib/style/mixins/index.less +0 -19
- package/lib/style/mixins/overlay.less +0 -22
- package/lib/style/mixins/reset.less +0 -13
- package/lib/style/themes/default.less +0 -445
- package/lib/style/themes/index.less +0 -1
- package/lib/table/style/index.css +0 -0
- package/lib/table/style/index.less +0 -1
|
@@ -1,51 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.autoRowSpan = autoRowSpan;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _internals = require("../../internals");
|
|
13
|
-
|
|
14
10
|
var _utils = require("../../utils");
|
|
15
|
-
|
|
16
11
|
function isIdentity(x, y) {
|
|
17
12
|
return x === y;
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function autoRowSpan() {
|
|
21
15
|
return function autoRowSpanStep(pipeline) {
|
|
22
16
|
var dataSource = pipeline.getDataSource();
|
|
23
17
|
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, _ref) {
|
|
24
18
|
var startIndex = _ref.startIndex,
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
endIndex = _ref.endIndex;
|
|
27
20
|
var _a;
|
|
28
|
-
|
|
29
21
|
if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.autoRowSpan)) {
|
|
30
22
|
return col;
|
|
31
23
|
}
|
|
32
|
-
|
|
33
24
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
34
25
|
return col;
|
|
35
26
|
}
|
|
36
|
-
|
|
37
27
|
var isFunc = typeof col.features.autoRowSpan === 'function';
|
|
38
28
|
var shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity;
|
|
39
29
|
var spanRects = [];
|
|
40
30
|
var lastBottom = 0;
|
|
41
31
|
var prevValue = null;
|
|
42
32
|
var prevRow = null;
|
|
43
|
-
|
|
44
33
|
for (var rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {
|
|
45
34
|
var row = dataSource[rowIndex];
|
|
46
|
-
|
|
47
35
|
var value = _internals.internals.safeGetValue(col, row, rowIndex);
|
|
48
|
-
|
|
49
36
|
if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {
|
|
50
37
|
var spanRect = {
|
|
51
38
|
top: lastBottom,
|
|
@@ -53,18 +40,14 @@ function autoRowSpan() {
|
|
|
53
40
|
left: startIndex,
|
|
54
41
|
right: endIndex
|
|
55
42
|
};
|
|
56
|
-
|
|
57
43
|
for (var i = lastBottom; i < rowIndex; i++) {
|
|
58
44
|
spanRects.push(spanRect);
|
|
59
45
|
}
|
|
60
|
-
|
|
61
46
|
lastBottom = rowIndex;
|
|
62
47
|
}
|
|
63
|
-
|
|
64
48
|
prevValue = value;
|
|
65
49
|
prevRow = row;
|
|
66
50
|
}
|
|
67
|
-
|
|
68
51
|
for (var _i = lastBottom; _i < dataSource.length; _i++) {
|
|
69
52
|
spanRects.push({
|
|
70
53
|
top: lastBottom,
|
|
@@ -73,7 +56,6 @@ function autoRowSpan() {
|
|
|
73
56
|
right: endIndex
|
|
74
57
|
});
|
|
75
58
|
}
|
|
76
|
-
|
|
77
59
|
return (0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
78
60
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|
|
79
61
|
return spanRects[rowIndex];
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.buildTree = buildTree;
|
|
7
|
-
|
|
8
7
|
var _utils = require("../../utils");
|
|
9
|
-
|
|
10
8
|
function buildTree(idProp, parentIdProp) {
|
|
11
9
|
return function (pipeline) {
|
|
12
10
|
return pipeline.mapDataSource(function (rows) {
|
|
@@ -1,43 +1,28 @@
|
|
|
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.colGroupExtendable = void 0;
|
|
9
|
-
|
|
10
8
|
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _internals = require("../../internals");
|
|
23
|
-
|
|
24
15
|
var _utils = require("../../utils");
|
|
25
|
-
|
|
26
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
-
|
|
28
17
|
var _styles = require("../../base/styles");
|
|
29
|
-
|
|
30
18
|
var _templateObject;
|
|
31
|
-
|
|
32
19
|
var ExtendIconStyle = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-size:12px;\n margin-left:4px;\n"])));
|
|
33
|
-
|
|
34
20
|
var stateKey = 'colExtend';
|
|
35
|
-
|
|
36
21
|
var ExpandIcon = function ExpandIcon(_ref) {
|
|
37
22
|
var style = _ref.style,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
className = _ref.className,
|
|
24
|
+
size = _ref.size,
|
|
25
|
+
isExtend = _ref.isExtend;
|
|
41
26
|
return isExtend ? /*#__PURE__*/_react.default.createElement("svg", {
|
|
42
27
|
className: className,
|
|
43
28
|
width: size,
|
|
@@ -56,15 +41,12 @@ var ExpandIcon = function ExpandIcon(_ref) {
|
|
|
56
41
|
d: "M321.652913 178.347087C309.449029 166.143203 309.449029 146.356797 321.652913 134.152913C333.856797 121.949029 353.643203 121.949029 365.847088 134.152913L709.597087 477.902913C721.800972 490.106797 721.800972 509.893203 709.597087 522.097087L365.847088 865.847087C353.643203 878.050972 333.856797 878.050972 321.652913 865.847087C309.449029 853.643203 309.449029 833.856797 321.652913 821.652913L643.305825 500L321.652913 178.347087z"
|
|
57
42
|
}));
|
|
58
43
|
};
|
|
59
|
-
|
|
60
44
|
var colGroupExtendable = function colGroupExtendable() {
|
|
61
45
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
62
46
|
return function (pipeline) {
|
|
63
47
|
var _a, _b;
|
|
64
|
-
|
|
65
48
|
var columns = pipeline.getColumns();
|
|
66
49
|
var curState = (_b = (_a = opts.extendStatus) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : {};
|
|
67
|
-
|
|
68
50
|
var processColumns = function processColumns(columns) {
|
|
69
51
|
// 当组合列可伸缩,且处于收缩状态时,只渲染一个子列,其他不渲染
|
|
70
52
|
var toggle = function toggle(col) {
|
|
@@ -74,12 +56,10 @@ var colGroupExtendable = function colGroupExtendable() {
|
|
|
74
56
|
pipeline.setStateAtKey(stateKey, (0, _extends2.default)({}, curState));
|
|
75
57
|
(opts === null || opts === void 0 ? void 0 : opts.onChangeExtendStatus) && opts.onChangeExtendStatus(curState, changedValue);
|
|
76
58
|
};
|
|
77
|
-
|
|
78
59
|
var addIcon = function addIcon(col) {
|
|
79
60
|
var result = (0, _extends2.default)({}, col);
|
|
80
61
|
var curColState = curState[col.code];
|
|
81
62
|
var displaycolExtendIcon = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon;
|
|
82
|
-
|
|
83
63
|
var addIconNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _internals.internals.safeRenderHeader((0, _extends2.default)({}, col)), /*#__PURE__*/_react.default.createElement(ExtendIconStyle, {
|
|
84
64
|
onClick: function onClick() {
|
|
85
65
|
toggle(col);
|
|
@@ -96,31 +76,23 @@ var colGroupExtendable = function colGroupExtendable() {
|
|
|
96
76
|
size: 14,
|
|
97
77
|
isExtend: curColState
|
|
98
78
|
})));
|
|
99
|
-
|
|
100
79
|
result.title = addIconNode;
|
|
101
80
|
return result;
|
|
102
81
|
};
|
|
103
|
-
|
|
104
82
|
return (0, _utils.makeRecursiveMapper)(function (col) {
|
|
105
83
|
var _a;
|
|
106
|
-
|
|
107
84
|
var _ref2 = (col === null || col === void 0 ? void 0 : col.features) || {},
|
|
108
|
-
|
|
109
|
-
|
|
85
|
+
showExtendIcon = _ref2.showExtendIcon;
|
|
110
86
|
if (showExtendIcon === true && ((_a = col.children) === null || _a === void 0 ? void 0 : _a.length) > 1) {
|
|
111
87
|
var _context;
|
|
112
|
-
|
|
113
88
|
col = addIcon(col);
|
|
114
89
|
curState[col.code] === false && (0, _splice.default)(_context = col.children).call(_context, 1, col.children.length);
|
|
115
90
|
}
|
|
116
|
-
|
|
117
91
|
return col;
|
|
118
92
|
})(columns);
|
|
119
93
|
};
|
|
120
|
-
|
|
121
94
|
pipeline.columns(processColumns(columns));
|
|
122
95
|
return pipeline;
|
|
123
96
|
};
|
|
124
97
|
};
|
|
125
|
-
|
|
126
98
|
exports.colGroupExtendable = colGroupExtendable;
|
|
@@ -1,74 +1,58 @@
|
|
|
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.columnDrag = columnDrag;
|
|
9
|
-
|
|
10
8
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _utils = require("../../utils");
|
|
19
|
-
|
|
20
13
|
var _autoFill = require("./autoFill");
|
|
21
|
-
|
|
22
14
|
var stateKey = 'columnDrag';
|
|
23
15
|
var SCROLL_SIZE = 30;
|
|
24
|
-
|
|
25
16
|
function disableSelect(event) {
|
|
26
17
|
event.preventDefault();
|
|
27
18
|
}
|
|
28
|
-
|
|
29
19
|
function sortColumns(columns, sort) {
|
|
30
20
|
var res = new Array(columns.length);
|
|
31
21
|
var lastColumns = (0, _toConsumableArray2.default)(columns);
|
|
32
|
-
|
|
33
22
|
while (columns.length) {
|
|
34
23
|
var cloumn = columns.pop();
|
|
35
24
|
res[sort[cloumn.code]] = cloumn;
|
|
36
25
|
}
|
|
37
|
-
|
|
38
26
|
if ((0, _filter.default)(res).call(res, Boolean).length !== lastColumns.length) {
|
|
39
27
|
return lastColumns;
|
|
40
28
|
}
|
|
41
|
-
|
|
42
29
|
return res;
|
|
43
30
|
}
|
|
44
|
-
|
|
45
31
|
function stopClickPropagation(e) {
|
|
46
32
|
e.stopPropagation();
|
|
47
33
|
}
|
|
48
|
-
|
|
49
34
|
function columnDrag() {
|
|
50
35
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
51
36
|
return function (pipeline) {
|
|
52
37
|
var _pipeline$getStateAtK = pipeline.getStateAtKey(stateKey, {}),
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
|
|
55
39
|
var columns = pipeline.getColumns();
|
|
56
|
-
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
40
|
+
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
41
|
+
// if (cloumnsSortData) {
|
|
57
42
|
// columns = sortColumns(columns, cloumnsSortData)
|
|
58
43
|
// }
|
|
59
|
-
|
|
60
44
|
pipeline.columns((0, _filter.default)(columns).call(columns, function (column) {
|
|
61
45
|
return column;
|
|
62
46
|
}));
|
|
63
47
|
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, recursiveFlatMapInfo) {
|
|
64
48
|
var path = recursiveFlatMapInfo.path,
|
|
65
|
-
|
|
49
|
+
isLeaf = recursiveFlatMapInfo.isLeaf;
|
|
66
50
|
var style = cloumnsTranslateData ? {
|
|
67
51
|
transition: '.3s',
|
|
68
52
|
transform: "translate3d(".concat(cloumnsTranslateData[col.code], "px, 0px, 0px)")
|
|
69
53
|
} : {};
|
|
70
|
-
var prevGetCellProps = col.getCellProps;
|
|
71
|
-
|
|
54
|
+
var prevGetCellProps = col.getCellProps;
|
|
55
|
+
// !col.code: 选择列 col.lock: 固定列 不允许拖拽
|
|
72
56
|
if (col.lock || !col.code) return col;
|
|
73
57
|
return (0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
74
58
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
@@ -82,8 +66,8 @@ function columnDrag() {
|
|
|
82
66
|
if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
|
|
83
67
|
return;
|
|
84
68
|
}
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
window.addEventListener('selectstart', disableSelect);
|
|
70
|
+
// const cx = e.clientX
|
|
87
71
|
// const width = col.width
|
|
88
72
|
// const a = startIndex
|
|
89
73
|
// const b = endIndex
|
|
@@ -91,13 +75,10 @@ function columnDrag() {
|
|
|
91
75
|
// let newColumn = [...columns]
|
|
92
76
|
// let newStartIndex = startIndex
|
|
93
77
|
// let endIdx = endIndex
|
|
94
|
-
|
|
95
78
|
var columnMoved = false;
|
|
96
79
|
var columns = pipeline.getColumns();
|
|
97
|
-
|
|
98
80
|
var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
|
|
99
|
-
|
|
100
|
-
|
|
81
|
+
cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
|
|
101
82
|
var cloumnsSortData = {};
|
|
102
83
|
columns.forEach(function (item, index) {
|
|
103
84
|
cloumnsSortData[item.code] = index;
|
|
@@ -111,21 +92,17 @@ function columnDrag() {
|
|
|
111
92
|
var allColumns = (0, _utils.collectNodes)(columns);
|
|
112
93
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
113
94
|
var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
|
|
114
|
-
|
|
115
95
|
var updateScrollPosition = function updateScrollPosition(client) {
|
|
116
96
|
var clientX = client.clientX;
|
|
117
97
|
var left = tableBodyClientRect.left,
|
|
118
|
-
|
|
119
|
-
|
|
98
|
+
width = tableBodyClientRect.width;
|
|
120
99
|
if (clientX + SCROLL_SIZE >= left + width) {
|
|
121
100
|
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
|
|
122
101
|
}
|
|
123
|
-
|
|
124
102
|
if (clientX - SCROLL_SIZE <= left) {
|
|
125
103
|
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
|
|
126
104
|
}
|
|
127
105
|
};
|
|
128
|
-
|
|
129
106
|
function handleMouseMove(e) {
|
|
130
107
|
var client = {
|
|
131
108
|
clientX: e.clientX,
|
|
@@ -133,17 +110,15 @@ function columnDrag() {
|
|
|
133
110
|
};
|
|
134
111
|
var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
|
|
135
112
|
var leftPosition = startX - scrollDistance; // 表头最左边起点
|
|
136
|
-
|
|
137
113
|
updateScrollPosition(client);
|
|
138
|
-
|
|
139
114
|
if (e.clientX - leftPosition < 20) {
|
|
140
115
|
return;
|
|
141
116
|
} else {
|
|
142
117
|
e.stopPropagation();
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
document.body.style.userSelect = 'none';
|
|
146
|
-
currentTarget.style.cursor = 'move';
|
|
120
|
+
currentTarget.style.cursor = 'move';
|
|
121
|
+
// 循环计算每一个的位置
|
|
147
122
|
// if (startIndex !== replaceIndex) {
|
|
148
123
|
// const optionColumn = columns[startIndex]
|
|
149
124
|
// const move = startIndex > replaceIndex ? 1 : -1
|
|
@@ -166,21 +141,18 @@ function columnDrag() {
|
|
|
166
141
|
// index++
|
|
167
142
|
// }
|
|
168
143
|
// 重置位置信息
|
|
169
|
-
|
|
170
144
|
cloumnsTranslateData = {};
|
|
171
145
|
allColumns.forEach(function (item) {
|
|
172
146
|
cloumnsTranslateData[item.code] = 0;
|
|
173
|
-
});
|
|
174
|
-
|
|
147
|
+
});
|
|
148
|
+
// 计算平移位置
|
|
175
149
|
var replaceIndex = 0;
|
|
176
150
|
var totalWitdth = getColumnWidth(columns[replaceIndex]);
|
|
177
|
-
|
|
178
151
|
while (totalWitdth < e.clientX - leftPosition && replaceIndex < columns.length - 1) {
|
|
179
152
|
replaceIndex++;
|
|
180
153
|
totalWitdth += getColumnWidth(columns[replaceIndex]);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
154
|
+
}
|
|
155
|
+
// 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
|
|
184
156
|
var startIndex;
|
|
185
157
|
columns.forEach(function (column, index) {
|
|
186
158
|
if (column.code === col.code) {
|
|
@@ -189,63 +161,53 @@ function columnDrag() {
|
|
|
189
161
|
});
|
|
190
162
|
var optionColumn = columns[startIndex];
|
|
191
163
|
var index = replaceIndex;
|
|
192
|
-
|
|
193
164
|
if (startIndex > replaceIndex) {
|
|
194
165
|
// 左移
|
|
195
166
|
while (index < startIndex) {
|
|
196
167
|
var _columns$index = columns[index],
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
168
|
+
code = _columns$index.code,
|
|
169
|
+
lock = _columns$index.lock,
|
|
170
|
+
width = _columns$index.width,
|
|
171
|
+
children = _columns$index.children;
|
|
202
172
|
if (enableMove({
|
|
203
173
|
code: code,
|
|
204
174
|
lock: lock
|
|
205
175
|
})) {
|
|
206
176
|
cloumnsTranslateData[code] += optionColumn.width;
|
|
207
|
-
|
|
208
177
|
if ((0, _utils.isLeafNode)(columns[index])) {
|
|
209
178
|
cloumnsTranslateData[optionColumn.code] -= width;
|
|
210
179
|
} else {
|
|
211
180
|
cloumnsTranslateData[optionColumn.code] -= getColumnWidth(columns[index]);
|
|
212
181
|
moveAllChildren(children, cloumnsTranslateData, optionColumn.width);
|
|
213
182
|
}
|
|
214
|
-
|
|
215
183
|
columnMoved = true;
|
|
216
184
|
}
|
|
217
|
-
|
|
218
185
|
index++;
|
|
219
186
|
}
|
|
220
187
|
} else if (startIndex < replaceIndex) {
|
|
221
188
|
// 右移
|
|
222
189
|
while (startIndex < index) {
|
|
223
190
|
var _columns$index2 = columns[index],
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
191
|
+
_code = _columns$index2.code,
|
|
192
|
+
_lock = _columns$index2.lock,
|
|
193
|
+
_width = _columns$index2.width,
|
|
194
|
+
_children = _columns$index2.children;
|
|
229
195
|
if (enableMove({
|
|
230
196
|
code: _code,
|
|
231
197
|
lock: _lock
|
|
232
198
|
})) {
|
|
233
199
|
cloumnsTranslateData[_code] -= optionColumn.width;
|
|
234
|
-
|
|
235
200
|
if ((0, _utils.isLeafNode)(columns[index])) {
|
|
236
201
|
cloumnsTranslateData[optionColumn.code] += _width;
|
|
237
202
|
} else {
|
|
238
203
|
cloumnsTranslateData[optionColumn.code] += getColumnWidth(columns[index]);
|
|
239
204
|
moveAllChildren(_children, cloumnsTranslateData, optionColumn.width, true);
|
|
240
205
|
}
|
|
241
|
-
|
|
242
206
|
columnMoved = true;
|
|
243
207
|
}
|
|
244
|
-
|
|
245
208
|
index--;
|
|
246
209
|
}
|
|
247
210
|
}
|
|
248
|
-
|
|
249
211
|
window.requestAnimationFrame(function () {
|
|
250
212
|
pipeline.setStateAtKey(stateKey, {
|
|
251
213
|
cloumnsTranslateData: cloumnsTranslateData
|
|
@@ -253,15 +215,12 @@ function columnDrag() {
|
|
|
253
215
|
moveData = [startIndex, replaceIndex];
|
|
254
216
|
});
|
|
255
217
|
}
|
|
256
|
-
|
|
257
218
|
function handleMouseUp(e) {
|
|
258
219
|
document.body.removeEventListener('mousemove', handleMouseMove);
|
|
259
220
|
document.body.removeEventListener('mouseup', handleMouseUp);
|
|
260
221
|
window.removeEventListener('selectstart', disableSelect);
|
|
261
|
-
|
|
262
222
|
if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
|
|
263
223
|
e.stopPropagation(); // 存在移动就阻止冒泡
|
|
264
|
-
|
|
265
224
|
currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
266
225
|
}
|
|
267
226
|
|
|
@@ -269,13 +228,12 @@ function columnDrag() {
|
|
|
269
228
|
// 取消阻止列头点击事件
|
|
270
229
|
currentTarget.removeEventListener('click', stopClickPropagation);
|
|
271
230
|
currentTarget = null;
|
|
272
|
-
|
|
273
231
|
var _moveData = moveData,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
232
|
+
_moveData2 = (0, _slicedToArray2.default)(_moveData, 2),
|
|
233
|
+
startIndex = _moveData2[0],
|
|
234
|
+
replaceIndex = _moveData2[1];
|
|
235
|
+
var optionColumn = columns[startIndex];
|
|
236
|
+
// const move = startIndex > replaceIndex ? 1 : -1
|
|
279
237
|
// let index = Math.min(startIndex, replaceIndex)
|
|
280
238
|
// while (index < Math.max(startIndex, replaceIndex) && index > 0) {
|
|
281
239
|
// const code = columns[index].code
|
|
@@ -283,16 +241,13 @@ function columnDrag() {
|
|
|
283
241
|
// cloumnsSortData[code] += move
|
|
284
242
|
// index += move
|
|
285
243
|
// }
|
|
286
|
-
|
|
287
244
|
var index = replaceIndex;
|
|
288
|
-
|
|
289
245
|
if (startIndex > replaceIndex) {
|
|
290
246
|
// 左移
|
|
291
247
|
while (index < startIndex) {
|
|
292
248
|
var _columns$index3 = columns[index],
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
249
|
+
code = _columns$index3.code,
|
|
250
|
+
lock = _columns$index3.lock;
|
|
296
251
|
if (enableMove({
|
|
297
252
|
code: code,
|
|
298
253
|
lock: lock
|
|
@@ -301,16 +256,14 @@ function columnDrag() {
|
|
|
301
256
|
cloumnsSortData[optionColumn.code] -= 1;
|
|
302
257
|
columnMoved = true;
|
|
303
258
|
}
|
|
304
|
-
|
|
305
259
|
index++;
|
|
306
260
|
}
|
|
307
261
|
} else if (startIndex < replaceIndex) {
|
|
308
262
|
// 右移
|
|
309
263
|
while (index > startIndex) {
|
|
310
264
|
var _columns$index4 = columns[index],
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
265
|
+
_code2 = _columns$index4.code,
|
|
266
|
+
_lock2 = _columns$index4.lock;
|
|
314
267
|
if (enableMove({
|
|
315
268
|
code: _code2,
|
|
316
269
|
lock: _lock2
|
|
@@ -319,28 +272,23 @@ function columnDrag() {
|
|
|
319
272
|
cloumnsSortData[optionColumn.code] += 1;
|
|
320
273
|
columnMoved = true;
|
|
321
274
|
}
|
|
322
|
-
|
|
323
275
|
index--;
|
|
324
276
|
}
|
|
325
277
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
278
|
+
var onColumnDragStopped = opts.onColumnDragStopped;
|
|
279
|
+
// 拖拽结束返回列顺序
|
|
329
280
|
if (onColumnDragStopped) {
|
|
330
281
|
var _context;
|
|
331
|
-
|
|
332
282
|
var isRowDragColumn = function isRowDragColumn(code) {
|
|
333
283
|
var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
|
|
334
284
|
return code === rowDragColumnKey;
|
|
335
285
|
};
|
|
336
|
-
|
|
337
286
|
var newColumns = (0, _filter.default)(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
|
|
338
287
|
return column.code !== _autoFill.FILL_COLUMN_CODE && !isRowDragColumn(column.code) && !(0, _utils.isSelectColumn)(column);
|
|
339
|
-
});
|
|
340
|
-
|
|
288
|
+
});
|
|
289
|
+
// TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
|
|
341
290
|
onColumnDragStopped(columnMoved, newColumns);
|
|
342
291
|
}
|
|
343
|
-
|
|
344
292
|
pipeline.setStateAtKey(stateKey, {
|
|
345
293
|
cloumnsTranslateData: null
|
|
346
294
|
});
|
|
@@ -349,7 +297,6 @@ function columnDrag() {
|
|
|
349
297
|
currentTarget.style.opacity = '';
|
|
350
298
|
currentTarget.style.cursor = '';
|
|
351
299
|
}
|
|
352
|
-
|
|
353
300
|
var onColumnDragStart = opts.onColumnDragStart;
|
|
354
301
|
onColumnDragStart && onColumnDragStart(col);
|
|
355
302
|
document.body.addEventListener('mousemove', handleMouseMove);
|
|
@@ -361,45 +308,37 @@ function columnDrag() {
|
|
|
361
308
|
}));
|
|
362
309
|
};
|
|
363
310
|
}
|
|
364
|
-
|
|
365
311
|
function enableMove(_ref) {
|
|
366
312
|
var lock = _ref.lock,
|
|
367
|
-
|
|
313
|
+
code = _ref.code;
|
|
368
314
|
return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
|
|
369
315
|
}
|
|
370
|
-
|
|
371
316
|
function getColumnWidth(col) {
|
|
372
317
|
if (col.children) {
|
|
373
318
|
return col.children.reduce(function (acc, col) {
|
|
374
319
|
return acc + getColumnWidth(col);
|
|
375
320
|
}, 0);
|
|
376
321
|
}
|
|
377
|
-
|
|
378
322
|
return col.width;
|
|
379
323
|
}
|
|
380
|
-
|
|
381
324
|
function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
|
|
382
325
|
cols.forEach(function (col) {
|
|
383
326
|
var _a;
|
|
384
|
-
|
|
385
327
|
var code = col.code,
|
|
386
|
-
|
|
328
|
+
children = col.children;
|
|
387
329
|
var movedWidth = (_a = cloumnsTranslateData[code]) !== null && _a !== void 0 ? _a : 0;
|
|
388
330
|
cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
|
|
389
|
-
|
|
390
331
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
391
332
|
moveAllChildren(children, cloumnsTranslateData, width);
|
|
392
333
|
}
|
|
393
334
|
});
|
|
394
335
|
}
|
|
395
|
-
|
|
396
336
|
function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
|
|
397
337
|
var xDiff = mouseUpClientX - mouseDownClientX;
|
|
398
|
-
var yDiff = mouseUpClientY - mouseDownClientY;
|
|
399
|
-
|
|
338
|
+
var yDiff = mouseUpClientY - mouseDownClientY;
|
|
339
|
+
// 鼠标点按和松开的偏移量大于5px,认为存在移动
|
|
400
340
|
if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
|
|
401
341
|
return true;
|
|
402
342
|
}
|
|
403
|
-
|
|
404
343
|
return false;
|
|
405
344
|
}
|