@kdcloudjs/table 1.2.0-canary.1 → 1.2.0-canary.3

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.6-canary.4
3
+ * @kdcloudjs/table v1.2.0-canary.2
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.6-canary.4
3
+ * @kdcloudjs/table v1.2.0-canary.2
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -4640,7 +4640,9 @@ var _templateObject, _templateObject2, _templateObject3;
4640
4640
 
4641
4641
 
4642
4642
  var InlineFlexCell = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n display: inline-flex;\n align-items: center;\n"])));
4643
- var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(InlineFlexCell)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
4643
+ var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(function (props) {
4644
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(InlineFlexCell, props);
4645
+ })(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
4644
4646
 
4645
4647
  function CaretDownIcon(props) {
4646
4648
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("svg", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
@@ -6419,7 +6421,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6419
6421
 
6420
6422
 
6421
6423
  var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_15__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
6422
- var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6424
+ var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(function (props) {
6425
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, props);
6426
+ })(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6423
6427
 
6424
6428
  function clamp(min, x, max) {
6425
6429
  return Math.max(min, Math.min(max, x));
@@ -8029,6 +8033,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8029
8033
 
8030
8034
 
8031
8035
 
8036
+ var fullRowsSetKey = 'fullRowsSetKey';
8037
+ var allEnableKeys = 'allEnableKeys';
8038
+ var selectValueSetKey = 'selectValueSetKey';
8032
8039
  function multiSelect() {
8033
8040
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8034
8041
  return function multiSelectStep(pipeline) {
@@ -8059,10 +8066,9 @@ function multiSelect() {
8059
8066
  action: action
8060
8067
  });
8061
8068
  };
8062
-
8063
- var dataSource = pipeline.getDataSource();
8064
8069
  /** dataSource 中包含的所有 keys */
8065
8070
 
8071
+
8066
8072
  var fullKeySet = new Set();
8067
8073
  /** 所有有效的 keys(disable 状态为 false) */
8068
8074
 
@@ -8071,7 +8077,7 @@ function multiSelect() {
8071
8077
  var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
8072
8078
 
8073
8079
  var isAnyChecked = false;
8074
- var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
8080
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(pipeline.getDataSource());
8075
8081
  flatDataSource.forEach(function (row, rowIndex) {
8076
8082
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8077
8083
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
@@ -8099,6 +8105,8 @@ function multiSelect() {
8099
8105
  checked: isAllChecked,
8100
8106
  indeterminate: !isAllChecked && isAnyChecked,
8101
8107
  onChange: function onChange(_) {
8108
+ var allKeys = pipeline.getFeatureOptions(allEnableKeys);
8109
+
8102
8110
  if (isAllChecked) {
8103
8111
  _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
8104
8112
  } else {
@@ -8119,9 +8127,11 @@ function multiSelect() {
8119
8127
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8120
8128
  var checkboxCellProps = {};
8121
8129
  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);
8130
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8131
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8122
8132
 
8123
- if (fullKeySet.has(rowKey) && clickArea === 'cell') {
8124
- var prevChecked = set.has(rowKey);
8133
+ if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
8134
+ var prevChecked = selectValueSet.has(rowKey);
8125
8135
  var disabled = isDisabled(row, rowIndex);
8126
8136
  checkboxCellProps = {
8127
8137
  style: {
@@ -8145,7 +8155,8 @@ function multiSelect() {
8145
8155
  }
8146
8156
 
8147
8157
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8148
- var checked = set.has(key);
8158
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8159
+ var checked = selectValueSet.has(key);
8149
8160
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
8150
8161
  checked: checked,
8151
8162
  disabled: isDisabled(row, rowIndex),
@@ -8183,8 +8194,9 @@ function multiSelect() {
8183
8194
 
8184
8195
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
8185
8196
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8197
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8186
8198
 
8187
- if (!fullKeySet.has(rowKey)) {
8199
+ if (!fullRowsSet.has(rowKey)) {
8188
8200
  // rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
8189
8201
  return;
8190
8202
  }
@@ -8192,7 +8204,8 @@ function multiSelect() {
8192
8204
  var style = {};
8193
8205
  var className;
8194
8206
  var onClick;
8195
- var checked = set.has(rowKey);
8207
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8208
+ var checked = selectValueSet.has(rowKey);
8196
8209
 
8197
8210
  if (opts.highlightRowWhenSelected && checked) {
8198
8211
  className = 'highlight';
@@ -8219,22 +8232,32 @@ function multiSelect() {
8219
8232
  style: style,
8220
8233
  onClick: onClick
8221
8234
  };
8222
- });
8235
+ }); // 只保留一份到pipeline, 避免行数据过多时内容被握住
8236
+
8237
+ pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
8238
+ pipeline.setFeatureOptions(allEnableKeys, allKeys);
8239
+ pipeline.setFeatureOptions(selectValueSetKey, set);
8240
+ fullKeySet = null;
8241
+ allKeys = null;
8242
+ set = null;
8223
8243
  return pipeline;
8224
8244
 
8225
8245
  function onCheckboxChange(prevChecked, key, batch) {
8226
8246
  var batchKeys = [key];
8227
8247
 
8228
8248
  if (batch && lastKey) {
8229
- var lastIdx = allKeys.indexOf(lastKey);
8230
- var cntIdx = allKeys.indexOf(key);
8249
+ var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
8250
+
8251
+ var lastIdx = _allKeys.indexOf(lastKey);
8252
+
8253
+ var cntIdx = _allKeys.indexOf(key);
8231
8254
 
8232
8255
  var _ref5 = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
8233
8256
  _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_5___default()(_ref5, 2),
8234
8257
  start = _ref6[0],
8235
8258
  end = _ref6[1];
8236
8259
 
8237
- batchKeys = allKeys.slice(start, end + 1);
8260
+ batchKeys = _allKeys.slice(start, end + 1);
8238
8261
  }
8239
8262
 
8240
8263
  if (prevChecked) {