@kdcloudjs/table 1.1.5-canary.9 → 1.1.6-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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.5-canary.8
3
+ * @kdcloudjs/table v1.1.5-canary.10
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -3339,7 +3339,7 @@ var defaultCSSVariables = {
3339
3339
  '--row-height': '48px',
3340
3340
  '--color': '#333',
3341
3341
  '--bgcolor': 'white',
3342
- '--hover-bgcolor': 'var(--hover-color, #F2F6FF)',
3342
+ '--hover-bgcolor': 'var(--hover-color, #f5f5f5)',
3343
3343
  '--highlight-bgcolor': '#eee',
3344
3344
  '--primary-color': '#5582F3',
3345
3345
  '--primary-color-level1': 'rgb(242, 248, 255)',
@@ -4700,7 +4700,7 @@ var icons = {
4700
4700
  CaretRight: CaretRightIcon,
4701
4701
  Info: InfoIcon
4702
4702
  };
4703
- var ContextMenuStyleWrap = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 13px;\n position:absolute;\n z-index: 1050;\n width:120px;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n color: #666666;\n }\n\n .", " .", "{\n background-color: #f5f5f5;\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 5px 8px;\n }\n .", " .", ".", "{\n opacity: .5;\n }\n\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menu, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionActive, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionText, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionDisable);
4703
+ var ContextMenuStyleWrap = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 12px;\n position:absolute;\n z-index: 1050;\n max-width: 600px;\n padding: 8px 0;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n color: #212121;\n }\n\n .", " .", "{\n background-color: var(--hover-bgcolor);\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 8px 12px;\n max-width: 576px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 16px;\n }\n .", " .", ".", "{\n opacity: .5;\n }\n\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menu, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionActive, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionText, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionDisable);
4704
4704
 
4705
4705
  /***/ }),
4706
4706
 
@@ -4944,17 +4944,46 @@ __webpack_require__.r(__webpack_exports__);
4944
4944
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FILL_COLUMN_CODE", function() { return FILL_COLUMN_CODE; });
4945
4945
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tableWidthKey", function() { return tableWidthKey; });
4946
4946
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoFillTableWidth", function() { return autoFillTableWidth; });
4947
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
4948
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__);
4949
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
4950
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
4951
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
4952
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__);
4953
- /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
4954
- /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__);
4955
- /* harmony import */ var _base_calculations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../base/calculations */ "./components/table/base/calculations.tsx");
4956
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
4957
- /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
4947
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
4948
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
4949
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
4950
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);
4951
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
4952
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
4953
+ /* harmony import */ var core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.number.max-safe-integer.js */ "./node_modules/core-js/modules/es.number.max-safe-integer.js");
4954
+ /* harmony import */ var core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_3__);
4955
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js");
4956
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_4__);
4957
+ /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
4958
+ /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_5__);
4959
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
4960
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__);
4961
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
4962
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_7__);
4963
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
4964
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__);
4965
+ /* harmony import */ var core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.map.js */ "./node_modules/core-js/modules/es.map.js");
4966
+ /* harmony import */ var core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_9__);
4967
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
4968
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10__);
4969
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
4970
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11__);
4971
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
4972
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12__);
4973
+ /* harmony import */ var _base_calculations__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../base/calculations */ "./components/table/base/calculations.tsx");
4974
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
4975
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
4976
+ /* harmony import */ var _columnResizeWidth__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./columnResizeWidth */ "./components/table/pipeline/features/columnResizeWidth.tsx");
4977
+
4978
+
4979
+
4980
+
4981
+
4982
+
4983
+
4984
+
4985
+
4986
+
4958
4987
 
4959
4988
 
4960
4989
 
@@ -4964,65 +4993,141 @@ __webpack_require__.r(__webpack_exports__);
4964
4993
 
4965
4994
  var FILL_COLUMN_CODE = '$_fill_column_&';
4966
4995
  var tableWidthKey = 'tableWidth';
