@kdcloudjs/table 1.2.0-canary.15 → 1.2.0-canary.16-hotfix
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +2051 -3489
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +16 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +35 -96
- package/es/_utils/hooks.js +18 -42
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +74 -137
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +5 -43
- package/es/table/base/calculations.js +22 -72
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +4 -4
- package/es/table/base/header.js +14 -67
- package/es/table/base/helpers/SpanManager.js +3 -9
- package/es/table/base/helpers/TableDOMUtils.js +4 -27
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +14 -35
- package/es/table/base/loading.js +6 -8
- package/es/table/base/renderTemplates.js +26 -44
- package/es/table/base/styles.js +1 -10
- package/es/table/base/table.js +96 -179
- package/es/table/base/utils.js +14 -54
- package/es/table/common-views.js +0 -7
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.d.ts +1 -0
- package/es/table/pipeline/features/columnDrag.js +236 -303
- package/es/table/pipeline/features/columnFilter.js +11 -48
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +51 -42
- package/es/table/pipeline/features/contextMenu.js +18 -89
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +25 -48
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +65 -143
- package/es/table/pipeline/features/rowDetail.js +2 -41
- package/es/table/pipeline/features/rowDrag.js +36 -71
- package/es/table/pipeline/features/rowGrouping.js +2 -35
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +31 -83
- package/es/table/pipeline/features/tips.js +0 -6
- package/es/table/pipeline/features/treeMode.js +9 -44
- package/es/table/pipeline/features/treeSelect.js +0 -26
- package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
- package/es/table/pipeline/pipeline.js +11 -51
- package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
- package/es/table/pivot/cross-table/cross-table.js +22 -28
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +31 -71
- package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +10 -32
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +15 -37
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +36 -88
- package/es/table/transforms/tips.js +1 -6
- package/es/table/transforms/treeMode.js +30 -69
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/buildTree.js +4 -19
- package/es/table/utils/collectNodes.js +1 -10
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +4 -40
- package/es/table/utils/getTreeDepth.js +1 -9
- package/es/table/utils/groupBy.js +1 -10
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +1 -12
- package/es/table/utils/mergeCellProps.js +6 -13
- package/es/table/utils/others.js +3 -16
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +2 -15
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
- package/lib/_utils/arrayUtil.js +0 -5
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +35 -100
- package/lib/_utils/hooks.js +18 -53
- package/lib/_utils/index.js +0 -6
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +0 -6
- package/lib/_utils/usePopper.js +74 -158
- package/lib/config-provider/ConfigContext.js +1 -4
- package/lib/config-provider/compDefaultProps.js +0 -1
- package/lib/config-provider/configProvider.js +3 -18
- package/lib/config-provider/defaultConfig.js +0 -5
- package/lib/config-provider/index.js +0 -6
- package/lib/index.js +2 -8
- package/lib/locale/index.js +0 -7
- package/lib/locale/locale.js +5 -57
- package/lib/table/base/calculations.js +22 -83
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +4 -16
- package/lib/table/base/header.js +14 -77
- package/lib/table/base/helpers/SpanManager.js +3 -11
- package/lib/table/base/helpers/TableDOMUtils.js +2 -27
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +14 -45
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +6 -12
- package/lib/table/base/renderTemplates.js +27 -58
- package/lib/table/base/styles.js +1 -22
- package/lib/table/base/table.js +96 -212
- package/lib/table/base/utils.js +14 -89
- package/lib/table/common-views.js +0 -16
- package/lib/table/index.js +0 -13
- package/lib/table/internals.js +0 -14
- package/lib/table/pipeline/features/autoFill.js +11 -47
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
- package/lib/table/pipeline/features/columnDrag.d.ts +1 -0
- package/lib/table/pipeline/features/columnDrag.js +236 -309
- package/lib/table/pipeline/features/columnFilter.js +11 -62
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +51 -58
- package/lib/table/pipeline/features/contextMenu.js +18 -113
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +25 -70
- package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +0 -7
- package/lib/table/pipeline/features/footerDataSource.js +0 -10
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +65 -160
- package/lib/table/pipeline/features/rowDetail.js +2 -65
- package/lib/table/pipeline/features/rowDrag.js +36 -81
- package/lib/table/pipeline/features/rowGrouping.js +2 -55
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +31 -103
- package/lib/table/pipeline/features/tips.js +0 -15
- package/lib/table/pipeline/features/treeMode.js +9 -65
- package/lib/table/pipeline/features/treeSelect.js +0 -34
- package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
- package/lib/table/pipeline/index.js +0 -8
- package/lib/table/pipeline/pipeline.js +11 -60
- package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
- package/lib/table/pivot/cross-table/cross-table.js +22 -36
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +31 -82
- package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +10 -53
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +15 -56
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +36 -112
- package/lib/table/transforms/tips.js +1 -16
- package/lib/table/transforms/treeMode.js +30 -96
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +1 -8
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/buildTree.js +4 -30
- package/lib/table/utils/collectNodes.js +1 -15
- package/lib/table/utils/console.js +0 -16
- package/lib/table/utils/copyToClipboard.js +0 -6
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +4 -49
- package/lib/table/utils/getTreeDepth.js +1 -14
- package/lib/table/utils/groupBy.js +1 -14
- package/lib/table/utils/index.js +0 -21
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +1 -21
- package/lib/table/utils/mergeCellProps.js +6 -17
- package/lib/table/utils/others.js +3 -31
- package/lib/table/utils/proto.js +2 -33
- package/lib/table/utils/selectColumn.js +0 -1
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +2 -22
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
- package/package.json +2 -1
|
@@ -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,70 +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
|
-
var target = mouseDownEvent.target;
|
|
149
|
-
|
|
122
|
+
var target = mouseDownEvent.target;
|
|
123
|
+
var startDragCell = getTargetCell(target, columns);
|
|
124
|
+
if (!startDragCell) return;
|
|
125
|
+
// 每次点击时先确认初始生效的框选范围
|
|
150
126
|
setStartSelectedCellRanges(isCtrlKey, isShiftKey);
|
|
151
|
-
|
|
152
127
|
if (isShiftKey) {
|
|
153
128
|
shiftKeySelect(mouseDownEvent);
|
|
154
129
|
return;
|
|
155
130
|
}
|
|
156
|
-
|
|
157
|
-
var startDragCell = getTargetCell(target, columns);
|
|
158
131
|
pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
|
|
159
132
|
var draggingCell = startDragCell;
|
|
160
133
|
var mousemove$ = fromEvent(window, 'mousemove');
|
|
@@ -166,11 +139,9 @@ export function rangeSelection(opts) {
|
|
|
166
139
|
clientX: mouseMoveEvent.clientX,
|
|
167
140
|
clientY: mouseMoveEvent.clientY
|
|
168
141
|
};
|
|
169
|
-
|
|
170
142
|
if (!(draggingCell === null || draggingCell === void 0 ? void 0 : draggingCell.isFooterCell)) {
|
|
171
143
|
updateScrollPosition(client);
|
|
172
144
|
}
|
|
173
|
-
|
|
174
145
|
return {
|
|
175
146
|
startDragCell: startDragCell,
|
|
176
147
|
draggingCell: draggingCell
|
|
@@ -179,7 +150,7 @@ export function rangeSelection(opts) {
|
|
|
179
150
|
rangeSelected$.subscribe({
|
|
180
151
|
next: function next(_ref) {
|
|
181
152
|
var startDragCell = _ref.startDragCell,
|
|
182
|
-
|
|
153
|
+
draggingCell = _ref.draggingCell;
|
|
183
154
|
setRangeSelection(startDragCell, draggingCell, false);
|
|
184
155
|
},
|
|
185
156
|
complete: function complete() {
|
|
@@ -187,14 +158,12 @@ export function rangeSelection(opts) {
|
|
|
187
158
|
}
|
|
188
159
|
});
|
|
189
160
|
};
|
|
190
|
-
|
|
191
161
|
var onKeyDown = function onKeyDown(e) {
|
|
192
162
|
if (!(isElementInEventPath(tableBody, e.nativeEvent) || isElementInEventPath(tableFooter, e.nativeEvent))) return;
|
|
193
|
-
|
|
194
163
|
if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
|
|
195
164
|
var rowLen = pipeline.getDataSource().length;
|
|
196
|
-
var footerDataSource = pipeline.getFooterDataSource() || [];
|
|
197
|
-
|
|
165
|
+
var footerDataSource = pipeline.getFooterDataSource() || [];
|
|
166
|
+
// 焦点位于可编辑的单元格内不做全选
|
|
198
167
|
if (columns.length && rowLen && !getElementEditable(e.target)) {
|
|
199
168
|
opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
|
|
200
169
|
artTable.classList.add(cx(Classes.rangeSelection));
|
|
@@ -211,14 +180,12 @@ export function rangeSelection(opts) {
|
|
|
211
180
|
}
|
|
212
181
|
}
|
|
213
182
|
};
|
|
214
|
-
|
|
215
183
|
pipeline.addTableProps({
|
|
216
184
|
onMouseDown: onMouseDown,
|
|
217
185
|
onKeyDown: onKeyDown,
|
|
218
186
|
tabIndex: -1,
|
|
219
187
|
className: cx([Classes.rangeSelection])
|
|
220
188
|
}); // todo: 后面可以把mousedown放到一个流里面
|
|
221
|
-
|
|
222
189
|
return pipeline.mapColumns(makeRecursiveMapper(function (col) {
|
|
223
190
|
var cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || [];
|
|
224
191
|
var prevGetCellProps = col.getCellProps;
|
|
@@ -243,7 +210,6 @@ export function rangeSelection(opts) {
|
|
|
243
210
|
}));
|
|
244
211
|
};
|
|
245
212
|
}
|
|
246
|
-
|
|
247
213
|
function getTargetCell(target, columns) {
|
|
248
214
|
while (target) {
|
|
249
215
|
if (target.getAttribute('data-role') === 'table-cell') {
|
|
@@ -265,60 +231,46 @@ function getTargetCell(target, columns) {
|
|
|
265
231
|
}
|
|
266
232
|
};
|
|
267
233
|
}();
|
|
268
|
-
|
|
269
234
|
if (_typeof(_ret) === "object") return _ret.v;
|
|
270
235
|
}
|
|
271
|
-
|
|
272
236
|
target = target.parentElement;
|
|
273
237
|
}
|
|
274
|
-
|
|
275
238
|
return null;
|
|
276
239
|
}
|
|
277
|
-
|
|
278
240
|
function isSameCell(cell1, cell2) {
|
|
279
241
|
return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isFooterCell === cell2.isFooterCell;
|
|
280
242
|
}
|
|
281
|
-
|
|
282
243
|
function isEleInFooter(target) {
|
|
283
244
|
while (target && !target.classList.contains(Classes.artTable)) {
|
|
284
245
|
if (target.classList.contains(Classes.tableFooter)) {
|
|
285
246
|
return true;
|
|
286
247
|
}
|
|
287
|
-
|
|
288
248
|
target = target.parentElement;
|
|
289
249
|
}
|
|
290
|
-
|
|
291
250
|
return false;
|
|
292
251
|
}
|
|
293
|
-
|
|
294
252
|
function getRangeColumns(startCell, endCell, columns) {
|
|
295
253
|
var flatColumns = collectNodes(columns, 'leaf-only');
|
|
296
|
-
|
|
297
254
|
var startIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
|
|
298
255
|
return col.code === startCell.code;
|
|
299
256
|
});
|
|
300
|
-
|
|
301
257
|
var endIndex = _findIndexInstanceProperty(flatColumns).call(flatColumns, function (col) {
|
|
302
258
|
return col.code === endCell.code;
|
|
303
259
|
});
|
|
304
|
-
|
|
305
260
|
if (startIndex < endIndex) {
|
|
306
261
|
return _sliceInstanceProperty(flatColumns).call(flatColumns, startIndex, endIndex + 1);
|
|
307
262
|
} else {
|
|
308
263
|
return _sliceInstanceProperty(flatColumns).call(flatColumns, endIndex, startIndex + 1);
|
|
309
264
|
}
|
|
310
265
|
}
|
|
311
|
-
|
|
312
266
|
function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
313
267
|
var footerRowRange = null;
|
|
314
268
|
var startRow = -1;
|
|
315
269
|
var endRow = -1;
|
|
316
|
-
|
|
317
270
|
var _getCellRangeRow = getCellRangeRow(startCell, endCell),
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
271
|
+
_startRow = _getCellRangeRow.startRow,
|
|
272
|
+
_endRow = _getCellRangeRow.endRow;
|
|
273
|
+
// 两个单元格都在表体
|
|
322
274
|
if (!startCell.isFooterCell && !endCell.isFooterCell) {
|
|
323
275
|
startRow = _startRow;
|
|
324
276
|
endRow = _endRow;
|
|
@@ -346,7 +298,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
346
298
|
};
|
|
347
299
|
}
|
|
348
300
|
}
|
|
349
|
-
|
|
350
301
|
return {
|
|
351
302
|
startRow: startRow,
|
|
352
303
|
endRow: endRow,
|
|
@@ -359,8 +310,6 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
359
310
|
* @param endCell 结束单元格
|
|
360
311
|
* @returns
|
|
361
312
|
*/
|
|
362
|
-
|
|
363
|
-
|
|
364
313
|
function getCellRangeRow(startCell, endCell) {
|
|
365
314
|
if (isSameCell(startCell, endCell)) {
|
|
366
315
|
return {
|
|
@@ -368,7 +317,6 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
368
317
|
endRow: startCell.rowIndex
|
|
369
318
|
};
|
|
370
319
|
}
|
|
371
|
-
|
|
372
320
|
var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
|
|
373
321
|
var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
|
|
374
322
|
var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
|
|
@@ -382,20 +330,17 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
382
330
|
* @param cellRanges
|
|
383
331
|
* @returns
|
|
384
332
|
*/
|
|
385
|
-
|
|
386
|
-
|
|
387
333
|
function isCellRangeSingleCell(cellRanges) {
|
|
388
334
|
if (cellRanges.length !== 1) return false;
|
|
389
335
|
var _cellRanges$ = cellRanges[0],
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
336
|
+
startRow = _cellRanges$.startRow,
|
|
337
|
+
endRow = _cellRanges$.endRow,
|
|
338
|
+
columns = _cellRanges$.columns,
|
|
339
|
+
footerRowRange = _cellRanges$.footerRowRange;
|
|
394
340
|
var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
|
|
395
341
|
var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
|
|
396
342
|
return isBodySingleCell || isFooterSingleCell;
|
|
397
343
|
}
|
|
398
|
-
|
|
399
344
|
function getRowIndex(startRow, endRow) {
|
|
400
345
|
var isReverse = startRow > endRow;
|
|
401
346
|
var startRowIndex = isReverse ? endRow : startRow;
|
|
@@ -405,23 +350,18 @@ function getRowIndex(startRow, endRow) {
|
|
|
405
350
|
endRowIndex: endRowIndex
|
|
406
351
|
};
|
|
407
352
|
}
|
|
408
|
-
|
|
409
353
|
function getFooterRowIndex(footerRowRange) {
|
|
410
354
|
if (footerRowRange) {
|
|
411
355
|
return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
|
|
412
356
|
}
|
|
413
|
-
|
|
414
357
|
return {
|
|
415
358
|
startRowIndex: -1,
|
|
416
359
|
endRowIndex: -1
|
|
417
360
|
};
|
|
418
361
|
}
|
|
419
|
-
|
|
420
362
|
function getElementEditable(target) {
|
|
421
363
|
var _context;
|
|
422
|
-
|
|
423
364
|
if (!target) return;
|
|
424
|
-
|
|
425
365
|
if (_includesInstanceProperty(_context = ['input', 'textarea']).call(_context, target.tagName.toLowerCase())) {
|
|
426
366
|
if (target.type === 'checkbox') return;
|
|
427
367
|
return !target.disabled && !target.readOnly;
|
|
@@ -435,26 +375,21 @@ function getElementEditable(target) {
|
|
|
435
375
|
* @param isFooterCell
|
|
436
376
|
* @returns
|
|
437
377
|
*/
|
|
438
|
-
|
|
439
|
-
|
|
440
378
|
function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
441
379
|
var startRow = cellRange.startRow,
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
380
|
+
endRow = cellRange.endRow,
|
|
381
|
+
columns = cellRange.columns,
|
|
382
|
+
footerRowRange = cellRange.footerRowRange;
|
|
445
383
|
var isColInRanges = _findIndexInstanceProperty(columns).call(columns, function (item) {
|
|
446
384
|
return item.code === col.code;
|
|
447
385
|
}) !== -1;
|
|
448
386
|
if (!isColInRanges) return false;
|
|
449
|
-
|
|
450
387
|
var _getRowIndex = getRowIndex(startRow, endRow),
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
388
|
+
startRowIndex = _getRowIndex.startRowIndex,
|
|
389
|
+
endRowIndex = _getRowIndex.endRowIndex;
|
|
454
390
|
var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
391
|
+
footerStartRowIndex = _getFooterRowIndex.startRowIndex,
|
|
392
|
+
footerEndRowIndex = _getFooterRowIndex.endRowIndex;
|
|
458
393
|
var bodyMatch = !isFooterCell && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
|
|
459
394
|
var footerMatch = isFooterCell && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
|
|
460
395
|
var isRowInRange = footerMatch || bodyMatch;
|
|
@@ -465,22 +400,17 @@ function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
|
465
400
|
* @param {*} cellRange
|
|
466
401
|
* @returns
|
|
467
402
|
*/
|
|
468
|
-
|
|
469
|
-
|
|
470
403
|
export function getCellRangeId(cellRange) {
|
|
471
404
|
var startRow = cellRange.startRow,
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
405
|
+
endRow = cellRange.endRow,
|
|
406
|
+
footerRowRange = cellRange.footerRowRange,
|
|
407
|
+
columns = cellRange.columns;
|
|
476
408
|
var _getRowIndex2 = getRowIndex(startRow, endRow),
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
409
|
+
startRowIndex = _getRowIndex2.startRowIndex,
|
|
410
|
+
endRowIndex = _getRowIndex2.endRowIndex;
|
|
480
411
|
var _getFooterRowIndex2 = getFooterRowIndex(footerRowRange),
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
412
|
+
footerStartRowIndex = _getFooterRowIndex2.startRowIndex,
|
|
413
|
+
footerEndRowIndex = _getFooterRowIndex2.endRowIndex;
|
|
484
414
|
var firstColId = columns[0].code;
|
|
485
415
|
var endColId = columns[columns.length - 1].code;
|
|
486
416
|
return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId;
|
|
@@ -491,58 +421,50 @@ export function getCellRangeId(cellRange) {
|
|
|
491
421
|
* @param param1
|
|
492
422
|
* @returns
|
|
493
423
|
*/
|
|
494
|
-
|
|
495
424
|
function getCellRangesClassName(cellRanges, _ref2) {
|
|
496
425
|
var _cx;
|
|
497
|
-
|
|
498
426
|
var isFooterCell = _ref2.isFooterCell,
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
427
|
+
rowIndex = _ref2.rowIndex,
|
|
428
|
+
col = _ref2.col,
|
|
429
|
+
record = _ref2.record;
|
|
503
430
|
var _getMatchBorderStyle = getMatchBorderStyle(cellRanges, {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
431
|
+
isFooterCell: isFooterCell,
|
|
432
|
+
rowIndex: rowIndex,
|
|
433
|
+
col: col,
|
|
434
|
+
record: record
|
|
435
|
+
}),
|
|
436
|
+
matchCellRangeTop = _getMatchBorderStyle.matchCellRangeTop,
|
|
437
|
+
matchCellRangeLeft = _getMatchBorderStyle.matchCellRangeLeft,
|
|
438
|
+
matchCellRangeBottom = _getMatchBorderStyle.matchCellRangeBottom,
|
|
439
|
+
matchCellRangeRight = _getMatchBorderStyle.matchCellRangeRight;
|
|
514
440
|
var isSingleCell = isCellRangeSingleCell(cellRanges);
|
|
515
441
|
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
442
|
return className;
|
|
517
443
|
}
|
|
518
|
-
|
|
519
444
|
function getMatchBorderStyle(cellRanges, _ref3) {
|
|
520
445
|
var isFooterCell = _ref3.isFooterCell,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
446
|
+
rowIndex = _ref3.rowIndex,
|
|
447
|
+
col = _ref3.col,
|
|
448
|
+
record = _ref3.record;
|
|
524
449
|
return cellRanges.reduce(function (obj, cellRange) {
|
|
525
450
|
if (!isCellInRange(cellRange, rowIndex, col, isFooterCell)) return obj;
|
|
526
451
|
var startRow = cellRange.startRow,
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
452
|
+
endRow = cellRange.endRow,
|
|
453
|
+
columns = cellRange.columns,
|
|
454
|
+
footerRowRange = cellRange.footerRowRange;
|
|
531
455
|
var _getRowIndex3 = getRowIndex(startRow, endRow),
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
456
|
+
startRowIndex = _getRowIndex3.startRowIndex,
|
|
457
|
+
endRowIndex = _getRowIndex3.endRowIndex;
|
|
535
458
|
var _getFooterRowIndex3 = getFooterRowIndex(footerRowRange),
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
459
|
+
footerStartRowIndex = _getFooterRowIndex3.startRowIndex,
|
|
460
|
+
footerEndRowIndex = _getFooterRowIndex3.endRowIndex;
|
|
539
461
|
var startCol = columns[0];
|
|
540
462
|
var endCol = columns[columns.length - 1];
|
|
541
463
|
var matchCellRangeTop = isFooterCell ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex;
|
|
542
464
|
var matchCellRangeLeft = col.code === startCol.code;
|
|
543
465
|
var matchCellRangeBottom = isFooterCell ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex;
|
|
544
|
-
var matchCellRangeRight = col.code === endCol.code;
|
|
545
|
-
|
|
466
|
+
var matchCellRangeRight = col.code === endCol.code;
|
|
467
|
+
// 如果样式已经匹配上了,就不需要再取计算的样式
|
|
546
468
|
obj.matchCellRangeTop = obj.matchCellRangeTop || matchCellRangeTop;
|
|
547
469
|
obj.matchCellRangeLeft = obj.matchCellRangeLeft || matchCellRangeLeft;
|
|
548
470
|
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) {
|