@kdcloudjs/table 1.1.2 → 1.1.3-canary.10

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.
Files changed (71) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +611 -207
  3. package/dist/@kdcloudjs/table.js.map +1 -1
  4. package/dist/@kdcloudjs/table.min.css +1 -1
  5. package/dist/@kdcloudjs/table.min.js +6 -6
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/table/base/helpers/TableDOMUtils.d.ts +2 -0
  8. package/es/table/base/helpers/TableDOMUtils.js +48 -12
  9. package/es/table/base/helpers/getRichVisibleRectsStream.js +1 -1
  10. package/es/table/base/html-table.js +1 -1
  11. package/es/table/base/styles.d.ts +2 -0
  12. package/es/table/base/styles.js +4 -2
  13. package/es/table/base/table.d.ts +0 -1
  14. package/es/table/base/table.js +22 -29
  15. package/es/table/pipeline/features/columnDrag.js +27 -16
  16. package/es/table/pipeline/features/columnFilter.d.ts +2 -2
  17. package/es/table/pipeline/features/columnFilter.js +33 -12
  18. package/es/table/pipeline/features/contextMenu.js +1 -0
  19. package/es/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
  20. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +20 -0
  21. package/es/table/pipeline/features/filter/Filter.d.ts +1 -1
  22. package/es/table/pipeline/features/filter/Filter.js +16 -20
  23. package/es/table/pipeline/features/filter/FilterPanel.js +25 -16
  24. package/es/table/pipeline/features/filter/util.js +4 -4
  25. package/es/table/pipeline/features/footerDataSource.d.ts +9 -0
  26. package/es/table/pipeline/features/footerDataSource.js +25 -0
  27. package/es/table/pipeline/features/index.d.ts +2 -0
  28. package/es/table/pipeline/features/index.js +3 -1
  29. package/es/table/pipeline/features/mergeCellHover.d.ts +2 -0
  30. package/es/table/pipeline/features/mergeCellHover.js +32 -0
  31. package/es/table/pipeline/features/multiSelect.js +7 -2
  32. package/es/table/pipeline/features/rangeSelection.d.ts +1 -1
  33. package/es/table/pipeline/features/rangeSelection.js +156 -28
  34. package/es/table/pipeline/features/singleSelect.js +4 -0
  35. package/es/table/pipeline/features/treeMode.d.ts +2 -0
  36. package/es/table/pipeline/features/treeMode.js +18 -20
  37. package/es/table/pipeline/pipeline.d.ts +5 -1
  38. package/es/table/pipeline/pipeline.js +11 -10
  39. package/lib/table/base/helpers/TableDOMUtils.d.ts +2 -0
  40. package/lib/table/base/helpers/TableDOMUtils.js +51 -12
  41. package/lib/table/base/helpers/getRichVisibleRectsStream.js +1 -1
  42. package/lib/table/base/html-table.js +1 -1
  43. package/lib/table/base/styles.d.ts +2 -0
  44. package/lib/table/base/styles.js +4 -2
  45. package/lib/table/base/table.d.ts +0 -1
  46. package/lib/table/base/table.js +22 -29
  47. package/lib/table/pipeline/features/columnDrag.js +27 -16
  48. package/lib/table/pipeline/features/columnFilter.d.ts +2 -2
  49. package/lib/table/pipeline/features/columnFilter.js +31 -12
  50. package/lib/table/pipeline/features/contextMenu.js +1 -0
  51. package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
  52. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +30 -0
  53. package/lib/table/pipeline/features/filter/Filter.d.ts +1 -1
  54. package/lib/table/pipeline/features/filter/Filter.js +17 -20
  55. package/lib/table/pipeline/features/filter/FilterPanel.js +25 -15
  56. package/lib/table/pipeline/features/filter/util.js +4 -4
  57. package/lib/table/pipeline/features/footerDataSource.d.ts +9 -0
  58. package/lib/table/pipeline/features/footerDataSource.js +41 -0
  59. package/lib/table/pipeline/features/index.d.ts +2 -0
  60. package/lib/table/pipeline/features/index.js +23 -1
  61. package/lib/table/pipeline/features/mergeCellHover.d.ts +2 -0
  62. package/lib/table/pipeline/features/mergeCellHover.js +43 -0
  63. package/lib/table/pipeline/features/multiSelect.js +6 -1
  64. package/lib/table/pipeline/features/rangeSelection.d.ts +1 -1
  65. package/lib/table/pipeline/features/rangeSelection.js +158 -30
  66. package/lib/table/pipeline/features/singleSelect.js +4 -0
  67. package/lib/table/pipeline/features/treeMode.d.ts +2 -0
  68. package/lib/table/pipeline/features/treeMode.js +19 -22
  69. package/lib/table/pipeline/pipeline.d.ts +5 -1
  70. package/lib/table/pipeline/pipeline.js +12 -10
  71. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.2
3
+ * @kdcloudjs/table v1.1.3-canary.9
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -1862,9 +1862,18 @@ __webpack_require__.r(__webpack_exports__);
1862
1862
  /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
1863
1863
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
1864
1864
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__);
1865
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
1866
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3__);
1867
- /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles */ "./components/table/base/styles.ts");
1865
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
1866
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__);
1867
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
1868
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_4__);
1869
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
1870
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__);
1871
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
1872
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__);
1873
+ /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles */ "./components/table/base/styles.ts");
1874
+
1875
+
1876
+
1868
1877
 
1869
1878
 
1870
1879
 
@@ -1909,6 +1918,8 @@ __webpack_require__.r(__webpack_exports__);
1909
1918
 
1910
1919
  var TableDOMHelper = /*#__PURE__*/function () {
1911
1920
  function TableDOMHelper(artTableWrapper) {
1921
+ var _this = this;
1922
+
1912
1923
  _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, TableDOMHelper);
1913
1924
 
1914
1925
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "artTableWrapper", void 0);
@@ -1933,58 +1944,89 @@ var TableDOMHelper = /*#__PURE__*/function () {
1933
1944
 
1934
1945
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "tableFooterMain", void 0);
1935
1946
 
1947
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "getRowNodeListByEvent", function (e) {
1948
+ var nodeList = null;
1949
+ var rowIndex = e.currentTarget.dataset.rowindex;
1950
+
1951
+ if (rowIndex !== undefined) {
1952
+ var targetParent = _this.tableBody.contains(e.currentTarget) ? _this.tableBody : _this.tableFooter;
1953
+ nodeList = targetParent.querySelectorAll("tr[data-rowindex=\"".concat(rowIndex, "\"]"));
1954
+ }
1955
+
1956
+ return nodeList;
1957
+ });
1958
+
1959
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "getInRangeRowByCellEvent", function (e) {
1960
+ var _e, _getParentNode;
1961
+
1962
+ var getParentNode = function getParentNode(ele, target) {
1963
+ if (ele.parentNode.nodeName === target) {
1964
+ return ele.parentNode;
1965
+ }
1966
+
1967
+ return getParentNode(ele.parentNode, target);
1968
+ };
1969
+
1970
+ e = e instanceof Array ? e[0] : e;
1971
+ var curCell = (_e = e) === null || _e === void 0 ? void 0 : _e.currentTarget;
1972
+ var curRow = getParentNode(curCell, 'TR');
1973
+ var curRowSpan = parseInt(e.currentTarget.getAttribute('rowspan')) || 1;
1974
+ var rows = (_getParentNode = getParentNode(curCell, 'TABLE')) === null || _getParentNode === void 0 ? void 0 : _getParentNode.rows;
1975
+ return Array.from(rows).slice(curRow.rowIndex, curRow.rowIndex + curRowSpan);
1976
+ });
1977
+
1936
1978
  this.artTableWrapper = artTableWrapper;
1937
- this.artTable = artTableWrapper.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].artTable));
1938
- this.tableHeader = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableHeader));
1939
- this.tableHeaderMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableHeaderMain));
1940
- this.tableBody = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableBody));
1941
- this.virtual = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].virtual));
1942
- this.tableElement = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableBody, " table"));
1943
- this.tableFooter = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableFooter));
1944
- this.tableFooterMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableFooterMain));
1945
- var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].stickyScroll);
1979
+ this.artTable = artTableWrapper.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable));
1980
+ this.tableHeader = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableHeader));
1981
+ this.tableHeaderMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableHeaderMain));
1982
+ this.tableBody = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody));
1983
+ this.virtual = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].virtual));
1984
+ this.tableElement = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " table"));
1985
+ this.tableFooter = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter));
1986
+ this.tableFooterMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooterMain));
1987
+ var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScroll);
1946
1988
  this.stickyScroll = artTableWrapper.querySelector(stickyScrollSelector);
1947
- this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].stickyScrollItem));
1989
+ this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScrollItem));
1948
1990
  }
1949
1991
 
1950
1992
  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(TableDOMHelper, [{
1951
1993
  key: "getVirtualTop",
1952
1994
  value: function getVirtualTop() {
1953
- return this.tableBody.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].virtualBlank, ".top"));
1995
+ return this.tableBody.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].virtualBlank, ".top"));
1954
1996
  }