4967
- var fillColumnWidthKey = 'fillColumnWidth';
4996
+ var FLEX_COLUMN_COUNT = Symbol('flexCount');
4968
4997
  var autoFillTableWidth = function autoFillTableWidth() {
4969
4998
  return function (pipeline) {
4970
- var width = pipeline.getStateAtKey(fillColumnWidthKey, 0);
4971
- var columns = pipeline.getColumns();
4972
- var fillColumns = columns.find(function (col) {
4973
- return col.code === FILL_COLUMN_CODE;
4974
- });
4999
+ var flexColumnResult = findFlexColumns(pipeline);
5000
+ var flexCount = flexColumnResult.get(FLEX_COLUMN_COUNT);
5001
+
5002
+ if (flexCount) {
5003
+ // 设置了flex宽度,flex列平分剩余宽度
5004
+ var remainingWidth = getTableRemainingWidth(pipeline) || 0;
5005
+
5006
+ if (remainingWidth > 0) {
5007
+ // 保存剩余的flex总和和剩余宽度总和宽度
5008
+ var residualFlexCount = flexCount;
5009
+ var residualFlexWidth = remainingWidth;
5010
+ var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_16__["COLUMN_SIZE_KEY"]) || {};
5011
+ pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_14__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
5012
+ var isLeaf = recursiveFlatMapInfo.isLeaf;
5013
+
5014
+ if (isLeaf && isValidFlexColumn(col, pipeline)) {
5015
+ var code = col.code,
5016
+ _col$features = col.features,
5017
+ features = _col$features === void 0 ? {} : _col$features;
5018
+ var flex = features.flex,
5019
+ _features$minWidth = features.minWidth,
5020
+ minWidth = _features$minWidth === void 0 ? 0 : _features$minWidth,
5021
+ _features$maxWidth = features.maxWidth,
5022
+ maxWidth = _features$maxWidth === void 0 ? Number.MAX_SAFE_INTEGER : _features$maxWidth;
5023
+ var usedRemainingWidth = Math.floor(remainingWidth * flex / flexCount);
5024
+ var preColWidth = col.width; // 如果当前已经是最后一个flex列,将剩余的宽度添加到该列,其他计算相应的列
5025
+
5026
+ col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth);
5027
+ residualFlexCount -= flex;
5028
+ residualFlexWidth -= col.width - preColWidth;
5029
+ columnSize[code] = col.width;
5030
+ }
4975
5031
 
4976
- if (fillColumns) {
4977
- fillColumns.width = width;
5032
+ return col;
5033
+ }));
5034
+ pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_16__["COLUMN_SIZE_KEY"], columnSize);
5035
+ }
4978
5036
  } else {
4979
- var rightNestedLockCount = Object(_base_calculations__WEBPACK_IMPORTED_MODULE_4__["getLeftNestedLockCount"])(columns.slice().reverse());
4980
- var spliceIndex = columns.length - rightNestedLockCount;
4981
- var _fillColumns = {
4982
- name: '',
4983
- code: FILL_COLUMN_CODE,
4984
- width: width,
4985
- features: {
4986
- resizeable: false
4987
- },
4988
- getCellProps: function getCellProps(value, record, rowIndex) {
4989
- return {
4990
- className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].emptyColCell
4991
- };
4992
- }
4993
- };
4994
- columns.splice(spliceIndex || columns.length, 0, _fillColumns);
5037
+ // 未设置了flex宽度,创建占位列
5038
+ var columns = pipeline.getColumns();
5039
+ var fillColumns = columns.find(function (col) {
5040
+ return col.code === FILL_COLUMN_CODE;
5041
+ });
5042
+ var width = getTableRemainingWidth(pipeline) || 0;
5043
+
5044
+ if (fillColumns) {
5045
+ fillColumns.width = width;
5046
+ } else {
5047
+ var rightNestedLockCount = Object(_base_calculations__WEBPACK_IMPORTED_MODULE_13__["getLeftNestedLockCount"])(columns.slice().reverse());
5048
+ var spliceIndex = columns.length - rightNestedLockCount;
5049
+ var _fillColumns = {
5050
+ name: '',
5051
+ code: FILL_COLUMN_CODE,
5052
+ width: width,
5053
+ features: {
5054
+ resizeable: false
5055
+ },
5056
+ getCellProps: function getCellProps(value, record, rowIndex) {
5057
+ return {
5058
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].emptyColCell
5059
+ };
5060
+ }
5061
+ };
5062
+ columns.splice(spliceIndex || columns.length, 0, _fillColumns);
5063
+ }
5064
+
5065
+ pipeline.columns(columns);
4995
5066
  }
4996
5067
 
