@kdcloudjs/table 1.1.5-canary.9 → 1.1.6-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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.5-canary.8
3
+ * @kdcloudjs/table v1.1.5
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)',
@@ -3879,13 +3879,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3879
3879
  last: footerDataSource.length - 1,
3880
3880
  limit: Infinity
3881
3881
  }
3882
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3882
+ }), footerDataSource.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3883
3883
  className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].verticalScrollPlaceholder,
3884
3884
  style: this.hasScrollY ? {
3885
3885
  width: this.getScrollBarWidth(),
3886
3886
  visibility: 'initial'
3887
3887
  } : undefined
3888
- }));
3888
+ }) : null);
3889
3889
  }
3890
3890
  }, {
3891
3891
  key: "renderLockShadows",
@@ -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,49 @@ __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 core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js");
4974
+ /* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_13__);
4975
+ /* harmony import */ var _base_calculations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../base/calculations */ "./components/table/base/calculations.tsx");
4976
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
4977
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
4978
+ /* harmony import */ var _columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./columnResizeWidth */ "./components/table/pipeline/features/columnResizeWidth.tsx");
4979
+
4980
+
4981
+
4982
+
4983
+
4984
+
4985
+
4986
+
4987
+
4988
+
4989
+
4958
4990
 
4959
4991
 
4960
4992
 
@@ -4964,65 +4996,153 @@ __webpack_require__.r(__webpack_exports__);
4964
4996
 
4965
4997
  var FILL_COLUMN_CODE = '$_fill_column_&';
4966
4998
  var tableWidthKey = 'tableWidth';
4967
- var fillColumnWidthKey = 'fillColumnWidth';
4999
+ var FLEX_COLUMN_COUNT = Symbol('flexCount');
4968
5000
  var autoFillTableWidth = function autoFillTableWidth() {
4969
5001
  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
- });
5002
+ var flexColumnResult = findFlexColumns(pipeline);
5003
+ var flexCount = flexColumnResult.get(FLEX_COLUMN_COUNT);
5004
+
5005
+ if (flexCount) {
5006
+ // 设置了flex宽度,flex列平分剩余宽度
5007
+ var remainingWidth = getTableRemainingWidth(pipeline) || 0;
5008
+
5009
+ if (remainingWidth > 0) {
5010
+ // 保存剩余的flex总和和剩余宽度总和宽度
5011
+ var residualFlexCount = flexCount;
5012
+ var residualFlexWidth = remainingWidth;
5013
+ var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"]) || {};
5014
+ pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_15__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
5015
+ var isLeaf = recursiveFlatMapInfo.isLeaf;
5016
+
5017
+ if (isLeaf && isValidFlexColumn(col, pipeline)) {
5018
+ var code = col.code,
5019
+ _col$features = col.features,
5020
+ features = _col$features === void 0 ? {} : _col$features;
5021
+ var flex = features.flex,
5022
+ _features$minWidth = features.minWidth,
5023
+ minWidth = _features$minWidth === void 0 ? 0 : _features$minWidth,
5024
+ _features$maxWidth = features.maxWidth,
5025
+ maxWidth = _features$maxWidth === void 0 ? Number.MAX_SAFE_INTEGER : _features$maxWidth;
5026
+ var usedRemainingWidth = Math.floor(remainingWidth * flex / flexCount);
5027
+ var preColWidth = col.width; // 如果当前已经是最后一个flex列,将剩余的宽度添加到该列,其他计算相应的列
5028
+
5029
+ col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth);
5030
+ residualFlexCount -= flex;
5031
+ residualFlexWidth -= col.width - preColWidth;
5032
+ columnSize[code] = col.width;
5033
+ }
4975
5034
 
4976
- if (fillColumns) {
4977
- fillColumns.width = width;
5035
+ return col;
5036
+ }));
5037
+ pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"], columnSize);
5038
+ }
4978
5039
  } 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);