1955
1997
  }, {
1956
1998
  key: "getTableRows",
1957
1999
  value: function getTableRows() {
1958
- var tbody = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].virtual, " table tbody"));
2000
+ var tbody = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].virtual, " table tbody"));
1959
2001
  return tbody.childNodes;
1960
2002
  }
1961
2003
  }, {
1962
2004
  key: "getTableBodyHtmlTable",
1963
2005
  value: function getTableBodyHtmlTable() {
1964
- return this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].virtual, " table"));
2006
+ return this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].virtual, " table"));
1965
2007
  }
1966
2008
  }, {
1967
2009
  key: "getLeftLockShadow",
1968
2010
  value: function getLeftLockShadow() {
1969
- var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leftLockShadow);
2011
+ var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].leftLockShadow);
1970
2012
  return this.artTable.querySelector(selector);
1971
2013
  }
1972
2014
  }, {
1973
2015
  key: "getRightLockShadow",
1974
2016
  value: function getRightLockShadow() {
1975
- var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].rightLockShadow);
2017
+ var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rightLockShadow);
1976
2018
  return this.artTable.querySelector(selector);
1977
2019
  }
1978
2020
  }, {
1979
2021
  key: "getLoadingIndicator",
1980
2022
  value: function getLoadingIndicator() {
1981
- return this.artTableWrapper.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].loadingIndicator));
2023
+ return this.artTableWrapper.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].loadingIndicator));
1982
2024
  }
1983
2025
  }, {
1984
2026
  key: "getRowTop",
1985
2027
  value: function getRowTop(rowIndex) {
1986
2028
  if (rowIndex === 0) return 0;
1987
- var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].tableRow, "[data-rowindex=\"").concat(rowIndex, "\"]");
2029
+ var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableRow, "[data-rowindex=\"").concat(rowIndex, "\"]");
1988
2030
  var row = this.artTable.querySelector(selector);
1989
2031
  var rowOffsetTop = row && row.offsetTop || 0;
1990
2032
  var tableOffsetTop = this.tableElement.offsetTop || 0;
@@ -2043,7 +2085,7 @@ __webpack_require__.r(__webpack_exports__);
2043
2085
 
2044
2086
 
2045
2087
  function isWindow(arg) {
2046
- return arg.toString() === '[object Window]';
2088
+ return arg.toString() === '[object Window]' || arg.toString() === '[object global]';
2047
2089
  }
2048
2090
 
2049
2091
  function isBody(arg) {
@@ -2622,7 +2664,7 @@ function HtmlTable(_ref) {
2622
2664
  positionStyle.left = hozInfo.stickyLeftMap.get(colIndex);
2623
2665
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
2624
2666
  positionStyle.position = 'sticky';
2625
- positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - stickyRightOffset;
2667
+ positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0);
2626
2668
  }
2627
2669
 