4997
- pipeline.columns(columns);
4998
- setAutoFillWidth(pipeline);
4999
5068
  return pipeline;
5069
+
5070
+ function findFlexColumns(pipeline) {
5071
+ var result = new Map([[FLEX_COLUMN_COUNT, 0]]);
5072
+ dfs(pipeline.getColumns(), result);
5073
+ return result;
5074
+
5075
+ function dfs(columns, result) {
5076
+ columns.forEach(function (col) {
5077
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_14__["isLeafNode"])(col)) {
5078
+ if (isValidFlexColumn(col, pipeline)) {
5079
+ result.set(FLEX_COLUMN_COUNT, result.get(FLEX_COLUMN_COUNT) + col.features.flex);
5080
+ }
5081
+ } else {
5082
+ dfs(col.children, result);
5083
+ }
5084
+ });
5085
+ }
5086
+ }
5000
5087
  };
5001
5088
  };
5002
5089
 
5003
- var setAutoFillWidth = function setAutoFillWidth(pipeline) {
5090
+ function getColumnWidthSum(pipeline) {
5091
+ return dfs(pipeline.getColumns());
5092
+
5093
+ function dfs(columns) {
5094
+ return columns.reduce(function (acc, col) {
5095
+ var width = col.width,
5096
+ code = col.code;
5097
+
5098
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_14__["isLeafNode"])(col) && code !== FILL_COLUMN_CODE) {
5099
+ var resizeColumn = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_16__["COLUMN_SIZE_KEY"]);
5100
+ return acc + (resizeColumn && resizeColumn[code]) || width;
5101
+ } else {
5102
+ return acc + dfs(col.children);
5103
+ }
5104
+ }, 0);
5105
+ }
5106
+ }
5107
+
5108
+ function getTableRemainingWidth(pipeline) {
5004
5109
  var tableWidth = pipeline.getStateAtKey(tableWidthKey);
5005
5110
  if (!tableWidth) return;
5006
- var columnWidthSum = 0;
5007
- pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_5__["makeRecursiveMapper"])(function (col) {
5008
- var width = col.width,
5009
- code = col.code;
5111
+ var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
5112
+ return remainingWidth > 0 ? remainingWidth : 0;
5113
+ }
5010
5114
 
5011
- if (Object(_utils__WEBPACK_IMPORTED_MODULE_5__["isLeafNode"])(col) && code !== FILL_COLUMN_CODE) {
5012
- var resizeColumn = pipeline.getStateAtKey('columnResize');
5013
- columnWidthSum += resizeColumn && resizeColumn[code] || width;
5014
- }
5115
+ function isValidFlexColumn(col, pipeline) {
5116
+ var _col$features2;
5015
5117
 
5016
- return col;
5017
- }));
5018
- var fillColumnWidth = Math.floor(tableWidth - columnWidthSum);
5019
- fillColumnWidth = fillColumnWidth > 0 ? fillColumnWidth : 0;
5020
- var preWidth = pipeline.getStateAtKey(fillColumnWidthKey, 0);
5118
+ var resizeColumn = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_16__["RESIZED_COLUMN_KEY"]); // 拖拽列自动禁止flex
5021
5119
 
5022
- if (preWidth !== fillColumnWidth) {
5023
- pipeline.setStateAtKey('fillColumnWidth', fillColumnWidth);
5120
+ if (resizeColumn !== null && resizeColumn !== void 0 && resizeColumn.has(col.code)) {
5121
+ return false;
5024
5122
  }
5025
- };
5123
+
5124
+ var flex = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.flex;
5125
+ return typeof flex === 'number' && flex > 0;
5126
+ }
5127
+
5128
+ function clamp(min, x, max) {
5129
+ return Math.max(min, Math.min(max, x));
5130
+ }
5026
5131
 
5027
5132
  /***/ }),
5028
5133
 
@@ -6225,11 +6330,13 @@ function columnRangeHover() {
6225
6330
  /*!******************************************************************!*\
6226
6331
  !*** ./components/table/pipeline/features/columnResizeWidth.tsx ***!
6227
6332
  \******************************************************************/
6228
- /*! exports provided: columnResize */
6333
+ /*! exports provided: COLUMN_SIZE_KEY, RESIZED_COLUMN_KEY, columnResize */
6229
6334
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6230
6335
 
6231
6336
  "use strict";
6232
6337
  __webpack_require__.r(__webpack_exports__);
6338
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "COLUMN_SIZE_KEY", function() { return COLUMN_SIZE_KEY; });
6339
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RESIZED_COLUMN_KEY", function() { return RESIZED_COLUMN_KEY; });
6233
6340
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "columnResize", function() { return columnResize; });
6234
6341
  /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