5040
+ // 未设置了flex宽度,创建占位列
5041
+ var columns = pipeline.getColumns();
5042
+ var fillColumns = columns.find(function (col) {
5043
+ return col.code === FILL_COLUMN_CODE;
5044
+ });
5045
+ var width = getTableRemainingWidth(pipeline) || 0;
5046
+
5047
+ if (fillColumns) {
5048
+ fillColumns.width = width;
5049
+ } else {
5050
+ var rightNestedLockCount = Object(_base_calculations__WEBPACK_IMPORTED_MODULE_14__["getLeftNestedLockCount"])(columns.slice().reverse());
5051
+ var spliceIndex = columns.length - rightNestedLockCount;
5052
+ var _fillColumns = {
5053
+ name: '',
5054
+ code: FILL_COLUMN_CODE,
5055
+ width: width,
5056
+ features: {
5057
+ resizeable: false
5058
+ },
5059
+ getCellProps: function getCellProps(value, record, rowIndex) {
5060
+ return {
5061
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].emptyColCell
5062
+ };
5063
+ }
5064
+ };
5065
+ columns.splice(spliceIndex || columns.length, 0, _fillColumns);
5066
+ }
5067
+
5068
+ pipeline.columns(columns);
4995
5069
  }
4996
5070
 
4997
- pipeline.columns(columns);
4998
- setAutoFillWidth(pipeline);
4999
5071
  return pipeline;
5072
+
5073
+ function findFlexColumns(pipeline) {
5074
+ var result = new Map([[FLEX_COLUMN_COUNT, 0]]);
5075
+ dfs(pipeline.getColumns(), result);
5076
+ return result;
5077
+
5078
+ function dfs(columns, result) {
5079
+ columns.forEach(function (col) {
5080
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_15__["isLeafNode"])(col)) {
5081
+ if (isValidFlexColumn(col, pipeline)) {
5082
+ result.set(FLEX_COLUMN_COUNT, result.get(FLEX_COLUMN_COUNT) + col.features.flex);
5083
+ }
5084
+ } else {
5085
+ dfs(col.children, result);
5086
+ }
5087
+ });
5088
+ }
5089
+ }
5000
5090
  };
5001
5091
  };
5002
5092
 
5003
- var setAutoFillWidth = function setAutoFillWidth(pipeline) {
5093
+ function getColumnWidthSum(pipeline) {
5094
+ return dfs(pipeline.getColumns());
5095
+
5096
+ function dfs(columns) {
5097
+ return columns.reduce(function (acc, col) {
5098
+ var width = col.width,
5099
+ code = col.code;
5100
+
5101
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_15__["isLeafNode"])(col) && code !== FILL_COLUMN_CODE) {
5102
+ var resizeColumn = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"]);
5103
+ return acc + (resizeColumn && resizeColumn[code] || width);
5104
+ } else {
5105
+ return acc + dfs(col.children);
5106
+ }
5107
+ }, 0);
5108
+ }
5109
+ }
5110
+
5111
+ function getTableRemainingWidth(pipeline) {
5004
5112
  var tableWidth = pipeline.getStateAtKey(tableWidthKey);
5005
5113
  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;
5114
+ var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
5115
+ return remainingWidth > 0 ? remainingWidth : 0;
5116
+ }
5010
5117
 
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
- }
5118
+ function isAfterLastResizeCol(column, pipeline) {
5119
+ var lastResizedColumnCode = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["LAST_RESIZED_COLUMN_KEY"]);
5120
+ if (lastResizedColumnCode === undefined) return true;
5121
+ var lastResizedColumnIndex = pipeline.getColumns().findIndex(function (col) {
5122
+ return col.code === lastResizedColumnCode;
5123
+ });
5124
+ var colIndex = pipeline.getColumns().findIndex(function (col) {
5125
+ return col.code === column.code;
5126
+ });
5127
+ return colIndex > lastResizedColumnIndex;
5128
+ }
5015
5129
 