2628
2670
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement('td', _objectSpread(_objectSpread(_objectSpread({
@@ -3247,6 +3289,8 @@ var Classes = {
3247
3289
  button: "".concat(prefix, "btn"),
3248
3290
  buttonPrimary: "".concat(prefix, "btn-primary"),
3249
3291
  filterIcon: "".concat(prefix, "filter-icon"),
3292
+ rangeSelection: "".concat(prefix, "range-selection"),
3293
+ tableCellRangeSingleCell: "".concat(prefix, "table-cell-range-single-cell"),
3250
3294
  tableCellRangeSelected: "".concat(prefix, "table-cell-range-selected"),
3251
3295
  tableCellRangeTop: "".concat(prefix, "table-cell-range-top"),
3252
3296
  tableCellRangeLeft: "".concat(prefix, "table-cell-range-left"),
@@ -3295,7 +3339,7 @@ var defaultCSSVariables = {
3295
3339
  '--primary-color': '#5582F3',
3296
3340
  '--primary-color-level1': 'rgb(242, 248, 255)',
3297
3341
  '--primary-color-level2': 'rgb(135, 173, 255)',
3298
- '--icon-color': '#bfbfbf',
3342
+ '--icon-color': '#666666',
3299
3343
  '--strong-border-color': '#d9d9d9',
3300
3344
  '--header-row-height': '32px',
3301
3345
  '--header-color': '#333',
@@ -3314,7 +3358,7 @@ var defaultCSSVariables = {
3314
3358
  '--header-cell-border-horizontal': '1px solid #dfe3e8'
3315
3359
  };
3316
3360
  var variableConst = getCssVariableText(defaultCSSVariables);
3317
- var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n user-select:none;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right:none\n }\n\n th.", " {\n border-right: none;\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n \n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
3361
+ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n .", " {\n user-select:none;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right:none\n }\n\n th.", " {\n border-right: none;\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n }\n .", " {\n display: flex\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.rangeSelection, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.filterIcon, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
3318
3362
  var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\n //#region \u6309\u94AE\n .", "{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .", " {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n//#endregion\n"])), variableConst, Classes.button, Classes.buttonPrimary);
3319
3363
 
3320
3364
  function getCssVariableText(obj) {
@@ -3529,23 +3573,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3529
3573
 
3530
3574
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "offsetY", 0);
3531
3575
 
3532
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "getRowNodeListByEvent", function (e) {
3533
- var nodeList = null;
3534
- var rowIndex = e.currentTarget.dataset.rowindex;
3535
-
3536
- if (rowIndex !== undefined) {
3537
- var _this$domHelper = _this.domHelper,
3538
- tableBody = _this$domHelper.tableBody,
3539
- tableFooter = _this$domHelper.tableFooter;
3540
- var targetParent = tableBody.contains(e.currentTarget) ? tableBody : tableFooter;
3541
- nodeList = targetParent.querySelectorAll("tr[data-rowindex=\"".concat(rowIndex, "\"]"));
3542
- }
3543
-
3544
- return nodeList;
3545
- });
3546
-
3547
3576
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseEnter", function (e) {
3548
- var nodeList = _this.getRowNodeListByEvent(e);
3577
+ var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3549
3578
 
3550
3579
  nodeList && nodeList.forEach(function (node) {
3551
3580
  node.classList.add('row-hover');
@@ -3553,7 +3582,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3553
3582
  });
3554
3583
 
3555
3584
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseLeave", function (e) {
3556
- var nodeList = _this.getRowNodeListByEvent(e);
3585
+ var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3557
3586
 
3558
3587
  nodeList && nodeList.forEach(function (node) {
3559
3588
  node.classList.remove('row-hover');
@@ -3684,10 +3713,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3684
3713
  }, {
3685
3714
  key: "updateStickyScroll",
3686
3715
  value: function updateStickyScroll() {
3687
- var _this$domHelper2 = this.domHelper,
3688
- stickyScroll = _this$domHelper2.stickyScroll,
3689
- artTable = _this$domHelper2.artTable,
3690
- stickyScrollItem = _this$domHelper2.stickyScrollItem;
3716
+ var _this$domHelper = this.domHelper,
3717
+ stickyScroll = _this$domHelper.stickyScroll,
3718
+ artTable = _this$domHelper.artTable,
3719
+ stickyScrollItem = _this$domHelper.stickyScrollItem;
3691
3720
  var _lastHasScrollY = this.hasScrollY;
3692
3721
 
3693
3722
  if (!artTable) {
@@ -3957,13 +3986,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3957
3986
  style: style
3958
3987
  }, _utils__WEBPACK_IMPORTED_MODULE_39__["STYLED_REF_PROP"], this.artTableWrapperRef);
3959
3988
 
3989
+ var tableProps = getTableProps() || {};
3960
3990
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement(_styles__WEBPACK_IMPORTED_MODULE_38__["StyledArtTableWrapper"], artTableWrapperProps, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement(_loading__WEBPACK_IMPORTED_MODULE_37__["default"], {
3961
3991
  visible: isLoading,
3962
3992
  LoadingIcon: components.LoadingIcon,
3963
3993
  LoadingContentWrapper: components.LoadingContentWrapper
3964
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18___default()({
3965
- className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTable
3966
- }, getTableProps()), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
3994
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18___default()({}, tableProps, {
3995
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTable, tableProps.className)
3996
+ }), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
3967
3997
  }
3968
3998
  }, {
3969
3999
  key: "componentDidMount",
@@ -4028,9 +4058,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4028
4058
  value: function initSubscriptions() {
4029
4059
  var _this2 = this;
4030
4060
 
4031
- var _this$domHelper3 = this.domHelper,
4032
- virtual = _this$domHelper3.virtual,
4033
- stickyScroll = _this$domHelper3.stickyScroll;
4061
+ var _this$domHelper2 = this.domHelper,
4062
+ virtual = _this$domHelper2.virtual,
4063
+ stickyScroll = _this$domHelper2.stickyScroll;
4034
4064
  this.rootSubscription.add(_utils__WEBPACK_IMPORTED_MODULE_39__["throttledWindowResize$"].subscribe(function () {
4035
4065
  _this2.updateStickyScroll();
4036
4066
 
@@ -4091,7 +4121,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4091
4121
  offsetY: offsetY
4092
4122
  };
4093
4123
  }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["distinctUntilChanged"](function (x, y) {
4094
- // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
4124
+ // 如果表格区域被隐藏, 不需要触发组件重渲染
4125
+ if (y.maxRenderHeight === 0 && y.maxRenderWidth === 0) {
4126
+ return true;
4127
+ } // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
4128
+
4129
+
4095
4130
  return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < _utils__WEBPACK_IMPORTED_MODULE_39__["OVERSCAN_SIZE"] / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < _utils__WEBPACK_IMPORTED_MODULE_39__["OVERSCAN_SIZE"] / 2 && Math.abs(x.offsetY - y.offsetY) < _utils__WEBPACK_IMPORTED_MODULE_39__["OVERSCAN_SIZE"] / 2;
4096
4131
  })).subscribe(function (sizeAndOffset) {
4097
4132
  _this2.setState(sizeAndOffset);
@@ -4184,10 +4219,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4184
4219
 
4185
4220
  if (size === 0) {
4186
4221
  zeroHeightRowCount += 1;
4222
+ } else {
4223
+ // 渲染出来的行高度为0,说明是display=none情况,行高不存在该种异常情况,不保存当前的高度
4224
+ this.rowHeightManager.updateRow(_rowIndex, offset, size);
4187
4225
  }
4188
4226
 
4189
4227
  maxTrBottom = Math.max(maxTrBottom, offset + size);
4190
- this.rowHeightManager.updateRow(_rowIndex, offset, size);
4191
4228
  } // 当 estimatedRowHeight 过大时,可能出现「渲染行数过少,无法覆盖可视范围」的情况
4192
4229
  // 出现这种情况时,我们判断「下一次渲染能够渲染更多行」是否满足,满足的话就直接调用 forceUpdate
4193
4230
  // zeroHeightRowCount === 0 用于确保当前没有 display=none 的情况
@@ -5154,6 +5191,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5154
5191
  var stateKey = 'columnDrag';
5155
5192
  var SCROLL_SIZE = 30;
5156
5193
 
5194
+ function disableSelect(event) {
5195
+ event.preventDefault();
5196
+ }
5197
+
5157
5198
  function sortColumns(columns, sort) {
5158
5199
  var res = new Array(columns.length);
5159
5200
 
@@ -5208,9 +5249,11 @@ function columnDrag() {
5208
5249
  },
5209
5250
  headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(col.headerCellProps, {
5210
5251
  onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
5211
- if (e.button !== 0) {
5252
+ if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
5212
5253
  return;
5213
- } // const cx = e.clientX
5254
+ }
5255
+
5256
+ window.addEventListener('selectstart', disableSelect); // const cx = e.clientX
5214
5257
  // const width = col.width
5215
5258
  // const a = startIndex
5216
5259
  // const b = endIndex
@@ -5219,7 +5262,6 @@ function columnDrag() {
5219
5262
  // let newStartIndex = startIndex
5220
5263
  // let endIdx = endIndex
5221
5264
 
5222
-
5223
5265
  var columnMoved = false;
5224
5266
  var columns = pipeline.getColumns();
5225
5267
 
@@ -5233,6 +5275,8 @@ function columnDrag() {
5233
5275
  var currentTarget = e.currentTarget;
5234
5276
  var rect = e.currentTarget.parentElement.getClientRects()[0];
5235
5277
  var startX = rect.left;
5278
+ var mouseDownClientX = e.clientX;
5279
+ var mouseDownClientY = e.clientY;
5236
5280
  var moveData = [];
5237
5281
  var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_10__["collectNodes"])(columns);
5238
5282
  var tableBodyClientRect = tableBody.getBoundingClientRect();
@@ -5252,8 +5296,6 @@ function columnDrag() {
5252
5296
  }
5253
5297
  };
5254
5298
 
5255
- var stopClickPropagationFlag = false;
5256
-
5257
5299
  function handleMouseMove(e) {
5258
5300
  var client = {
5259
5301
  clientX: e.clientX,
@@ -5267,12 +5309,6 @@ function columnDrag() {
5267
5309
  if (e.clientX - leftPosition < 20) {
5268
5310
  return;
5269
5311
  } else {
5270
- // 阻止列头点击事件,防止拖动后触发列头过滤事件
5271
- if (stopClickPropagationFlag === false) {
5272
- stopClickPropagationFlag = true;
5273
- currentTarget.addEventListener('click', stopClickPropagation);
5274
- }
5275
-
5276
5312
  e.stopPropagation();
5277
5313
  }
5278
5314
 
@@ -5392,10 +5428,15 @@ function columnDrag() {
5392
5428
  e.stopPropagation();
5393
5429
  document.body.removeEventListener('mousemove', handleMouseMove);
5394
5430
  document.body.removeEventListener('mouseup', handleMouseUp);
5431
+ window.removeEventListener('selectstart', disableSelect); // 阻止列头点击事件,防止拖动后触发列头过滤事件
5432
+
5433
+ if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
5434
+ currentTarget.addEventListener('click', stopClickPropagation);
5435
+ }
5436
+
5395
5437
  window.requestAnimationFrame(function () {
5396
5438
  // 取消阻止列头点击事件
5397
5439
  currentTarget.removeEventListener('click', stopClickPropagation);
5398
- stopClickPropagationFlag = false;
5399
5440
  currentTarget = null;
5400
5441
 
5401
5442
  var _moveData = moveData,
@@ -5474,10 +5515,6 @@ function columnDrag() {
5474
5515
 
5475
5516
  document.body.addEventListener('mousemove', handleMouseMove);
5476
5517
  document.body.addEventListener('mouseup', handleMouseUp);
5477
-
5478
- document.body.onselectstart = function () {
5479
- return false;
5480
- };
5481
5518
  },
5482
5519
  style: style
5483
5520
  })
@@ -5517,6 +5554,17 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
5517
5554
  });
5518
5555
  }
5519
5556
 
5557
+ function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
5558
+ var xDiff = mouseUpClientX - mouseDownClientX;
5559
+ var yDiff = mouseUpClientY - mouseDownClientY; // 鼠标点按和松开的偏移量大于5px,认为存在移动
5560
+
5561
+ if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
5562
+ return true;
5563
+ }
5564
+
5565
+ return false;
5566
+ }
5567
+
5520
5568
  /***/ }),
5521
5569
 
5522
5570
  /***/ "./components/table/pipeline/features/columnFilter.tsx":
@@ -5632,7 +5680,7 @@ function filter() {
5632
5680
  var filterActive = filterable && (inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : (_inputFiltersMap$get = inputFiltersMap.get(col.code)) === null || _inputFiltersMap$get === void 0 ? void 0 : (_inputFiltersMap$get$ = _inputFiltersMap$get.filter) === null || _inputFiltersMap$get$ === void 0 ? void 0 : _inputFiltersMap$get$.length) > 0;
5633
5681
 
5634
5682
  if (filterable) {
5635
- var _col$features2, _result$title, _cx;
5683
+ var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
5636
5684
 
5637
5685
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5638
5686
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -5665,12 +5713,13 @@ function filter() {
5665
5713
  };
5666
5714
 
5667
5715
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
5716
+ var colFilterIcon = (_col$features$filterI = (_col$features3 = col.features) === null || _col$features3 === void 0 ? void 0 : _col$features3.filterIcon) !== null && _col$features$filterI !== void 0 ? _col$features$filterI : filterIcon;
5668
5717
  result.title = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_4___default()([].concat((_result$title = result.title) !== null && _result$title !== void 0 ? _result$title : [_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeRenderHeader(_objectSpread(_objectSpread({}, col), {}, {
5669
5718
  title: null
5670
5719
  }))])), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
5671
5720
  key: "filter",
5672
5721
  FilterPanelContent: filterPanel,
5673
- filterIcon: filterIcon,
5722
+ filterIcon: colFilterIcon,
5674
5723
  filterModel: inputFiltersMap.get(col.code),
5675
5724
  setFilterModel: handleFilterChanged,
5676
5725
  setFilter: setFilter,
@@ -5704,9 +5753,9 @@ function filter() {
5704
5753
 
5705
5754
  var columns = pipeline.getColumns();
5706
5755
  var columnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_20__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
5707
- var _col$features3, _col$features4;
5756
+ var _col$features4, _col$features5;
5708
5757
 
5709
- return ((_col$features3 = col.features) === null || _col$features3 === void 0 ? void 0 : _col$features3.filterable) !== false && ((_col$features4 = col.features) === null || _col$features4 === void 0 ? void 0 : _col$features4.filterable) != null;
5758
+ return ((_col$features4 = col.features) === null || _col$features4 === void 0 ? void 0 : _col$features4.filterable) !== false && ((_col$features5 = col.features) === null || _col$features5 === void 0 ? void 0 : _col$features5.filterable) != null;
5710
5759
  }).map(function (col) {
5711
5760
  return [col.code, col];
5712
5761
  }));
@@ -5715,7 +5764,7 @@ function filter() {
5715
5764
  }));
5716
5765
 
5717
5766
  function isMatchedFilterCondition(record) {
5718
- return !filtersKeys.some(function (key) {
5767
+ return filtersKeys.every(function (key) {
5719
5768
  var _columnsMap$get, _columnsMap$get$featu;
5720
5769
 
5721
5770
  var filterItem = inputFiltersMap.get(key);
@@ -5731,17 +5780,11 @@ function filter() {
5731
5780
  comparisonFn = defaultFilterOptionsMap.get('contain').filter;
5732
5781
  }
5733
5782
 
5734
- return !comparisonFn(filterItem.filter)(record[key]); //不符合过滤条件,退出循环
5783
+ return comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, -1), record);
5735
5784
  });
5736
5785
  }
5737
5786
 
5738
- return dataSource.reduce(function (pre, record) {
5739
- if (isMatchedFilterCondition(record)) {
5740
- return pre.concat([record]);
5741
- }
5742
-
5743
- return pre;
5744
- }, []);
5787
+ return layeredFilter(dataSource, isMatchedFilterCondition);
5745
5788
  }
5746
5789
 
5747
5790
  pipeline.dataSource(processDataSource(dataSource));
@@ -5750,6 +5793,30 @@ function filter() {
5750
5793
  };
5751
5794
  }
5752
5795
 
5796
+ function layeredFilter(array, matchFn) {
5797
+ return dfs(array);
5798
+
5799
+ function dfs(rows) {
5800
+ var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5801
+ return rows.map(function (row) {
5802
+ var currentMatched = matchFn(row);
5803
+
5804
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(row)) {
5805
+ return (parentMatched || currentMatched) && _objectSpread({}, row);
5806
+ }
5807
+
5808
+ var children = row.children;
5809
+
5810
+ var rowAfterFilterChildren = _objectSpread(_objectSpread({}, row), {}, {
5811
+ children: dfs(children, parentMatched || currentMatched)
5812
+ });
5813
+
5814
+ var matchedByChildren = !Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(rowAfterFilterChildren);
5815
+ return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
5816
+ }).filter(Boolean);
5817
+ }
5818
+ }
5819
+
5753
5820
  /***/ }),
5754
5821
 
5755
5822
  /***/ "./components/table/pipeline/features/columnHover.tsx":
@@ -6289,6 +6356,7 @@ function contextMenu() {
6289
6356
  }
6290
6357
 
6291
6358
  e.preventDefault();
6359
+ e.stopPropagation();
6292
6360
  showContextMenu(e);
6293
6361
  };
6294
6362
 
@@ -6777,6 +6845,41 @@ function DefaultFilterContent(_ref) {
6777
6845
 
6778
6846
  /***/ }),
6779
6847
 
6848
+ /***/ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx":
6849
+ /*!*************************************************************************!*\
6850
+ !*** ./components/table/pipeline/features/filter/DefaultFilterIcon.tsx ***!
6851
+ \*************************************************************************/
6852
+ /*! exports provided: default */
6853
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6854
+
6855
+ "use strict";
6856
+ __webpack_require__.r(__webpack_exports__);
6857
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DefaultFilterIcon; });
6858
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6859
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6860
+
6861
+ function DefaultFilterIcon(_ref) {
6862
+ var width = _ref.width,
6863
+ height = _ref.height;
6864
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", {
6865
+ width: width,
6866
+ height: height,
6867
+ style: {
6868
+ verticalAlign: 'middle'
6869
+ },
6870
+ viewBox: "0 0 1024 1024",
6871
+ focusable: "false",
6872
+ "data-icon": "filter",
6873
+ fill: "currentColor",
6874
+ version: "1.1",
6875
+ xmlns: "http://www.w3.org/2000/svg"
6876
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", {
6877
+ d: "M891.448889 159.573333L626.460444 460.231111v443.221333c0 32.881778-25.429333 63.658667-55.864888 63.658667l-170.268445-172.942222V456.419556L132.266667 159.857778A59.619556 59.619556 0 0 1 173.511111 56.888889h676.977778c32.995556 0 59.733333 26.680889 59.733333 59.562667 0 17.066667-7.224889 32.312889-18.773333 43.121777z"
6878
+ }));
6879
+ }
6880
+
6881
+ /***/ }),
6882
+
6780
6883
  /***/ "./components/table/pipeline/features/filter/Filter.tsx":
