@kdcloudjs/table 1.2.0-canary.8 → 1.2.0
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 +634 -125
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +8 -8
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/header.d.ts +2 -1
- package/es/table/base/header.js +4 -2
- package/es/table/base/helpers/TableDOMUtils.js +3 -1
- package/es/table/base/html-table.js +1 -1
- package/es/table/base/renderTemplates.js +24 -10
- package/es/table/base/styles.d.ts +7 -0
- package/es/table/base/styles.js +9 -2
- package/es/table/base/table.d.ts +2 -1
- package/es/table/base/table.js +73 -46
- package/es/table/interfaces.d.ts +2 -0
- package/es/table/pipeline/features/autoFill.js +3 -1
- package/es/table/pipeline/features/columnDrag.js +11 -7
- package/es/table/pipeline/features/columnFilter.js +15 -5
- package/es/table/pipeline/features/index.d.ts +1 -0
- package/es/table/pipeline/features/index.js +2 -1
- package/es/table/pipeline/features/multiSelect.js +18 -35
- package/es/table/pipeline/features/rangeSelection.js +3 -2
- package/es/table/pipeline/features/rowDrag.d.ts +30 -0
- package/es/table/pipeline/features/rowDrag.js +349 -0
- package/es/table/pipeline/features/singleSelect.js +6 -4
- package/es/table/pipeline/features/sort.js +22 -3
- package/es/table/pipeline/features/treeMode.js +6 -0
- package/es/table/pipeline/pipeline.d.ts +2 -0
- package/es/table/pipeline/pipeline.js +9 -1
- package/es/table/utils/index.d.ts +1 -0
- package/es/table/utils/index.js +2 -1
- package/es/table/utils/selectColumn.d.ts +4 -0
- package/es/table/utils/selectColumn.js +6 -0
- package/lib/table/base/header.d.ts +2 -1
- package/lib/table/base/header.js +4 -2
- package/lib/table/base/helpers/TableDOMUtils.js +3 -1
- package/lib/table/base/html-table.js +1 -1
- package/lib/table/base/renderTemplates.js +24 -10
- package/lib/table/base/styles.d.ts +7 -0
- package/lib/table/base/styles.js +9 -2
- package/lib/table/base/table.d.ts +2 -1
- package/lib/table/base/table.js +73 -46
- package/lib/table/interfaces.d.ts +2 -0
- package/lib/table/pipeline/features/autoFill.js +3 -1
- package/lib/table/pipeline/features/columnDrag.js +10 -6
- package/lib/table/pipeline/features/columnFilter.js +16 -6
- package/lib/table/pipeline/features/index.d.ts +1 -0
- package/lib/table/pipeline/features/index.js +9 -1
- package/lib/table/pipeline/features/multiSelect.js +20 -38
- package/lib/table/pipeline/features/rangeSelection.js +3 -2
- package/lib/table/pipeline/features/rowDrag.d.ts +30 -0
- package/lib/table/pipeline/features/rowDrag.js +371 -0
- package/lib/table/pipeline/features/singleSelect.js +8 -5
- package/lib/table/pipeline/features/sort.js +22 -3
- package/lib/table/pipeline/features/treeMode.js +6 -0
- package/lib/table/pipeline/pipeline.d.ts +2 -0
- package/lib/table/pipeline/pipeline.js +9 -1
- package/lib/table/utils/index.d.ts +1 -0
- package/lib/table/utils/index.js +21 -1
- package/lib/table/utils/selectColumn.d.ts +4 -0
- package/lib/table/utils/selectColumn.js +16 -0
- package/package.json +3 -3
|
@@ -153,7 +153,9 @@ function getColumnWidthSum(pipeline) {
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
function getTableRemainingWidth(pipeline) {
|
|
156
|
-
var
|
|
156
|
+
var _a, _b;
|
|
157
|
+
|
|
158
|
+
var tableWidth = ((_b = (_a = pipeline.ref.current.domHelper) === null || _a === void 0 ? void 0 : _a.tableBody) === null || _b === void 0 ? void 0 : _b.clientWidth) || pipeline.getStateAtKey(tableWidthKey);
|
|
157
159
|
if (!tableWidth) return;
|
|
158
160
|
var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
|
|
159
161
|
return remainingWidth > 0 ? remainingWidth : 0;
|
|
@@ -329,9 +329,13 @@ function columnDrag() {
|
|
|
329
329
|
if (onColumnDragStopped) {
|
|
330
330
|
var _context;
|
|
331
331
|
|
|
332
|
-
var
|
|
333
|
-
var
|
|
334
|
-
return code
|
|
332
|
+
var isRowDragColumn = function isRowDragColumn(code) {
|
|
333
|
+
var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
|
|
334
|
+
return code === rowDragColumnKey;
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
var newColumns = (0, _filter.default)(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
|
|
338
|
+
return column.code !== _autoFill.FILL_COLUMN_CODE && !isRowDragColumn(column.code) && !(0, _utils.isSelectColumn)(column);
|
|
335
339
|
}); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
|
|
336
340
|
|
|
337
341
|
onColumnDragStopped(columnMoved, newColumns);
|
|
@@ -356,9 +360,9 @@ function columnDrag() {
|
|
|
356
360
|
};
|
|
357
361
|
}
|
|
358
362
|
|
|
359
|
-
function enableMove(
|
|
360
|
-
var lock =
|
|
361
|
-
code =
|
|
363
|
+
function enableMove(_ref) {
|
|
364
|
+
var lock = _ref.lock,
|
|
365
|
+
code = _ref.code;
|
|
362
366
|
return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
|
|
363
367
|
}
|
|
364
368
|
|
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.filter = filter;
|
|
9
9
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
11
|
-
|
|
12
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
13
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
+
|
|
14
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
15
|
|
|
16
16
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
@@ -76,7 +76,7 @@ function filter() {
|
|
|
76
76
|
var filterActive = filterable && ((_c = (_b = inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : inputFiltersMap.get(col.code)) === null || _b === void 0 ? void 0 : (0, _filter.default)(_b)) === null || _c === void 0 ? void 0 : _c.length) > 0;
|
|
77
77
|
|
|
78
78
|
if (filterable) {
|
|
79
|
-
var
|
|
79
|
+
var _cx;
|
|
80
80
|
|
|
81
81
|
var handleFilterChanged = function handleFilterChanged(filterItem) {
|
|
82
82
|
var nextFiltersMap = new _map.default(inputFiltersMap);
|
|
@@ -109,8 +109,9 @@ function filter() {
|
|
|
109
109
|
|
|
110
110
|
var filterPanel = (_d = col.features) === null || _d === void 0 ? void 0 : _d.filterPanel;
|
|
111
111
|
var colFilterIcon = (_f = (_e = col.features) === null || _e === void 0 ? void 0 : _e.filterIcon) !== null && _f !== void 0 ? _f : filterIcon;
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
|
|
113
|
+
var _Filter = /*#__PURE__*/_react.default.createElement(_filter2.Filter, {
|
|
114
|
+
key: "".concat(col.code, "_filter"),
|
|
114
115
|
FilterPanelContent: filterPanel,
|
|
115
116
|
filterIcon: colFilterIcon,
|
|
116
117
|
filterModel: inputFiltersMap.get(col.code),
|
|
@@ -123,11 +124,20 @@ function filter() {
|
|
|
123
124
|
hideFilterPopupHeader: hideFilterPopupHeader,
|
|
124
125
|
getPopupParent: getPopupParent,
|
|
125
126
|
localeText: localeText
|
|
126
|
-
})
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
if (col.renderHeader) {
|
|
130
|
+
result.title = col.renderHeader(result.title, _Filter);
|
|
131
|
+
} else {
|
|
132
|
+
var _context, _context2;
|
|
133
|
+
|
|
134
|
+
result.title = (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = []).call(_context2, (_g = result.title) !== null && _g !== void 0 ? _g : [_internals.internals.safeRenderHeader((0, _extends2.default)({}, col))])), [_Filter]);
|
|
135
|
+
} // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
127
136
|
// style: {
|
|
128
137
|
// paddingRight: '18px'
|
|
129
138
|
// }
|
|
130
139
|
// })
|
|
140
|
+
|
|
131
141
|
}
|
|
132
142
|
|
|
133
143
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
@@ -18,3 +18,4 @@ export { rangeSelection, RangeSelectionFeatureOptions } from './rangeSelection';
|
|
|
18
18
|
export { mergeCellHover } from './mergeCellHover';
|
|
19
19
|
export { footerDataSource, FooterDataSourceFeatureOptions, footerRowMetaSymbol } from './footerDataSource';
|
|
20
20
|
export { colGroupExtendable, colGroupExtendOption } from './colGroupExtendable';
|
|
21
|
+
export { rowDrag, RowDragFeatureOptions } from './rowDrag';
|
|
@@ -97,6 +97,12 @@ Object.defineProperty(exports, "rowDetail", {
|
|
|
97
97
|
return _rowDetail.rowDetail;
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
|
+
Object.defineProperty(exports, "rowDrag", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
get: function get() {
|
|
103
|
+
return _rowDrag.rowDrag;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
100
106
|
Object.defineProperty(exports, "rowGrouping", {
|
|
101
107
|
enumerable: true,
|
|
102
108
|
get: function get() {
|
|
@@ -178,4 +184,6 @@ var _mergeCellHover = require("./mergeCellHover");
|
|
|
178
184
|
|
|
179
185
|
var _footerDataSource = require("./footerDataSource");
|
|
180
186
|
|
|
181
|
-
var _colGroupExtendable = require("./colGroupExtendable");
|
|
187
|
+
var _colGroupExtendable = require("./colGroupExtendable");
|
|
188
|
+
|
|
189
|
+
var _rowDrag = require("./rowDrag");
|
|
@@ -9,7 +9,9 @@ exports.multiSelect = multiSelect;
|
|
|
9
9
|
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
15
|
|
|
14
16
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
15
17
|
|
|
@@ -23,14 +25,10 @@ var _others = require("../../utils/others");
|
|
|
23
25
|
|
|
24
26
|
var _utils = require("../../utils");
|
|
25
27
|
|
|
26
|
-
var fullRowsSetKey = 'fullRowsSetKey';
|
|
27
|
-
var allEnableKeys = 'allEnableKeys';
|
|
28
|
-
var selectValueSetKey = 'selectValueSetKey';
|
|
29
|
-
|
|
30
28
|
function multiSelect() {
|
|
31
29
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
32
30
|
return function multiSelectStep(pipeline) {
|
|
33
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
31
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
34
32
|
|
|
35
33
|
var stateKey = 'multiSelect';
|
|
36
34
|
var Checkbox = pipeline.ctx.components.Checkbox;
|
|
@@ -57,8 +55,9 @@ function multiSelect() {
|
|
|
57
55
|
action: action
|
|
58
56
|
});
|
|
59
57
|
};
|
|
60
|
-
/** dataSource 中包含的所有 keys */
|
|
61
58
|
|
|
59
|
+
var dataSource = pipeline.getDataSource();
|
|
60
|
+
/** dataSource 中包含的所有 keys */
|
|
62
61
|
|
|
63
62
|
var fullKeySet = new _set.default();
|
|
64
63
|
/** 所有有效的 keys(disable 状态为 false) */
|
|
@@ -68,7 +67,7 @@ function multiSelect() {
|
|
|
68
67
|
var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
|
|
69
68
|
|
|
70
69
|
var isAnyChecked = false;
|
|
71
|
-
var flatDataSource = (0, _utils.collectNodes)(
|
|
70
|
+
var flatDataSource = (0, _utils.collectNodes)(dataSource);
|
|
72
71
|
flatDataSource.forEach(function (row, rowIndex) {
|
|
73
72
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
74
73
|
|
|
@@ -97,8 +96,6 @@ function multiSelect() {
|
|
|
97
96
|
checked: isAllChecked,
|
|
98
97
|
indeterminate: !isAllChecked && isAnyChecked,
|
|
99
98
|
onChange: function onChange(_) {
|
|
100
|
-
var allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
101
|
-
|
|
102
99
|
if (isAllChecked) {
|
|
103
100
|
_onChange(_others.arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
104
101
|
} else {
|
|
@@ -107,7 +104,7 @@ function multiSelect() {
|
|
|
107
104
|
}
|
|
108
105
|
});
|
|
109
106
|
|
|
110
|
-
var checkboxColumn = (0,
|
|
107
|
+
var checkboxColumn = (0, _extends3.default)((0, _extends3.default)({
|
|
111
108
|
name: '是否选中',
|
|
112
109
|
title: defaultCheckboxColumnTitle,
|
|
113
110
|
width: 50,
|
|
@@ -120,11 +117,9 @@ function multiSelect() {
|
|
|
120
117
|
|
|
121
118
|
var checkboxCellProps = {};
|
|
122
119
|
var preCellProps = (_b = (_a = opts.checkboxColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
|
|
123
|
-
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new _set.default();
|
|
124
|
-
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
|
|
125
120
|
|
|
126
|
-
if (
|
|
127
|
-
var prevChecked =
|
|
121
|
+
if (fullKeySet.has(rowKey) && clickArea === 'cell') {
|
|
122
|
+
var prevChecked = set.has(rowKey);
|
|
128
123
|
var disabled = isDisabled(row, rowIndex);
|
|
129
124
|
checkboxCellProps = {
|
|
130
125
|
style: {
|
|
@@ -149,8 +144,7 @@ function multiSelect() {
|
|
|
149
144
|
|
|
150
145
|
var key = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
151
146
|
|
|
152
|
-
var
|
|
153
|
-
var checked = selectValueSet.has(key);
|
|
147
|
+
var checked = set.has(key);
|
|
154
148
|
return /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
155
149
|
checked: checked,
|
|
156
150
|
disabled: isDisabled(row, rowIndex),
|
|
@@ -171,10 +165,11 @@ function multiSelect() {
|
|
|
171
165
|
}
|
|
172
166
|
} : undefined
|
|
173
167
|
});
|
|
174
|
-
}
|
|
168
|
+
},
|
|
169
|
+
features: (0, _extends3.default)((0, _extends3.default)({}, (_l = opts.checkboxColumn) === null || _l === void 0 ? void 0 : _l.features), (0, _defineProperty2.default)({}, _utils.MULTI_SELECT_MARK_PROPNAME, true))
|
|
175
170
|
});
|
|
176
171
|
var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
|
|
177
|
-
var checkboxPlacement = (
|
|
172
|
+
var checkboxPlacement = (_m = opts.checkboxPlacement) !== null && _m !== void 0 ? _m : 'start';
|
|
178
173
|
|
|
179
174
|
if (checkboxPlacement === 'start') {
|
|
180
175
|
nextColumns.unshift(checkboxColumn);
|
|
@@ -188,9 +183,7 @@ function multiSelect() {
|
|
|
188
183
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
189
184
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
190
185
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
if (!fullRowsSet.has(rowKey)) {
|
|
186
|
+
if (!fullKeySet.has(rowKey)) {
|
|
194
187
|
// rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
|
|
195
188
|
return;
|
|
196
189
|
}
|
|
@@ -198,8 +191,7 @@ function multiSelect() {
|
|
|
198
191
|
var style = {};
|
|
199
192
|
var className;
|
|
200
193
|
var onClick;
|
|
201
|
-
var
|
|
202
|
-
var checked = selectValueSet.has(rowKey);
|
|
194
|
+
var checked = set.has(rowKey);
|
|
203
195
|
|
|
204
196
|
if (opts.highlightRowWhenSelected && checked) {
|
|
205
197
|
className = 'highlight';
|
|
@@ -226,32 +218,22 @@ function multiSelect() {
|
|
|
226
218
|
style: style,
|
|
227
219
|
onClick: onClick
|
|
228
220
|
};
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
|
|
232
|
-
pipeline.setFeatureOptions(allEnableKeys, allKeys);
|
|
233
|
-
pipeline.setFeatureOptions(selectValueSetKey, set);
|
|
234
|
-
fullKeySet = null;
|
|
235
|
-
allKeys = null;
|
|
236
|
-
set = null;
|
|
221
|
+
});
|
|
237
222
|
return pipeline;
|
|
238
223
|
|
|
239
224
|
function onCheckboxChange(prevChecked, key, batch) {
|
|
240
225
|
var batchKeys = [key];
|
|
241
226
|
|
|
242
227
|
if (batch && lastKey) {
|
|
243
|
-
var
|
|
244
|
-
|
|
245
|
-
var lastIdx = _allKeys.indexOf(lastKey);
|
|
246
|
-
|
|
247
|
-
var cntIdx = _allKeys.indexOf(key);
|
|
228
|
+
var lastIdx = allKeys.indexOf(lastKey);
|
|
229
|
+
var cntIdx = allKeys.indexOf(key);
|
|
248
230
|
|
|
249
231
|
var _ref = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
|
|
250
232
|
_ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
251
233
|
start = _ref2[0],
|
|
252
234
|
end = _ref2[1];
|
|
253
235
|
|
|
254
|
-
batchKeys = (0, _slice.default)(
|
|
236
|
+
batchKeys = (0, _slice.default)(allKeys).call(allKeys, start, end + 1);
|
|
255
237
|
}
|
|
256
238
|
|
|
257
239
|
if (prevChecked) {
|
|
@@ -176,7 +176,9 @@ function rangeSelection(opts) {
|
|
|
176
176
|
|
|
177
177
|
var isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey;
|
|
178
178
|
var isShiftKey = mouseDownEvent.shiftKey;
|
|
179
|
-
var target = mouseDownEvent.target;
|
|
179
|
+
var target = mouseDownEvent.target;
|
|
180
|
+
var startDragCell = getTargetCell(target, columns);
|
|
181
|
+
if (!startDragCell) return; // 每次点击时先确认初始生效的框选范围
|
|
180
182
|
|
|
181
183
|
setStartSelectedCellRanges(isCtrlKey, isShiftKey);
|
|
182
184
|
|
|
@@ -185,7 +187,6 @@ function rangeSelection(opts) {
|
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
187
189
|
|
|
188
|
-
var startDragCell = getTargetCell(target, columns);
|
|
189
190
|
pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
|
|
190
191
|
var draggingCell = startDragCell;
|
|
191
192
|
var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TablePipeline } from '../pipeline';
|
|
2
|
+
import { ArtColumn } from '../../interfaces';
|
|
3
|
+
interface RowDragEvent {
|
|
4
|
+
startRowIndex: number;
|
|
5
|
+
startRow: any;
|
|
6
|
+
endRowIndex: number;
|
|
7
|
+
endRow: any;
|
|
8
|
+
isFinished: boolean;
|
|
9
|
+
dragPosition: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RowDragFeatureOptions {
|
|
12
|
+
/** 拖拽开始事件 */
|
|
13
|
+
onDragStart?: (event: RowDragEvent) => void;
|
|
14
|
+
/** 拖拽移动事件 */
|
|
15
|
+
onDragMove?: (event: RowDragEvent) => void;
|
|
16
|
+
/** 拖拽结束事件 */
|
|
17
|
+
onDragEnd?: (event: RowDragEvent) => void;
|
|
18
|
+
/** 判断一行是否要禁用拖拽 */
|
|
19
|
+
isDisabled?: (row: any, rowIndex: number) => boolean;
|
|
20
|
+
/** 拖拽列定义 */
|
|
21
|
+
rowDragColumn?: ArtColumn;
|
|
22
|
+
/** 行高 */
|
|
23
|
+
rowHeight?: number;
|
|
24
|
+
/** 拖拽过程中是否禁止滚动条滚动 */
|
|
25
|
+
suppressScrollMove?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const ROW_DRAG_COLUMN_CODE = "$_row_drag_column_&";
|
|
28
|
+
export declare const rowDragKey = "rowDragKey";
|
|
29
|
+
export declare function rowDrag(opt: RowDragFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
|
|
30
|
+
export {};
|