5016
- return col;
5017
- }));
5018
- var fillColumnWidth = Math.floor(tableWidth - columnWidthSum);
5019
- fillColumnWidth = fillColumnWidth > 0 ? fillColumnWidth : 0;
5020
- var preWidth = pipeline.getStateAtKey(fillColumnWidthKey, 0);
5130
+ function isValidFlexColumn(col, pipeline) {
5131
+ var _col$features2;
5132
+
5133
+ var resizeColumn = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["RESIZED_COLUMN_KEY"]); // 拖拽列自动禁止flex
5021
5134
 
5022
- if (preWidth !== fillColumnWidth) {
5023
- pipeline.setStateAtKey('fillColumnWidth', fillColumnWidth);
5135
+ if (resizeColumn !== null && resizeColumn !== void 0 && resizeColumn.has(col.code)) {
5136
+ return false;
5024
5137
  }
5025
- };
5138
+
5139
+ var flex = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.flex;
5140
+ return typeof flex === 'number' && flex > 0 && isAfterLastResizeCol(col, pipeline);
5141
+ }
5142
+
5143
+ function clamp(min, x, max) {
5144
+ return Math.max(min, Math.min(max, x));
5145
+ }
5026
5146
 
5027
5147
  /***/ }),
5028
5148
 
@@ -6225,11 +6345,14 @@ function columnRangeHover() {
6225
6345
  /*!******************************************************************!*\
6226
6346
  !*** ./components/table/pipeline/features/columnResizeWidth.tsx ***!
6227
6347
  \******************************************************************/
6228
- /*! exports provided: columnResize */
6348
+ /*! exports provided: COLUMN_SIZE_KEY, RESIZED_COLUMN_KEY, LAST_RESIZED_COLUMN_KEY, columnResize */
6229
6349
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6230
6350
 
6231
6351
  "use strict";
6232
6352
  __webpack_require__.r(__webpack_exports__);
6353
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "COLUMN_SIZE_KEY", function() { return COLUMN_SIZE_KEY; });
6354
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RESIZED_COLUMN_KEY", function() { return RESIZED_COLUMN_KEY; });
6355
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LAST_RESIZED_COLUMN_KEY", function() { return LAST_RESIZED_COLUMN_KEY; });
6233
6356
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "columnResize", function() { return columnResize; });
6234
6357
  /* 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
6358
  /* 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 +6370,26 @@ __webpack_require__.r(__webpack_exports__);
6247
6370
  /* 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
6371
  /* 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
6372
  /* 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");
6373
+ /* 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");
6374
+ /* 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__);
6375
+ /* 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");
6376
+ /* 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__);
6377
+ /* 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");
6378
+ /* 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__);
6379
+ /* 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");
6380
+ /* 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__);
6381
+ /* 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");
6382
+ /* 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__);
6383
+ /* 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");
6384
+ /* 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__);
6385
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react */ "react");
6386
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__);
6387
+ /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
6388
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
6389
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
6390
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
6391
+ /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
6392
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
6262
6393
 
6263
6394
 
6264
6395
 
@@ -6283,8 +6414,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6283
6414
 
6284
6415
 
6285
6416
 
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"])));
6417
+
6418
+
6419
+
6420
+
6421
+ 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"])));
6288
6423
 