6781
6884
  /*!**************************************************************!*\
6782
6885
  !*** ./components/table/pipeline/features/filter/Filter.tsx ***!
@@ -6800,10 +6903,11 @@ __webpack_require__.r(__webpack_exports__);
6800
6903
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
6801
6904
  /* harmony import */ var _FilterPanel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FilterPanel */ "./components/table/pipeline/features/filter/FilterPanel.tsx");
6802
6905
  /* harmony import */ var _DefaultFilterContent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DefaultFilterContent */ "./components/table/pipeline/features/filter/DefaultFilterContent.tsx");
6803
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
6804
- /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
6805
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
6806
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
6906
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
6907
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
6908
+ /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
6909
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
6910
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_12__);
6807
6911
 
6808
6912
 
6809
6913
 
@@ -6819,7 +6923,8 @@ var _templateObject;
6819
6923
 
6820
6924
 
6821
6925
 
6822
- var HEADER_ICON_OFFSET_Y = 6 + 1; // padding-top + border
6926
+
6927
+ var HEADER_ICON_OFFSET_Y = 8 + 1; // padding-top + border
6823
6928
 
6824
6929
  var HEADER_ICON_OFFSET_X = 16 + 1; // padding-left+ border
6825
6930
 
@@ -6832,7 +6937,7 @@ function Panel(_ref) {
6832
6937
  renderPanelContent = _ref.renderPanelContent;
6833
6938
  var filterPanelRef = react__WEBPACK_IMPORTED_MODULE_3___default.a.useRef(null);
6834
6939
 
6835
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6940
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_10__["calculatePopupRelative"])(ele, document.body, {
6836
6941
  x: HEADER_ICON_OFFSET_X,
6837
6942
  y: HEADER_ICON_OFFSET_Y
6838
6943
  })),
@@ -6846,14 +6951,14 @@ function Panel(_ref) {
6846
6951
  };
6847
6952
 
6848
6953
  var handleFilterPanelResize = function handleFilterPanelResize(resize) {
6849
- setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6954
+ setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_10__["calculatePopupRelative"])(ele, document.body, {
6850
6955
  x: HEADER_ICON_OFFSET_X,
6851
6956
  y: HEADER_ICON_OFFSET_Y
6852
6957
  }));
6853
6958
  };
6854
6959
 
6855
6960
  Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(function () {
6856
- var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_10__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
6961
+ var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_11__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
6857
6962
  return function () {
6858
6963
  resizeObserver && resizeObserver.disconnect();
6859
6964
  };
@@ -6894,10 +6999,6 @@ function Filter(_ref2) {
6894
6999
  return setShowPanel(false);
6895
7000
  };
6896
7001
 
6897
- var handleMouseDown = function handleMouseDown(e) {
6898
- e.stopPropagation(); // 阻止触发拖拽
6899
- };
6900
-
6901
7002
  var renderPanelContent = function renderPanelContent() {
6902
7003
  if (FilterPanelContent) {
6903
7004
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterPanelContent, {
@@ -6917,6 +7018,12 @@ function Filter(_ref2) {
6917
7018
  };
6918
7019
 
6919
7020
  var handleIconClick = function handleIconClick(e) {
7021
+ // 只有当icon区域点击会触发面板展开
7022
+ // 防止 createPortal 区域的点击触发该事件
7023
+ if (!e.currentTarget.contains(e.target)) {
7024
+ return;
7025
+ }
7026
+
6920
7027
  if (stopClickEventPropagation) {
6921
7028
  e.stopPropagation();
6922
7029
  }
@@ -6924,28 +7031,21 @@ function Filter(_ref2) {
6924
7031
  setShowPanel(true);
6925
7032
  };
6926
7033
 
6927
- var iconClassName = classnames__WEBPACK_IMPORTED_MODULE_11___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, className, true), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, 'filter-panel-open', showPanel), _cx));
7034
+ var iconClassName = classnames__WEBPACK_IMPORTED_MODULE_12___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, className, true), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, 'filter-panel-open', showPanel), _cx));
7035
+ var displayFilterIcon = typeof filterIcon === 'function' ? filterIcon(isFilterActive) : filterIcon;
6928
7036
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterIconSpanStyle, {
6929
7037
  style: style,
6930
7038
  className: iconClassName,
6931
- onMouseDown: handleMouseDown,
6932
- ref: iconRef
6933
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", {
6934
- className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].filterIcon,
6935
7039
  onClick: handleIconClick
6936
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
7040
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", {
7041
+ ref: iconRef,
7042
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].filterIcon
7043
+ }, displayFilterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_9__["default"], {
6937
7044
  width: size,
6938
- height: size,
6939
- viewBox: "64 64 896 896",
6940
- focusable: "false",
6941
- "data-icon": "filter",
6942
- fill: "currentColor",
6943
- "aria-hidden": "true"
6944
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
6945
- d: "M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"
6946
- }))), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
7045
+ height: size
7046
+ })), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
6947
7047
  ele: iconRef.current,
