@kdcloudjs/table 1.2.0 → 1.2.1-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +35 -15
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +6 -6
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +2 -1
- package/es/table/pipeline/features/multiSelect.js +31 -12
- package/es/table/pipeline/features/treeMode.js +1 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +2 -1
- package/lib/table/pipeline/features/multiSelect.js +33 -12
- package/lib/table/pipeline/features/treeMode.js +1 -1
- package/package.json +3 -3
package/dist/@kdcloudjs/table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* @kdcloudjs/table v1.
|
|
3
|
+
* @kdcloudjs/table v1.2.0-canary.18
|
|
4
4
|
*
|
|
5
5
|
* Copyright 2020-present, Kingdee, Inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -2253,7 +2253,8 @@ function getScrollParent(elem) {
|
|
|
2253
2253
|
|
|
2254
2254
|
|
|
2255
2255
|
function getRichVisibleRectsStream(target, structureMayChange$, virtualDebugLabel) {
|
|
2256
|
-
return structureMayChange$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["
|
|
2256
|
+
return structureMayChange$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["mapTo"](target), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_14__["shallowEqual"]), // 当target没有发生变化时,无需重新查找
|
|
2257
|
+
rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["startWith"]('init'), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["map"](function () {
|
|
2257
2258
|
// target 的第一个滚动父元素,我们认为这就是虚拟滚动发生的地方
|
|
2258
2259
|
// 即虚拟滚动不考虑「更上层元素发生滚动」的情况
|
|
2259
2260
|
// 直接从父元素开始查找,防止自身设置overflow属性导致是同一个元素
|
|
@@ -8175,6 +8176,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
8175
8176
|
|
|
8176
8177
|
|
|
8177
8178
|
|
|
8179
|
+
var fullRowsSetKey = 'fullRowsSetKey';
|
|
8180
|
+
var allEnableKeys = 'allEnableKeys';
|
|
8181
|
+
var selectValueSetKey = 'selectValueSetKey';
|
|
8178
8182
|
function multiSelect() {
|
|
8179
8183
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8180
8184
|
return function multiSelectStep(pipeline) {
|
|
@@ -8205,10 +8209,9 @@ function multiSelect() {
|
|
|
8205
8209
|
action: action
|
|
8206
8210
|
});
|
|
8207
8211
|
};
|
|
8208
|
-
|
|
8209
|
-
var dataSource = pipeline.getDataSource();
|
|
8210
8212
|
/** dataSource 中包含的所有 keys */
|
|
8211
8213
|
|
|
8214
|
+
|
|
8212
8215
|
var fullKeySet = new Set();
|
|
8213
8216
|
/** 所有有效的 keys(disable 状态为 false) */
|
|
8214
8217
|
|
|
@@ -8217,7 +8220,7 @@ function multiSelect() {
|
|
|
8217
8220
|
var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
|
|
8218
8221
|
|
|
8219
8222
|
var isAnyChecked = false;
|
|
8220
|
-
var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(
|
|
8223
|
+
var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(pipeline.getDataSource());
|
|
8221
8224
|
flatDataSource.forEach(function (row, rowIndex) {
|
|
8222
8225
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8223
8226
|
fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
|
|
@@ -8245,6 +8248,8 @@ function multiSelect() {
|
|
|
8245
8248
|
checked: isAllChecked,
|
|
8246
8249
|
indeterminate: !isAllChecked && isAnyChecked,
|
|
8247
8250
|
onChange: function onChange(_) {
|
|
8251
|
+
var allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
8252
|
+
|
|
8248
8253
|
if (isAllChecked) {
|
|
8249
8254
|
_onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
8250
8255
|
} else {
|
|
@@ -8265,9 +8270,11 @@ function multiSelect() {
|
|
|
8265
8270
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8266
8271
|
var checkboxCellProps = {};
|
|
8267
8272
|
var preCellProps = (_opts$checkboxColumn = opts.checkboxColumn) === null || _opts$checkboxColumn === void 0 ? void 0 : (_opts$checkboxColumn$ = _opts$checkboxColumn.getCellProps) === null || _opts$checkboxColumn$ === void 0 ? void 0 : _opts$checkboxColumn$.call(_opts$checkboxColumn, value, row, rowIndex);
|
|
8273
|
+
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
|
|
8274
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8268
8275
|
|
|
8269
|
-
if (
|
|
8270
|
-
var prevChecked =
|
|
8276
|
+
if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
|
|
8277
|
+
var prevChecked = selectValueSet.has(rowKey);
|
|
8271
8278
|
var disabled = isDisabled(row, rowIndex);
|
|
8272
8279
|
checkboxCellProps = {
|
|
8273
8280
|
style: {
|
|
@@ -8291,7 +8298,8 @@ function multiSelect() {
|
|
|
8291
8298
|
}
|
|
8292
8299
|
|
|
8293
8300
|
var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8294
|
-
var
|
|
8301
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8302
|
+
var checked = selectValueSet.has(key);
|
|
8295
8303
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
|
|
8296
8304
|
checked: checked,
|
|
8297
8305
|
disabled: isDisabled(row, rowIndex),
|
|
@@ -8330,8 +8338,9 @@ function multiSelect() {
|
|
|
8330
8338
|
|
|
8331
8339
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
8332
8340
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8341
|
+
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
|
|
8333
8342
|
|
|
8334
|
-
if (!
|
|
8343
|
+
if (!fullRowsSet.has(rowKey)) {
|
|
8335
8344
|
// rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
|
|
8336
8345
|
return;
|
|
8337
8346
|
}
|
|
@@ -8339,7 +8348,8 @@ function multiSelect() {
|
|
|
8339
8348
|
var style = {};
|
|
8340
8349
|
var className;
|
|
8341
8350
|
var onClick;
|
|
8342
|
-
var
|
|
8351
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8352
|
+
var checked = selectValueSet.has(rowKey);
|
|
8343
8353
|
|
|
8344
8354
|
if (opts.highlightRowWhenSelected && checked) {
|
|
8345
8355
|
className = 'highlight';
|
|
@@ -8366,22 +8376,32 @@ function multiSelect() {
|
|
|
8366
8376
|
style: style,
|
|
8367
8377
|
onClick: onClick
|
|
8368
8378
|
};
|
|
8369
|
-
});
|
|
8379
|
+
}); // 只保留一份到pipeline, 避免行数据过多时内容被握住
|
|
8380
|
+
|
|
8381
|
+
pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
|
|
8382
|
+
pipeline.setFeatureOptions(allEnableKeys, allKeys);
|
|
8383
|
+
pipeline.setFeatureOptions(selectValueSetKey, set);
|
|
8384
|
+
fullKeySet = null;
|
|
8385
|
+
allKeys = null;
|
|
8386
|
+
set = null;
|
|
8370
8387
|
return pipeline;
|
|
8371
8388
|
|
|
8372
8389
|
function onCheckboxChange(prevChecked, key, batch) {
|
|
8373
8390
|
var batchKeys = [key];
|
|
8374
8391
|
|
|
8375
8392
|
if (batch && lastKey) {
|
|
8376
|
-
var
|
|
8377
|
-
|
|
8393
|
+
var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
8394
|
+
|
|
8395
|
+
var lastIdx = _allKeys.indexOf(lastKey);
|
|
8396
|
+
|
|
8397
|
+
var cntIdx = _allKeys.indexOf(key);
|
|
8378
8398
|
|
|
8379
8399
|
var _ref5 = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
|
|
8380
8400
|
_ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_5___default()(_ref5, 2),
|
|
8381
8401
|
start = _ref6[0],
|
|
8382
8402
|
end = _ref6[1];
|
|
8383
8403
|
|
|
8384
|
-
batchKeys =
|
|
8404
|
+
batchKeys = _allKeys.slice(start, end + 1);
|
|
8385
8405
|
}
|
|
8386
8406
|
|
|
8387
8407
|
if (prevChecked) {
|
|
@@ -10860,7 +10880,7 @@ function treeMode() {
|
|
|
10860
10880
|
return pipeline.getFeatureOptions('lastTreeMode');
|
|
10861
10881
|
}
|
|
10862
10882
|
|
|
10863
|
-
pipeline.setFeatureOptions('lastOpenKeys', pipeline.getStateAtKey(stateKey)
|
|
10883
|
+
pipeline.setFeatureOptions('lastOpenKeys', pipeline.getStateAtKey(stateKey));
|
|
10864
10884
|
var result = [];
|
|
10865
10885
|
dfs(input, 0);
|
|
10866
10886
|
|