@kdcloudjs/table 1.1.3-canary.6 → 1.1.3-canary.8

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 (45) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +340 -103
  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/html-table.js +1 -1
  8. package/es/table/base/styles.d.ts +2 -0
  9. package/es/table/base/styles.js +3 -1
  10. package/es/table/base/table.js +4 -3
  11. package/es/table/pipeline/features/columnFilter.d.ts +1 -1
  12. package/es/table/pipeline/features/columnFilter.js +35 -15
  13. package/es/table/pipeline/features/filter/util.js +4 -4
  14. package/es/table/pipeline/features/footerDataSource.d.ts +9 -0
  15. package/es/table/pipeline/features/footerDataSource.js +25 -0
  16. package/es/table/pipeline/features/index.d.ts +1 -0
  17. package/es/table/pipeline/features/index.js +2 -1
  18. package/es/table/pipeline/features/multiSelect.js +7 -2
  19. package/es/table/pipeline/features/rangeSelection.d.ts +1 -1
  20. package/es/table/pipeline/features/rangeSelection.js +156 -28
  21. package/es/table/pipeline/features/singleSelect.js +4 -0
  22. package/es/table/pipeline/features/treeMode.d.ts +2 -0
  23. package/es/table/pipeline/features/treeMode.js +18 -20
  24. package/es/table/pipeline/pipeline.d.ts +5 -1
  25. package/es/table/pipeline/pipeline.js +11 -10
  26. package/lib/table/base/html-table.js +1 -1
  27. package/lib/table/base/styles.d.ts +2 -0
  28. package/lib/table/base/styles.js +3 -1
  29. package/lib/table/base/table.js +4 -3
  30. package/lib/table/pipeline/features/columnFilter.d.ts +1 -1
  31. package/lib/table/pipeline/features/columnFilter.js +33 -15
  32. package/lib/table/pipeline/features/filter/util.js +4 -4
  33. package/lib/table/pipeline/features/footerDataSource.d.ts +9 -0
  34. package/lib/table/pipeline/features/footerDataSource.js +41 -0
  35. package/lib/table/pipeline/features/index.d.ts +1 -0
  36. package/lib/table/pipeline/features/index.js +15 -1
  37. package/lib/table/pipeline/features/multiSelect.js +6 -1
  38. package/lib/table/pipeline/features/rangeSelection.d.ts +1 -1
  39. package/lib/table/pipeline/features/rangeSelection.js +158 -30
  40. package/lib/table/pipeline/features/singleSelect.js +4 -0
  41. package/lib/table/pipeline/features/treeMode.d.ts +2 -0
  42. package/lib/table/pipeline/features/treeMode.js +19 -22
  43. package/lib/table/pipeline/pipeline.d.ts +5 -1
  44. package/lib/table/pipeline/pipeline.js +12 -10
  45. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.3-canary.5
3
+ * @kdcloudjs/table v1.1.3-canary.7
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -2664,7 +2664,7 @@ function HtmlTable(_ref) {
2664
2664
  positionStyle.left = hozInfo.stickyLeftMap.get(colIndex);
2665
2665
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
2666
2666
  positionStyle.position = 'sticky';
2667
- positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - stickyRightOffset;
2667
+ positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0);
2668
2668
  }
2669
2669
 
2670
2670
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement('td', _objectSpread(_objectSpread(_objectSpread({
@@ -3289,6 +3289,8 @@ var Classes = {
3289
3289
  button: "".concat(prefix, "btn"),
3290
3290
  buttonPrimary: "".concat(prefix, "btn-primary"),
3291
3291
  filterIcon: "".concat(prefix, "filter-icon"),
3292
+ rangeSelection: "".concat(prefix, "range-selection"),
3293
+ tableCellRangeSingleCell: "".concat(prefix, "table-cell-range-single-cell"),
3292
3294
  tableCellRangeSelected: "".concat(prefix, "table-cell-range-selected"),
3293
3295
  tableCellRangeTop: "".concat(prefix, "table-cell-range-top"),
3294
3296
  tableCellRangeLeft: "".concat(prefix, "table-cell-range-left"),
@@ -3356,7 +3358,7 @@ var defaultCSSVariables = {
3356
3358
  '--header-cell-border-horizontal': '1px solid #dfe3e8'
3357
3359
  };
3358
3360
  var variableConst = getCssVariableText(defaultCSSVariables);
3359
- 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 // \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: 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 }\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.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
3360
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);
3361
3363
 
3362
3364
  function getCssVariableText(obj) {
@@ -3984,13 +3986,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3984
3986
  style: style
3985
3987
  }, _utils__WEBPACK_IMPORTED_MODULE_39__["STYLED_REF_PROP"], this.artTableWrapperRef);
3986
3988
 
3989
+ var tableProps = getTableProps() || {};
3987
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"], {
3988
3991
  visible: isLoading,
3989
3992
  LoadingIcon: components.LoadingIcon,
3990
3993
  LoadingContentWrapper: components.LoadingContentWrapper
3991
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18___default()({
3992
- className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTable
3993
- }, 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)));
3994
3997
  }
3995
3998
  }, {
3996
3999
  key: "componentDidMount",
@@ -5668,7 +5671,7 @@ function filter() {
5668
5671
  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;
5669
5672
 
5670
5673
  if (filterable) {
5671
- var _col$features2, _result$title, _cx;
5674
+ var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
5672
5675
 
5673
5676
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5674
5677
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -5701,12 +5704,13 @@ function filter() {
5701
5704
  };
5702
5705
 
5703
5706
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
5707
+ 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;
5704
5708
  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), {}, {
5705
5709
  title: null
5706
5710
  }))])), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