6948
- filterIcon: filterIcon,
7048
+ filterIcon: displayFilterIcon,
6949
7049
  hidePanel: hidePanel,
6950
7050
  renderPanelContent: renderPanelContent
6951
7051
  }), document.body));
@@ -6988,6 +7088,7 @@ __webpack_require__.r(__webpack_exports__);
6988
7088
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
6989
7089
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
6990
7090
  /* harmony import */ var _utils___WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../utils/ */ "./components/table/utils/index.tsx");
7091
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
6991
7092
 
6992
7093
 
6993
7094
 
@@ -7008,16 +7109,17 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7008
7109
 
7009
7110
 
7010
7111
 
7011
- var FilterPanelStyle = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n display: flex;\n flex-direction: column;\n max-height: 450px;\n min-width: 160px;\n border-radius: 2px;\n background-color: #fff;\n box-shadow: 0 0 5px 0 rgba(154,154,154,.5);\n cursor: default;\n\n .popup-header {\n display: flex;\n background-color: #ebedf1;\n\n .popup-header-icon {\n color:#666;\n background-color: #fff;\n padding: 6px 16px 6px 16px;\n display: inline-block;\n border-right: 1px solid transparent;\n border-left: 1px solid transparent;\n border-top: 1px solid transparent;\n border-top-right-radius: 2px;\n border-top-left-radius: 2px;\n }\n }\n\n .popup-body {\n display: flex;\n }\n"])));
7112
+
7113
+ var FilterPanelStyle = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n display: flex;\n flex-direction: column;\n max-height: 450px;\n min-width: 160px;\n border-radius: 2px;\n background-color: #fff;\n box-shadow: 0 0 5px 0 rgba(154,154,154,.5);\n cursor: default;\n\n .popup-header {\n display: flex;\n background-color: #ebedf1;\n\n .popup-header-icon {\n display: flex;\n color:#666;\n background-color: #fff;\n padding: 8px 16px 8px 16px;\n border-right: 1px solid transparent;\n border-left: 1px solid transparent;\n border-top: 1px solid transparent;\n border-top-right-radius: 2px;\n border-top-left-radius: 2px;\n }\n }\n\n .popup-body {\n display: flex;\n }\n"])));
7012
7114
 
7013
7115
  var useWindowEvents = function useWindowEvents(func, evens) {
7014
7116
  react__WEBPACK_IMPORTED_MODULE_10___default.a.useEffect(function () {
7015
7117
  evens.forEach(function (event) {
7016
- return window.addEventListener(event, func, true);
7118
+ return window.addEventListener(event, func);
7017
7119
  });
7018
7120
  return function () {
7019
7121
  return evens.forEach(function (event) {
7020
- return window.removeEventListener(event, func, true);
7122
+ return window.removeEventListener(event, func);
7021
7123
  });
7022
7124
  };
7023
7125
  }, [evens, func]);
@@ -7050,8 +7152,22 @@ function FilterPanel(_ref) {
7050
7152
  setPerfectPosition(Object(_utils___WEBPACK_IMPORTED_MODULE_12__["keepWithinBounds"])(document.body, ref.current, position.x, position.y, true));
7051
7153
  setVisible(true);
7052
7154
  }, [position]);
7155
+ var hasPopupMouseDown = Object(react__WEBPACK_IMPORTED_MODULE_10__["useRef"])(false);
7156
+ var mouseDownTimeout = Object(react__WEBPACK_IMPORTED_MODULE_10__["useRef"])();
7157
+
7158
+ var handleMouseDown = function handleMouseDown(e) {
7159
+ // 当弹出的过滤面板内部发生鼠标按下事件时,标记当前事件,并在下个周期清除标记,用来确定鼠标按下发生在过滤面板内部
7160
+ // 利用了React.createPortal冒泡是根据React Tree的特性:
7161
+ // https://jwwnz.medium.com/react-portals-and-event-bubbling-8df3e35ca3f1
7162
+ hasPopupMouseDown.current = true;
7163
+ clearTimeout(mouseDownTimeout.current);
7164
+ mouseDownTimeout.current = window.setTimeout(function () {
7165
+ hasPopupMouseDown.current = false;
7166
+ }, 0);
7167
+ };
7168
+
7053
7169
  useWindowEvents(function (e) {
7054
- return !isContainPanel(e) && onClose();
7170
+ !isContainPanel(e) && !hasPopupMouseDown.current && onClose();
7055
7171
  }, ['mousedown']);
7056
7172
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(FilterPanelStyle, {
7057
7173
  style: _objectSpread(_objectSpread({}, style), {}, {
@@ -7059,22 +7175,16 @@ function FilterPanel(_ref) {
7059
7175
  top: visible ? perfectPosition.y : 0,
7060
7176
  opacity: visible ? 1 : 0
7061
7177
  }),
7178
+ onMouseDown: handleMouseDown,
7062
7179
  ref: ref
7063
7180
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7064
7181
  className: 'popup-header'
7065
7182
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("span", {
7066
7183
  className: 'popup-header-icon'
7067
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("svg", {
7068
- width: 14,
7069
- height: 14,
7070
- viewBox: "64 64 896 896",
7071
- focusable: "false",
7072
- "data-icon": "filter",
7073
- fill: "currentColor",
7074
- "aria-hidden": "true"
7075
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("path", {
7076
- d: "M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"
7077
- })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7184
+ }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__["default"], {
7185
+ width: 12,
7186
+ height: 12
7187
+ }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7078
7188
  className: "popup-body"
7079
7189
  }, children));
7080
7190
  }
@@ -7140,7 +7250,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7140
7250
  data = data + '';
7141
7251
  }
7142
7252
 
7143
- return data.includes(value);
7253
+ return data.includes(value[0]);
7144
7254
  };
7145
7255
  }
7146
7256
  }, {
@@ -7156,7 +7266,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7156
7266
  data = data + '';
7157
7267
  }
7158
7268
 
7159
- return !data.includes(value);
7269
+ return !data.includes(value[0]);
7160
7270
  };
7161
7271
  }
7162
7272
  }, {
@@ -7164,7 +7274,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7164
7274
  key: 'equal',
7165
7275
  filter: function filter(value) {
7166
7276
  return function (data) {
7167
- return value !== data;
7277
+ return value[0] === data;
7168
7278
  };
7169
7279
  }
7170
7280
  }, {
@@ -7172,7 +7282,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7172
7282
  key: 'notEqual',
7173
7283
  filter: function filter(value) {
7174
7284
  return function (data) {
7175
- return value !== data;
7285
+ return value[0] !== data;
7176
7286
  };
7177
7287
  }
7178
7288
  }, {
@@ -7194,13 +7304,83 @@ var DEFAULT_FILTER_OPTIONS = [{
7194
7304
  }];
7195
7305
 
7196
7306
 
7307
+ /***/ }),
7308
+
7309
+ /***/ "./components/table/pipeline/features/footerDataSource.ts":
7310
+ /*!****************************************************************!*\
7311
+ !*** ./components/table/pipeline/features/footerDataSource.ts ***!
7312
+ \****************************************************************/
7313
+ /*! exports provided: footerRowMetaSymbol, footerDataSource */
7314
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7315
+
7316
+ "use strict";
7317
+ __webpack_require__.r(__webpack_exports__);
7318
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return footerRowMetaSymbol; });
7319
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return footerDataSource; });
7320
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
7321
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
7322
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
7323
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__);
7324
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
7325
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2__);
7326
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
7327
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
7328
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
7329
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);
7330
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
7331
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__);
7332
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
7333
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__);
7334
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
7335
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7__);
7336
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
7337
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);
7338
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
7339
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__);
7340
+
7341
+
7342
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7343
+
7344
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7345
+
7346
+
7347
+
7348
+
7349
+
7350
+
7351
+
7352
+
7353
+
7354
+
7355
+ var footerRowMetaSymbol = Symbol('footer-row');
7356
+ function footerDataSource() {
7357
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7358
+ return function footerDataSourceStep(pipeline) {
7359
+ var _opts$dataSource, _opts$footerRowMetaKe;
7360
+
7361
+ var footerDataSource = (_opts$dataSource = opts.dataSource) !== null && _opts$dataSource !== void 0 ? _opts$dataSource : pipeline.getFooterDataSource();
7362
+ var footerRowMetaKey = (_opts$footerRowMetaKe = opts.footerRowMetaKey) !== null && _opts$footerRowMetaKe !== void 0 ? _opts$footerRowMetaKe : footerRowMetaSymbol;
7363
+ pipeline.setFeatureOptions('footerRowMetaKey', footerRowMetaKey);
7364
+
7365
+ if (footerDataSource) {
7366
+ pipeline.footerDataSource(footerDataSource.map(function (row) {
7367
+ return _objectSpread(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, footerRowMetaKey, true), row);
7368
+ }));
7369
+ } else {
7370
+ console.warn('调用 pipeline.use(features.footerDataSource()) 前请先设置页脚数据源,设置方法有:pipeline.use(features.footerDataSource({dataSource:any[]})) 或者 pipeline.footerDataSource(any[])');
7371
+ }
7372
+
7373
+ return pipeline;
7374
+ };
7375
+ }
7376
+
7197
7377
  /***/ }),