6235
6342
  /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -6247,18 +6354,26 @@ __webpack_require__.r(__webpack_exports__);
6247
6354
  /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);
6248
6355
  /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
6249
6356
  /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__);
6250
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
6251
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_8__);
6252
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
6253
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_9__);
6254
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "react");
6255
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
6256
- /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
6257
- /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
6258
- /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
6259
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
6260
- /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
6261
- /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
6357
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
6358
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__);
6359
+ /* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.set.js */ "./node_modules/core-js/modules/es.set.js");
6360
+ /* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_9__);
6361
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
6362
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_10__);
6363
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
6364
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_11__);
6365
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
6366
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_12__);
6367
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
6368
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_13__);
6369
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react */ "react");
6370
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__);
6371
+ /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
6372
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
6373
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
6374
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
6375
+ /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
6376
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
6262
6377
 
6263
6378
 
6264
6379
 
@@ -6283,8 +6398,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6283
6398
 
6284
6399
 
6285
6400
 
6286
- var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_11__["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"])));
6287
- var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_11__["default"])(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6401
+
6402
+
6403
+
6404
+
6405
+ 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"])));
6406
+ 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"])));
6288
6407
 
6289
6408
  function clamp(min, x, max) {
6290
6409
  return Math.max(min, Math.min(max, x));
@@ -6294,19 +6413,21 @@ function disableSelect(event) {
6294
6413
  event.preventDefault();
6295
6414
  }
6296
6415
 
6416
+ var stateKey = 'columnResize';
6417
+ var COLUMN_SIZE_KEY = 'columnResize';
6418
+ var RESIZED_COLUMN_KEY = 'resizedColumn';
6297
6419
  function columnResize() {
6298
6420
  var _opts$minSize, _opts$fallbackSize, _opts$maxSize;
6299
6421
 
6300
6422
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6301
- var stateKey = 'columnResize';
6302
6423
  var minSize = (_opts$minSize = opts.minSize) !== null && _opts$minSize !== void 0 ? _opts$minSize : 60;
6303
6424
  var fallbackSize = (_opts$fallbackSize = opts.fallbackSize) !== null && _opts$fallbackSize !== void 0 ? _opts$fallbackSize : 150;
6304
6425
  var maxSize = (_opts$maxSize = opts.maxSize) !== null && _opts$maxSize !== void 0 ? _opts$maxSize : 1000;
6305
6426
  return function columnResizeFeature(pipeline) {
6306
- var _ref, _opts$columnSize, _pipeline$ref;
6427
+ var _ref, _opts$columnSize;
6307
6428
 
6308
6429
  var columnSize = (_ref = (_opts$columnSize = opts.columnSize) !== null && _opts$columnSize !== void 0 ? _opts$columnSize : pipeline.getStateAtKey(stateKey)) !== null && _ref !== void 0 ? _ref : {};
6309
- var leafColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["collectNodes"])(pipeline.getColumns(), 'leaf-only');
6430
+ var leafColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["collectNodes"])(pipeline.getColumns(), 'leaf-only');
6310
6431
  leafColumns.forEach(function (_ref2) {
6311
6432
  var code = _ref2.code,
6312
6433
  width = _ref2.width;
@@ -6318,15 +6439,10 @@ function columnResize() {
6318
6439
  columnSize[code] = fallbackSize;
6319
6440
  }
6320
6441
  }
6321
- }); // 初始化 || opts.columnSize发生变化(为了autofill时能取到最新值)
6442
+ }); // 实时存储一份最新的columnSize,与autoFill共用一份数据
6443
+ // 存在state里可能存到取不到最新的
6322
6444
 
6323
- if (!pipeline.getStateAtKey(stateKey) || ((_pipeline$ref = pipeline.ref) === null || _pipeline$ref === void 0 ? void 0 : _pipeline$ref.current.lastOptColumnSize) !== opts.columnSize) {
6324
- pipeline.setStateAtKey(stateKey, columnSize);
6325
- }
6326
-
6327
- if (pipeline.ref) {
6328
- pipeline.ref.current.lastOptColumnSize = opts.columnSize;
6329
- }
6445
+ pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
6330
6446
 
