@kdcloudjs/table 1.0.2 → 1.1.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 +271 -187
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +7 -7
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/calculations.js +1 -1
- package/es/table/base/empty.js +2 -2
- package/es/table/base/header.js +7 -11
- package/es/table/base/html-table.js +13 -22
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +13 -3
- package/es/table/common-views.js +2 -2
- package/es/table/pipeline/features/columnDrag.js +62 -21
- package/es/table/pipeline/features/contextMenu.js +37 -22
- package/es/table/pipeline/features/multiSelect.js +85 -79
- package/es/table/pipeline/features/rowDetail.js +2 -1
- package/es/table/pipeline/features/rowGrouping.js +2 -1
- package/es/table/pipeline/features/treeMode.js +3 -2
- package/es/table/pipeline/pipeline.d.ts +4 -0
- package/es/table/pipeline/pipeline.js +17 -0
- package/es/table/pivot/pivot-utils/convert-utils.js +4 -2
- package/lib/table/base/calculations.js +1 -1
- package/lib/table/base/empty.js +2 -2
- package/lib/table/base/header.js +8 -11
- package/lib/table/base/html-table.js +14 -22
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +13 -3
- package/lib/table/common-views.js +1 -1
- package/lib/table/pipeline/features/columnDrag.js +63 -22
- package/lib/table/pipeline/features/contextMenu.js +37 -22
- package/lib/table/pipeline/features/multiSelect.js +81 -75
- package/lib/table/pipeline/features/rowDetail.js +3 -1
- package/lib/table/pipeline/features/rowGrouping.js +3 -1
- package/lib/table/pipeline/features/treeMode.js +4 -2
- package/lib/table/pipeline/pipeline.d.ts +4 -0
- package/lib/table/pipeline/pipeline.js +17 -0
- package/lib/table/pivot/pivot-utils/convert-utils.js +6 -2
- package/package.json +1 -1
- package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/multiSelect.test.js +0 -152
- package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/rowDetail.test.js +0 -223
- package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/rowGrouping.test.js +0 -120
- package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/singleSelect.test.js +0 -191
- package/es/table/pipeline/features/__test__/sort.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/sort.test.js +0 -213
- package/es/table/pipeline/features/__test__/tips.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/tips.test.js +0 -123
- package/es/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/treeMode.test.js +0 -202
- package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
- package/es/table/pipeline/features/filter/__test__/Filter.test.js +0 -29
- package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/multiSelect.test.js +0 -163
- package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/rowDetail.test.js +0 -230
- package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/rowGrouping.test.js +0 -129
- package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/singleSelect.test.js +0 -201
- package/lib/table/pipeline/features/__test__/sort.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/sort.test.js +0 -220
- package/lib/table/pipeline/features/__test__/tips.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/tips.test.js +0 -133
- package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/treeMode.test.js +0 -206
- package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
- package/lib/table/pipeline/features/filter/__test__/Filter.test.js +0 -36
|
@@ -7,37 +7,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.columnDrag = columnDrag;
|
|
9
9
|
|
|
10
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
11
|
+
|
|
10
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
11
13
|
|
|
12
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
15
|
|
|
14
|
-
var
|
|
16
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
15
17
|
|
|
16
18
|
var _utils = require("../../utils");
|
|
17
19
|
|
|
18
20
|
var _autoFill = require("./autoFill");
|
|
19
21
|
|
|
20
22
|
var stateKey = 'columnDrag';
|
|
23
|
+
var SCROLL_SIZE = 30;
|
|
21
24
|
|
|
22
|
-
function sortColumns(
|
|
23
|
-
var res = new Array(
|
|
25
|
+
function sortColumns(columns, sort) {
|
|
26
|
+
var res = new Array(columns.length);
|
|
27
|
+
var lastColumns = (0, _toConsumableArray2.default)(columns);
|
|
24
28
|
|
|
25
|
-
while (
|
|
26
|
-
var cloumn =
|
|
29
|
+
while (columns.length) {
|
|
30
|
+
var cloumn = columns.pop();
|
|
27
31
|
res[sort[cloumn.code]] = cloumn;
|
|
28
32
|
}
|
|
29
33
|
|
|
34
|
+
if ((0, _filter.default)(res).call(res, Boolean).length !== lastColumns.length) {
|
|
35
|
+
return lastColumns;
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
return res;
|
|
31
39
|
}
|
|
32
40
|
|
|
41
|
+
function stopClickPropagation(e) {
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
}
|
|
44
|
+
|
|
33
45
|
function columnDrag() {
|
|
34
46
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
35
47
|
return function (pipeline) {
|
|
36
48
|
var _pipeline$getStateAtK = pipeline.getStateAtKey(stateKey, {}),
|
|
37
|
-
cloumnsSortData = _pipeline$getStateAtK.cloumnsSortData,
|
|
38
49
|
cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
|
|
39
50
|
|
|
40
|
-
var columns = pipeline.getColumns();
|
|
51
|
+
var columns = pipeline.getColumns();
|
|
52
|
+
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody; // if (cloumnsSortData) {
|
|
41
53
|
// columns = sortColumns(columns, cloumnsSortData)
|
|
42
54
|
// }
|
|
43
55
|
|
|
@@ -79,28 +91,55 @@ function columnDrag() {
|
|
|
79
91
|
var columns = pipeline.getColumns();
|
|
80
92
|
|
|
81
93
|
var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
|
|
82
|
-
cloumnsSortData = _pipeline$getStateAtK2.cloumnsSortData,
|
|
83
94
|
cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
|
|
84
95
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
columns.forEach(function (item, index) {
|
|
90
|
-
cloumnsSortData[item.code] = index;
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
96
|
+
var cloumnsSortData = {};
|
|
97
|
+
columns.forEach(function (item, index) {
|
|
98
|
+
cloumnsSortData[item.code] = index;
|
|
99
|
+
});
|
|
94
100
|
var currentTarget = e.currentTarget;
|
|
95
101
|
var rect = e.currentTarget.parentElement.getClientRects()[0];
|
|
96
102
|
var startX = rect.left;
|
|
97
103
|
var moveData = [];
|
|
98
104
|
var allColumns = (0, _utils.collectNodes)(columns);
|
|
105
|
+
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
106
|
+
var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
|
|
107
|
+
|
|
108
|
+
var updateScrollPosition = function updateScrollPosition(client) {
|
|
109
|
+
var clientX = client.clientX;
|
|
110
|
+
var left = tableBodyClientRect.left,
|
|
111
|
+
width = tableBodyClientRect.width;
|
|
112
|
+
|
|
113
|
+
if (clientX + SCROLL_SIZE >= left + width) {
|
|
114
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (clientX - SCROLL_SIZE <= left) {
|
|
118
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
var stopClickPropagationFlag = false;
|
|
99
123
|
|
|
100
124
|
function handleMouseMove(e) {
|
|
101
|
-
|
|
125
|
+
var client = {
|
|
126
|
+
clientX: e.clientX,
|
|
127
|
+
clientY: e.clientY
|
|
128
|
+
};
|
|
129
|
+
var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
|
|
130
|
+
var leftPosition = startX - scrollDistance; // 表头最左边起点
|
|
131
|
+
|
|
132
|
+
updateScrollPosition(client);
|
|
133
|
+
|
|
134
|
+
if (e.clientX - leftPosition < 20) {
|
|
102
135
|
return;
|
|
103
136
|
} else {
|
|
137
|
+
// 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
138
|
+
if (stopClickPropagationFlag === false) {
|
|
139
|
+
stopClickPropagationFlag = true;
|
|
140
|
+
currentTarget.addEventListener('click', stopClickPropagation);
|
|
141
|
+
}
|
|
142
|
+
|
|
104
143
|
e.stopPropagation();
|
|
105
144
|
}
|
|
106
145
|
|
|
@@ -137,7 +176,7 @@ function columnDrag() {
|
|
|
137
176
|
var replaceIndex = 0;
|
|
138
177
|
var totalWitdth = getColumnWidth(columns[replaceIndex]);
|
|
139
178
|
|
|
140
|
-
while (totalWitdth < e.clientX -
|
|
179
|
+
while (totalWitdth < e.clientX - leftPosition && replaceIndex < columns.length - 1) {
|
|
141
180
|
replaceIndex++;
|
|
142
181
|
totalWitdth += getColumnWidth(columns[replaceIndex]);
|
|
143
182
|
} // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
|
|
@@ -210,7 +249,6 @@ function columnDrag() {
|
|
|
210
249
|
|
|
211
250
|
window.requestAnimationFrame(function () {
|
|
212
251
|
pipeline.setStateAtKey(stateKey, {
|
|
213
|
-
cloumnsSortData: cloumnsSortData,
|
|
214
252
|
cloumnsTranslateData: cloumnsTranslateData
|
|
215
253
|
});
|
|
216
254
|
moveData = [startIndex, replaceIndex];
|
|
@@ -222,6 +260,11 @@ function columnDrag() {
|
|
|
222
260
|
document.body.removeEventListener('mousemove', handleMouseMove);
|
|
223
261
|
document.body.removeEventListener('mouseup', handleMouseUp);
|
|
224
262
|
window.requestAnimationFrame(function () {
|
|
263
|
+
// 取消阻止列头点击事件
|
|
264
|
+
currentTarget.removeEventListener('click', stopClickPropagation);
|
|
265
|
+
stopClickPropagationFlag = false;
|
|
266
|
+
currentTarget = null;
|
|
267
|
+
|
|
225
268
|
var _moveData = moveData,
|
|
226
269
|
_moveData2 = (0, _slicedToArray2.default)(_moveData, 2),
|
|
227
270
|
startIndex = _moveData2[0],
|
|
@@ -290,14 +333,12 @@ function columnDrag() {
|
|
|
290
333
|
}
|
|
291
334
|
|
|
292
335
|
pipeline.setStateAtKey(stateKey, {
|
|
293
|
-
cloumnsSortData: cloumnsSortData,
|
|
294
336
|
cloumnsTranslateData: null
|
|
295
337
|
});
|
|
296
338
|
});
|
|
297
339
|
document.body.style.userSelect = '';
|
|
298
340
|
currentTarget.style.opacity = '';
|
|
299
341
|
currentTarget.style.cursor = '';
|
|
300
|
-
currentTarget = null;
|
|
301
342
|
}
|
|
302
343
|
|
|
303
344
|
document.body.addEventListener('mousemove', handleMouseMove);
|
|
@@ -123,20 +123,25 @@ function contextMenu() {
|
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
var showContextMenu = function showContextMenu(e) {
|
|
126
|
-
var
|
|
127
|
-
var cellEle =
|
|
126
|
+
var path = (0, _utils.getEventPath)(e);
|
|
127
|
+
var cellEle = getCellEleInEventPath(path);
|
|
128
128
|
var code;
|
|
129
129
|
var rowIndex;
|
|
130
|
+
var isInFooter;
|
|
130
131
|
|
|
131
132
|
if (cellEle) {
|
|
132
|
-
code = cellEle.getAttribute('data-code')
|
|
133
|
+
code = cellEle.getAttribute('data-code');
|
|
134
|
+
rowIndex = cellEle.getAttribute('data-rowindex');
|
|
135
|
+
isInFooter = isElementInsideTheFooter(cellEle);
|
|
133
136
|
} else {
|
|
134
|
-
var rowEle =
|
|
137
|
+
var rowEle = getRowEleInEventPath(path);
|
|
135
138
|
rowIndex = rowEle === null || rowEle === void 0 ? void 0 : rowEle.getAttribute('data-rowindex');
|
|
139
|
+
isInFooter = isElementInsideTheFooter(rowEle);
|
|
136
140
|
}
|
|
137
141
|
|
|
142
|
+
var dataSource = isInFooter ? pipeline.getFooterDataSource() || [] : pipeline.getDataSource();
|
|
138
143
|
var record = dataSource[rowIndex];
|
|
139
|
-
var column = code !== undefined && (0, _others.findByTree)(pipeline.getColumns(), function (item
|
|
144
|
+
var column = code !== undefined && (0, _others.findByTree)(pipeline.getColumns(), function (item) {
|
|
140
145
|
return item.code === code;
|
|
141
146
|
});
|
|
142
147
|
|
|
@@ -312,18 +317,6 @@ function isEventFromCurrentPopup(event, ele) {
|
|
|
312
317
|
|
|
313
318
|
return false;
|
|
314
319
|
}
|
|
315
|
-
|
|
316
|
-
function getCellEleInEventPath(path) {
|
|
317
|
-
return (0, _utils.getTargetEleInEventPath)(path, function (ele) {
|
|
318
|
-
return ele && ele.getAttribute('data-role') === 'table-cell';
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
function getRowEleInEventPath(path) {
|
|
323
|
-
return (0, _utils.getTargetEleInEventPath)(path, function (ele) {
|
|
324
|
-
return ele && ele.getAttribute('data-role') === 'table-row';
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
320
|
/** 是否点击是外部 end */
|
|
328
321
|
|
|
329
322
|
/** 计算位置 start */
|
|
@@ -400,15 +393,37 @@ function keepWithinBounds(popupParent, ePopup, x, y) {
|
|
|
400
393
|
/** 获得点击的元素 start */
|
|
401
394
|
|
|
402
395
|
|
|
403
|
-
function
|
|
404
|
-
return
|
|
396
|
+
function getCellEleInEventPath(path) {
|
|
397
|
+
return (0, _utils.getTargetEleInEventPath)(path, function (ele) {
|
|
398
|
+
return ele && ele.getAttribute('data-role') === 'table-cell';
|
|
399
|
+
});
|
|
405
400
|
}
|
|
406
401
|
|
|
407
|
-
function
|
|
408
|
-
return
|
|
402
|
+
function getRowEleInEventPath(path) {
|
|
403
|
+
return (0, _utils.getTargetEleInEventPath)(path, function (ele) {
|
|
404
|
+
return ele && ele.getAttribute('data-role') === 'table-row';
|
|
405
|
+
});
|
|
409
406
|
}
|
|
410
407
|
/** 获得点击的元素 end */
|
|
411
|
-
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
function isElementInsideTheFooter(ele) {
|
|
411
|
+
var pointer = ele;
|
|
412
|
+
|
|
413
|
+
while (pointer) {
|
|
414
|
+
if (pointer.tagName === 'TFOOT') {
|
|
415
|
+
return true;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
if (pointer.tagName === 'TABLE' || pointer.tagName === 'TBODY') {
|
|
419
|
+
return false;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
pointer = pointer.parentElement;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
return false;
|
|
426
|
+
} // 禁止弹出右键菜单
|
|
412
427
|
|
|
413
428
|
|
|
414
429
|
function suppressShowContextMenu(e) {
|
|
@@ -26,8 +26,6 @@ var _utils = require("../../utils");
|
|
|
26
26
|
function multiSelect() {
|
|
27
27
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
28
28
|
return function multiSelectStep(pipeline) {
|
|
29
|
-
var _context;
|
|
30
|
-
|
|
31
29
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
32
30
|
|
|
33
31
|
var stateKey = 'multiSelect';
|
|
@@ -72,95 +70,103 @@ function multiSelect() {
|
|
|
72
70
|
allKeys.push(rowKey);
|
|
73
71
|
}
|
|
74
72
|
});
|
|
75
|
-
var set = new _set.default(value);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
});
|
|
73
|
+
var set = new _set.default(value); // todo: 暂使用hidden隐藏选择列 后续增加配置
|
|
74
|
+
|
|
75
|
+
var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
|
|
76
|
+
|
|
77
|
+
if (!hiddenSelectColumn) {
|
|
78
|
+
var _context;
|
|
82
79
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
80
|
+
var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
|
|
81
|
+
return set.has(key);
|
|
82
|
+
});
|
|
83
|
+
var isAnyChecked = allKeys.some(function (key) {
|
|
84
|
+
return set.has(key);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
var defaultCheckboxColumnTitle = /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
88
|
+
checked: isAllChecked,
|
|
89
|
+
indeterminate: !isAllChecked && isAnyChecked,
|
|
90
|
+
onChange: function onChange(_) {
|
|
91
|
+
if (isAllChecked) {
|
|
92
|
+
_onChange(_others.arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
93
|
+
} else {
|
|
94
|
+
_onChange(_others.arrayUtils.merge(value, allKeys), '', allKeys, 'check-all');
|
|
95
|
+
}
|
|
91
96
|
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
97
|
+
});
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
99
|
+
var checkboxColumn = (0, _extends2.default)((0, _extends2.default)({
|
|
100
|
+
name: '是否选中',
|
|
101
|
+
title: defaultCheckboxColumnTitle,
|
|
102
|
+
width: 50,
|
|
103
|
+
align: 'center'
|
|
104
|
+
}, opts.checkboxColumn), {
|
|
105
|
+
getCellProps: function getCellProps(value, row, rowIndex) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
|
|
108
|
+
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
109
|
+
|
|
110
|
+
var checkboxCellProps = {};
|
|
111
|
+
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);
|
|
112
|
+
|
|
113
|
+
if (fullKeySet.has(rowKey) && clickArea === 'cell') {
|
|
114
|
+
var prevChecked = set.has(rowKey);
|
|
115
|
+
var disabled = isDisabled(row, rowIndex);
|
|
116
|
+
checkboxCellProps = {
|
|
117
|
+
style: {
|
|
118
|
+
cursor: disabled ? 'not-allowed' : 'pointer'
|
|
119
|
+
},
|
|
120
|
+
onClick: disabled ? undefined : function (e) {
|
|
121
|
+
if (opts.stopClickEventPropagation) {
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
onCheckboxChange(prevChecked, rowKey, e.shiftKey);
|
|
119
126
|
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
120
129
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
130
|
+
return (0, _utils.mergeCellProps)(preCellProps, checkboxCellProps);
|
|
131
|
+
},
|
|
132
|
+
render: function render(_, row, rowIndex) {
|
|
133
|
+
var key = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
125
134
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
var checked = set.has(key);
|
|
136
|
+
return /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
137
|
+
checked: checked,
|
|
138
|
+
disabled: isDisabled(row, rowIndex),
|
|
139
|
+
onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
|
|
140
|
+
var _a; // 这里要同时兼容 antd 和 fusion 的用法
|
|
141
|
+
// fusion: arg2?.nativeEvent
|
|
142
|
+
// antd: arg1.nativeEvent
|
|
130
143
|
|
|
131
|
-
var checked = set.has(key);
|
|
132
|
-
return /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
133
|
-
checked: checked,
|
|
134
|
-
disabled: isDisabled(row, rowIndex),
|
|
135
|
-
onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
|
|
136
|
-
var _a; // 这里要同时兼容 antd 和 fusion 的用法
|
|
137
|
-
// fusion: arg2?.nativeEvent
|
|
138
|
-
// antd: arg1.nativeEvent
|
|
139
144
|
|
|
145
|
+
var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1.nativeEvent;
|
|
140
146
|
|
|
141
|
-
|
|
147
|
+
if (nativeEvent) {
|
|
148
|
+
if (opts.stopClickEventPropagation) {
|
|
149
|
+
nativeEvent.stopPropagation();
|
|
150
|
+
}
|
|
142
151
|
|
|
143
|
-
|
|
144
|
-
if (opts.stopClickEventPropagation) {
|
|
145
|
-
nativeEvent.stopPropagation();
|
|
152
|
+
onCheckboxChange(checked, key, nativeEvent.shiftKey);
|
|
146
153
|
}
|
|
154
|
+
} : undefined
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
|
|
159
|
+
var checkboxPlacement = (_l = opts.checkboxPlacement) !== null && _l !== void 0 ? _l : 'start';
|
|
147
160
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
161
|
+
if (checkboxPlacement === 'start') {
|
|
162
|
+
nextColumns.unshift(checkboxColumn);
|
|
163
|
+
} else {
|
|
164
|
+
nextColumns.push(checkboxColumn);
|
|
152
165
|
}
|
|
153
|
-
});
|
|
154
|
-
var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
|
|
155
|
-
var checkboxPlacement = (_l = opts.checkboxPlacement) !== null && _l !== void 0 ? _l : 'start';
|
|
156
166
|
|
|
157
|
-
|
|
158
|
-
nextColumns.unshift(checkboxColumn);
|
|
159
|
-
} else {
|
|
160
|
-
nextColumns.push(checkboxColumn);
|
|
167
|
+
pipeline.columns(nextColumns);
|
|
161
168
|
}
|
|
162
169
|
|
|
163
|
-
pipeline.columns(nextColumns);
|
|
164
170
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
165
171
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
166
172
|
|
|
@@ -47,6 +47,8 @@ var _console = _interopRequireDefault(require("../../utils/console"));
|
|
|
47
47
|
|
|
48
48
|
var _renderTemplates = _interopRequireDefault(require("../../base/renderTemplates"));
|
|
49
49
|
|
|
50
|
+
var _base = require("../../base");
|
|
51
|
+
|
|
50
52
|
var rowDetailSymbol = (0, _symbol.default)('row-detail');
|
|
51
53
|
|
|
52
54
|
var fallbackRenderDetail = function fallbackRenderDetail() {
|
|
@@ -187,7 +189,7 @@ function rowDetail() {
|
|
|
187
189
|
toggle(rowKey);
|
|
188
190
|
};
|
|
189
191
|
|
|
190
|
-
var expandCls = expanded ?
|
|
192
|
+
var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
|
|
191
193
|
var ExpandIcon = opts.expandIcon;
|
|
192
194
|
return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
|
|
193
195
|
className: (0, _classnames.default)('expansion-cell', expandCls),
|
|
@@ -41,6 +41,8 @@ var _utils = require("../../utils");
|
|
|
41
41
|
|
|
42
42
|
var _others = require("../../utils/others");
|
|
43
43
|
|
|
44
|
+
var _base = require("../../base");
|
|
45
|
+
|
|
44
46
|
var groupingMetaSymbol = (0, _symbol.default)('row-grouping-meta');
|
|
45
47
|
|
|
46
48
|
function attachGroupingMeta(row) {
|
|
@@ -149,7 +151,7 @@ function rowGrouping() {
|
|
|
149
151
|
}
|
|
150
152
|
|
|
151
153
|
var expanded = openKeySet.has(row[primaryKey]);
|
|
152
|
-
var expandCls = expanded ?
|
|
154
|
+
var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
|
|
153
155
|
return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
|
|
154
156
|
className: (0, _classnames.default)('expansion-cell', expandCls)
|
|
155
157
|
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.CaretRight, {
|
|
@@ -44,6 +44,8 @@ var _internals = require("../../internals");
|
|
|
44
44
|
|
|
45
45
|
var _utils = require("../../utils");
|
|
46
46
|
|
|
47
|
+
var _styles = require("../../base/styles");
|
|
48
|
+
|
|
47
49
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol2 !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
48
50
|
|
|
49
51
|
function _unsupportedIterableToArray(o, minLen) { var _context3; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context3 = Object.prototype.toString.call(o)).call(_context3, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -177,7 +179,7 @@ function treeMode() {
|
|
|
177
179
|
|
|
178
180
|
if (isLeaf) {
|
|
179
181
|
return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
|
|
180
|
-
className:
|
|
182
|
+
className: (0, _classnames.default)('expansion-cell', _styles.Classes.leaf)
|
|
181
183
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
182
184
|
style: {
|
|
183
185
|
marginLeft: indent + iconWidth + iconGap
|
|
@@ -193,7 +195,7 @@ function treeMode() {
|
|
|
193
195
|
toggle(rowKey);
|
|
194
196
|
};
|
|
195
197
|
|
|
196
|
-
var expandCls = expanded ?
|
|
198
|
+
var expandCls = expanded ? _styles.Classes.expanded : _styles.Classes.collapsed;
|
|
197
199
|
return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
|
|
198
200
|
className: (0, _classnames.default)('expansion-cell', expandCls),
|
|
199
201
|
style: {
|
|
@@ -36,6 +36,7 @@ export declare class TablePipeline {
|
|
|
36
36
|
private _tableProps;
|
|
37
37
|
private _dataSource;
|
|
38
38
|
private _columns;
|
|
39
|
+
private _footerDataSource;
|
|
39
40
|
static defaultIndents: TablePipelineIndentsConfig;
|
|
40
41
|
readonly ctx: TablePipelineCtx;
|
|
41
42
|
private readonly state;
|
|
@@ -51,6 +52,7 @@ export declare class TablePipeline {
|
|
|
51
52
|
addTableProps(props: React.HTMLAttributes<HTMLTableElement>): void;
|
|
52
53
|
getDataSource(name?: string): any[];
|
|
53
54
|
getColumns(name?: string): any[];
|
|
55
|
+
getFooterDataSource(): any[];
|
|
54
56
|
getStateAtKey<T = any>(stateKey: string, defaultValue?: T): T;
|
|
55
57
|
/** 将 stateKey 对应的状态设置为 partialState */
|
|
56
58
|
setStateAtKey(stateKey: string, partialState: any, extraInfo?: any): void;
|
|
@@ -67,6 +69,8 @@ export declare class TablePipeline {
|
|
|
67
69
|
columns(cols: ArtColumn[]): this;
|
|
68
70
|
/** 设置主键 */
|
|
69
71
|
primaryKey(key: PrimaryKey): this;
|
|
72
|
+
/** 设置页脚数据 */
|
|
73
|
+
footerDataSource(rows: any[]): this;
|
|
70
74
|
/** 保存快照 */
|
|
71
75
|
snapshot(name: string): this;
|
|
72
76
|
/** @deprecated
|
|
@@ -101,6 +101,11 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
101
101
|
return this._snapshots[name].columns;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "getFooterDataSource",
|
|
106
|
+
value: function getFooterDataSource() {
|
|
107
|
+
return this._footerDataSource;
|
|
108
|
+
}
|
|
104
109
|
}, {
|
|
105
110
|
key: "getStateAtKey",
|
|
106
111
|
value: function getStateAtKey(stateKey, defaultValue) {
|
|
@@ -173,6 +178,14 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
173
178
|
this.ctx.primaryKey = key;
|
|
174
179
|
return this;
|
|
175
180
|
}
|
|
181
|
+
/** 设置页脚数据 */
|
|
182
|
+
|
|
183
|
+
}, {
|
|
184
|
+
key: "footerDataSource",
|
|
185
|
+
value: function footerDataSource(rows) {
|
|
186
|
+
this._footerDataSource = rows;
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
176
189
|
/** 保存快照 */
|
|
177
190
|
|
|
178
191
|
}, {
|
|
@@ -253,6 +266,10 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
253
266
|
result.primaryKey = this.ctx.primaryKey;
|
|
254
267
|
}
|
|
255
268
|
|
|
269
|
+
if (this._footerDataSource) {
|
|
270
|
+
result.footerDataSource = this._footerDataSource;
|
|
271
|
+
}
|
|
272
|
+
|
|
256
273
|
if (this._rowPropsGetters.length > 0) {
|
|
257
274
|
result.getRowProps = function (row, rowIndex) {
|
|
258
275
|
return _this2._rowPropsGetters.reduce(function (res, get) {
|
|
@@ -33,12 +33,16 @@ var _rxjs = require("rxjs");
|
|
|
33
33
|
|
|
34
34
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
35
35
|
|
|
36
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
+
|
|
36
38
|
var _commonViews = require("../../common-views");
|
|
37
39
|
|
|
38
40
|
var _utils = require("../../utils");
|
|
39
41
|
|
|
40
42
|
var _simpleEncode = _interopRequireDefault(require("./simpleEncode"));
|
|
41
43
|
|
|
44
|
+
var _styles = require("../../base/styles");
|
|
45
|
+
|
|
42
46
|
var _templateObject;
|
|
43
47
|
|
|
44
48
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -47,7 +51,7 @@ function _unsupportedIterableToArray(o, minLen) { var _context3; if (!o) return;
|
|
|
47
51
|
|
|
48
52
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
49
53
|
|
|
50
|
-
var ExpandSpan = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n align-items: center;\n padding: 2px 8px 2px 0;\n cursor: pointer;\n\n .icon {\n fill: #999;\n margin-right: 4px;\n\n &.
|
|
54
|
+
var ExpandSpan = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n align-items: center;\n padding: 2px 8px 2px 0;\n cursor: pointer;\n\n .icon {\n fill: #999;\n margin-right: 4px;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _styles.Classes.expanded);
|
|
51
55
|
|
|
52
56
|
function convertDrillTreeToCrossTree(drillTree) {
|
|
53
57
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
@@ -140,7 +144,7 @@ function convertDrillTreeToCrossTree(drillTree) {
|
|
|
140
144
|
}), node, 'collapse');
|
|
141
145
|
}
|
|
142
146
|
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.CaretRight, {
|
|
143
|
-
className:
|
|
147
|
+
className: (0, _classnames.default)('icon', _styles.Classes.expanded)
|
|
144
148
|
}), node.value);
|
|
145
149
|
crossTreeNode.children = dfs(node.children, depth + 1);
|
|
146
150
|
} else {
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|