7198
7378
 
7199
7379
  /***/ "./components/table/pipeline/features/index.ts":
7200
7380
  /*!*****************************************************!*\
7201
7381
  !*** ./components/table/pipeline/features/index.ts ***!
7202
7382
  \*****************************************************/
7203
- /*! exports provided: autoRowSpan, buildTree, columnHover, ColumnHoverFeatureOptions, columnRangeHover, ColumnRangeHoverFeatureOptions, multiSelect, MultiSelectFeatureOptions, rowDetail, RowDetailFeatureOptions, rowGrouping, RowGroupingFeatureOptions, singleSelect, SingleSelectFeatureOptions, sort, SortFeatureOptions, tips, treeMode, TreeModeFeatureOptions, treeMetaSymbol, treeSelect, TreeSelectFeatureOptions, columnDrag, ColumnDragOptions, columnResize, ColumnResizeOptions, contextMenu, ContextMenuFeatureOptions, filter, FilterFeatureOptions, rangeSelection, RangeSelectionFeatureOptions */
7383
+ /*! exports provided: autoRowSpan, buildTree, columnHover, ColumnHoverFeatureOptions, columnRangeHover, ColumnRangeHoverFeatureOptions, multiSelect, MultiSelectFeatureOptions, rowDetail, RowDetailFeatureOptions, rowGrouping, RowGroupingFeatureOptions, singleSelect, SingleSelectFeatureOptions, sort, SortFeatureOptions, tips, treeMode, TreeModeFeatureOptions, treeMetaSymbol, treeSelect, TreeSelectFeatureOptions, columnDrag, ColumnDragOptions, columnResize, ColumnResizeOptions, contextMenu, ContextMenuFeatureOptions, filter, FilterFeatureOptions, rangeSelection, RangeSelectionFeatureOptions, mergeCellHover, footerDataSource, FooterDataSourceFeatureOptions, footerRowMetaSymbol */
7204
7384
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7205
7385
 
7206
7386
  "use strict";
@@ -7286,10 +7466,65 @@ __webpack_require__.r(__webpack_exports__);
7286
7466
 
7287
7467
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RangeSelectionFeatureOptions", function() { return _rangeSelection__WEBPACK_IMPORTED_MODULE_16__["RangeSelectionFeatureOptions"]; });
7288
7468
 
7469
+ /* harmony import */ var _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./mergeCellHover */ "./components/table/pipeline/features/mergeCellHover.tsx");
7470
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__["mergeCellHover"]; });
7471
+
7472
+ /* harmony import */ var _footerDataSource__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./footerDataSource */ "./components/table/pipeline/features/footerDataSource.ts");
7473
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerDataSource"]; });
7474
+
7475
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FooterDataSourceFeatureOptions", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["FooterDataSourceFeatureOptions"]; });
7476
+
7477
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerRowMetaSymbol"]; });
7478
+
7479
+
7480
+
7481
+
7482
+
7483
+
7484
+
7485
+
7486
+
7487
+
7488
+
7489
+
7490
+
7491
+
7492
+
7493
+
7289
7494
 
7290
7495
 
7291
7496
 
7292
7497
 
7498
+
7499
+ /***/ }),
7500
+
7501
+ /***/ "./components/table/pipeline/features/mergeCellHover.tsx":
7502
+ /*!***************************************************************!*\
7503
+ !*** ./components/table/pipeline/features/mergeCellHover.tsx ***!
7504
+ \***************************************************************/
7505
+ /*! exports provided: mergeCellHover */
7506
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7507
+
7508
+ "use strict";
7509
+ __webpack_require__.r(__webpack_exports__);
7510
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return mergeCellHover; });
7511
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
7512
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__);
7513
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
7514
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__);
7515
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
7516
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);
7517
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
7518
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_3__);
7519
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
7520
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4__);
7521
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
7522
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);
7523
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
7524
+ /* 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__);
7525
+ /* 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");
7526
+ /* 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__);
7527
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
7293
7528
 
7294
7529
 
7295
7530
 
@@ -7299,10 +7534,41 @@ __webpack_require__.r(__webpack_exports__);
7299
7534
 
7300
7535
 
7301
7536
 
7537
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7302
7538
 
7539
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7303
7540
 
7304
7541
 
7542
+ function mergeCellHover() {
7543
+ return function (pipeline) {
7544
+ return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_8__["makeRecursiveMapper"])(function (col) {
7545
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_8__["isLeafNode"])(col)) {
7546
+ return col;
7547
+ }
7305
7548
 
7549
+ var prevGetCellProps = col.getCellProps;
7550
+ return _objectSpread(_objectSpread({}, col), {}, {
7551
+ getCellProps: function getCellProps(value, record, rowIndex) {
7552
+ var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
7553
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_8__["mergeCellProps"])(prevCellProps, {
7554
+ onMouseEnter: function onMouseEnter(e) {
7555
+ var InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e);
7556
+ InRangeRow.forEach(function (row) {
7557
+ row.classList.add('row-hover');
7558
+ });
7559
+ },
7560
+ onMouseLeave: function onMouseLeave(e) {
7561
+ var InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e);
7562
+ InRangeRow.forEach(function (row) {
7563
+ row.classList.remove('row-hover');
7564
+ });
7565
+ }
7566
+ });
7567
+ }
7568
+ });
7569
+ }));
7570
+ };
7571
+ }
7306
7572
 
7307
7573
  /***/ }),
7308
7574
 