6331
6447
  var onChangeSize = function onChangeSize(nextColumnSize) {
6332
6448
  window.requestAnimationFrame(function () {
@@ -6334,17 +6450,13 @@ function columnResize() {
6334
6450
 
6335
6451
  pipeline.setStateAtKey(stateKey, nextColumnSize);
6336
6452
  opts === null || opts === void 0 ? void 0 : (_opts$onChangeSize = opts.onChangeSize) === null || _opts$onChangeSize === void 0 ? void 0 : _opts$onChangeSize.call(opts, nextColumnSize);
6337
-
6338
- if (opts.columnSize) {
6339
- if (pipeline.ref) {
6340
- pipeline.ref.current.lastOptColumnSize = nextColumnSize; // 这里记录由列宽拖拽导致的opts.columnSize变化,避免重复渲染
6341
- }
6342
- }
6343
6453
  });
6344
6454
  };
6345
6455
 
6346
6456
  var handleDoubleClick = function handleDoubleClick(e, col) {
6347
- opts === null || opts === void 0 ? void 0 : opts.doubleClickCallback(e, col);
6457
+ var _opts$doubleClickCall;
6458
+
6459
+ (_opts$doubleClickCall = opts.doubleClickCallback) === null || _opts$doubleClickCall === void 0 ? void 0 : _opts$doubleClickCall.call(opts, e, col);
6348
6460
  };
6349
6461
 
6350
6462
  var handleMouseDown = function handleMouseDown(e, col) {
@@ -6352,10 +6464,17 @@ function columnResize() {
6352
6464
  var changedColumnSize = {};
6353
6465
  var startX = e.clientX;
6354
6466
  var children = col.children,
6355
- code = col.code;
6467
+ code = col.code,
6468
+ _col$features = col.features,
6469
+ features = _col$features === void 0 ? {} : _col$features;
6470
+ var minWidth = features.minWidth,
6471
+ maxWidth = features.maxWidth;
6472
+ var realMinSize = typeof minWidth === 'number' ? minWidth : minSize;
6473
+ var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
6474
+ var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
6356
6475
  var recordColumnSize = columnSize;
6357
6476
  e.stopPropagation();
6358
- var nextSize$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_12__["fromEvent"])(window, 'mousemove').pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["takeUntil"](Object(rxjs__WEBPACK_IMPORTED_MODULE_12__["fromEvent"])(window, 'mouseup')), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["map"](function (e) {
6477
+ var nextSize$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_16__["fromEvent"])(window, 'mousemove').pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_17__["takeUntil"](Object(rxjs__WEBPACK_IMPORTED_MODULE_16__["fromEvent"])(window, 'mouseup')), rxjs_operators__WEBPACK_IMPORTED_MODULE_17__["map"](function (e) {
6359
6478
  var movingX = e.clientX;
6360
6479
 
6361
6480
  var nextColumnSize = _objectSpread({}, columnSize);
@@ -6364,7 +6483,7 @@ function columnResize() {
6364
6483
  var deltaRemaining = deltaSum;
6365
6484
 
6366
6485
  if ((children === null || children === void 0 ? void 0 : children.length) > 0) {
6367
- var leafChildColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["collectNodes"])(children, 'leaf-only');
6486
+ var leafChildColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["collectNodes"])(children, 'leaf-only');
6368
6487
  var childrenWidthSum = leafChildColumns.reduce(function (sum, _ref3) {
6369
6488
  var code = _ref3.code;
6370
6489
  return sum + columnSize[code];
@@ -6375,17 +6494,17 @@ function columnResize() {
6375
6494
  var currentDeltaWidth = Math.round(deltaSum * startSize / childrenWidthSum);
6376
6495
 
6377
6496
  if (index < leafChildColumns.length - 1) {
6378
- nextColumnSize[code] = clamp(minSize, startSize + currentDeltaWidth, maxSize);
6497
+ nextColumnSize[code] = clamp(realMinSize, startSize + currentDeltaWidth, realMaxSize);
6379
6498
  changedColumnSize[code] = nextColumnSize[code];
6380
6499
  deltaRemaining -= currentDeltaWidth;
6381
6500
  } else {
6382
- nextColumnSize[code] = clamp(minSize, startSize + deltaRemaining, maxSize);
6501
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaRemaining, realMaxSize);
6383
6502
  changedColumnSize[code] = nextColumnSize[code];
6384
6503
  }
6385
6504
  });
6386
6505
  } else {
6387
6506
  var startSize = columnSize[code];
6388
- nextColumnSize[code] = clamp(minSize, startSize + deltaSum, maxSize);
6507
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaSum, realMaxSize);
6389
6508
  changedColumnSize[code] = nextColumnSize[code];
6390
6509
  }
6391
6510
 
@@ -6393,7 +6512,15 @@ function columnResize() {
6393
6512
  return nextColumnSize;
6394
6513
  }));
6395
6514
  nextSize$.subscribe({
6396
- next: onChangeSize,
6515
+ next: function next(nextColumnSize) {
6516
+ onChangeSize(nextColumnSize); // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽
6517
+
6518
+ var resizedColumnSet = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY) || new Set();
6519
+ Object.keys(changedColumnSize).forEach(function (code) {
6520
+ resizedColumnSet.add(code, changedColumnSize[code]);
6521
+ });
6522
+ pipeline.setFeatureOptions(RESIZED_COLUMN_KEY, resizedColumnSet);
6523
+ },
6397
6524
  complete: function complete() {
6398
6525
  var changedColumnSizes = Object.keys(changedColumnSize).map(function (code) {
6399
6526
  return {
@@ -6411,26 +6538,26 @@ function columnResize() {
6411
6538
  });
6412
6539
  };
6413
6540
 
6414
- var isGroup = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["isGroupColumn"])(pipeline.getColumns());
6415
- return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_14__["makeRecursiveMapper"])(function (col) {
6541
+ var isGroup = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["isGroupColumn"])(pipeline.getColumns());
6542
+ return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_18__["makeRecursiveMapper"])(function (col) {
6416
6543
  var _columnSize$code;
6417
6544
 
6418
- var prevTitle = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeRenderHeader(col);
6545
+ var prevTitle = _internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeRenderHeader(col);
6419
6546
  var code = col.code,
6420
6547
  features = col.features,
6421
6548
  width = col.width;
6422
6549
  return _objectSpread(_objectSpread({}, col), {}, {
6423
6550
  width: (_columnSize$code = columnSize[code]) !== null && _columnSize$code !== void 0 ? _columnSize$code : width,
6424
- title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_10___default.a.Fragment, null, prevTitle, (features === null || features === void 0 ? void 0 : features.resizeable) !== false && (isGroup ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(TableHeaderGroupCellResize, {
6425
- className: _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableHeaderCellResize,
6551
+ title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_14___default.a.Fragment, null, prevTitle, (features === null || features === void 0 ? void 0 : features.resizeable) !== false && (isGroup ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderGroupCellResize, {
6552
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_20__["Classes"].tableHeaderCellResize,
6426
6553
  onDoubleClick: function onDoubleClick(e) {
6427
6554
  return handleDoubleClick(e, col);
6428
6555
  },
6429
6556
  onMouseDown: function onMouseDown(e) {
6430
6557
  return handleMouseDown(e, col);
6431
6558
  }
6432
- }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(TableHeaderCellResize, {
6433
- className: _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableHeaderCellResize,
6559
+ }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, {
6560
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_20__["Classes"].tableHeaderCellResize,
6434
6561
  onDoubleClick: function onDoubleClick(e) {
6435
6562
  return handleDoubleClick(e, col);
6436
6563
  },
@@ -6438,7 +6565,7 @@ function columnResize() {
6438
6565
  return handleMouseDown(e, col);
6439
6566
  }
6440
6567
  }))),
6441
- headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_14__["mergeCellProps"])(col.headerCellProps, {
6568
+ headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_18__["mergeCellProps"])(col.headerCellProps, {
6442
6569
  className: 'resizeable'
6443
6570
  })
6444
6571
  });
@@ -7922,28 +8049,34 @@ function multiSelect() {
7922
8049
  /** 所有有效的 keys(disable 状态为 false) */
7923
8050
 
7924
8051
  var allKeys = [];
8052
+ var set = new Set(value);
8053
+ var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
8054
+
8055
+ var isAnyChecked = false;
7925
8056
  var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7926
8057
  flatDataSource.forEach(function (row, rowIndex) {
7927
8058
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7928
8059
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7929
8060
 
7930
8061
  if (!isDisabled(row, rowIndex)) {
7931
- allKeys.push(rowKey);
8062
+ allKeys.push(rowKey); // 存在一个非选中,则不再进行判断
8063
+
8064
+ if (isAllChecked) {
8065
+ isAllChecked = set.has(rowKey);
8066
+ } // 存在一个选中,则不再进行判断
8067
+
8068
+
8069
+ if (!isAnyChecked) {
8070
+ isAnyChecked = set.has(rowKey);
8071
+ }
7932
8072
  }
7933
- });
7934
- var set = new Set(value); // todo: 暂使用hidden隐藏选择列 后续增加配置
8073
+ }); // todo: 暂使用hidden隐藏选择列 后续增加配置
7935
8074
 
7936
8075
  var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
7937
8076
 
7938
8077
  if (!hiddenSelectColumn) {
7939
8078
  var _opts$checkboxPlaceme;
7940
8079
 
7941
- var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
7942
- return set.has(key);
7943
- });
7944
- var isAnyChecked = allKeys.some(function (key) {
7945
- return set.has(key);
7946
- });
7947
8080
  var defaultCheckboxColumnTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7948
8081
  checked: isAllChecked,
7949
8082
  indeterminate: !isAllChecked && isAnyChecked,
@@ -8218,16 +8351,16 @@ function rangeSelection(opts) {
8218
8351
 
8219
8352
  if (clickCell) {
8220
8353
  if (event.shiftKey) {
8221
- var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
8354
+ var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
8222
8355
 
8223
8356
  if (_lastClickCell) {
8224
8357
  setRangeSelection(_lastClickCell, clickCell);
8225
8358
  } else {
8226
8359
  // 第一次进来就按住shift键,这时候要记住点击的单元格
8227
- pipeline.setStateAtKey(lastClickCellKey, clickCell);
8360
+ pipeline.setFeatureOptions(lastClickCellKey, clickCell);
8228
8361
  }
8229
8362
  } else {
8230
- pipeline.setStateAtKey(lastClickCellKey, clickCell);
8363
+ pipeline.setFeatureOptions(lastClickCellKey, clickCell);
8231
8364
  setRangeSelection(clickCell, clickCell);
8232
8365
  }
8233
8366
  }
@@ -9570,6 +9703,10 @@ function sort() {
9570
9703
  return dataSource;
9571
9704
  }
9572
9705
 
9706
+ if (sortMap.size === 0) {
9707
+ return dataSource;
9708
+ }
9709
+
9573
9710
  var sortColumnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_27__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
9574
9711
  var _col$features2, _col$features3;
9575
9712
 
@@ -10737,8 +10874,9 @@ function useTablePipeline(ctx) {
10737
10874
  state = _useState2[0],
10738
10875
  setState = _useState2[1];
10739
10876
 
10740
- var ref = Object(react__WEBPACK_IMPORTED_MODULE_15__["useRef"])({});
10741
- ref.current.featureOptions = {};
10877
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_15__["useRef"])({
10878
+ featureOptions: {}
10879
+ });
10742
10880
  return new TablePipeline({
10743
10881
  state: state,
10744
10882
  setState: setState,
@@ -22780,6 +22918,24 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
22780
22918
  }
22781
22919
 
22782
22920
 
22921
+ /***/ }),
22922
+
22923
+ /***/ "./node_modules/core-js/modules/es.number.max-safe-integer.js":
22924
+ /*!********************************************************************!*\
22925
+ !*** ./node_modules/core-js/modules/es.number.max-safe-integer.js ***!
22926
+ \********************************************************************/
22927
+ /*! no static exports found */
22928
+ /***/ (function(module, exports, __webpack_require__) {
22929
+
22930
+ var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
22931
+
22932
+ // `Number.MAX_SAFE_INTEGER` constant
22933
+ // https://tc39.es/ecma262/#sec-number.max_safe_integer
22934
+ $({ target: 'Number', stat: true }, {
22935
+ MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
22936
+ });
22937
+
22938
+
22783
22939
  /***/ }),
22784
22940
 
22785
22941
  /***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js":