5707
5711
  key: "filter",
5708
5712
  FilterPanelContent: filterPanel,
5709
- filterIcon: filterIcon,
5713
+ filterIcon: colFilterIcon,
5710
5714
  filterModel: inputFiltersMap.get(col.code),
5711
5715
  setFilterModel: handleFilterChanged,
5712
5716
  setFilter: setFilter,
@@ -5740,9 +5744,9 @@ function filter() {
5740
5744
 
5741
5745
  var columns = pipeline.getColumns();
5742
5746
  var columnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_20__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
5743
- var _col$features3, _col$features4;
5747
+ var _col$features4, _col$features5;
5744
5748
 
5745
- 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;
5749
+ 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;
5746
5750
  }).map(function (col) {
5747
5751
  return [col.code, col];
5748
5752
  }));
@@ -5750,8 +5754,8 @@ function filter() {
5750
5754
  return [item.key, _objectSpread({}, item)];
5751
5755
  }));
5752
5756
 
5753
- function isMatchedFilterCondition(record, rowIndex) {
5754
- return !filtersKeys.some(function (key) {
5757
+ function isMatchedFilterCondition(record) {
5758
+ return filtersKeys.every(function (key) {
5755
5759
  var _columnsMap$get, _columnsMap$get$featu;
5756
5760
 
5757
5761
  var filterItem = inputFiltersMap.get(key);
@@ -5765,20 +5769,13 @@ function filter() {
5765
5769
  } else {
5766
5770
  console.warn("\u5217[".concat(key, "]\u672A\u914D\u7F6E\u7B5B\u9009\u51FD\u6570\uFF0C\u8BF7\u8BBE\u7F6E column.features.filterable \u6765\u4F5C\u4E3A\u8BE5\u5217\u7684\u7B5B\u9009\u51FD\u6570, \u76EE\u524D\u4F7F\u7528\u9ED8\u8BA4\u5305\u542B\u7B5B\u9009\u51FD\u6570"));
5767
5771
  comparisonFn = defaultFilterOptionsMap.get('contain').filter;
5768
- } // 不符合过滤条件,退出循环
5769
-
5772
+ }
5770
5773
 
5771
- return !comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, rowIndex), record);
5774
+ return comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, -1), record);
5772
5775
  });
5773
5776
  }
5774
5777
 
5775
- return dataSource.reduce(function (pre, record, rowIndex) {
5776
- if (isMatchedFilterCondition(record, rowIndex)) {
5777
- return pre.concat([record]);
5778
- }
5779
-
5780
- return pre;
5781
- }, []);
5778
+ return layeredFilter(dataSource, isMatchedFilterCondition);
5782
5779
  }
5783
5780
 
5784
5781
  pipeline.dataSource(processDataSource(dataSource));
@@ -5787,6 +5784,30 @@ function filter() {
5787
5784
  };
5788
5785
  }
5789
5786
 