@@ -7410,7 +7676,8 @@ function multiSelect() {
7410
7676
  /** 所有有效的 keys(disable 状态为 false) */
7411
7677
 
7412
7678
  var allKeys = [];
7413
- dataSource.forEach(function (row, rowIndex) {
7679
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7680
+ flatDataSource.forEach(function (row, rowIndex) {
7414
7681
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7415
7682
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7416
7683
 
@@ -7476,6 +7743,10 @@ function multiSelect() {
7476
7743
  return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7477
7744
  },
7478
7745
  render: function render(_, row, rowIndex) {
7746
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
7747
+ return null;
7748
+ }
7749
+
7479
7750
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7480
7751
  var checked = set.has(key);
7481
7752
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
@@ -7584,13 +7855,13 @@ function multiSelect() {
7584
7855
  /*!***************************************************************!*\
7585
7856
  !*** ./components/table/pipeline/features/rangeSelection.tsx ***!
7586
7857
  \***************************************************************/
7587
- /*! exports provided: rangeSelectionKey, lastClickCell, rangeSelection */
7858
+ /*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection */
7588
7859
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7589
7860
 
7590
7861
  "use strict";
7591
7862
  __webpack_require__.r(__webpack_exports__);
7592
7863
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelectionKey", function() { return rangeSelectionKey; });
7593
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCell", function() { return lastClickCell; });
7864
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCellKey", function() { return lastClickCellKey; });
7594
7865
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelection", function() { return rangeSelection; });
7595
7866
  /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
7596
7867
  /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -7644,40 +7915,42 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7644
7915
 
7645
7916
 
7646
7917
  var rangeSelectionKey = 'rangeSelection';
7647
- var lastClickCell = 'lastClickCell';
7918
+ var lastClickCellKey = 'lastClickCell';
7648
7919
  function rangeSelection(opts) {
7649
7920
  return function step(pipeline) {
7650
7921
  var SCROLL_SIZE = 30;
7651
7922
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
7923
+ var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
7652
7924
 
7653
7925
  if (!tableBody) {
7654
7926
  return pipeline;
7655
7927
  }
7656
7928
 
7657
7929
  var columns = pipeline.getColumns();
7930
+ var dataSource = pipeline.getDataSource();
7658
7931
 
7659
7932
  var rangeSelectedChange = function rangeSelectedChange(rangeSelection) {
7660
7933
  var _opts$rangeSelectedCh;
7661
7934
 
7662
7935
  pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
7663
7936
  opts === null || opts === void 0 ? void 0 : (_opts$rangeSelectedCh = opts.rangeSelectedChange) === null || _opts$rangeSelectedCh === void 0 ? void 0 : _opts$rangeSelectedCh.call(opts, rangeSelection);
7664
- }; // if (!pipeline.getFeatureOptions(rangeSelectionKey)) {
7665
- // pipeline.setFeatureOptions(rangeSelectionKey, {
7666
- // optionKey: rangeSelectionKey,
7667
- // rangeSelectedChange: rangeSelectedChange
7668
- // })
7669
- // }
7670
-
7937
+ };
7671
7938
 
7672
7939
  var setRangeSelection = function setRangeSelection(startDragCell, draggingCell) {
7673
- if (!startDragCell || !draggingCell || isSameCell(startDragCell, draggingCell)) return;
7940
+ if (!startDragCell || !draggingCell) return;
7674
7941
  var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
7675
- var isTopToBottom = startDragCell.rowIndex <= draggingCell.rowIndex;
7942
+
7943
+ var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
7944
+ startRow = _getRangeSelectionRow.startRow,
7945
+ endRow = _getRangeSelectionRow.endRow,
7946
+ footerRowRange = _getRangeSelectionRow.footerRowRange;
7947
+
7676
7948
  var rangeSelection = {
7677
- startRow: isTopToBottom ? startDragCell.rowIndex : startDragCell.rowIndex + startDragCell.rowSpan - 1,
7678
- endRow: isTopToBottom ? draggingCell.rowIndex + draggingCell.rowSpan - 1 : draggingCell.rowIndex,
7949
+ startRow: startRow,
7950
+ endRow: endRow,
7679
7951
  columns: rangeColumns,
7680
- startColumn: startDragCell.column
7952
+ startColumn: startDragCell.column,
7953
+ footerRowRange: footerRowRange
7681
7954
  };
7682
7955
  rangeSelectedChange(rangeSelection);
7683
7956
  };
@@ -7688,23 +7961,23 @@ function rangeSelection(opts) {
7688
7961
 
7689
7962
  if (clickCell) {
7690
7963
  if (event.shiftKey) {
7691
- var _lastClickCell = pipeline.getStateAtKey(lastClickCell);
7964
+ var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
7692
7965
 
7693
7966
  if (_lastClickCell) {
7694
7967
  setRangeSelection(_lastClickCell, clickCell);
7695
7968
  } else {
7696
7969
  // 第一次进来就按住shift键,这时候要记住点击的单元格
7697
- pipeline.setStateAtKey(lastClickCell, clickCell);
7970
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7698
7971
  }
7699
7972
  } else {
7700
- pipeline.setStateAtKey(lastClickCell, clickCell);
7701
- rangeSelectedChange(null);
7973
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7974
+ setRangeSelection(clickCell, clickCell);
7702
7975
  }
7703
7976
  }
7704
7977
  };
7705
7978
 
7706
7979
  var onMouseDown = function onMouseDown(mouseDownEvent) {
7707
- if (mouseDownEvent.button !== 0 || !Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent)) return; // mouseDownEvent.preventDefault()
7980
+ if (mouseDownEvent.button !== 0 || !(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableFooter, mouseDownEvent.nativeEvent))) return; // mouseDownEvent.preventDefault()
7708
7981
  // shift + 点击选中
7709
7982
 
7710
7983
  shiftKeySelect(mouseDownEvent);
@@ -7760,10 +8033,11 @@ function rangeSelection(opts) {
7760
8033
  };
7761
8034
 
7762
8035
  var onKeyDown = function onKeyDown(e) {
7763
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent)) return;
8036
+ if (!(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableFooter, e.nativeEvent))) return;
7764
8037
 
7765
8038
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
7766
8039
  var rowLen = pipeline.getDataSource().length;
8040
+ var footerDataSource = pipeline.getFooterDataSource() || [];
7767
8041
 
7768
8042
  if (columns.length && rowLen) {
7769
8043
  opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
@@ -7771,7 +8045,11 @@ function rangeSelection(opts) {
7771
8045
  startRow: 0,
7772
8046
  endRow: rowLen - 1,
7773
8047
  columns: columns,
7774
- startColumn: columns[0]
8048
+ startColumn: columns[0],
8049
+ footerRowRange: footerDataSource.length > 0 ? {
8050
+ startRow: 0,
8051
+ endRow: footerDataSource.length - 1
8052
+ } : null
7775
8053
  });
7776
8054
  }
7777
8055
  }
@@ -7780,7 +8058,8 @@ function rangeSelection(opts) {
7780
8058
  pipeline.addTableProps({
7781
8059
  onMouseDown: onMouseDown,
7782
8060
  onKeyDown: onKeyDown,
7783
- tabIndex: -1
8061
+ tabIndex: -1,
8062
+ className: classnames__WEBPACK_IMPORTED_MODULE_16___default()([_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].rangeSelection])
7784
8063
  }); // todo: 后面可以把mousedown放到一个流里面
7785
8064
 
7786
8065
  return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["makeRecursiveMapper"])(function (col) {
@@ -7794,15 +8073,29 @@ function rangeSelection(opts) {
7794
8073
  var _cx;
7795
8074
 
7796
8075
  var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
8076
+ var isInFooter = record[pipeline.getFeatureOptions('footerRowMetaKey')];
7797
8077
  var startRow = rangeSelection.startRow,
7798
8078
  endRow = rangeSelection.endRow,
7799
- columns = rangeSelection.columns;
7800
- var startIndex = startRow < endRow ? startRow : endRow;
7801
- var endIndex = startRow < endRow ? endRow : startRow;
8079
+ columns = rangeSelection.columns,
8080
+ footerRowRange = rangeSelection.footerRowRange;
8081
+
8082
+ var _getRowIndex = getRowIndex(startRow, endRow),
8083
+ startRowIndex = _getRowIndex.startRowIndex,
8084
+ endRowIndex = _getRowIndex.endRowIndex;
8085
+
8086
+ var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
8087
+ footerStartRowIndex = _getFooterRowIndex.startRowIndex,
8088
+ footerEndRowIndex = _getFooterRowIndex.endRowIndex;
8089
+
7802
8090
  var startCol = columns[0];
7803
8091
  var endCol = columns[columns.length - 1];
7804
- var match = rowIndex >= startIndex && rowIndex <= endIndex;
7805
- var className = classnames__WEBPACK_IMPORTED_MODULE_16___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeSelected, match), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeTop, rowIndex === startIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeLeft, col.code === startCol.code && match), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeBottom, rowIndex === endIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeRight, col.code === endCol.code && match), _cx));
8092
+ var bodyMatch = !isInFooter && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
8093
+ var footerMatch = isInFooter && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
8094
+ var match = footerMatch || bodyMatch;
8095
+ var matchSingleCell = match && isCellRangeSingleCell(rangeSelection); // 单个范围选中单元格不显示样式
8096
+
8097
+ var showCellRangeStyle = match && !matchSingleCell;
8098
+ var className = classnames__WEBPACK_IMPORTED_MODULE_16___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeSingleCell, matchSingleCell), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeSelected, showCellRangeStyle), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeTop, showCellRangeStyle && (isInFooter ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex)), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeLeft, showCellRangeStyle && col.code === startCol.code), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeBottom, showCellRangeStyle && (isInFooter ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex)), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableCellRangeRight, showCellRangeStyle && col.code === endCol.code), _cx));
7806
8099
  return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["mergeCellProps"])(prevCellProps, {
7807
8100
  className: className
7808
8101
  });
@@ -7828,7 +8121,8 @@ function getTargetCell(target, columns) {
7828
8121
  rowIndex: parseInt(target.getAttribute('data-rowindex')),
7829
8122
  rowSpan: parseInt(target.getAttribute('rowspan') || 1),
7830
8123
  code: columnCode,
7831
- column: column
8124
+ column: column,
8125
+ isInFooter: isEleInFooter(target)
7832
8126
  }
7833
8127
  };
7834
8128
  }();
@@ -7843,7 +8137,19 @@ function getTargetCell(target, columns) {
7843
8137
  }
7844
8138
 
7845
8139
  function isSameCell(cell1, cell2) {
7846
- return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code;
8140
+ return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isInFooter === cell2.isInFooter;
8141
+ }
8142
+
8143
+ function isEleInFooter(target) {
8144
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].artTable)) {
8145
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableFooter)) {
8146
+ return true;
8147
+ }
8148
+
8149
+ target = target.parentElement;
8150
+ }
8151
+
8152
+ return false;
7847
8153
  }
7848
8154
 
7849
8155
  function getRangeColumns(startCell, endCell, columns) {
@@ -7862,6 +8168,99 @@ function getRangeColumns(startCell, endCell, columns) {
7862
8168
  }
7863
8169
  }
7864
8170
 
