@kdcloudjs/table 1.2.0-canary.17 → 1.2.0-canary.17-hotfix
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +4565 -5707
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +36 -101
- package/es/_utils/hooks.js +21 -45
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +74 -137
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +9 -48
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- package/es/table/base/calculations.js +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/header.js +19 -74
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +5 -30
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +41 -59
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +108 -197
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +13 -39
- package/es/table/pipeline/features/contextMenu.js +18 -91
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +26 -50
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +74 -154
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.js +37 -75
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +37 -90
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.js +14 -49
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.js +12 -53
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +35 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/style/index.less +1 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +13 -35
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +42 -96
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +7 -43
- package/es/table/utils/getTreeDepth.js +4 -12
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +5 -27
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +3 -11
- package/lib/_utils/usePopper.js +79 -166
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +3 -11
- package/lib/locale/locale.js +13 -69
- package/lib/locale/zh-CN.js +1 -2
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/header.js +19 -84
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +5 -33
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +13 -64
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +44 -75
- package/lib/table/base/styles.js +9 -37
- package/lib/table/base/table.js +120 -241
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/features/autoFill.js +14 -53
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +18 -63
- package/lib/table/pipeline/features/contextMenu.js +20 -117
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +29 -76
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +76 -175
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.js +39 -89
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -110
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.js +15 -72
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.js +13 -64
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +36 -73
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +15 -58
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +20 -63
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +44 -122
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +2 -3
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -21
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +7 -38
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/package.json +219 -218
|
@@ -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) {
|
|
@@ -251,12 +212,12 @@ export function rowDetail() {
|
|
|
251
212
|
}
|
|
252
213
|
});
|
|
253
214
|
tableColumns[expandColumnIndex] = _extends(_extends({}, expandCol), {
|
|
254
|
-
title: /*#__PURE__*/React.createElement("div", {
|
|
215
|
+
title: ( /*#__PURE__*/React.createElement("div", {
|
|
255
216
|
style: {
|
|
256
217
|
display: 'inline-block',
|
|
257
218
|
marginLeft: textOffset
|
|
258
219
|
}
|
|
259
|
-
}, internals.safeRenderHeader(expandCol)),
|
|
220
|
+
}, internals.safeRenderHeader(expandCol))),
|
|
260
221
|
render: render,
|
|
261
222
|
getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps,
|
|
262
223
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|
|
@@ -38,43 +38,35 @@ var defaultRowDragColumn = {
|
|
|
38
38
|
export function rowDrag(opt) {
|
|
39
39
|
return function rowDragStep(pipeline) {
|
|
40
40
|
var _context;
|
|
41
|
-
|
|
42
41
|
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
43
42
|
var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
|
|
44
43
|
if (!tableBody) return pipeline;
|
|
45
44
|
var dataSource = pipeline.getDataSource();
|
|
46
45
|
var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
|
|
47
|
-
|
|
48
46
|
var handleDragStrat = function handleDragStrat(event) {
|
|
49
|
-
var _a;
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
var _a;
|
|
48
|
+
// 开始拖拽
|
|
52
49
|
artTable.classList.add(cx(Classes.rowDragging));
|
|
53
50
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
54
51
|
};
|
|
55
|
-
|
|
56
52
|
var handleDragMove = function handleDragMove(event) {
|
|
57
53
|
var _a;
|
|
58
|
-
|
|
59
54
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
60
55
|
pipeline.setStateAtKey(rowDragKey, event);
|
|
61
56
|
};
|
|
62
|
-
|
|
63
57
|
var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
|
|
64
58
|
var _a;
|
|
65
|
-
|
|
66
59
|
artTable.classList.remove(cx(Classes.rowDragging));
|
|
67
|
-
pipeline.setStateAtKey(rowDragKey, event);
|
|
68
|
-
|
|
60
|
+
pipeline.setStateAtKey(rowDragKey, event);
|
|
61
|
+
// 超出拖拽范围不触发dragend事件
|
|
69
62
|
if (!isOutOfRange) {
|
|
70
63
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
71
64
|
}
|
|
72
65
|
};
|
|
73
|
-
|
|
74
66
|
var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
|
|
75
67
|
var isFinished = _ref.isFinished,
|
|
76
|
-
|
|
77
|
-
|
|
68
|
+
_ref$dragPosition = _ref.dragPosition,
|
|
69
|
+
dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
|
|
78
70
|
return {
|
|
79
71
|
startRowIndex: startRowInfo.rowIndex,
|
|
80
72
|
startRow: startRowInfo.row,
|
|
@@ -84,31 +76,26 @@ export function rowDrag(opt) {
|
|
|
84
76
|
isFinished: isFinished
|
|
85
77
|
};
|
|
86
78
|
};
|
|
87
|
-
|
|
88
79
|
var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
|
|
89
80
|
if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
|
|
90
81
|
var clientY = mouseMoveEvent.clientY;
|
|
91
82
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
92
83
|
var top = tableBodyClientRect.top,
|
|
93
|
-
|
|
94
|
-
|
|
84
|
+
height = tableBodyClientRect.height;
|
|
95
85
|
if (clientY + SCROLL_OFFSET >= top + height) {
|
|
96
86
|
pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
|
|
97
87
|
}
|
|
98
|
-
|
|
99
88
|
if (clientY + SCROLL_OFFSET <= top) {
|
|
100
89
|
pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
|
|
101
90
|
}
|
|
102
91
|
};
|
|
103
|
-
|
|
104
92
|
var onMouseDown = function onMouseDown(mouseDownEvent) {
|
|
105
93
|
var _a;
|
|
106
|
-
|
|
107
94
|
var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
|
|
108
95
|
var endRowInfo = startRowInfo;
|
|
109
96
|
if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
|
|
110
|
-
if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
|
|
111
|
-
|
|
97
|
+
if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
|
|
98
|
+
// 默认拖拽插入的位置是向下
|
|
112
99
|
var dragPosition = 'bottom';
|
|
113
100
|
var isOutOfRange = false;
|
|
114
101
|
var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
@@ -117,11 +104,11 @@ export function rowDrag(opt) {
|
|
|
117
104
|
});
|
|
118
105
|
handleDragStrat(dragStartEvent);
|
|
119
106
|
var tableWidth = tableBody.clientWidth;
|
|
120
|
-
var startRowRects = startRowInfo.cell.getBoundingClientRect();
|
|
121
|
-
|
|
107
|
+
var startRowRects = startRowInfo.cell.getBoundingClientRect();
|
|
108
|
+
// 光标位置距离初始拖拽行的偏移量
|
|
122
109
|
var startOffset = mouseDownEvent.clientY - startRowRects.top;
|
|
123
|
-
var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
|
|
124
|
-
|
|
110
|
+
var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
|
|
111
|
+
// 可拖拽的范围
|
|
125
112
|
var dragRange = getDragRange(tableBody, {
|
|
126
113
|
startOffset: startOffset,
|
|
127
114
|
rowHeight: rowHeight
|
|
@@ -132,7 +119,6 @@ export function rowDrag(opt) {
|
|
|
132
119
|
};
|
|
133
120
|
var mousemove$ = fromEvent(window, 'mousemove');
|
|
134
121
|
var mouseup$ = fromEvent(window, 'mouseup');
|
|
135
|
-
|
|
136
122
|
var scrollCallback = function scrollCallback(event) {
|
|
137
123
|
// 在当前表格内滚动不处理
|
|
138
124
|
if (event.target === tableBody) return;
|
|
@@ -143,19 +129,16 @@ export function rowDrag(opt) {
|
|
|
143
129
|
var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
|
|
144
130
|
updateCurSorStyle(isOutOfRange);
|
|
145
131
|
};
|
|
146
|
-
|
|
147
132
|
document.addEventListener('scroll', scrollCallback, true);
|
|
148
133
|
var rowDrag$ = mousemove$.pipe(map(function (mouseMoveEvent) {
|
|
149
134
|
var clientX = mouseMoveEvent.clientX,
|
|
150
|
-
|
|
135
|
+
clientY = mouseMoveEvent.clientY;
|
|
151
136
|
var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
|
|
152
|
-
|
|
153
137
|
if (tagretRow) {
|
|
154
138
|
endRowInfo = tagretRow;
|
|
155
139
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
140
|
+
var targetRowRects = endRowInfo.cell.getBoundingClientRect();
|
|
141
|
+
// 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
|
|
159
142
|
var isMoveToTop = clientY - startOffset < targetRowRects.top;
|
|
160
143
|
dragPosition = isMoveToTop ? 'top' : 'bottom';
|
|
161
144
|
isOutOfRange = isOutOfDragRange({
|
|
@@ -167,7 +150,6 @@ export function rowDrag(opt) {
|
|
|
167
150
|
y: clientY
|
|
168
151
|
};
|
|
169
152
|
updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
|
|
170
|
-
|
|
171
153
|
updateDragElementPosition(dragElement, dragRange, {
|
|
172
154
|
x: clientX,
|
|
173
155
|
y: clientY,
|
|
@@ -183,8 +165,8 @@ export function rowDrag(opt) {
|
|
|
183
165
|
rowDrag$.subscribe({
|
|
184
166
|
next: function next(_ref2) {
|
|
185
167
|
var startRowInfo = _ref2.startRowInfo,
|
|
186
|
-
|
|
187
|
-
|
|
168
|
+
endRowInfo = _ref2.endRowInfo,
|
|
169
|
+
dragPosition = _ref2.dragPosition;
|
|
188
170
|
var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
189
171
|
isFinished: false,
|
|
190
172
|
dragPosition: dragPosition
|
|
@@ -203,28 +185,23 @@ export function rowDrag(opt) {
|
|
|
203
185
|
}
|
|
204
186
|
});
|
|
205
187
|
};
|
|
206
|
-
|
|
207
188
|
var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
|
|
208
189
|
pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
|
|
209
|
-
|
|
210
190
|
var nextColumns = _sliceInstanceProperty(_context = pipeline.getColumns()).call(_context);
|
|
211
|
-
|
|
212
191
|
nextColumns.unshift(rowDragColumn);
|
|
213
192
|
pipeline.columns(nextColumns);
|
|
214
193
|
pipeline.addTableProps({
|
|
215
194
|
onMouseDown: onMouseDown
|
|
216
195
|
});
|
|
217
196
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
218
|
-
var _cx;
|
|
219
|
-
|
|
220
197
|
var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
|
|
221
198
|
var startRowIndex = rowDragEvent.startRowIndex,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
199
|
+
endRowIndex = rowDragEvent.endRowIndex,
|
|
200
|
+
isFinished = rowDragEvent.isFinished,
|
|
201
|
+
dragPosition = rowDragEvent.dragPosition;
|
|
225
202
|
var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
|
|
226
203
|
if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
|
|
227
|
-
var className = cx((
|
|
204
|
+
var className = cx(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Classes.rowDragStart, rowIndex === startRowIndex), Classes.rowDragEnd, rowIndex === endRowIndex), Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
|
|
228
205
|
return {
|
|
229
206
|
className: className
|
|
230
207
|
};
|
|
@@ -232,7 +209,6 @@ export function rowDrag(opt) {
|
|
|
232
209
|
return pipeline;
|
|
233
210
|
};
|
|
234
211
|
}
|
|
235
|
-
|
|
236
212
|
function getTargetRowInfo(target, tableBody, record) {
|
|
237
213
|
while (target && tableBody.contains(target)) {
|
|
238
214
|
if (target.getAttribute('data-role') === 'table-cell') {
|
|
@@ -248,41 +224,33 @@ function getTargetRowInfo(target, tableBody, record) {
|
|
|
248
224
|
cell: target
|
|
249
225
|
};
|
|
250
226
|
}
|
|
251
|
-
|
|
252
227
|
target = target.parentElement;
|
|
253
228
|
}
|
|
254
|
-
|
|
255
229
|
return null;
|
|
256
230
|
}
|
|
257
|
-
|
|
258
231
|
function isEleInFooter(target) {
|
|
259
232
|
while (target && !target.classList.contains(Classes.artTable)) {
|
|
260
233
|
if (target.classList.contains(Classes.tableFooter)) {
|
|
261
234
|
return true;
|
|
262
235
|
}
|
|
263
|
-
|
|
264
236
|
target = target.parentElement;
|
|
265
237
|
}
|
|
266
|
-
|
|
267
238
|
return false;
|
|
268
239
|
}
|
|
269
|
-
|
|
270
240
|
function createDragElement(rects, tableWidth, rowHeight) {
|
|
271
241
|
var _context2, _context3, _context4;
|
|
272
|
-
|
|
273
242
|
var x = rects.x,
|
|
274
|
-
|
|
243
|
+
y = rects.y;
|
|
275
244
|
var dragMoveElement = document.createElement('div');
|
|
276
245
|
dragMoveElement.className = cx(Classes.rowDragElement);
|
|
277
246
|
dragMoveElement.style.cssText = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = _concatInstanceProperty(_context4 = "position:fixed;z-index:9999;left:".concat(x, "px;top:")).call(_context4, y, "px;pointer-events:none;width:")).call(_context3, tableWidth, "px;height:")).call(_context2, rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
|
|
278
247
|
document.body.appendChild(dragMoveElement);
|
|
279
248
|
return dragMoveElement;
|
|
280
249
|
}
|
|
281
|
-
|
|
282
250
|
function updateDragElementPosition(element, dragRange, _ref3) {
|
|
283
251
|
var x = _ref3.x,
|
|
284
|
-
|
|
285
|
-
|
|
252
|
+
y = _ref3.y,
|
|
253
|
+
startOffset = _ref3.startOffset;
|
|
286
254
|
var validPosition = getValidPosition({
|
|
287
255
|
x: x,
|
|
288
256
|
y: y
|
|
@@ -290,11 +258,9 @@ function updateDragElementPosition(element, dragRange, _ref3) {
|
|
|
290
258
|
element.style.top = validPosition.y - startOffset + 'px';
|
|
291
259
|
return element;
|
|
292
260
|
}
|
|
293
|
-
|
|
294
261
|
function removeDragElement(element) {
|
|
295
262
|
document.body.removeChild(element);
|
|
296
263
|
}
|
|
297
|
-
|
|
298
264
|
function updateCurSorStyle(isOutOfRange) {
|
|
299
265
|
if (isOutOfRange) {
|
|
300
266
|
document.body.style.cursor = 'no-drop';
|
|
@@ -302,19 +268,17 @@ function updateCurSorStyle(isOutOfRange) {
|
|
|
302
268
|
document.body.style.cursor = 'move';
|
|
303
269
|
}
|
|
304
270
|
}
|
|
305
|
-
|
|
306
271
|
function removeCurSorStyle() {
|
|
307
272
|
document.body.style.cursor = 'default';
|
|
308
273
|
}
|
|
309
|
-
|
|
310
274
|
function getDragRange(tableBody, _ref4) {
|
|
311
275
|
var startOffset = _ref4.startOffset,
|
|
312
|
-
|
|
276
|
+
rowHeight = _ref4.rowHeight;
|
|
313
277
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
314
278
|
var height = tableBodyClientRect.height,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
279
|
+
width = tableBodyClientRect.width,
|
|
280
|
+
top = tableBodyClientRect.top,
|
|
281
|
+
left = tableBodyClientRect.left;
|
|
318
282
|
return {
|
|
319
283
|
minX: left,
|
|
320
284
|
maxX: left + width,
|
|
@@ -322,14 +286,13 @@ function getDragRange(tableBody, _ref4) {
|
|
|
322
286
|
maxY: top + height + startOffset
|
|
323
287
|
};
|
|
324
288
|
}
|
|
325
|
-
|
|
326
289
|
function getValidPosition(position, dragRange) {
|
|
327
290
|
var x = position.x,
|
|
328
|
-
|
|
291
|
+
y = position.y;
|
|
329
292
|
var minX = dragRange.minX,
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
293
|
+
maxX = dragRange.maxX,
|
|
294
|
+
minY = dragRange.minY,
|
|
295
|
+
maxY = dragRange.maxY;
|
|
333
296
|
var newX = x < minX ? minX : x > maxX ? maxX : x;
|
|
334
297
|
var newY = y < minY ? minY : y > maxY ? maxY : y;
|
|
335
298
|
return {
|
|
@@ -337,13 +300,12 @@ function getValidPosition(position, dragRange) {
|
|
|
337
300
|
y: newY
|
|
338
301
|
};
|
|
339
302
|
}
|
|
340
|
-
|
|
341
303
|
function isOutOfDragRange(position, dragRange) {
|
|
342
304
|
var x = position.x,
|
|
343
|
-
|
|
305
|
+
y = position.y;
|
|
344
306
|
var minX = dragRange.minX,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
307
|
+
maxX = dragRange.maxX,
|
|
308
|
+
minY = dragRange.minY,
|
|
309
|
+
maxY = dragRange.maxY;
|
|
348
310
|
return x > maxX || x < minX || y > maxY || y < minY;
|
|
349
311
|
}
|
|
@@ -15,15 +15,12 @@ import { internals } from '../../internals';
|
|
|
15
15
|
import { collectNodes, isLeafNode, mergeCellProps } from '../../utils';
|
|
16
16
|
import { flatMap } from '../../utils/others';
|
|
17
17
|
import { Classes } from '../../base';
|
|
18
|
-
|
|
19
18
|
var groupingMetaSymbol = _Symbol('row-grouping-meta');
|
|
20
|
-
|
|
21
19
|
function attachGroupingMeta(row) {
|
|
22
20
|
return _extends(_defineProperty({}, groupingMetaSymbol, {
|
|
23
21
|
expandable: !isLeafNode(row)
|
|
24
22
|
}), row);
|
|
25
23
|
}
|
|
26
|
-
|
|
27
24
|
function getGroupingMeta(row) {
|
|
28
25
|
if (row[groupingMetaSymbol] == null) {
|
|
29
26
|
return {
|
|
@@ -31,13 +28,11 @@ function getGroupingMeta(row) {
|
|
|
31
28
|
expandable: false
|
|
32
29
|
};
|
|
33
30
|
}
|
|
34
|
-
|
|
35
31
|
return {
|
|
36
32
|
isGroupHeader: true,
|
|
37
33
|
expandable: row[groupingMetaSymbol].expandable
|
|
38
34
|
};
|
|
39
35
|
}
|
|
40
|
-
|
|
41
36
|
function rowGroupingRowPropsGetter(row) {
|
|
42
37
|
if (getGroupingMeta(row).isGroupHeader) {
|
|
43
38
|
return {
|
|
@@ -45,74 +40,56 @@ function rowGroupingRowPropsGetter(row) {
|
|
|
45
40
|
};
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
export function rowGrouping() {
|
|
50
44
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
51
45
|
return function (pipeline) {
|
|
52
46
|
var _context;
|
|
53
|
-
|
|
54
47
|
var _a, _b, _c;
|
|
55
|
-
|
|
56
48
|
var stateKey = 'rowGrouping';
|
|
57
49
|
var indents = pipeline.ctx.indents;
|
|
58
50
|
var textOffset = indents.iconIndent + indents.iconWidth + indents.iconGap;
|
|
59
51
|
var primaryKey = pipeline.ensurePrimaryKey('rowGrouping');
|
|
60
|
-
|
|
61
52
|
if (typeof primaryKey !== 'string') {
|
|
62
53
|
throw new Error('rowGrouping 仅支持字符串作为 primaryKey');
|
|
63
54
|
}
|
|
64
|
-
|
|
65
55
|
var openKeys = (_c = (_b = (_a = opts.openKeys) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultOpenAll ? _mapInstanceProperty(_context = pipeline.getDataSource()).call(_context, function (row) {
|
|
66
56
|
return row[primaryKey];
|
|
67
57
|
}) : opts.defaultOpenKeys) !== null && _c !== void 0 ? _c : [];
|
|
68
58
|
var openKeySet = new _Set(openKeys);
|
|
69
|
-
|
|
70
59
|
var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
|
|
71
60
|
var _a;
|
|
72
|
-
|
|
73
61
|
(_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
|
|
74
62
|
pipeline.setStateAtKey(stateKey, nextKeys, {
|
|
75
63
|
key: key,
|
|
76
64
|
action: action
|
|
77
65
|
});
|
|
78
66
|
};
|
|
79
|
-
|
|
80
67
|
return pipeline.mapDataSource(processDataSource).mapColumns(processColumns).appendRowPropsGetter(rowGroupingRowPropsGetter);
|
|
81
|
-
|
|
82
68
|
function processDataSource(input) {
|
|
83
69
|
return flatMap(input, function (row) {
|
|
84
70
|
var result = [attachGroupingMeta(row)];
|
|
85
71
|
var expanded = openKeySet.has(row[primaryKey]);
|
|
86
|
-
|
|
87
72
|
if (expanded) {
|
|
88
73
|
if (Array.isArray(row.children)) {
|
|
89
74
|
result = _concatInstanceProperty(result).call(result, row.children);
|
|
90
75
|
}
|
|
91
76
|
}
|
|
92
|
-
|
|
93
77
|
return result;
|
|
94
78
|
});
|
|
95
79
|
}
|
|
96
|
-
|
|
97
80
|
function processColumns(columns) {
|
|
98
81
|
var _context3;
|
|
99
|
-
|
|
100
82
|
if (columns.length === 0) {
|
|
101
83
|
return columns;
|
|
102
84
|
}
|
|
103
|
-
|
|
104
85
|
var columnFlatCount = collectNodes(columns, 'leaf-only').length;
|
|
105
|
-
|
|
106
86
|
var _columns = _toArray(columns),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
87
|
+
firstCol = _columns[0],
|
|
88
|
+
others = _sliceInstanceProperty(_columns).call(_columns, 1);
|
|
110
89
|
var render = function render(value, row, rowIndex) {
|
|
111
90
|
var _a, _b;
|
|
112
|
-
|
|
113
91
|
var content = internals.safeRender(firstCol, row, rowIndex);
|
|
114
92
|
var meta = getGroupingMeta(row);
|
|
115
|
-
|
|
116
93
|
if (!meta.isGroupHeader || !meta.expandable) {
|
|
117
94
|
var marginLeft = textOffset + (meta.isGroupHeader ? 0 : indents.indentSize);
|
|
118
95
|
return /*#__PURE__*/React.createElement(InlineFlexCell, {
|
|
@@ -121,7 +98,6 @@ export function rowGrouping() {
|
|
|
121
98
|
}
|
|
122
99
|
}, meta.isGroupHeader ? (_a = row.groupTitle) !== null && _a !== void 0 ? _a : content : content);
|
|
123
100
|
}
|
|
124
|
-
|
|
125
101
|
var expanded = openKeySet.has(row[primaryKey]);
|
|
126
102
|
var expandCls = expanded ? Classes.expanded : Classes.collapsed;
|
|
127
103
|
return /*#__PURE__*/React.createElement(ExpansionCell, {
|
|
@@ -134,39 +110,31 @@ export function rowGrouping() {
|
|
|
134
110
|
}
|
|
135
111
|
}), (_b = row.groupTitle) !== null && _b !== void 0 ? _b : content);
|
|
136
112
|
};
|
|
137
|
-
|
|
138
113
|
var getCellProps = function getCellProps(value, row, rowIndex) {
|
|
139
114
|
var _a;
|
|
140
|
-
|
|
141
115
|
var meta = getGroupingMeta(row);
|
|
142
|
-
|
|
143
116
|
if (!meta.isGroupHeader) {
|
|
144
117
|
return;
|
|
145
118
|
}
|
|
146
|
-
|
|
147
119
|
var expandable = meta.expandable;
|
|
148
120
|
var rowKey = row[primaryKey];
|
|
149
121
|
var expanded = openKeySet.has(rowKey);
|
|
150
122
|
var onClick;
|
|
151
|
-
|
|
152
123
|
if (expandable) {
|
|
153
124
|
onClick = function onClick(e) {
|
|
154
125
|
if (opts.stopClickEventPropagation) {
|
|
155
126
|
e.stopPropagation();
|
|
156
127
|
}
|
|
157
|
-
|
|
158
128
|
if (expanded) {
|
|
159
129
|
onChangeOpenKeys(_filterInstanceProperty(openKeys).call(openKeys, function (key) {
|
|
160
130
|
return key !== rowKey;
|
|
161
131
|
}), rowKey, 'collapse');
|
|
162
132
|
} else {
|
|
163
133
|
var _context2;
|
|
164
|
-
|
|
165
134
|
onChangeOpenKeys(_concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(openKeys), [rowKey]), rowKey, 'expand');
|
|
166
135
|
}
|
|
167
136
|
};
|
|
168
137
|
}
|
|
169
|
-
|
|
170
138
|
var prevProps = (_a = firstCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(firstCol, value, row, rowIndex);
|
|
171
139
|
return mergeCellProps(prevProps, {
|
|
172
140
|
onClick: onClick,
|
|
@@ -175,14 +143,13 @@ export function rowGrouping() {
|
|
|
175
143
|
}
|
|
176
144
|
});
|
|
177
145
|
};
|
|
178
|
-
|
|
179
146
|
return _concatInstanceProperty(_context3 = [_extends(_extends({}, firstCol), {
|
|
180
|
-
title: /*#__PURE__*/React.createElement("div", {
|
|
147
|
+
title: ( /*#__PURE__*/React.createElement("div", {
|
|
181
148
|
style: {
|
|
182
149
|
display: 'inline-block',
|
|
183
150
|
marginLeft: textOffset
|
|
184
151
|
}
|
|
185
|
-
}, internals.safeRenderHeader(firstCol)),
|
|
152
|
+
}, internals.safeRenderHeader(firstCol))),
|
|
186
153
|
render: render,
|
|
187
154
|
getCellProps: getCellProps,
|
|
188
155
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|