5787
+ function layeredFilter(array, matchFn) {
5788
+ return dfs(array);
5789
+
5790
+ function dfs(rows) {
5791
+ var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5792
+ return rows.map(function (row) {
5793
+ var currentMatched = matchFn(row);
5794
+
5795
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(row)) {
5796
+ return (parentMatched || currentMatched) && _objectSpread({}, row);
5797
+ }
5798
+
5799
+ var children = row.children;
5800
+
5801
+ var rowAfterFilterChildren = _objectSpread(_objectSpread({}, row), {}, {
5802
+ children: dfs(children, parentMatched || currentMatched)
5803
+ });
5804
+
5805
+ var matchedByChildren = !Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(rowAfterFilterChildren);
5806
+ return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
5807
+ }).filter(Boolean);
5808
+ }
5809
+ }
5810
+
5790
5811
  /***/ }),
5791
5812
 
5792
5813
  /***/ "./components/table/pipeline/features/columnHover.tsx":
@@ -7178,7 +7199,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7178
7199
  data = data + '';
7179
7200
  }
7180
7201
 
7181
- return data.includes(value);
7202
+ return data.includes(value[0]);
7182
7203
  };
7183
7204
  }
7184
7205
  }, {
@@ -7194,7 +7215,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7194
7215
  data = data + '';
7195
7216
  }
7196
7217
 
7197
- return !data.includes(value);
7218
+ return !data.includes(value[0]);
7198
7219
  };
7199
7220
  }
7200
7221
  }, {
@@ -7202,7 +7223,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7202
7223
  key: 'equal',
7203
7224
  filter: function filter(value) {
7204
7225
  return function (data) {
7205
- return value !== data;
7226
+ return value[0] === data;
7206
7227
  };
7207
7228
  }
7208
7229
  }, {
@@ -7210,7 +7231,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7210
7231
  key: 'notEqual',
7211
7232
  filter: function filter(value) {
7212
7233
  return function (data) {
7213
- return value !== data;
7234
+ return value[0] !== data;
7214
7235
  };
7215
7236
  }
7216
7237
  }, {
@@ -7232,13 +7253,83 @@ var DEFAULT_FILTER_OPTIONS = [{
7232
7253
  }];
7233
7254
 
7234
7255
 
7256
+ /***/ }),
7257
+
7258
+ /***/ "./components/table/pipeline/features/footerDataSource.ts":
7259
+ /*!****************************************************************!*\
7260
+ !*** ./components/table/pipeline/features/footerDataSource.ts ***!
7261
+ \****************************************************************/
7262
+ /*! exports provided: footerRowMetaSymbol, footerDataSource */
7263
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7264
+
7265
+ "use strict";
7266
+ __webpack_require__.r(__webpack_exports__);
7267
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return footerRowMetaSymbol; });
7268
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return footerDataSource; });
7269
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
7270
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
7271
+ /* 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");
7272
+ /* 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__);
7273
+ /* 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");
7274
+ /* 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__);
7275
+ /* 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");
7276
+ /* 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__);
7277
+ /* 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");
7278
+ /* 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__);
7279
+ /* 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");
7280
+ /* 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__);
7281
+ /* 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");
7282
+ /* 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__);
7283
+ /* 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");
7284
+ /* 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__);
7285
+ /* 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");
7286
+ /* 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__);
7287
+ /* 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");
7288
+ /* 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__);
7289
+
7290
+
7291
+ 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; }
7292
+
7293
+ 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; }
7294
+
7295
+
7296
+
7297
+
7298
+
7299
+
7300
+
7301
+
7302
+
7303
+
7304
+ var footerRowMetaSymbol = Symbol('footer-row');
7305
+ function footerDataSource() {
7306
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7307
+ return function footerDataSourceStep(pipeline) {
7308
+ var _opts$dataSource, _opts$footerRowMetaKe;
7309
+
7310
+ var footerDataSource = (_opts$dataSource = opts.dataSource) !== null && _opts$dataSource !== void 0 ? _opts$dataSource : pipeline.getFooterDataSource();
7311
+ var footerRowMetaKey = (_opts$footerRowMetaKe = opts.footerRowMetaKey) !== null && _opts$footerRowMetaKe !== void 0 ? _opts$footerRowMetaKe : footerRowMetaSymbol;
7312
+ pipeline.setFeatureOptions('footerRowMetaKey', footerRowMetaKey);
7313
+
7314
+ if (footerDataSource) {
7315
+ pipeline.footerDataSource(footerDataSource.map(function (row) {
7316
+ return _objectSpread(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, footerRowMetaKey, true), row);
7317
+ }));
7318
+ } else {
7319
+ console.warn('调用 pipeline.use(features.footerDataSource()) 前请先设置页脚数据源,设置方法有:pipeline.use(features.footerDataSource({dataSource:any[]})) 或者 pipeline.footerDataSource(any[])');
7320
+ }
7321
+
7322
+ return pipeline;
7323
+ };
7324
+ }
7325
+
7235
7326
  /***/ }),