6289
6424
  function clamp(min, x, max) {
6290
6425
  return Math.max(min, Math.min(max, x));
@@ -6294,19 +6429,22 @@ function disableSelect(event) {
6294
6429
  event.preventDefault();
6295
6430
  }
6296
6431
 
6432
+ var stateKey = 'columnResize';
6433
+ var COLUMN_SIZE_KEY = 'columnResize';
6434
+ var RESIZED_COLUMN_KEY = 'resizedColumn';
6435
+ var LAST_RESIZED_COLUMN_KEY = 'lastResizedColumn';
6297
6436
  function columnResize() {
6298
6437
  var _opts$minSize, _opts$fallbackSize, _opts$maxSize;
6299
6438
 
6300
6439
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6301
- var stateKey = 'columnResize';
6302
6440
  var minSize = (_opts$minSize = opts.minSize) !== null && _opts$minSize !== void 0 ? _opts$minSize : 60;
6303
6441
  var fallbackSize = (_opts$fallbackSize = opts.fallbackSize) !== null && _opts$fallbackSize !== void 0 ? _opts$fallbackSize : 150;
6304
6442
  var maxSize = (_opts$maxSize = opts.maxSize) !== null && _opts$maxSize !== void 0 ? _opts$maxSize : 1000;
6305
6443
  return function columnResizeFeature(pipeline) {
6306
- var _ref, _opts$columnSize, _pipeline$ref;
6444
+ var _ref, _opts$columnSize;
6307
6445
 
6308
6446
  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');
6447
+ var leafColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["collectNodes"])(pipeline.getColumns(), 'leaf-only');
6310
6448
  leafColumns.forEach(function (_ref2) {
6311
6449
  var code = _ref2.code,
6312
6450
  width = _ref2.width;
@@ -6318,15 +6456,10 @@ function columnResize() {
6318
6456
  columnSize[code] = fallbackSize;
6319
6457
  }
6320
6458
  }
6321
- }); // 初始化 || opts.columnSize发生变化(为了autofill时能取到最新值)
6459
+ }); // 实时存储一份最新的columnSize,与autoFill共用一份数据
6460
+ // 存在state里可能存到取不到最新的
6322
6461
 
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
- }
6462
+ pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
6330
6463
 
6331
6464
  var onChangeSize = function onChangeSize(nextColumnSize) {
6332
6465
  window.requestAnimationFrame(function () {
@@ -6334,17 +6467,13 @@ function columnResize() {
6334
6467
 
6335
6468
  pipeline.setStateAtKey(stateKey, nextColumnSize);
6336
6469
  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
6470
  });
6344
6471
  };
6345
6472
 
6346
6473
  var handleDoubleClick = function handleDoubleClick(e, col) {
6347
- opts === null || opts === void 0 ? void 0 : opts.doubleClickCallback(e, col);
6474
+ var _opts$doubleClickCall;
6475
+
6476
+ (_opts$doubleClickCall = opts.doubleClickCallback) === null || _opts$doubleClickCall === void 0 ? void 0 : _opts$doubleClickCall.call(opts, e, col);
6348
6477
  };
6349
6478
 
6350
6479
  var handleMouseDown = function handleMouseDown(e, col) {
@@ -6352,10 +6481,17 @@ function columnResize() {
6352
6481
  var changedColumnSize = {};
6353
6482
  var startX = e.clientX;
6354
6483
  var children = col.children,
6355
- code = col.code;
6484
+ code = col.code,
6485
+ _col$features = col.features,
6486
+ features = _col$features === void 0 ? {} : _col$features;
6487
+ var minWidth = features.minWidth,
6488
+ maxWidth = features.maxWidth;
6489
+ var realMinSize = typeof minWidth === 'number' ? minWidth : minSize;
6490
+ var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
6491
+ var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
6356
6492
  var recordColumnSize = columnSize;
6357
6493
  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) {
6494
+ 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
6495
  var movingX = e.clientX;
6360
6496
 
6361
6497
  var nextColumnSize = _objectSpread({}, columnSize);
@@ -6364,7 +6500,7 @@ function columnResize() {
6364
6500
  var deltaRemaining = deltaSum;
6365
6501
 
6366
6502
  if ((children === null || children === void 0 ? void 0 : children.length) > 0) {
6367
- var leafChildColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["collectNodes"])(children, 'leaf-only');
6503
+ var leafChildColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["collectNodes"])(children, 'leaf-only');
6368
6504
  var childrenWidthSum = leafChildColumns.reduce(function (sum, _ref3) {
6369
6505
  var code = _ref3.code;
6370
6506
  return sum + columnSize[code];
@@ -6375,17 +6511,17 @@ function columnResize() {
6375
6511
  var currentDeltaWidth = Math.round(deltaSum * startSize / childrenWidthSum);
6376
6512
 
6377
6513
  if (index < leafChildColumns.length - 1) {
6378
- nextColumnSize[code] = clamp(minSize, startSize + currentDeltaWidth, maxSize);
6514
+ nextColumnSize[code] = clamp(realMinSize, startSize + currentDeltaWidth, realMaxSize);
6379
6515
  changedColumnSize[code] = nextColumnSize[code];
6380
6516
  deltaRemaining -= currentDeltaWidth;
6381
6517
  } else {
6382
- nextColumnSize[code] = clamp(minSize, startSize + deltaRemaining, maxSize);
6518
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaRemaining, realMaxSize);
6383
6519
  changedColumnSize[code] = nextColumnSize[code];
6384
6520
  }
6385
6521
  });
6386
6522
  } else {
6387
6523
  var startSize = columnSize[code];
6388
- nextColumnSize[code] = clamp(minSize, startSize + deltaSum, maxSize);
6524
+ nextColumnSize[code] = clamp(realMinSize, startSize + deltaSum, realMaxSize);
6389
6525
  changedColumnSize[code] = nextColumnSize[code];
6390
6526
  }
6391
6527
 
@@ -6393,7 +6529,16 @@ function columnResize() {
6393
6529
  return nextColumnSize;
6394
6530
  }));
