@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
|
@@ -21,34 +21,26 @@ export function rangeSelection(opts) {
|
|
|
21
21
|
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
22
22
|
var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
|
|
23
23
|
var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
|
|
24
|
-
|
|
25
24
|
if (!tableBody) {
|
|
26
25
|
return pipeline;
|
|
27
26
|
}
|
|
28
|
-
|
|
29
27
|
var columns = pipeline.getColumns();
|
|
30
28
|
var dataSource = pipeline.getDataSource();
|
|
31
|
-
|
|
32
29
|
var rangeSelectedChange = function rangeSelectedChange(rangeSelection, isFinished) {
|
|
33
30
|
var _a;
|
|
34
|
-
|
|
35
31
|
if (isFinished) {
|
|
36
32
|
pipeline.setFeatureOptions(startSelectedCellRangesKey, rangeSelection);
|
|
37
33
|
}
|
|
38
|
-
|
|
39
34
|
pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
|
|
40
35
|
(_a = opts === null || opts === void 0 ? void 0 : opts.rangeSelectedChange) === null || _a === void 0 ? void 0 : _a.call(opts, rangeSelection, isFinished);
|
|
41
36
|
};
|
|
42
|
-
|
|
43
37
|
var setRangeSelection = function setRangeSelection(startDragCell, draggingCell, isFinished) {
|
|
44
38
|
if (!startDragCell || !draggingCell) return;
|
|
45
39
|
var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
|
|
46
|
-
|
|
47
40
|
var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
startRow = _getRangeSelectionRow.startRow,
|
|
42
|
+
endRow = _getRangeSelectionRow.endRow,
|
|
43
|
+
footerRowRange = _getRangeSelectionRow.footerRowRange;
|
|
52
44
|
var cellRange = {
|
|
53
45
|
startRow: startRow,
|
|
54
46
|
endRow: endRow,
|
|
@@ -57,32 +49,25 @@ export function rangeSelection(opts) {
|
|
|
57
49
|
footerRowRange: footerRowRange
|
|
58
50
|
};
|
|
59
51
|
var cellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _toConsumableArray(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
|
|
60
|
-
|
|
61
52
|
if (isCellRangeSingleCell([cellRange])) {
|
|
62
53
|
var singleCellRangeId = getCellRangeId(cellRange);
|
|
63
54
|
cellRanges = _filterInstanceProperty(cellRanges).call(cellRanges, function (item) {
|
|
64
55
|
return getCellRangeId(item) !== singleCellRangeId;
|
|
65
56
|
});
|
|
66
57
|
}
|
|
67
|
-
|
|
68
58
|
cellRanges.push(cellRange);
|
|
69
|
-
|
|
70
59
|
if (isCellRangeSingleCell(cellRanges)) {
|
|
71
60
|
artTable.classList.remove(cx(Classes.rangeSelection));
|
|
72
61
|
} else {
|
|
73
62
|
artTable.classList.add(cx(Classes.rangeSelection));
|
|
74
63
|
}
|
|
75
|
-
|
|
76
64
|
rangeSelectedChange(cellRanges, isFinished);
|
|
77
65
|
};
|
|
78
|
-
|
|
79
66
|
var shiftKeySelect = function shiftKeySelect(event) {
|
|
80
67
|
var target = event.target;
|
|
81
68
|
var clickCell = getTargetCell(target, columns);
|
|
82
|
-
|
|
83
69
|
if (clickCell) {
|
|
84
70
|
var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
|
|
85
|
-
|
|
86
71
|
if (_lastClickCell) {
|
|
87
72
|
setRangeSelection(_lastClickCell, clickCell, true);
|
|
88
73
|
} else {
|
|
@@ -91,71 +76,58 @@ export function rangeSelection(opts) {
|
|
|
91
76
|
}
|
|
92
77
|
}
|
|
93
78
|
};
|
|
94
|
-
|
|
95
79
|
var updateScrollPosition = function updateScrollPosition(client) {
|
|
96
80
|
var clientX = client.clientX,
|
|
97
|
-
|
|
81
|
+
clientY = client.clientY;
|
|
98
82
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
99
83
|
var left = tableBodyClientRect.left,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
84
|
+
top = tableBodyClientRect.top,
|
|
85
|
+
height = tableBodyClientRect.height,
|
|
86
|
+
width = tableBodyClientRect.width;
|
|
104
87
|
if (clientX + SCROLL_OFFSET >= left + width) {
|
|
105
88
|
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_OFFSET;
|
|
106
89
|
}
|
|
107
|
-
|
|
108
90
|
if (clientX - SCROLL_OFFSET <= left) {
|
|
109
91
|
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_OFFSET;
|
|
110
92
|
}
|
|
111
|
-
|
|
112
93
|
if (clientY + SCROLL_OFFSET >= top + height) {
|
|
113
94
|
pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
|
|
114
95
|
}
|
|
115
|
-
|
|
116
96
|
if (clientY + SCROLL_OFFSET <= top) {
|
|
117
97
|
pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
|
|
118
98
|
}
|
|
119
99
|
};
|
|
120
|
-
|
|
121
100
|
var setStartSelectedCellRanges = function setStartSelectedCellRanges(isCtrlKey, isShiftKey) {
|
|
122
101
|
if (opts === null || opts === void 0 ? void 0 : opts.suppressMultiRangeSelection) {
|
|
123
102
|
pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
|
|
124
103
|
return;
|
|
125
|
-
}
|
|
104
|
+
}
|
|
105
|
+
// ctrl 和shift 同时按时,优先生效shift
|
|
126
106
|
// 没有点击ctrl 或者shift时,每次点击开始时都清空选中范围
|
|
127
|
-
|
|
128
|
-
|
|
129
107
|
if (!isCtrlKey && !isShiftKey) {
|
|
130
108
|
pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
109
|
+
}
|
|
110
|
+
// shift 点击框选,要保留之前的选中结果。最新的框选范围覆盖最后一次的框选范围
|
|
134
111
|
if (isShiftKey) {
|
|
135
112
|
var _startDragCellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _toConsumableArray(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
|
|
136
|
-
|
|
137
113
|
_startDragCellRanges.pop();
|
|
138
|
-
|
|
139
114
|
pipeline.setFeatureOptions(startSelectedCellRangesKey, _startDragCellRanges);
|
|
140
115
|
}
|
|
141
116
|
};
|
|
142
|
-
|
|
143
117
|
var onMouseDown = function onMouseDown(mouseDownEvent) {
|
|
144
|
-
if (mouseDownEvent.button !== 0 || !(isElementInEventPath(tableBody, mouseDownEvent.nativeEvent) || isElementInEventPath(tableFooter, mouseDownEvent.nativeEvent))) return;
|
|
145
|
-
|
|
118
|
+
if (mouseDownEvent.button !== 0 || !(isElementInEventPath(tableBody, mouseDownEvent.nativeEvent) || isElementInEventPath(tableFooter, mouseDownEvent.nativeEvent))) return;
|
|
119
|
+
// mouseDownEvent.preventDefault()
|
|
146
120
|
var isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey;
|
|
147
121
|
var isShiftKey = mouseDownEvent.shiftKey;
|
|
148
122
|
var target = mouseDownEvent.target;
|
|
149
123
|
var startDragCell = getTargetCell(target, columns);
|
|
150
|
-
if (!startDragCell) return;
|
|
151
|
-
|
|
124
|
+
if (!startDragCell) return;
|
|
125
|
+
// 每次点击时先确认初始生效的框选范围
|
|
152
126
|
setStartSelectedCellRanges(isCtrlKey, isShiftKey);
|
|
153
|
-
|
|
154
127
|
if (isShiftKey) {
|
|
155
128
|
shiftKeySelect(mouseDownEvent);
|
|
156
129
|
return;
|
|
157
130
|
}
|
|
158
|
-
|
|
159
131
|
pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
|
|
160
132
|
var draggingCell = startDragCell;
|
|
161
133
|
var mousemove$ = fromEvent(window, 'mousemove');
|
|
@@ -167,11 +139,9 @@ export function rangeSelection(opts) {
|
|
|
167
139
|
clientX: mouseMoveEvent.clientX,
|
|
168
140
|
clientY: mouseMoveEvent.clientY
|
|
169
141
|
};
|
|
170
|
-
|
|
171
142
|
if (!(draggingCell === null || draggingCell === void 0 ? void 0 : draggingCell.isFooterCell)) {
|
|
172
143
|
updateScrollPosition(client);
|
|
173
144
|
}
|
|
174
|
-
|
|
175
145
|
return {
|
|
176
146
|
startDragCell: startDragCell,
|
|
177
147
|
draggingCell: draggingCell
|
|
@@ -180,7 +150,7 @@ export function rangeSelection(opts) {
|
|
|
180
150
|
rangeSelected$.subscribe({
|
|
181
151
|
next: function next(_ref) {
|
|
182
152
|
var startDragCell = _ref.startDragCell,
|
|
183
|
-
|
|
153
|
+
draggingCell = _ref.draggingCell;
|
|
184
154
|
setRangeSelection(startDragCell, draggingCell, false);
|
|
185
155
|
},
|
|
186
156
|
complete: function complete() {
|
|
@@ -188,14 +158,12 @@ export function rangeSelection(opts) {
|
|
|
188
158
|
}
|
|
189
159
|
});
|
|
190
160
|
};
|
|
191
|
-
|
|
192
161
|
var onKeyDown = function onKeyDown(e) {
|
|
193
162
|
if (!(isElementInEventPath(tableBody, e.nativeEvent) || isElementInEventPath(tableFooter, e.nativeEvent))) return;
|
|
194
|
-
|
|
195
163
|
if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
|
|
196
164
|
var rowLen = pipeline.getDataSource().length;
|
|
197
|
-
var footerDataSource = pipeline.getFooterDataSource() || [];
|
|
198
|
-
|
|
165
|
+
var footerDataSource = pipeline.getFooterDataSource() || [];
|
|
166
|
+
// 焦点位于可编辑的单元格内不做全选
|
|
199
167
|
if (columns.length && rowLen && !getElementEditable(e.target)) {
|
|
200
168
|
opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
|
|
201
169
|
artTable.classList.add(cx(Classes.rangeSelection));
|
|
@@ -212,13 +180,11 @@ export function rangeSelection(opts) {
|
|
|
212
180
|
}
|
|
213
181
|
}
|
|
214
182
|
};
|
|
215
|
-
|
|
216
183
|
pipeline.addTableProps({
|
|
217
184
|
onMouseDown: onMouseDown,
|
|
218
185
|
onKeyDown: onKeyDown,
|
|
219
186
|
tabIndex: -1
|
|
220
187
|
}); // todo: 后面可以把mousedown放到一个流里面
|
|
221
|
-
|
|
222
188
|
return pipeline.mapColumns(makeRecursiveMapper(function (col) {
|
|
223
189
|
var cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || [];
|
|
224
190
|
var prevGetCellProps = col.getCellProps;
|
|
@@ -243,7 +209,6 @@ export function rangeSelection(opts) {
|
|
|
243
209
|
}));
|
|
244
210
|
};
|
|
245
211
|
}
|
|
246
|
-
|
|
247
212
|
function getTargetCell(target, columns) {
|
|
248
213
|
while (target) {
|
|
249
214
|
if (target.getAttribute('data-role') === 'table-cell') {
|
|
@@ -265,60 +230,46 @@ function getTargetCell(target, columns) {
|
|
|
265
230
|
}
|
|
266
231
|
};
|
|
267
232
|
}();
|
|
268
|
-
|
|
269
233
|
if (_typeof(_ret) === "object") return _ret.v;
|
|
270
234
|
}
|
|
271
|
-
|
|
272
235
|
target = target.parentElement;
|
|
273
236
|
}
|
|
274
|
-
|
|
275
237
|
return null;
|
|
276
238
|
}
|
|
277
|
-
|
|
278
239
|
function isSameCell(cell1, cell2) {
|
|
279
240
|
return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isFooterCell === cell2.isFooterCell;
|
|
280
241
|
}
|
|
281
|
-
|
|
282
242
|
function isEleInFooter(target) {
|
|
283
243
|
while (target && !target.classList.contains(Classes.artTable)) {
|
|
284
244
|
if (target.classList.contains(Classes.tableFooter)) {
|
|
285
245
|
return true;
|
|
286
246
|
}
|
|
287
|
-
|
|
288
247
|
target = target.parentElement;
|
|
289
248
|
}
|
|
290
|
-
|
|
291
249
|
return false;
|
|
292
250
|
}
|
|
293
|
-
|
|
294
251
|
function getRangeColumns(startCell, endCell, columns) {
|
|
295
252
|
var flatColumns = collectNodes(columns, 'leaf-only');
|
|
296
|
-
|
|
297
253
|
var startIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
|
|
298
254
|
return col.code === startCell.code;
|
|
299
255
|
});
|
|
300
|
-
|
|
301
256
|
var endIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
|
|
302
257
|
return col.code === endCell.code;
|
|
303
258
|
});
|
|
304
|
-
|
|
305
259
|
if (startIndex < endIndex) {
|
|
306
260
|
return _sliceInstanceProperty(flatColumns).call(flatColumns, startIndex, endIndex + 1);
|
|
307
261
|
} else {
|
|
308
262
|
return _sliceInstanceProperty(flatColumns).call(flatColumns, endIndex, startIndex + 1);
|
|
309
263
|
}
|
|
310
264
|
}
|
|
311
|
-
|
|
312
265
|
function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
313
266
|
var footerRowRange = null;
|
|
314
267
|
var startRow = -1;
|
|
315
268
|
var endRow = -1;
|
|
316
|
-
|
|
317
269
|
var _getCellRangeRow = getCellRangeRow(startCell, endCell),
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
270
|
+
_startRow = _getCellRangeRow.startRow,
|
|
271
|
+
_endRow = _getCellRangeRow.endRow;
|
|
272
|
+
// 两个单元格都在表体
|
|
322
273
|
if (!startCell.isFooterCell && !endCell.isFooterCell) {
|
|
323
274
|
startRow = _startRow;
|
|
324
275
|
endRow = _endRow;
|
|
@@ -346,7 +297,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
346
297
|
};
|
|
347
298
|
}
|
|
348
299
|
}
|
|
349
|
-
|
|
350
300
|
return {
|
|
351
301
|
startRow: startRow,
|
|
352
302
|
endRow: endRow,
|
|
@@ -359,8 +309,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
359
309
|
* @param endCell 结束单元格
|
|
360
310
|
* @returns
|
|
361
311
|
*/
|
|
362
|
-
|
|
363
|
-
|
|
364
312
|
function getCellRangeRow(startCell, endCell) {
|
|
365
313
|
if (isSameCell(startCell, endCell)) {
|
|
366
314
|
return {
|
|
@@ -368,7 +316,6 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
368
316
|
endRow: startCell.rowIndex
|
|
369
317
|
};
|
|
370
318
|
}
|
|
371
|
-
|
|
372
319
|
var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
|
|
373
320
|
var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
|
|
374
321
|
var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
|
|
@@ -382,20 +329,17 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
382
329
|
* @param cellRanges
|
|
383
330
|
* @returns
|
|
384
331
|
*/
|
|
385
|
-
|
|
386
|
-
|
|
387
332
|
function isCellRangeSingleCell(cellRanges) {
|
|
388
333
|
if (cellRanges.length !== 1) return false;
|
|
389
334
|
var _cellRanges$ = cellRanges[0],
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
335
|
+
startRow = _cellRanges$.startRow,
|
|
336
|
+
endRow = _cellRanges$.endRow,
|
|
337
|
+
columns = _cellRanges$.columns,
|
|
338
|
+
footerRowRange = _cellRanges$.footerRowRange;
|
|
394
339
|
var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
|
|
395
340
|
var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
|
|
396
341
|
return isBodySingleCell || isFooterSingleCell;
|
|
397
342
|
}
|
|
398
|
-
|
|
399
343
|
function getRowIndex(startRow, endRow) {
|
|
400
344
|
var isReverse = startRow > endRow;
|
|
401
345
|
var startRowIndex = isReverse ? endRow : startRow;
|
|
@@ -405,23 +349,18 @@ function getRowIndex(startRow, endRow) {
|
|
|
405
349
|
endRowIndex: endRowIndex
|
|
406
350
|
};
|
|
407
351
|
}
|
|
408
|
-
|
|
409
352
|
function getFooterRowIndex(footerRowRange) {
|
|
410
353
|
if (footerRowRange) {
|
|
411
354
|
return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
|
|
412
355
|
}
|
|
413
|
-
|
|
414
356
|
return {
|
|
415
357
|
startRowIndex: -1,
|
|
416
358
|
endRowIndex: -1
|
|
417
359
|
};
|
|
418
360
|
}
|
|
419
|
-
|
|
420
361
|
function getElementEditable(target) {
|
|
421
362
|
var _context;
|
|
422
|
-
|
|
423
363
|
if (!target) return;
|
|
424
|
-
|
|
425
364
|
if (_includesInstanceProperty(_context = ['input', 'textarea']).call(_context, target.tagName.toLowerCase())) {
|
|
426
365
|
if (target.type === 'checkbox') return;
|
|
427
366
|
return !target.disabled && !target.readOnly;
|
|
@@ -435,26 +374,21 @@ function getElementEditable(target) {
|
|
|
435
374
|
* @param isFooterCell
|
|
436
375
|
* @returns
|
|
437
376
|
*/
|
|
438
|
-
|
|
439
|
-
|
|
440
377
|
function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
441
378
|
var startRow = cellRange.startRow,
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
379
|
+
endRow = cellRange.endRow,
|
|
380
|
+
columns = cellRange.columns,
|
|
381
|
+
footerRowRange = cellRange.footerRowRange;
|
|
445
382
|
var isColInRanges = _findIndexInstanceProperty(columns).call(columns, function (item) {
|
|
446
383
|
return item.code === col.code;
|
|
447
384
|
}) !== -1;
|
|
448
385
|
if (!isColInRanges) return false;
|
|
449
|
-
|
|
450
386
|
var _getRowIndex = getRowIndex(startRow, endRow),
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
387
|
+
startRowIndex = _getRowIndex.startRowIndex,
|
|
388
|
+
endRowIndex = _getRowIndex.endRowIndex;
|
|
454
389
|
var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
390
|
+
footerStartRowIndex = _getFooterRowIndex.startRowIndex,
|
|
391
|
+
footerEndRowIndex = _getFooterRowIndex.endRowIndex;
|
|
458
392
|
var bodyMatch = !isFooterCell && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
|
|
459
393
|
var footerMatch = isFooterCell && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
|
|
460
394
|
var isRowInRange = footerMatch || bodyMatch;
|
|
@@ -465,22 +399,17 @@ function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
|
465
399
|
* @param {*} cellRange
|
|
466
400
|
* @returns
|
|
467
401
|
*/
|
|
468
|
-
|
|
469
|
-
|
|
470
402
|
export function getCellRangeId(cellRange) {
|
|
471
403
|
var startRow = cellRange.startRow,
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
404
|
+
endRow = cellRange.endRow,
|
|
405
|
+
footerRowRange = cellRange.footerRowRange,
|
|
406
|
+
columns = cellRange.columns;
|
|
476
407
|
var _getRowIndex2 = getRowIndex(startRow, endRow),
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
408
|
+
startRowIndex = _getRowIndex2.startRowIndex,
|
|
409
|
+
endRowIndex = _getRowIndex2.endRowIndex;
|
|
480
410
|
var _getFooterRowIndex2 = getFooterRowIndex(footerRowRange),
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
411
|
+
footerStartRowIndex = _getFooterRowIndex2.startRowIndex,
|
|
412
|
+
footerEndRowIndex = _getFooterRowIndex2.endRowIndex;
|
|
484
413
|
var firstColId = columns[0].code;
|
|
485
414
|
var endColId = columns[columns.length - 1].code;
|
|
486
415
|
return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId;
|
|
@@ -491,58 +420,50 @@ export function getCellRangeId(cellRange) {
|
|
|
491
420
|
* @param param1
|
|
492
421
|
* @returns
|
|
493
422
|
*/
|
|
494
|
-
|
|
495
423
|
function getCellRangesClassName(cellRanges, _ref2) {
|
|
496
424
|
var _cx;
|
|
497
|
-
|
|
498
425
|
var isFooterCell = _ref2.isFooterCell,
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
426
|
+
rowIndex = _ref2.rowIndex,
|
|
427
|
+
col = _ref2.col,
|
|
428
|
+
record = _ref2.record;
|
|
503
429
|
var _getMatchBorderStyle = getMatchBorderStyle(cellRanges, {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
430
|
+
isFooterCell: isFooterCell,
|
|
431
|
+
rowIndex: rowIndex,
|
|
432
|
+
col: col,
|
|
433
|
+
record: record
|
|
434
|
+
}),
|
|
435
|
+
matchCellRangeTop = _getMatchBorderStyle.matchCellRangeTop,
|
|
436
|
+
matchCellRangeLeft = _getMatchBorderStyle.matchCellRangeLeft,
|
|
437
|
+
matchCellRangeBottom = _getMatchBorderStyle.matchCellRangeBottom,
|
|
438
|
+
matchCellRangeRight = _getMatchBorderStyle.matchCellRangeRight;
|
|
514
439
|
var isSingleCell = isCellRangeSingleCell(cellRanges);
|
|
515
440
|
var className = cx((_cx = {}, _defineProperty(_cx, Classes.tableCellRangeSingleCell, isSingleCell), _defineProperty(_cx, Classes.tableCellRangeSelected, !isSingleCell), _defineProperty(_cx, Classes.tableCellRangeTop, !isSingleCell && matchCellRangeTop), _defineProperty(_cx, Classes.tableCellRangeLeft, !isSingleCell && matchCellRangeLeft), _defineProperty(_cx, Classes.tableCellRangeBottom, !isSingleCell && matchCellRangeBottom), _defineProperty(_cx, Classes.tableCellRangeRight, !isSingleCell && matchCellRangeRight), _cx));
|
|
516
441
|
return className;
|
|
517
442
|
}
|
|
518
|
-
|
|
519
443
|
function getMatchBorderStyle(cellRanges, _ref3) {
|
|
520
444
|
var isFooterCell = _ref3.isFooterCell,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
445
|
+
rowIndex = _ref3.rowIndex,
|
|
446
|
+
col = _ref3.col,
|
|
447
|
+
record = _ref3.record;
|
|
524
448
|
return cellRanges.reduce(function (obj, cellRange) {
|
|
525
449
|
if (!isCellInRange(cellRange, rowIndex, col, isFooterCell)) return obj;
|
|
526
450
|
var startRow = cellRange.startRow,
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
451
|
+
endRow = cellRange.endRow,
|
|
452
|
+
columns = cellRange.columns,
|
|
453
|
+
footerRowRange = cellRange.footerRowRange;
|
|
531
454
|
var _getRowIndex3 = getRowIndex(startRow, endRow),
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
455
|
+
startRowIndex = _getRowIndex3.startRowIndex,
|
|
456
|
+
endRowIndex = _getRowIndex3.endRowIndex;
|
|
535
457
|
var _getFooterRowIndex3 = getFooterRowIndex(footerRowRange),
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
458
|
+
footerStartRowIndex = _getFooterRowIndex3.startRowIndex,
|
|
459
|
+
footerEndRowIndex = _getFooterRowIndex3.endRowIndex;
|
|
539
460
|
var startCol = columns[0];
|
|
540
461
|
var endCol = columns[columns.length - 1];
|
|
541
462
|
var matchCellRangeTop = isFooterCell ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex;
|
|
542
463
|
var matchCellRangeLeft = col.code === startCol.code;
|
|
543
464
|
var matchCellRangeBottom = isFooterCell ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex;
|
|
544
|
-
var matchCellRangeRight = col.code === endCol.code;
|
|
545
|
-
|
|
465
|
+
var matchCellRangeRight = col.code === endCol.code;
|
|
466
|
+
// 如果样式已经匹配上了,就不需要再取计算的样式
|
|
546
467
|
obj.matchCellRangeTop = obj.matchCellRangeTop || matchCellRangeTop;
|
|
547
468
|
obj.matchCellRangeLeft = obj.matchCellRangeLeft || matchCellRangeLeft;
|
|
548
469
|
obj.matchCellRangeBottom = obj.matchCellRangeBottom || matchCellRangeBottom;
|
|
@@ -18,9 +18,7 @@ import { always, flatMap } from '../../utils/others';
|
|
|
18
18
|
import console from '../../utils/console';
|
|
19
19
|
import getTableRenderTemplate from '../../base/renderTemplates';
|
|
20
20
|
import { Classes } from '../../base';
|
|
21
|
-
|
|
22
21
|
var rowDetailSymbol = _Symbol('row-detail');
|
|
23
|
-
|
|
24
22
|
var fallbackRenderDetail = function fallbackRenderDetail() {
|
|
25
23
|
return /*#__PURE__*/React.createElement("div", {
|
|
26
24
|
style: {
|
|
@@ -32,14 +30,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
|
|
|
32
30
|
}
|
|
33
31
|
}, "\u8BBE\u7F6E ", /*#__PURE__*/React.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
|
|
34
32
|
};
|
|
35
|
-
|
|
36
33
|
export function rowDetail() {
|
|
37
34
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
38
35
|
return function rowDetailStep(pipeline) {
|
|
39
36
|
var _context, _context2;
|
|
40
|
-
|
|
41
37
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
42
|
-
|
|
43
38
|
var stateKey = 'rowDetail';
|
|
44
39
|
var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
|
|
45
40
|
var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
|
|
@@ -54,33 +49,26 @@ export function rowDetail() {
|
|
|
54
49
|
var openKeys = (_h = (_g = (_f = opts.openKeys) !== null && _f !== void 0 ? _f : pipeline.getStateAtKey(stateKey)) !== null && _g !== void 0 ? _g : opts.defaultOpenAll ? _mapInstanceProperty(_context = _filterInstanceProperty(_context2 = pipeline.getDataSource()).call(_context2, hasDetail)).call(_context, function (row, rowIndex) {
|
|
55
50
|
return internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
56
51
|
}) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
|
|
57
|
-
|
|
58
52
|
var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
|
|
59
53
|
var _a;
|
|
60
|
-
|
|
61
54
|
(_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
|
|
62
55
|
pipeline.setStateAtKey(stateKey, nextKeys, {
|
|
63
56
|
key: key,
|
|
64
57
|
action: action
|
|
65
58
|
});
|
|
66
59
|
};
|
|
67
|
-
|
|
68
60
|
var openKeySet = new _Set(openKeys);
|
|
69
|
-
|
|
70
61
|
var toggle = function toggle(rowKey) {
|
|
71
62
|
var expanded = openKeySet.has(rowKey);
|
|
72
|
-
|
|
73
63
|
if (expanded) {
|
|
74
64
|
onChangeOpenKeys(_filterInstanceProperty(openKeys).call(openKeys, function (key) {
|
|
75
65
|
return key !== rowKey;
|
|
76
66
|
}), rowKey, 'collapse');
|
|
77
67
|
} else {
|
|
78
68
|
var _context3;
|
|
79
|
-
|
|
80
69
|
onChangeOpenKeys(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(openKeys), [rowKey]), rowKey, 'expand');
|
|
81
70
|
}
|
|
82
71
|
};
|
|
83
|
-
|
|
84
72
|
var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
|
|
85
73
|
return pipeline.dataSource(flatMap(pipeline.getDataSource(), function (row, rowIndex) {
|
|
86
74
|
if (openKeySet.has(internals.safeGetRowKey(primaryKey, row, rowIndex))) {
|
|
@@ -96,35 +84,27 @@ export function rowDetail() {
|
|
|
96
84
|
};
|
|
97
85
|
}
|
|
98
86
|
});
|
|
99
|
-
|
|
100
87
|
function processColumns(columns) {
|
|
101
88
|
if (columns.length === 0) {
|
|
102
89
|
return columns;
|
|
103
90
|
}
|
|
104
|
-
|
|
105
91
|
var expandColumnIndex = 0;
|
|
106
|
-
|
|
107
92
|
if (opts.expandColumnCode) {
|
|
108
93
|
expandColumnIndex = _findIndexInstanceProperty(columns).call(columns, function (col) {
|
|
109
94
|
return col.code === opts.expandColumnCode;
|
|
110
95
|
});
|
|
111
|
-
|
|
112
96
|
if (expandColumnIndex < 0) {
|
|
113
97
|
console.warn('没找到可展开的列,请检查设置的展开列code');
|
|
114
98
|
return columns;
|
|
115
99
|
}
|
|
116
100
|
}
|
|
117
|
-
|
|
118
101
|
var expandCol = columns[expandColumnIndex];
|
|
119
|
-
|
|
120
102
|
var tableColumns = _toConsumableArray(columns);
|
|
121
|
-
|
|
122
103
|
var render = function render(value, row, rowIndex) {
|
|
123
104
|
if (row[rowDetailMetaKey]) {
|
|
124
105
|
// 第一列内容已经渲染
|
|
125
106
|
if (expandColumnIndex !== 0) return;
|
|
126
107
|
var renderRowDetail = getTableRenderTemplate('rowDetail');
|
|
127
|
-
|
|
128
108
|
if (typeof renderRowDetail === 'function') {
|
|
129
109
|
return renderRowDetail({
|
|
130
110
|
row: row,
|
|
@@ -133,12 +113,9 @@ export function rowDetail() {
|
|
|
133
113
|
renderDetail: renderDetail
|
|
134
114
|
});
|
|
135
115
|
}
|
|
136
|
-
|
|
137
116
|
return renderDetail(row, rowIndex);
|
|
138
117
|
}
|
|
139
|
-
|
|
140
118
|
var content = internals.safeRender(expandCol, row, rowIndex);
|
|
141
|
-
|
|
142
119
|
if (!hasDetail(row, rowIndex)) {
|
|
143
120
|
return /*#__PURE__*/React.createElement(InlineFlexCell, {
|
|
144
121
|
style: {
|
|
@@ -146,18 +123,14 @@ export function rowDetail() {
|
|
|
146
123
|
}
|
|
147
124
|
}, content);
|
|
148
125
|
}
|
|
149
|
-
|
|
150
126
|
var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
151
127
|
var expanded = openKeySet.has(rowKey);
|
|
152
|
-
|
|
153
128
|
var onClick = function onClick(e) {
|
|
154
129
|
if (opts.stopClickEventPropagation) {
|
|
155
130
|
e.stopPropagation();
|
|
156
131
|
}
|
|
157
|
-
|
|
158
132
|
toggle(rowKey);
|
|
159
133
|
};
|
|
160
|
-
|
|
161
134
|
var expandCls = expanded ? Classes.expanded : Classes.collapsed;
|
|
162
135
|
var ExpandIcon = opts.expandIcon;
|
|
163
136
|
return /*#__PURE__*/React.createElement(ExpansionCell, {
|
|
@@ -179,10 +152,8 @@ export function rowDetail() {
|
|
|
179
152
|
onClick: clickArea === 'icon' ? onClick : undefined
|
|
180
153
|
}), content);
|
|
181
154
|
};
|
|
182
|
-
|
|
183
155
|
var getCellProps = function getCellProps(value, row, rowIndex) {
|
|
184
156
|
var _a;
|
|
185
|
-
|
|
186
157
|
if (row[rowDetailMetaKey]) {
|
|
187
158
|
return {
|
|
188
159
|
style: _extends({
|
|
@@ -191,19 +162,15 @@ export function rowDetail() {
|
|
|
191
162
|
}, opts.detailCellStyle)
|
|
192
163
|
};
|
|
193
164
|
}
|
|
194
|
-
|
|
195
165
|
var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
|
|
196
|
-
|
|
197
166
|
if (!hasDetail(row, rowIndex)) {
|
|
198
167
|
return prevProps;
|
|
199
168
|
}
|
|
200
|
-
|
|
201
169
|
return mergeCellProps(prevProps, {
|
|
202
170
|
onClick: function onClick(e) {
|
|
203
171
|
if (opts.stopClickEventPropagation) {
|
|
204
172
|
e.stopPropagation();
|
|
205
173
|
}
|
|
206
|
-
|
|
207
174
|
toggle(internals.safeGetRowKey(primaryKey, row, rowIndex));
|
|
208
175
|
},
|
|
209
176
|
style: {
|
|
@@ -211,15 +178,12 @@ export function rowDetail() {
|
|
|
211
178
|
}
|
|
212
179
|
});
|
|
213
180
|
};
|
|
214
|
-
|
|
215
181
|
var _tableColumns = _toArray(tableColumns),
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
182
|
+
firstCol = _tableColumns[0],
|
|
183
|
+
others = _sliceInstanceProperty(_tableColumns).call(_tableColumns, 1);
|
|
219
184
|
var firstColRender = function firstColRender(value, row, rowIndex) {
|
|
220
185
|
if (row[rowDetailMetaKey]) {
|
|
221
186
|
var renderRowDetail = getTableRenderTemplate('rowDetail');
|
|
222
|
-
|
|
223
187
|
if (typeof renderRowDetail === 'function') {
|
|
224
188
|
return renderRowDetail({
|
|
225
189
|
row: row,
|
|
@@ -228,14 +192,11 @@ export function rowDetail() {
|
|
|
228
192
|
renderDetail: renderDetail
|
|
229
193
|
});
|
|
230
194
|
}
|
|
231
|
-
|
|
232
195
|
return renderDetail(row, rowIndex);
|
|
233
196
|
}
|
|
234
|
-
|
|
235
197
|
var content = internals.safeRender(firstCol, row, rowIndex);
|
|
236
198
|
return content;
|
|
237
199
|
};
|
|
238
|
-
|
|
239
200
|
tableColumns[0] = _extends(_extends({}, firstCol), {
|
|
240
201
|
render: firstColRender,
|
|
241
202
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|