7236
7327
 
7237
7328
  /***/ "./components/table/pipeline/features/index.ts":
7238
7329
  /*!*****************************************************!*\
7239
7330
  !*** ./components/table/pipeline/features/index.ts ***!
7240
7331
  \*****************************************************/
7241
- /*! 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 */
7332
+ /*! 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 */
7242
7333
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7243
7334
 
7244
7335
  "use strict";
@@ -7327,6 +7418,14 @@ __webpack_require__.r(__webpack_exports__);
7327
7418
  /* harmony import */ var _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./mergeCellHover */ "./components/table/pipeline/features/mergeCellHover.tsx");
7328
7419
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__["mergeCellHover"]; });
7329
7420
 
7421
+ /* harmony import */ var _footerDataSource__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./footerDataSource */ "./components/table/pipeline/features/footerDataSource.ts");
7422
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerDataSource"]; });
7423
+
7424
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FooterDataSourceFeatureOptions", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["FooterDataSourceFeatureOptions"]; });
7425
+
7426
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerRowMetaSymbol"]; });
7427
+
7428
+
7330
7429
 
7331
7430
 
7332
7431
 
@@ -7526,7 +7625,8 @@ function multiSelect() {
7526
7625
  /** 所有有效的 keys(disable 状态为 false) */
7527
7626
 
7528
7627
  var allKeys = [];
7529
- dataSource.forEach(function (row, rowIndex) {
7628
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7629
+ flatDataSource.forEach(function (row, rowIndex) {
7530
7630
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7531
7631
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7532
7632
 
@@ -7592,6 +7692,10 @@ function multiSelect() {
7592
7692
  return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7593
7693
  },
7594
7694
  render: function render(_, row, rowIndex) {
7695
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
7696
+ return null;
7697
+ }
7698
+
7595
7699
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7596
7700
  var checked = set.has(key);
7597
7701
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
@@ -7700,13 +7804,13 @@ function multiSelect() {
7700
7804
  /*!***************************************************************!*\
7701
7805
  !*** ./components/table/pipeline/features/rangeSelection.tsx ***!
7702
7806
  \***************************************************************/
7703
- /*! exports provided: rangeSelectionKey, lastClickCell, rangeSelection */
7807
+ /*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection */
7704
7808
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7705
7809
 
7706
7810
  "use strict";
7707
7811
  __webpack_require__.r(__webpack_exports__);
7708
7812
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelectionKey", function() { return rangeSelectionKey; });
7709
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCell", function() { return lastClickCell; });
7813
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCellKey", function() { return lastClickCellKey; });
7710
7814
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelection", function() { return rangeSelection; });
7711
7815
  /* 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");
7712
7816
  /* 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__);
@@ -7760,40 +7864,42 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7760
7864
 
7761
7865
 
7762
7866
  var rangeSelectionKey = 'rangeSelection';
7763
- var lastClickCell = 'lastClickCell';
7867
+ var lastClickCellKey = 'lastClickCell';
7764
7868
  function rangeSelection(opts) {
7765
7869
  return function step(pipeline) {
7766
7870
  var SCROLL_SIZE = 30;
7767
7871
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
7872
+ var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
7768
7873
 
7769
7874
  if (!tableBody) {
7770
7875
  return pipeline;
7771
7876
  }
7772
7877
 
7773
7878
  var columns = pipeline.getColumns();
7879
+ var dataSource = pipeline.getDataSource();
7774
7880
 
7775
7881
  var rangeSelectedChange = function rangeSelectedChange(rangeSelection) {
7776
7882
  var _opts$rangeSelectedCh;
7777
7883
 
7778
7884
  pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
7779
7885
  opts === null || opts === void 0 ? void 0 : (_opts$rangeSelectedCh = opts.rangeSelectedChange) === null || _opts$rangeSelectedCh === void 0 ? void 0 : _opts$rangeSelectedCh.call(opts, rangeSelection);
7780
- }; // if (!pipeline.getFeatureOptions(rangeSelectionKey)) {
7781
- // pipeline.setFeatureOptions(rangeSelectionKey, {
7782
- // optionKey: rangeSelectionKey,
7783
- // rangeSelectedChange: rangeSelectedChange
7784
- // })
7785
- // }
7786
-
7886
+ };
7787
7887
 
7788
7888
  var setRangeSelection = function setRangeSelection(startDragCell, draggingCell) {
7789
- if (!startDragCell || !draggingCell || isSameCell(startDragCell, draggingCell)) return;
7889
+ if (!startDragCell || !draggingCell) return;
7790
7890
  var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
7791
- var isTopToBottom = startDragCell.rowIndex <= draggingCell.rowIndex;
7891
+
7892
+ var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
7893
+ startRow = _getRangeSelectionRow.startRow,
7894
+ endRow = _getRangeSelectionRow.endRow,
7895
+ footerRowRange = _getRangeSelectionRow.footerRowRange;
7896
+
7792
7897
  var rangeSelection = {
7793
- startRow: isTopToBottom ? startDragCell.rowIndex : startDragCell.rowIndex + startDragCell.rowSpan - 1,
7794
- endRow: isTopToBottom ? draggingCell.rowIndex + draggingCell.rowSpan - 1 : draggingCell.rowIndex,
7898
+ startRow: startRow,
7899
+ endRow: endRow,
7795
7900
  columns: rangeColumns,
7796
- startColumn: startDragCell.column
7901
+ startColumn: startDragCell.column,
7902
+ footerRowRange: footerRowRange
7797
7903
  };
7798
7904
  rangeSelectedChange(rangeSelection);
7799
7905
  };
@@ -7804,23 +7910,23 @@ function rangeSelection(opts) {
7804
7910
 
7805
7911
  if (clickCell) {
7806
7912
  if (event.shiftKey) {
7807
- var _lastClickCell = pipeline.getStateAtKey(lastClickCell);
7913
+ var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
7808
7914
 
7809
7915
  if (_lastClickCell) {
7810
7916
  setRangeSelection(_lastClickCell, clickCell);
7811
7917
  } else {
7812
7918
  // 第一次进来就按住shift键,这时候要记住点击的单元格
7813
- pipeline.setStateAtKey(lastClickCell, clickCell);
7919
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7814
7920
  }
7815
7921
  } else {
7816
- pipeline.setStateAtKey(lastClickCell, clickCell);
7817
- rangeSelectedChange(null);
7922
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7923
+ setRangeSelection(clickCell, clickCell);
7818
7924
  }
7819
7925
  }
7820
7926
  };
7821
7927
 
7822
7928
  var onMouseDown = function onMouseDown(mouseDownEvent) {
7823
- if (mouseDownEvent.button !== 0 || !Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent)) return; // mouseDownEvent.preventDefault()
7929
+ 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()
7824
7930
  // shift + 点击选中
7825
7931
 
7826
7932
  shiftKeySelect(mouseDownEvent);
@@ -7876,10 +7982,11 @@ function rangeSelection(opts) {
7876
7982
  };
7877
7983
 
7878
7984
  var onKeyDown = function onKeyDown(e) {
7879
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent)) return;
7985
+ if (!(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableFooter, e.nativeEvent))) return;
7880
7986
 
7881
7987
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
7882
7988
  var rowLen = pipeline.getDataSource().length;
7989
+ var footerDataSource = pipeline.getFooterDataSource() || [];
7883
7990
 
7884
7991
  if (columns.length && rowLen) {
7885
7992
  opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
@@ -7887,7 +7994,11 @@ function rangeSelection(opts) {
7887
7994
  startRow: 0,
7888
7995
  endRow: rowLen - 1,
7889
7996
  columns: columns,
7890
- startColumn: columns[0]
7997
+ startColumn: columns[0],
7998
+ footerRowRange: footerDataSource.length > 0 ? {
7999
+ startRow: 0,
8000
+ endRow: footerDataSource.length - 1
8001
+ } : null
7891
8002
  });
7892
8003
  }
7893
8004
  }
@@ -7896,7 +8007,8 @@ function rangeSelection(opts) {
7896
8007
  pipeline.addTableProps({
7897
8008
  onMouseDown: onMouseDown,
7898
8009
  onKeyDown: onKeyDown,
7899
- tabIndex: -1
8010
+ tabIndex: -1,
8011
+ className: classnames__WEBPACK_IMPORTED_MODULE_16___default()([_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].rangeSelection])
7900
8012
  }); // todo: 后面可以把mousedown放到一个流里面
7901
8013
 
7902
8014
  return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["makeRecursiveMapper"])(function (col) {
@@ -7910,15 +8022,29 @@ function rangeSelection(opts) {
7910
8022
  var _cx;
7911
8023
 
7912
8024
  var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
8025
+ var isInFooter = record[pipeline.getFeatureOptions('footerRowMetaKey')];
7913
8026
  var startRow = rangeSelection.startRow,
7914
8027
  endRow = rangeSelection.endRow,
7915
- columns = rangeSelection.columns;
7916
- var startIndex = startRow < endRow ? startRow : endRow;
7917
- var endIndex = startRow < endRow ? endRow : startRow;
8028
+ columns = rangeSelection.columns,
8029
+ footerRowRange = rangeSelection.footerRowRange;
8030
+
8031
+ var _getRowIndex = getRowIndex(startRow, endRow),
8032
+ startRowIndex = _getRowIndex.startRowIndex,
8033
+ endRowIndex = _getRowIndex.endRowIndex;
8034
+
8035
+ var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
8036
+ footerStartRowIndex = _getFooterRowIndex.startRowIndex,
8037
+ footerEndRowIndex = _getFooterRowIndex.endRowIndex;
8038
+
7918
8039
  var startCol = columns[0];
7919
8040
  var endCol = columns[columns.length - 1];
7920
- var match = rowIndex >= startIndex && rowIndex <= endIndex;
7921
- 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));
8041
+ var bodyMatch = !isInFooter && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
8042
+ var footerMatch = isInFooter && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
8043
+ var match = footerMatch || bodyMatch;
8044
+ var matchSingleCell = match && isCellRangeSingleCell(rangeSelection); // 单个范围选中单元格不显示样式
8045
+
8046
+ var showCellRangeStyle = match && !matchSingleCell;
8047
+ 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));
7922
8048
  return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["mergeCellProps"])(prevCellProps, {
7923
8049
  className: className
7924
8050
  });
@@ -7944,7 +8070,8 @@ function getTargetCell(target, columns) {
7944
8070
  rowIndex: parseInt(target.getAttribute('data-rowindex')),
7945
8071
  rowSpan: parseInt(target.getAttribute('rowspan') || 1),
7946
8072
  code: columnCode,
7947
- column: column
8073
+ column: column,
8074
+ isInFooter: isEleInFooter(target)
7948
8075
  }
7949
8076
  };
7950
8077
  }();
@@ -7959,7 +8086,19 @@ function getTargetCell(target, columns) {
7959
8086
  }
7960
8087
 
7961
8088
  function isSameCell(cell1, cell2) {
7962
- return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code;
8089
+ return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isInFooter === cell2.isInFooter;
8090
+ }
8091
+
8092
+ function isEleInFooter(target) {
8093
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].artTable)) {
8094
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableFooter)) {
8095
+ return true;
8096
+ }
8097
+
8098
+ target = target.parentElement;
8099
+ }
8100
+
8101
+ return false;
7963
8102
  }
7964
8103
 
7965
8104
  function getRangeColumns(startCell, endCell, columns) {
@@ -7978,6 +8117,99 @@ function getRangeColumns(startCell, endCell, columns) {
7978
8117
  }
7979
8118
  }
7980
8119
 
8120
+ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
8121
+ var footerRowRange = null;
8122
+ var startRow = -1;
8123
+ var endRow = -1;
8124
+
8125
+ var _getCellRangeRow = getCellRangeRow(startCell, endCell),
8126
+ _startRow = _getCellRangeRow.startRow,
8127
+ _endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
8128
+
8129
+
8130
+ if (!startCell.isInFooter && !endCell.isInFooter) {
8131
+ startRow = _startRow;
8132
+ endRow = _endRow;
8133
+ } else if (startCell.isInFooter && endCell.isInFooter) {
8134
+ // 两个单元格都在表底
8135
+ footerRowRange = {
8136
+ startRow: _startRow,
8137
+ endRow: _endRow
8138
+ };
8139
+ } else {
8140
+ // 一个单元格在表体,一个在表底
8141
+ if (startCell.isInFooter) {
8142
+ startRow = dataSource.length - 1;
8143
+ endRow = endCell.rowIndex;
8144
+ footerRowRange = {
8145
+ startRow: startCell.rowIndex,
8146
+ endRow: 0
8147
+ };
8148
+ } else {
8149
+ startRow = startCell.rowIndex;
8150
+ endRow = dataSource.length - 1;
8151
+ footerRowRange = {
8152
+ startRow: 0,
8153
+ endRow: endCell.rowIndex
8154
+ };
8155
+ }
8156
+ }
8157
+
8158
+ return {
8159
+ startRow: startRow,
8160
+ endRow: endRow,
8161
+ footerRowRange: footerRowRange
8162
+ };
8163
+ }
8164
+
8165
+ function getCellRangeRow(startCell, endCell) {
8166
+ if (isSameCell(startCell, endCell)) {
8167
+ return {
8168
+ startRow: startCell.rowIndex,
8169
+ endRow: startCell.rowIndex
8170
+ };
8171
+ }
8172
+
8173
+ var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
8174
+ var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
8175
+ var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
8176
+ return {
8177
+ startRow: startRow,
8178
+ endRow: endRow
8179
+ };
8180
+ }
8181
+
8182
+ function isCellRangeSingleCell(rangeSelection) {
8183
+ var startRow = rangeSelection.startRow,
8184
+ endRow = rangeSelection.endRow,
8185
+ columns = rangeSelection.columns,
8186
+ footerRowRange = rangeSelection.footerRowRange;
8187
+ var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
8188
+ var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
8189
+ return isBodySingleCell || isFooterSingleCell;
8190
+ }
8191
+
8192
+ function getRowIndex(startRow, endRow) {
8193
+ var isReverse = startRow > endRow;
8194
+ var startRowIndex = isReverse ? endRow : startRow;
8195
+ var endRowIndex = isReverse ? startRow : endRow;
8196
+ return {
8197
+ startRowIndex: startRowIndex,
8198
+ endRowIndex: endRowIndex
8199
+ };
8200
+ }
8201
+
8202
+ function getFooterRowIndex(footerRowRange) {
8203
+ if (footerRowRange) {
8204
+ return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
8205
+ }
8206
+
8207
+ return {
8208
+ startRowIndex: -1,
8209
+ endRowIndex: -1
8210
+ };
8211
+ }
8212
+
7981
8213
  /***/ }),
7982
8214
 
7983
8215
  /***/ "./components/table/pipeline/features/rowDetail.tsx":
@@ -8702,6 +8934,10 @@ function singleSelect() {
8702
8934
  return preCellProps;
8703
8935
  },
8704
8936
  render: function render(_, row, rowIndex) {
8937
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
8938
+ return null;
8939
+ }
8940
+
8705
8941
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_10__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8706
8942
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Radio, {
8707
8943
  checked: value === rowKey,
@@ -9290,24 +9526,24 @@ function tips() {
9290
9526
  __webpack_require__.r(__webpack_exports__);
9291
9527
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMetaSymbol", function() { return treeMetaSymbol; });
9292
9528
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMode", function() { return treeMode; });
9293
- /* 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");
9294
- /* 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__);
9295
- /* 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");
9296
- /* 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__);
9297
- /* 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");
9298
- /* 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__);
9299
- /* 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");
9300
- /* 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__);
9301
- /* 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");
9302
- /* 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__);
9303
- /* 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");
9304
- /* 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__);
9305
- /* 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");
9306
- /* 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__);
9307
- /* 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");
9308
- /* 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__);
9309
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/toArray */ "./node_modules/@babel/runtime/helpers/toArray.js");
9310
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__);
9529
+ /* 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");
9530
+ /* 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__);
9531
+ /* 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");
9532
+ /* 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__);
9533
+ /* 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");
9534
+ /* 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__);
9535
+ /* 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");
9536
+ /* 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__);
9537
+ /* 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");
9538
+ /* 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__);
9539
+ /* 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");
9540
+ /* 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__);
9541
+ /* 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");
9542
+ /* 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__);
9543
+ /* 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");
9544
+ /* 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__);
9545
+ /* 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");
9546
+ /* 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__);
9311
9547
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9312
9548
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);
9313
9549
  /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
@@ -9330,8 +9566,8 @@ __webpack_require__.r(__webpack_exports__);
9330
9566
  /* 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__);
9331
9567
  /* 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");
9332
9568
  /* 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__);
9333
- /* 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");
9334
- /* 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__);
9569
+ /* 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");
9570
+ /* 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__);
9335
9571
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9336
9572
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_21__);
9337
9573
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! react */ "react");
@@ -9387,11 +9623,6 @@ function treeMode() {
9387
9623
  var stateKey = 'treeMode';
9388
9624
  var ctx = pipeline.ctx;
9389
9625
  var primaryKey = pipeline.ensurePrimaryKey('treeMode');
9390
-
9391
- if (typeof primaryKey !== 'string') {
9392
- throw new Error('treeMode 仅支持字符串作为 primaryKey');
9393
- }
9394
-
9395
9626
  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 : [];
9396
9627
  var openKeySet = new Set(openKeys);
9397
9628
 
@@ -9444,7 +9675,7 @@ function treeMode() {
9444
9675
  try {
9445
9676
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
9446
9677
  var _node = _step.value;
9447
- var rowKey = _node[primaryKey];
9678
+ var rowKey = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetRowKey(primaryKey, _node, -1);
9448
9679
  var expanded = openKeySet.has(rowKey);
9449
9680
  var isLeaf = isLeafNode(_node, {
9450
9681
  depth: depth,
@@ -9478,12 +9709,15 @@ function treeMode() {
9478
9709
  return columns;
9479
9710
  }
9480
9711
 
9481
- var _columns = _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default()(columns),
9482
- firstCol = _columns[0],
9483
- others = _columns.slice(1);
9712
+ var expandColIndex = columns.findIndex(function (_ref3) {
9713
+ var code = _ref3.code;
9714
+ return code && opts.expandColCode === code;
9715
+ });
9716
+ expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
9717
+ var expandCol = columns[expandColIndex];
9484
9718
 
9485
9719
  var render = function render(value, record, recordIndex) {
9486
- var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(firstCol, record, recordIndex);
9720
+ var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(expandCol, record, recordIndex);
9487
9721
 
9488
9722
  if (record[treeMetaKey] == null) {
9489
9723
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
@@ -9543,7 +9777,7 @@ function treeMode() {
9543
9777
  };
9544
9778
 
9545
9779
  var getCellProps = function getCellProps(value, record, rowIndex) {
9546
- var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(firstCol, record, rowIndex);
9780
+ var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(expandCol, record, rowIndex);
9547
9781
 
9548
9782
  if (record[treeMetaKey] == null) {
9549
9783
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
@@ -9572,15 +9806,16 @@ function treeMode() {
9572
9806
  });
9573
9807
  };
9574
9808
 
9575
- return [_objectSpread(_objectSpread({}, firstCol), {}, {
9809
+ columns[expandColIndex] = _objectSpread(_objectSpread({}, expandCol), {}, {
9576
9810
  title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement("span", {
9577
9811
  style: {
9578
9812
  marginLeft: iconIndent + iconWidth + iconGap
9579
9813
  }
9580
- }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(firstCol)),
9814
+ }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(expandCol)),
9581
9815
  render: render,
9582
- getCellProps: clickArea === 'cell' ? getCellProps : firstCol.getCellProps
9583
- })].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(others));
9816
+ getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps
9817
+ });
9818
+ return _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(columns);
9584
9819
  }
9585
9820
  };
9586
9821
  }
@@ -9852,6 +10087,7 @@ __webpack_require__.r(__webpack_exports__);
9852
10087
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_15__);
9853
10088
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
9854
10089
  /* harmony import */ var _features_autoFill__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./features/autoFill */ "./components/table/pipeline/features/autoFill.tsx");
10090
+ /* harmony import */ var _features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./features/rangeSelection */ "./components/table/pipeline/features/rangeSelection.tsx");
9855
10091
 
9856
10092
 
9857
10093
 
@@ -9876,6 +10112,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9876
10112
 
9877
10113
 
9878
10114
 
10115
+
9879
10116
  /**
9880
10117
  * 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……
9881
10118
  *
@@ -10156,19 +10393,19 @@ var TablePipeline = /*#__PURE__*/function () {
10156
10393
 
10157
10394
  result.setTableDomHelper = function (domHelper) {
10158
10395
  _this2.ref.current.domHelper = domHelper;
10159
- }; // if (this.getFeatureOptions(rangeSelectionKey)) {
10160
- // result.clearRangeSelectionStatus = () => {
10161
- // const { rangeSelectedChange } = this.getFeatureOptions(rangeSelectionKey)
10162
- // const rangeSelection = this.getStateAtKey(rangeSelectionKey)
10163
- // if (rangeSelection) {
10164
- // rangeSelectedChange?.(null)
10165
- // }
10166
- // }
10167
- // }
10168
-
10396
+ };
10169
10397
 
10170
10398
  return result;
10171
10399
  }
10400
+ /**
10401
+ * 清除范围选中内容
10402
+ */
10403
+
10404
+ }, {
10405
+ key: "clearRangeSelection",
10406
+ value: function clearRangeSelection() {
10407
+ this.setStateAtKey(_features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__["rangeSelectionKey"], null);
10408
+ }
10172
10409
  }]);
10173
10410
 
10174
10411
  return TablePipeline;