8171
+ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
8172
+ var footerRowRange = null;
8173
+ var startRow = -1;
8174
+ var endRow = -1;
8175
+
8176
+ var _getCellRangeRow = getCellRangeRow(startCell, endCell),
8177
+ _startRow = _getCellRangeRow.startRow,
8178
+ _endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
8179
+
8180
+
8181
+ if (!startCell.isInFooter && !endCell.isInFooter) {
8182
+ startRow = _startRow;
8183
+ endRow = _endRow;
8184
+ } else if (startCell.isInFooter && endCell.isInFooter) {
8185
+ // 两个单元格都在表底
8186
+ footerRowRange = {
8187
+ startRow: _startRow,
8188
+ endRow: _endRow
8189
+ };
8190
+ } else {
8191
+ // 一个单元格在表体,一个在表底
8192
+ if (startCell.isInFooter) {
8193
+ startRow = dataSource.length - 1;
8194
+ endRow = endCell.rowIndex;
8195
+ footerRowRange = {
8196
+ startRow: startCell.rowIndex,
8197
+ endRow: 0
8198
+ };
8199
+ } else {
8200
+ startRow = startCell.rowIndex;
8201
+ endRow = dataSource.length - 1;
8202
+ footerRowRange = {
8203
+ startRow: 0,
8204
+ endRow: endCell.rowIndex
8205
+ };
8206
+ }
8207
+ }
8208
+
8209
+ return {
8210
+ startRow: startRow,
8211
+ endRow: endRow,
8212
+ footerRowRange: footerRowRange
8213
+ };
8214
+ }
8215
+
8216
+ function getCellRangeRow(startCell, endCell) {
8217
+ if (isSameCell(startCell, endCell)) {
8218
+ return {
8219
+ startRow: startCell.rowIndex,
8220
+ endRow: startCell.rowIndex
8221
+ };
8222
+ }
8223
+
8224
+ var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
8225
+ var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
8226
+ var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
8227
+ return {
8228
+ startRow: startRow,
8229
+ endRow: endRow
8230
+ };
8231
+ }
8232
+
8233
+ function isCellRangeSingleCell(rangeSelection) {
8234
+ var startRow = rangeSelection.startRow,
8235
+ endRow = rangeSelection.endRow,
8236
+ columns = rangeSelection.columns,
8237
+ footerRowRange = rangeSelection.footerRowRange;
8238
+ var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
8239
+ var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
8240
+ return isBodySingleCell || isFooterSingleCell;
8241
+ }
8242
+
8243
+ function getRowIndex(startRow, endRow) {
8244
+ var isReverse = startRow > endRow;
8245
+ var startRowIndex = isReverse ? endRow : startRow;
8246
+ var endRowIndex = isReverse ? startRow : endRow;
8247
+ return {
8248
+ startRowIndex: startRowIndex,
8249
+ endRowIndex: endRowIndex
8250
+ };
8251
+ }
8252
+
8253
+ function getFooterRowIndex(footerRowRange) {
8254
+ if (footerRowRange) {
8255
+ return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
8256
+ }
8257
+
8258
+ return {
8259
+ startRowIndex: -1,
8260
+ endRowIndex: -1
8261
+ };
8262
+ }
8263
+
7865
8264
  /***/ }),
7866
8265
 
7867
8266
  /***/ "./components/table/pipeline/features/rowDetail.tsx":
@@ -8586,6 +8985,10 @@ function singleSelect() {
8586
8985
  return preCellProps;
8587
8986
  },
8588
8987
  render: function render(_, row, rowIndex) {
8988
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
8989
+ return null;
8990
+ }
8991
+
8589
8992
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_10__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8590
8993
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Radio, {
8591
8994
  checked: value === rowKey,
@@ -9174,24 +9577,24 @@ function tips() {
9174
9577
  __webpack_require__.r(__webpack_exports__);
9175
9578
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMetaSymbol", function() { return treeMetaSymbol; });
9176
9579
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMode", function() { return treeMode; });
9177
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
9178
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);
9179
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
9180
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_1__);
9181
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
9182
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);
9183
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
9184
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);
9185
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
9186
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__);
9187
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
9188
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__);
9189
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
9190
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__);
9191
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
9192
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7__);
9193
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/toArray */ "./node_modules/@babel/runtime/helpers/toArray.js");
9194
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__);
9580
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
9581
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__);
9582
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
9583
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);
9584
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
9585
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_2__);
9586
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
9587
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_3__);
9588
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
9589
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4__);
9590
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
9591
+ /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_5__);
9592
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
9593
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__);
9594
+ /* 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");
9595
+ /* 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__);
9596
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
9597
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_8__);
9195
9598
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9196
9599
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);
9197
9600
  /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
@@ -9214,8 +9617,8 @@ __webpack_require__.r(__webpack_exports__);
9214
9617
  /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_18__);
9215
9618
  /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
9216
9619
  /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_19__);
9217
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
9218
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_20__);
9620
+ /* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js");
9621
+ /* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20__);
9219
9622
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9220
9623
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_21__);
9221
9624
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! react */ "react");
@@ -9271,11 +9674,6 @@ function treeMode() {
9271
9674
  var stateKey = 'treeMode';
9272
9675
  var ctx = pipeline.ctx;
9273
9676
  var primaryKey = pipeline.ensurePrimaryKey('treeMode');
9274
-
9275
- if (typeof primaryKey !== 'string') {
9276
- throw new Error('treeMode 仅支持字符串作为 primaryKey');
9277
- }
9278
-
9279
9677
  var openKeys = (_ref = (_ref2 = (_opts$openKeys = opts.openKeys) !== null && _opts$openKeys !== void 0 ? _opts$openKeys : pipeline.getStateAtKey(stateKey)) !== null && _ref2 !== void 0 ? _ref2 : opts.defaultOpenKeys) !== null && _ref !== void 0 ? _ref : [];
9280
9678
  var openKeySet = new Set(openKeys);
9281
9679
 
@@ -9328,7 +9726,7 @@ function treeMode() {
9328
9726
  try {
9329
9727
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
9330
9728
  var _node = _step.value;
9331
- var rowKey = _node[primaryKey];
9729
+ var rowKey = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetRowKey(primaryKey, _node, -1);
9332
9730
  var expanded = openKeySet.has(rowKey);
9333
9731
  var isLeaf = isLeafNode(_node, {
9334
9732
  depth: depth,
@@ -9362,12 +9760,15 @@ function treeMode() {
9362
9760
  return columns;
9363
9761
  }
9364
9762
 
9365
- var _columns = _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default()(columns),
9366
- firstCol = _columns[0],
9367
- others = _columns.slice(1);
9763
+ var expandColIndex = columns.findIndex(function (_ref3) {
9764
+ var code = _ref3.code;
9765
+ return code && opts.expandColCode === code;
9766
+ });
9767
+ expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
9768
+ var expandCol = columns[expandColIndex];
9368
9769
 
9369
9770
  var render = function render(value, record, recordIndex) {
9370
- var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(firstCol, record, recordIndex);
9771
+ var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(expandCol, record, recordIndex);
9371
9772
 
9372
9773
  if (record[treeMetaKey] == null) {
9373
9774
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
@@ -9427,7 +9828,7 @@ function treeMode() {
9427
9828
  };
9428
9829
 
9429
9830
  var getCellProps = function getCellProps(value, record, rowIndex) {
9430
- var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(firstCol, record, rowIndex);
9831
+ var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(expandCol, record, rowIndex);
9431
9832
 
9432
9833
  if (record[treeMetaKey] == null) {
9433
9834
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
@@ -9456,15 +9857,16 @@ function treeMode() {
9456
9857
  });
9457
9858
  };
9458
9859
 
9459
- return [_objectSpread(_objectSpread({}, firstCol), {}, {
9860
+ columns[expandColIndex] = _objectSpread(_objectSpread({}, expandCol), {}, {
9460
9861
  title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement("span", {
9461
9862
  style: {
9462
9863
  marginLeft: iconIndent + iconWidth + iconGap
9463
9864
  }
9464
- }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(firstCol)),
9865
+ }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(expandCol)),
9465
9866
  render: render,
9466
- getCellProps: clickArea === 'cell' ? getCellProps : firstCol.getCellProps
9467
- })].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(others));
9867
+ getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps
9868
+ });
9869
+ return _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(columns);
9468
9870
  }
9469
9871
  };
9470
9872
  }
@@ -9736,6 +10138,7 @@ __webpack_require__.r(__webpack_exports__);
9736
10138
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_15__);
9737
10139
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
9738
10140
  /* harmony import */ var _features_autoFill__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./features/autoFill */ "./components/table/pipeline/features/autoFill.tsx");
10141
+ /* harmony import */ var _features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./features/rangeSelection */ "./components/table/pipeline/features/rangeSelection.tsx");
9739
10142
 
9740
10143
 
9741
10144
 
@@ -9760,6 +10163,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9760
10163
 
9761
10164
 
9762
10165
 
10166
+
9763
10167
  /**
9764
10168
  * 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……
9765
10169
  *
@@ -10040,19 +10444,19 @@ var TablePipeline = /*#__PURE__*/function () {
10040
10444
 
10041
10445
  result.setTableDomHelper = function (domHelper) {
10042
10446
  _this2.ref.current.domHelper = domHelper;
10043
- }; // if (this.getFeatureOptions(rangeSelectionKey)) {
10044
- // result.clearRangeSelectionStatus = () => {
10045
- // const { rangeSelectedChange } = this.getFeatureOptions(rangeSelectionKey)
10046
- // const rangeSelection = this.getStateAtKey(rangeSelectionKey)
10047
- // if (rangeSelection) {
10048
- // rangeSelectedChange?.(null)
10049
- // }
10050
- // }
10051
- // }
10052
-
10447
+ };
10053
10448
 
10054
10449
  return result;
10055
10450
  }
10451
+ /**
10452
+ * 清除范围选中内容
10453
+ */
10454
+
10455
+ }, {
10456
+ key: "clearRangeSelection",
10457
+ value: function clearRangeSelection() {
10458
+ this.setStateAtKey(_features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__["rangeSelectionKey"], null);
10459
+ }
10056
10460
  }]);
10057
10461
 
10058
10462
  return TablePipeline;