6395
6531
  nextSize$.subscribe({
6396
- next: onChangeSize,
6532
+ next: function next(nextColumnSize) {
6533
+ onChangeSize(nextColumnSize); // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽
6534
+
6535
+ var resizedColumnSet = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY) || new Set();
6536
+ Object.keys(changedColumnSize).forEach(function (code) {
6537
+ resizedColumnSet.add(code, changedColumnSize[code]);
6538
+ });
6539
+ pipeline.setFeatureOptions(RESIZED_COLUMN_KEY, resizedColumnSet);
6540
+ pipeline.setFeatureOptions(LAST_RESIZED_COLUMN_KEY, code);
6541
+ },
6397
6542
  complete: function complete() {
6398
6543
  var changedColumnSizes = Object.keys(changedColumnSize).map(function (code) {
6399
6544
  return {
@@ -6411,26 +6556,26 @@ function columnResize() {
6411
6556
  });
6412
6557
  };
6413
6558
 
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) {
6559
+ var isGroup = Object(_utils__WEBPACK_IMPORTED_MODULE_18__["isGroupColumn"])(pipeline.getColumns());
6560
+ return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_18__["makeRecursiveMapper"])(function (col) {
6416
6561
  var _columnSize$code;
6417
6562
 
6418
- var prevTitle = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeRenderHeader(col);
6563
+ var prevTitle = _internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeRenderHeader(col);
6419
6564
  var code = col.code,
6420
6565
  features = col.features,
6421
6566
  width = col.width;
6422
6567
  return _objectSpread(_objectSpread({}, col), {}, {
6423
6568
  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,
6569
+ 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, {
6570
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_20__["Classes"].tableHeaderCellResize,
6426
6571
  onDoubleClick: function onDoubleClick(e) {
6427
6572
  return handleDoubleClick(e, col);
6428
6573
  },
6429
6574
  onMouseDown: function onMouseDown(e) {
6430
6575
  return handleMouseDown(e, col);
6431
6576
  }
6432
- }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(TableHeaderCellResize, {
6433
- className: _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableHeaderCellResize,
6577
+ }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, {
6578
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_20__["Classes"].tableHeaderCellResize,
6434
6579
  onDoubleClick: function onDoubleClick(e) {
6435
6580
  return handleDoubleClick(e, col);
6436
6581
  },
@@ -6438,7 +6583,7 @@ function columnResize() {
6438
6583
  return handleMouseDown(e, col);
6439
6584
  }
6440
6585
  }))),
6441
- headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_14__["mergeCellProps"])(col.headerCellProps, {
6586
+ headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_18__["mergeCellProps"])(col.headerCellProps, {
6442
6587
  className: 'resizeable'
6443
6588
  })
6444
6589
  });
@@ -7922,28 +8067,34 @@ function multiSelect() {
7922
8067
  /** 所有有效的 keys(disable 状态为 false) */
7923
8068
 
7924
8069
  var allKeys = [];
8070
+ var set = new Set(value);
8071
+ var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
8072
+
8073
+ var isAnyChecked = false;
7925
8074
  var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7926
8075
  flatDataSource.forEach(function (row, rowIndex) {
7927
8076
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7928
8077
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7929
8078
 
7930
8079
  if (!isDisabled(row, rowIndex)) {
7931
- allKeys.push(rowKey);
8080
+ allKeys.push(rowKey); // 存在一个非选中,则不再进行判断
8081
+
8082
+ if (isAllChecked) {
8083
+ isAllChecked = set.has(rowKey);
8084
+ } // 存在一个选中,则不再进行判断
8085
+
8086
+
8087
+ if (!isAnyChecked) {
8088
+ isAnyChecked = set.has(rowKey);
8089
+ }
7932
8090
  }
7933
- });
7934
- var set = new Set(value); // todo: 暂使用hidden隐藏选择列 后续增加配置
8091
+ }); // todo: 暂使用hidden隐藏选择列 后续增加配置
7935
8092
 
7936
8093
  var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
7937
8094
 
7938
8095
  if (!hiddenSelectColumn) {
7939
8096
  var _opts$checkboxPlaceme;
7940
8097
 
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
8098
  var defaultCheckboxColumnTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7948
8099
  checked: isAllChecked,
7949
8100
  indeterminate: !isAllChecked && isAnyChecked,
@@ -8218,16 +8369,16 @@ function rangeSelection(opts) {
8218
8369
 
8219
8370
  if (clickCell) {
8220
8371
  if (event.shiftKey) {
8221
- var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
8372
+ var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
8222
8373
 
8223
8374
  if (_lastClickCell) {
8224
8375
  setRangeSelection(_lastClickCell, clickCell);
8225
8376
  } else {
8226
8377
  // 第一次进来就按住shift键,这时候要记住点击的单元格
8227
- pipeline.setStateAtKey(lastClickCellKey, clickCell);
8378
+ pipeline.setFeatureOptions(lastClickCellKey, clickCell);
8228
8379
  }
8229
8380
  } else {
8230
- pipeline.setStateAtKey(lastClickCellKey, clickCell);
8381
+ pipeline.setFeatureOptions(lastClickCellKey, clickCell);
8231
8382
  setRangeSelection(clickCell, clickCell);
8232
8383
  }
8233
8384
  }
@@ -9570,6 +9721,10 @@ function sort() {
9570
9721
  return dataSource;
9571
9722
  }
9572
9723
 
9724
+ if (sortMap.size === 0) {
9725
+ return dataSource;
9726
+ }
9727
+
9573
9728
  var sortColumnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_27__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
9574
9729
  var _col$features2, _col$features3;
9575
9730
 
@@ -10737,8 +10892,9 @@ function useTablePipeline(ctx) {
10737
10892
  state = _useState2[0],
10738
10893
  setState = _useState2[1];
10739
10894
 
10740
- var ref = Object(react__WEBPACK_IMPORTED_MODULE_15__["useRef"])({});
10741
- ref.current.featureOptions = {};
10895
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_15__["useRef"])({
10896
+ featureOptions: {}
10897
+ });
10742
10898
  return new TablePipeline({
10743
10899
  state: state,
10744
10900
  setState: setState,
@@ -22780,6 +22936,24 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
22780
22936
  }
22781
22937
 
22782
22938
 
22939
+ /***/ }),
22940
+
22941
+ /***/ "./node_modules/core-js/modules/es.number.max-safe-integer.js":
22942
+ /*!********************************************************************!*\
22943
+ !*** ./node_modules/core-js/modules/es.number.max-safe-integer.js ***!
22944
+ \********************************************************************/
22945
+ /*! no static exports found */
22946
+ /***/ (function(module, exports, __webpack_require__) {
22947
+
22948
+ var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
22949
+
22950
+ // `Number.MAX_SAFE_INTEGER` constant
22951
+ // https://tc39.es/ecma262/#sec-number.max_safe_integer
22952
+ $({ target: 'Number', stat: true }, {
22953
+ MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
22954
+ });
22955
+
22956
+
22783
22957
  /***/ }),
22784
22958
 
22785
22959
  /***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js":