@kdcloudjs/table 1.1.3 → 1.1.4-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +599 -268
  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 +10 -9
  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 +7 -2
  9. package/es/table/base/styles.js +13 -6
  10. package/es/table/base/table.d.ts +2 -0
  11. package/es/table/base/table.js +31 -53
  12. package/es/table/base/utils.d.ts +7 -0
  13. package/es/table/base/utils.js +29 -1
  14. package/es/table/pipeline/features/columnDrag.js +21 -11
  15. package/es/table/pipeline/features/columnFilter.d.ts +2 -2
  16. package/es/table/pipeline/features/columnFilter.js +35 -15
  17. package/es/table/pipeline/features/columnResizeWidth.js +1 -1
  18. package/es/table/pipeline/features/filter/DefaultFilterContent.js +22 -2
  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 +21 -15
  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 +1 -0
  28. package/es/table/pipeline/features/index.js +2 -1
  29. package/es/table/pipeline/features/multiSelect.js +7 -2
  30. package/es/table/pipeline/features/rangeSelection.d.ts +1 -1
  31. package/es/table/pipeline/features/rangeSelection.js +156 -28
  32. package/es/table/pipeline/features/singleSelect.js +4 -0
  33. package/es/table/pipeline/features/treeMode.d.ts +2 -0
  34. package/es/table/pipeline/features/treeMode.js +18 -20
  35. package/es/table/pipeline/pipeline.d.ts +5 -1
  36. package/es/table/pipeline/pipeline.js +12 -11
  37. package/es/table/utils/keyCode.d.ts +4 -0
  38. package/es/table/utils/keyCode.js +4 -0
  39. package/es/table/utils/mergeCellProps.js +2 -6
  40. package/lib/table/base/html-table.js +1 -1
  41. package/lib/table/base/styles.d.ts +7 -2
  42. package/lib/table/base/styles.js +13 -6
  43. package/lib/table/base/table.d.ts +2 -0
  44. package/lib/table/base/table.js +31 -53
  45. package/lib/table/base/utils.d.ts +7 -0
  46. package/lib/table/base/utils.js +35 -1
  47. package/lib/table/pipeline/features/columnDrag.js +21 -11
  48. package/lib/table/pipeline/features/columnFilter.d.ts +2 -2
  49. package/lib/table/pipeline/features/columnFilter.js +33 -15
  50. package/lib/table/pipeline/features/columnResizeWidth.js +1 -1
  51. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +23 -1
  52. package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
  53. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +30 -0
  54. package/lib/table/pipeline/features/filter/Filter.d.ts +1 -1
  55. package/lib/table/pipeline/features/filter/Filter.js +17 -20
  56. package/lib/table/pipeline/features/filter/FilterPanel.js +21 -14
  57. package/lib/table/pipeline/features/filter/util.js +4 -4
  58. package/lib/table/pipeline/features/footerDataSource.d.ts +9 -0
  59. package/lib/table/pipeline/features/footerDataSource.js +41 -0
  60. package/lib/table/pipeline/features/index.d.ts +1 -0
  61. package/lib/table/pipeline/features/index.js +15 -1
  62. package/lib/table/pipeline/features/multiSelect.js +6 -1
  63. package/lib/table/pipeline/features/rangeSelection.d.ts +1 -1
  64. package/lib/table/pipeline/features/rangeSelection.js +158 -30
  65. package/lib/table/pipeline/features/singleSelect.js +4 -0
  66. package/lib/table/pipeline/features/treeMode.d.ts +2 -0
  67. package/lib/table/pipeline/features/treeMode.js +19 -22
  68. package/lib/table/pipeline/pipeline.d.ts +5 -1
  69. package/lib/table/pipeline/pipeline.js +13 -11
  70. package/lib/table/utils/keyCode.d.ts +4 -0
  71. package/lib/table/utils/keyCode.js +11 -0
  72. package/lib/table/utils/mergeCellProps.js +2 -6
  73. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.2
3
+ * @kdcloudjs/table v1.1.3-canary.10
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({
@@ -3235,7 +3235,7 @@ __webpack_require__.r(__webpack_exports__);
3235
3235
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
3236
3236
 
3237
3237
 
3238
- var _templateObject, _templateObject2, _templateObject3;
3238
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
3239
3239
 
3240
3240
 
3241
3241
 
@@ -3246,6 +3246,7 @@ var prefix = 'kd-';
3246
3246
  var Classes = {
3247
3247
  /** BaseTable 表格组件的外层包裹 div */
3248
3248
  artTableWrapper: "".concat(prefix, "table-wrapper"),
3249
+ artTableBordered: "".concat(prefix, "table-bordered"),
3249
3250
  artTable: "".concat(prefix, "table"),
3250
3251
  tableHeaderMain: "".concat(prefix, "table-header-main"),
3251
3252
  tableHeader: "".concat(prefix, "table-header"),
@@ -3289,6 +3290,8 @@ var Classes = {
3289
3290
  button: "".concat(prefix, "btn"),
3290
3291
  buttonPrimary: "".concat(prefix, "btn-primary"),
3291
3292
  filterIcon: "".concat(prefix, "filter-icon"),
3293
+ rangeSelection: "".concat(prefix, "range-selection"),
3294
+ tableCellRangeSingleCell: "".concat(prefix, "table-cell-range-single-cell"),
3292
3295
  tableCellRangeSelected: "".concat(prefix, "table-cell-range-selected"),
3293
3296
  tableCellRangeTop: "".concat(prefix, "table-cell-range-top"),
3294
3297
  tableCellRangeLeft: "".concat(prefix, "table-cell-range-left"),
@@ -3327,7 +3330,7 @@ var Z = {
3327
3330
  scrollItem: 30,
3328
3331
  loadingIndicator: 40
3329
3332
  };
3330
- var outerBorderStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.", ",\n th.", " {\n border-left: none;\n }\n td.", ",\n th.", " {\n --border-right: none;\n }\n\n thead tr.", " th,\n tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tfoot tr.", " td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.", " td {\n border-bottom: none;\n }\n td.", ":not(.", "){\n border-left: var(---cell-border-vertical);\n }\n td.", ":not(.", "){\n border-right: var(---cell-border-vertical);\n }\n"])), Classes.first, Classes.first, Classes.last, Classes.last, Classes.first, Classes.first, Classes.last, Classes.last, Classes.rowSpan, Classes.first, Classes.rowSpan, Classes.last);
3333
+ var outerBorderStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.", ",\n th.", " {\n border-left: none;\n }\n td.", ",\n th.", " {\n border-right: none;\n }\n\n thead tr.", " th,\n tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tfoot tr.", " td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.", " td {\n border-bottom: none;\n }\n td.", ":not(.", "){\n border-left: var(---cell-border-vertical);\n }\n td.", ":not(.", "){\n border-right: var(---cell-border-vertical);\n }\n"])), Classes.first, Classes.first, Classes.last, Classes.last, Classes.first, Classes.first, Classes.last, Classes.last, Classes.rowSpan, Classes.first, Classes.rowSpan, Classes.last);
3331
3334
  var defaultCSSVariables = {
3332
3335
  '--row-height': '48px',
3333
3336
  '--color': '#333',
@@ -3337,7 +3340,7 @@ var defaultCSSVariables = {
3337
3340
  '--primary-color': '#5582F3',
3338
3341
  '--primary-color-level1': 'rgb(242, 248, 255)',
3339
3342
  '--primary-color-level2': 'rgb(135, 173, 255)',
3340
- '--icon-color': '#bfbfbf',
3343
+ '--icon-color': '#666666',
3341
3344
  '--strong-border-color': '#d9d9d9',
3342
3345
  '--header-row-height': '32px',
3343
3346
  '--header-color': '#333',
@@ -3353,11 +3356,15 @@ var defaultCSSVariables = {
3353
3356
  '--cell-border-horizontal': '1px solid #dfe3e8',
3354
3357
  '---cell-border-vertical': '1px solid #dfe3e8',
3355
3358
  '--header-cell-border': '1px solid #dfe3e8',
3356
- '--header-cell-border-horizontal': '1px solid #dfe3e8'
3359
+ '--cell-border-vertical': '1px solid #dfe3e8',
3360
+ '--header-cell-border-horizontal': '1px solid #dfe3e8',
3361
+ '--header-cell-border-vertical': '1px solid #dfe3e8'
3357
3362
  };
3358
3363
  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);
3360
- 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);
3364
+ var notBorderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
3365
+ var borderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n //th\u9690\u85CF\u5217\u5BBD\u62D6\u62FD\u7684\u80CC\u666F\u8272\uFF0C\u4F7F\u7528th\u7684\u53F3\u8FB9\u6846\u4EE3\u66FF\n .", "::after{\n background-color: inherit;\n }\n"])), Classes.tableHeaderCellResize);
3366
+ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject4 || (_templateObject4 = _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 // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\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: var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-right: var(--header-cell-border-vertical);\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 \n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //#endregion\n\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, 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, Classes.tableHeaderCellResize);
3367
+ var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject5 || (_templateObject5 = _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
3368
 
3362
3369
  function getCssVariableText(obj) {
3363
3370
  return Object.keys(obj).reduce(function (acc, key) {
@@ -3400,22 +3407,22 @@ __webpack_require__.r(__webpack_exports__);
3400
3407
  /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__);
3401
3408
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js");
3402
3409
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__);
3403
- /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
3404
- /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_11__);
3405
- /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
3406
- /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_12__);
3407
- /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
3408
- /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13__);
3409
- /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
3410
- /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_14__);
3411
- /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
3412
- /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_15__);
3413
- /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
3414
- /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_16__);
3415
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
3416
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17__);
3417
- /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js");
3418
- /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18__);
3410
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js");
3411
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11__);
3412
+ /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
3413
+ /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12__);
3414
+ /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
3415
+ /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13__);
3416
+ /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
3417
+ /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14__);
3418
+ /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
3419
+ /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15__);
3420
+ /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
3421
+ /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16__);
3422
+ /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
3423
+ /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17__);
3424
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
3425
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18__);
3419
3426
  /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
3420
3427
  /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_19__);
3421
3428
  /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
@@ -3446,9 +3453,8 @@ __webpack_require__.r(__webpack_exports__);
3446
3453
  /* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./loading */ "./components/table/base/loading.tsx");
3447
3454
  /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./styles */ "./components/table/base/styles.ts");
3448
3455
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./utils */ "./components/table/base/utils.tsx");
3449
- /* harmony import */ var css_vars_ponyfill__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! css-vars-ponyfill */ "./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js");
3450
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
3451
- /* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./renderTemplates */ "./components/table/base/renderTemplates.tsx");
3456
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
3457
+ /* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./renderTemplates */ "./components/table/base/renderTemplates.tsx");
3452
3458
 
3453
3459
 
3454
3460
 
@@ -3483,7 +3489,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
3483
3489
 
3484
3490
 
3485
3491
 
3486
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_16___default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_16___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_15___default()(this, result); }; }
3492
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17___default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16___default()(this, result); }; }
3487
3493
 
3488
3494
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3489
3495
 
@@ -3503,75 +3509,48 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
3503
3509
 
3504
3510
 
3505
3511
 
3506
-
3507
-
3508
- var cssPolifill = function cssPolifill(_ref) {
3509
- var variables = _ref.variables,
3510
- enableCSSVariables = _ref.enableCSSVariables;
3511
-
3512
- // const style = document.createElement('style')
3513
- // style.type = 'text/css'
3514
- // style.innerHTML = '.aaa{ --color: red; }'
3515
- // document.getElementsByTagName('head').item(0).appendChild(style)
3516
- // const variableNames = variableConst.match(/--.*?(?=:)/g)
3517
- // variables = variableNames.map((name) => rootElement.style[name])
3518
- if (enableCSSVariables === false) {
3519
- return;
3520
- }
3521
-
3522
- Object(css_vars_ponyfill__WEBPACK_IMPORTED_MODULE_40__["default"])({
3523
- // exclude: 'link[href*="semantic-ui"]',
3524
- // onlyLegacy: false,
3525
- // rootElement: rootElement,
3526
- include: 'style[data-styled]',
3527
- variables: _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_18___default()({}, _styles__WEBPACK_IMPORTED_MODULE_38__["defaultCSSVariables"], variables),
3528
- watch: true,
3529
- silent: true
3530
- });
3531
- };
3532
-
3533
3512
  var propsDotEmptyContentDeprecatedWarned = false;
3534
3513
 
3535
3514
  function warnPropsDotEmptyContentIsDeprecated() {
3536
3515
  if (!propsDotEmptyContentDeprecatedWarned) {
3537
3516
  propsDotEmptyContentDeprecatedWarned = true;
3538
- _utils__WEBPACK_IMPORTED_MODULE_41__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
3517
+ _utils__WEBPACK_IMPORTED_MODULE_40__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
3539
3518
  }
3540
3519
  }
3541
3520
 
3542
3521
  var BaseTable = /*#__PURE__*/function (_React$Component) {
3543
- _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_14___default()(BaseTable, _React$Component);
3522
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15___default()(BaseTable, _React$Component);
3544
3523
 
3545
3524
  var _super = _createSuper(BaseTable);
3546
3525
 
3547
3526
  function BaseTable(props) {
3548
3527
  var _this;
3549
3528
 
3550
- _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_11___default()(this, BaseTable);
3529
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12___default()(this, BaseTable);
3551
3530
 
3552
3531
  _this = _super.call(this, props);
3553
3532
 
3554
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "rowHeightManager", Object(_helpers_rowHeightManager__WEBPACK_IMPORTED_MODULE_34__["makeRowHeightManager"])(_this.props.dataSource.length, _this.props.estimatedRowHeight));
3533
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "rowHeightManager", Object(_helpers_rowHeightManager__WEBPACK_IMPORTED_MODULE_34__["makeRowHeightManager"])(_this.props.dataSource.length, _this.props.estimatedRowHeight));
3555
3534
 
3556
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "artTableWrapperRef", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createRef());
3535
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "artTableWrapperRef", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createRef());
3557
3536
 
3558
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "domHelper", void 0);
3537
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "domHelper", void 0);
3559
3538
 
3560
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "rootSubscription", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subscription"]());
3539
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "rootSubscription", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subscription"]());
3561
3540
 
3562
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "lastInfo", void 0);
3541
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "lastInfo", void 0);
3563
3542
 
3564
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "props$", void 0);
3543
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "props$", void 0);
3565
3544
 
3566
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "hasScrollY", false);
3545
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "hasScrollY", false);
3567
3546
 
3568
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "resizeObserver", void 0);
3547
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeObserver", void 0);
3569
3548
 
3570
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "resizeSubject", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subject"]());
3549
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeSubject", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subject"]());
3571
3550
 
3572
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "offsetY", 0);
3551
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "offsetY", 0);
3573
3552
 
3574
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseEnter", function (e) {
3553
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "handleRowMouseEnter", function (e) {
3575
3554
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3576
3555
 
3577
3556
  nodeList && nodeList.forEach(function (node) {
@@ -3579,7 +3558,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3579
3558
  });
3580
3559
  });
3581
3560
 
3582
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseLeave", function (e) {
3561
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "handleRowMouseLeave", function (e) {
3583
3562
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3584
3563
 
3585
3564
  nodeList && nodeList.forEach(function (node) {
@@ -3587,7 +3566,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3587
3566
  });
3588
3567
  });
3589
3568
 
3590
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "renderTableBody", function (info) {
3569
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "renderTableBody", function (info) {
3591
3570
  // console.log('render body')
3592
3571
  var _this$props = _this.props,
3593
3572
  dataSource = _this$props.dataSource,
@@ -3598,7 +3577,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3598
3577
  footerDataSource = _this$props.footerDataSource;
3599
3578
  var tableBodyClassName = classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer); // 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能
3600
3579
 
3601
- var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isEdge ? {
3580
+ var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_40__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_40__["browserType"].isEdge ? {
3602
3581
  overflow: 'hidden'
3603
3582
  } : {};
3604
3583
 
@@ -3636,7 +3615,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3636
3615
  topBlank = _info$verticalRenderR.topBlank,
3637
3616
  bottomIndex = _info$verticalRenderR.bottomIndex;
3638
3617
  var stickyRightOffset = _this.hasScrollY ? _this.getScrollBarWidth() : 0;
3639
- var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('body');
3618
+ var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('body');
3640
3619
 
3641
3620
  if (typeof renderBody === 'function') {
3642
3621
  return renderBody(info, _this.props, {
@@ -3699,13 +3678,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3699
3678
  /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
3700
3679
 
3701
3680
 
3702
- _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_12___default()(BaseTable, [{
3681
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13___default()(BaseTable, [{
3703
3682
  key: "getDoms",
3704
3683
  value: // 最近一次渲染的计算结果缓存
3705
3684
 
3706
3685
  /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
3707
3686
  function getDoms() {
3708
- _utils__WEBPACK_IMPORTED_MODULE_41__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
3687
+ _utils__WEBPACK_IMPORTED_MODULE_40__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
3709
3688
  return this.domHelper;
3710
3689
  }
3711
3690
  }, {
@@ -3775,7 +3754,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3775
3754
  var _this$props4 = this.props,
3776
3755
  stickyTop = _this$props4.stickyTop,
3777
3756
  hasHeader = _this$props4.hasHeader;
3778
- var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('header');
3757
+ var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('header');
3779
3758
 
3780
3759
  if (typeof renderHeader === 'function') {
3781
3760
  return renderHeader(info, this.props);
@@ -3868,7 +3847,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3868
3847
  getRowProps = _this$props5.getRowProps,
3869
3848
  primaryKey = _this$props5.primaryKey,
3870
3849
  stickyBottom = _this$props5.stickyBottom;
3871
- var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('footer');
3850
+ var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('footer');
3872
3851
 
3873
3852
  if (typeof renderFooter === 'function') {
3874
3853
  return renderFooter(info, this.props, {
@@ -3952,6 +3931,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3952
3931
  }, {
3953
3932
  key: "render",
3954
3933
  value: function render() {
3934
+ var _cx;
3935
+
3955
3936
  // console.log('render table')
3956
3937
  var info = Object(_calculations__WEBPACK_IMPORTED_MODULE_30__["calculateRenderInfo"])(this);
3957
3938
  this.lastInfo = info;
@@ -3967,30 +3948,31 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3967
3948
  isLoading = _this$props7.isLoading,
3968
3949
  getTableProps = _this$props7.getTableProps,
3969
3950
  footerDataSource = _this$props7.footerDataSource,
3970
- components = _this$props7.components;
3971
- var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTableWrapper, {
3951
+ components = _this$props7.components,
3952
+ bordered = _this$props7.bordered;
3953
+ var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTableWrapper, (_cx = {
3972
3954
  'use-outer-border': useOuterBorder,
3973
3955
  empty: dataSource.length === 0,
3974
3956
  lock: info.hasLockColumn,
3975
3957
  'has-header': hasHeader,
3976
3958
  'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
3977
3959
  'has-footer': footerDataSource.length > 0,
3978
- 'sticky-footer': isStickyFooter,
3979
- 'ie-polyfill-wrapper': _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isIE
3980
- }, className);
3960
+ 'sticky-footer': isStickyFooter
3961
+ }, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTableBordered, bordered), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_cx, 'ie-polyfill-wrapper', _utils__WEBPACK_IMPORTED_MODULE_40__["browserType"].isIE), _cx), className);
3981
3962
 
3982
- var artTableWrapperProps = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()({
3963
+ var artTableWrapperProps = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()({
3983
3964
  className: artTableWrapperClassName,
3984
3965
  style: style
3985
3966
  }, _utils__WEBPACK_IMPORTED_MODULE_39__["STYLED_REF_PROP"], this.artTableWrapperRef);
3986
3967
 
3968
+ var tableProps = getTableProps() || {};
3987
3969
  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
3970
  visible: isLoading,
3989
3971
  LoadingIcon: components.LoadingIcon,
3990
3972
  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)));
3973
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11___default()({}, tableProps, {
3974
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTable, tableProps.className)
3975
+ }), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
3994
3976
  }
3995
3977
  }, {
3996
3978
  key: "componentDidMount",
@@ -4007,10 +3989,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4007
3989
 
4008
3990
  var _this$props8 = this.props,
4009
3991
  cssVariables = _this$props8.cssVariables,
4010
- enableCSSVariables = _this$props8.enableCSSVariables;
4011
- cssPolifill({
3992
+ enableCSSVariables = _this$props8.enableCSSVariables,
3993
+ bordered = _this$props8.bordered;
3994
+ Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
4012
3995
  variables: cssVariables || {},
4013
- enableCSSVariables: enableCSSVariables
3996
+ enableCSSVariables: enableCSSVariables,
3997
+ bordered: bordered
4014
3998
  });
4015
3999
  (_this$props$setTableW2 = (_this$props9 = this.props).setTableWidth) === null || _this$props$setTableW2 === void 0 ? void 0 : _this$props$setTableW2.call(_this$props9, this.domHelper.tableBody.clientWidth);
4016
4000
  (_this$props$setTableD = (_this$props10 = this.props).setTableDomHelper) === null || _this$props$setTableD === void 0 ? void 0 : _this$props$setTableD.call(_this$props10, this.domHelper);
@@ -4082,15 +4066,15 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4082
4066
 
4083
4067
  this.rootSubscription.add(Object(rxjs__WEBPACK_IMPORTED_MODULE_28__["combineLatest"])([richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (p) {
4084
4068
  return p.clipRect;
4085
- }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_39__["shallowEqual"])), this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["startWith"](null), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["pairwise"](), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["filter"](function (_ref2) {
4086
- var _ref3 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref2, 2),
4087
- prevProps = _ref3[0],
4088
- props = _ref3[1];
4069
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_39__["shallowEqual"])), this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["startWith"](null), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["pairwise"](), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["filter"](function (_ref) {
4070
+ var _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref, 2),
4071
+ prevProps = _ref2[0],
4072
+ props = _ref2[1];
4089
4073
 
4090
4074
  return prevProps == null || !prevProps.isLoading && props.isLoading;
4091
- }))]).subscribe(function (_ref4) {
4092
- var _ref5 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref4, 1),
4093
- clipRect = _ref5[0];
4075
+ }))]).subscribe(function (_ref3) {
4076
+ var _ref4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref3, 1),
4077
+ clipRect = _ref4[0];
4094
4078
 
4095
4079
  var loadingIndicator = _this2.domHelper.getLoadingIndicator();
4096
4080
 
@@ -4109,9 +4093,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4109
4093
  horizontal = _this2$lastInfo$useVi.horizontal,
4110
4094
  vertical = _this2$lastInfo$useVi.vertical;
4111
4095
  return horizontal || vertical;
4112
- }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref6) {
4113
- var clipRect = _ref6.clipRect,
4114
- offsetY = _ref6.offsetY;
4096
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref5) {
4097
+ var clipRect = _ref5.clipRect,
4098
+ offsetY = _ref5.offsetY;
4115
4099
  return {
4116
4100
  maxRenderHeight: clipRect.bottom - clipRect.top,
4117
4101
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -4128,9 +4112,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4128
4112
  })).subscribe(function (sizeAndOffset) {
4129
4113
  _this2.setState(sizeAndOffset);
4130
4114
  }));
4131
- this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref7) {
4132
- var clipRect = _ref7.clipRect,
4133
- offsetY = _ref7.offsetY;
4115
+ this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref6) {
4116
+ var clipRect = _ref6.clipRect,
4117
+ offsetY = _ref6.offsetY;
4134
4118
  return {
4135
4119
  maxRenderHeight: clipRect.bottom - clipRect.top,
4136
4120
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -4276,7 +4260,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4276
4260
  return BaseTable;
4277
4261
  }(react__WEBPACK_IMPORTED_MODULE_27___default.a.Component);
4278
4262
 
4279
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(BaseTable, "defaultProps", {
4263
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(BaseTable, "defaultProps", {
4280
4264
  hasHeader: true,
4281
4265
  isStickyHeader: true,
4282
4266
  stickyTop: 0,
@@ -4301,7 +4285,7 @@ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(Ba
4301
4285
  /*!*****************************************!*\
4302
4286
  !*** ./components/table/base/utils.tsx ***!
4303
4287
  \*****************************************/
4304
- /*! exports provided: STYLED_VERSION, STYLED_REF_PROP, OVERSCAN_SIZE, AUTO_VIRTUAL_THRESHOLD, sum, throttledWindowResize$, addResizeObserver, getScrollbarSize, syncScrollLeft, shallowEqual, composeRowPropsGetter, getTableScrollHeaderDOM, getTableScrollFooterDOM */
4288
+ /*! exports provided: STYLED_VERSION, STYLED_REF_PROP, OVERSCAN_SIZE, AUTO_VIRTUAL_THRESHOLD, sum, throttledWindowResize$, addResizeObserver, getScrollbarSize, syncScrollLeft, shallowEqual, composeRowPropsGetter, getTableScrollHeaderDOM, getTableScrollFooterDOM, cssPolifill */
4305
4289
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4306
4290
 
4307
4291
  "use strict";
@@ -4319,6 +4303,7 @@ __webpack_require__.r(__webpack_exports__);
4319
4303
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "composeRowPropsGetter", function() { return composeRowPropsGetter; });
4320
4304
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTableScrollHeaderDOM", function() { return getTableScrollHeaderDOM; });
4321
4305
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTableScrollFooterDOM", function() { return getTableScrollFooterDOM; });
4306
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssPolifill", function() { return cssPolifill; });
4322
4307
  /* 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");
4323
4308
  /* 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__);
4324
4309
  /* 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");
@@ -4357,8 +4342,10 @@ __webpack_require__.r(__webpack_exports__);
4357
4342
  /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
4358
4343
  /* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! resize-observer-polyfill */ "./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js");
4359
4344
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
4360
- /* harmony import */ var _utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/mergeCellProps */ "./components/table/utils/mergeCellProps.ts");
4361
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
4345
+ /* harmony import */ var css_vars_ponyfill__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! css-vars-ponyfill */ "./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js");
4346
+ /* harmony import */ var _utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/mergeCellProps */ "./components/table/utils/mergeCellProps.ts");
4347
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
4348
+ /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./styles */ "./components/table/base/styles.ts");
4362
4349
 
4363
4350
 
4364
4351
 
@@ -4389,6 +4376,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
4389
4376
 
4390
4377
 
4391
4378
 
4379
+
4380
+
4392
4381
  /** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
4393
4382
 
4394
4383
  var STYLED_VERSION = styled_components__WEBPACK_IMPORTED_MODULE_20__["createGlobalStyle"] != null ? 'v5' : 'v3';
@@ -4568,18 +4557,44 @@ function composeRowPropsGetter(getRowProps, pendingRowProps) {
4568
4557
 
4569
4558
  if (keys.length) {
4570
4559
  return function (row, rowIndex) {
4571
- return Object(_utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_21__["default"])(getRowProps(row, rowIndex), pendingRowProps);
4560
+ return Object(_utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_22__["default"])(getRowProps(row, rowIndex), pendingRowProps);
4572
4561
  };
4573
4562
  }
4574
4563
 
4575
4564
  return getRowProps;
4576
4565
  }
4577
4566
  function getTableScrollHeaderDOM(domHelper) {
4578
- return _utils__WEBPACK_IMPORTED_MODULE_22__["browserType"].isIE ? domHelper.tableHeaderMain : domHelper.tableHeader;
4567
+ return _utils__WEBPACK_IMPORTED_MODULE_23__["browserType"].isIE ? domHelper.tableHeaderMain : domHelper.tableHeader;
4579
4568
  }
4580
4569
  function getTableScrollFooterDOM(domHelper) {
4581
- return _utils__WEBPACK_IMPORTED_MODULE_22__["browserType"].isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
4570
+ return _utils__WEBPACK_IMPORTED_MODULE_23__["browserType"].isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
4582
4571
  }
4572
+ var cssPolifill = function cssPolifill(_ref) {
4573
+ var variables = _ref.variables,
4574
+ enableCSSVariables = _ref.enableCSSVariables,
4575
+ bordered = _ref.bordered;
4576
+
4577
+ if (enableCSSVariables === false) {
4578
+ return;
4579
+ }
4580
+
4581
+ var conditionCSSVariables = {}; // 默认情况下存在td、th无左右边框,开启`bordered`属性后才开启,否则隐藏这两种属性
4582
+
4583
+ if (!bordered) {
4584
+ conditionCSSVariables['--cell-border-vertical'] = 'none';
4585
+ conditionCSSVariables['--header-cell-border-vertical'] = 'none';
4586
+ }
4587
+
4588
+ Object(css_vars_ponyfill__WEBPACK_IMPORTED_MODULE_21__["default"])({
4589
+ // exclude: 'link[href*="semantic-ui"]',
4590
+ // onlyLegacy: false,
4591
+ // rootElement: rootElement,
4592
+ include: 'style[data-styled]',
4593
+ variables: _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({}, _styles__WEBPACK_IMPORTED_MODULE_24__["defaultCSSVariables"], variables, conditionCSSVariables),
4594
+ watch: true,
4595
+ silent: true
4596
+ });
4597
+ };
4583
4598
 
4584
4599
  /***/ }),
4585
4600
 
@@ -5246,7 +5261,7 @@ function columnDrag() {
5246
5261
  },
5247
5262
  headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(col.headerCellProps, {
5248
5263
  onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
5249
- if (e.button !== 0) {
5264
+ if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
5250
5265
  return;
5251
5266
  }
5252
5267
 
@@ -5272,6 +5287,8 @@ function columnDrag() {
5272
5287
  var currentTarget = e.currentTarget;
5273
5288
  var rect = e.currentTarget.parentElement.getClientRects()[0];
5274
5289
  var startX = rect.left;
5290
+ var mouseDownClientX = e.clientX;
5291
+ var mouseDownClientY = e.clientY;
5275
5292
  var moveData = [];
5276
5293
  var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_10__["collectNodes"])(columns);
5277
5294
  var tableBodyClientRect = tableBody.getBoundingClientRect();
@@ -5291,8 +5308,6 @@ function columnDrag() {
5291
5308
  }
5292
5309
  };
5293
5310
 
5294
- var stopClickPropagationFlag = false;
5295
-
5296
5311
  function handleMouseMove(e) {
5297
5312
  var client = {
5298
5313
  clientX: e.clientX,
@@ -5306,12 +5321,6 @@ function columnDrag() {
5306
5321
  if (e.clientX - leftPosition < 20) {
5307
5322
  return;
5308
5323
  } else {
5309
- // 阻止列头点击事件,防止拖动后触发列头过滤事件
5310
- if (stopClickPropagationFlag === false) {
5311
- stopClickPropagationFlag = true;
5312
- currentTarget.addEventListener('click', stopClickPropagation);
5313
- }
5314
-
5315
5324
  e.stopPropagation();
5316
5325
  }
5317
5326
 
@@ -5428,14 +5437,19 @@ function columnDrag() {
5428
5437
  }
5429
5438
 
5430
5439
  function handleMouseUp(e) {
5431
- e.stopPropagation();
5432
5440
  document.body.removeEventListener('mousemove', handleMouseMove);
5433
5441
  document.body.removeEventListener('mouseup', handleMouseUp);
5434
5442
  window.removeEventListener('selectstart', disableSelect);
5443
+
5444
+ if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
5445
+ e.stopPropagation(); // 存在移动就阻止冒泡
5446
+
5447
+ currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
5448
+ }
5449
+
5435
5450
  window.requestAnimationFrame(function () {
5436
5451
  // 取消阻止列头点击事件
5437
5452
  currentTarget.removeEventListener('click', stopClickPropagation);
5438
- stopClickPropagationFlag = false;
5439
5453
  currentTarget = null;
5440
5454
 
5441
5455
  var _moveData = moveData,
@@ -5553,6 +5567,17 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
5553
5567
  });
5554
5568
  }
5555
5569
 
5570
+ function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
5571
+ var xDiff = mouseUpClientX - mouseDownClientX;
5572
+ var yDiff = mouseUpClientY - mouseDownClientY; // 鼠标点按和松开的偏移量大于5px,认为存在移动
5573
+
5574
+ if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
5575
+ return true;
5576
+ }
5577
+
5578
+ return false;
5579
+ }
5580
+
5556
5581
  /***/ }),
5557
5582
 
5558
5583
  /***/ "./components/table/pipeline/features/columnFilter.tsx":
@@ -5668,7 +5693,7 @@ function filter() {
5668
5693
  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
5694
 
5670
5695
  if (filterable) {
5671
- var _col$features2, _result$title, _cx;
5696
+ var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
5672
5697
 
5673
5698
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5674
5699
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -5701,12 +5726,13 @@ function filter() {
5701
5726
  };
5702
5727
 
5703
5728
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
5729
+ 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
5730
  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
5731
  title: null
5706
5732
  }))])), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
5707
5733
  key: "filter",
5708
5734
  FilterPanelContent: filterPanel,
5709
- filterIcon: filterIcon,
5735
+ filterIcon: colFilterIcon,
5710
5736
  filterModel: inputFiltersMap.get(col.code),
5711
5737
  setFilterModel: handleFilterChanged,
5712
5738
  setFilter: setFilter,
@@ -5740,9 +5766,9 @@ function filter() {
5740
5766
 
5741
5767
  var columns = pipeline.getColumns();
5742
5768
  var columnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_20__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
5743
- var _col$features3, _col$features4;
5769
+ var _col$features4, _col$features5;
5744
5770
 
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;
5771
+ 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
5772
  }).map(function (col) {
5747
5773
  return [col.code, col];
5748
5774
  }));
@@ -5750,8 +5776,8 @@ function filter() {
5750
5776
  return [item.key, _objectSpread({}, item)];
5751
5777
  }));
5752
5778
 
5753
- function isMatchedFilterCondition(record, rowIndex) {
5754
- return !filtersKeys.some(function (key) {
5779
+ function isMatchedFilterCondition(record) {
5780
+ return filtersKeys.every(function (key) {
5755
5781
  var _columnsMap$get, _columnsMap$get$featu;
5756
5782
 
5757
5783
  var filterItem = inputFiltersMap.get(key);
@@ -5765,20 +5791,13 @@ function filter() {
5765
5791
  } else {
5766
5792
  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
5793
  comparisonFn = defaultFilterOptionsMap.get('contain').filter;
5768
- } // 不符合过滤条件,退出循环
5769
-
5794
+ }
5770
5795
 
5771
- return !comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, rowIndex), record);
5796
+ return comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, -1), record);
5772
5797
  });
5773
5798
  }
5774
5799
 
5775
- return dataSource.reduce(function (pre, record, rowIndex) {
5776
- if (isMatchedFilterCondition(record, rowIndex)) {
5777
- return pre.concat([record]);
5778
- }
5779
-
5780
- return pre;
5781
- }, []);
5800
+ return layeredFilter(dataSource, isMatchedFilterCondition);
5782
5801
  }
5783
5802
 
5784
5803
  pipeline.dataSource(processDataSource(dataSource));
@@ -5787,6 +5806,30 @@ function filter() {
5787
5806
  };
5788
5807
  }
5789
5808
 
5809
+ function layeredFilter(array, matchFn) {
5810
+ return dfs(array);
5811
+
5812
+ function dfs(rows) {
5813
+ var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5814
+ return rows.map(function (row) {
5815
+ var currentMatched = matchFn(row);
5816
+
5817
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(row)) {
5818
+ return (parentMatched || currentMatched) && _objectSpread({}, row);
5819
+ }
5820
+
5821
+ var children = row.children;
5822
+
5823
+ var rowAfterFilterChildren = _objectSpread(_objectSpread({}, row), {}, {
5824
+ children: dfs(children, parentMatched || currentMatched)
5825
+ });
5826
+
5827
+ var matchedByChildren = !Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(rowAfterFilterChildren);
5828
+ return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
5829
+ }).filter(Boolean);
5830
+ }
5831
+ }
5832
+
5790
5833
  /***/ }),
5791
5834
 
5792
5835
  /***/ "./components/table/pipeline/features/columnHover.tsx":
@@ -6069,7 +6112,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6069
6112
 
6070
6113
 
6071
6114
 
6072
- var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n background-color: var(--border-color);\n }\n"])));
6115
+ var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
6073
6116
  var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_11__["default"])(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6074
6117
 
6075
6118
  function clamp(min, x, max) {
@@ -6720,6 +6763,7 @@ __webpack_require__.r(__webpack_exports__);
6720
6763
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
6721
6764
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./util */ "./components/table/pipeline/features/filter/util.tsx");
6722
6765
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
6766
+ /* harmony import */ var _utils_keyCode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../utils/keyCode */ "./components/table/utils/keyCode.ts");
6723
6767
 
6724
6768
 
6725
6769
 
@@ -6734,6 +6778,7 @@ var _templateObject;
6734
6778
 
6735
6779
 
6736
6780
 
6781
+
6737
6782
  var DefaultFilterContentStyle = styled_components__WEBPACK_IMPORTED_MODULE_7__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n display: flex;\n flex-direction: column;\n background-color: #ffffff;\n border-radius: 2px;\n width: 100%;\n\n ", "\n .filter-option-list {\n display: flex;\n flex-direction: column;\n margin-top: 8px;\n ul {\n margin: 0;\n padding: 0;\n li {\n display: flex;\n position: relative;\n flex-shrink: 0;\n height: 32px;\n align-items: center;\n border-radius: 2px;\n font-size: 12px;\n color: var(--color);\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n &:hover{\n background-color: var(--primary-color-level1);\n }\n }\n li.active{\n background-color: var(--primary-color-level1);\n }\n }\n }\n\n .filter-search {\n display: flex;\n padding: 6px 12px;\n\n .filter-search-inner {\n width: 100%;\n font-size: 12px;\n color: #333333;\n height: 28px;\n line-height: 28px;\n padding: 0 8px;\n outline: none;\n background-color: #FAFAFA;\n border-radius: 2px;\n border: 1px solid var(--strong-border-color);\n &:hover{\n border-color: var(--primary-color)\n } \n &:focus{\n border-color: var(--primary-color)\n } \n }\n }\n\n .filter-footer {\n display: flex;\n flex-direction: row;\n padding: 8px 12px;\n justify-content: space-between;\n\n .filter-btn {\n text-align: center;\n font-size: 12px;\n width: 60px;\n height: 24px;\n line-height: 24px;\n }\n \n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_10__["ButtonCSS"]);
6738
6783
 
6739
6784
  function DefaultFilterContent(_ref) {
@@ -6753,6 +6798,7 @@ function DefaultFilterContent(_ref) {
6753
6798
  innerValue = _React$useState4[0],
6754
6799
  setInnerValue = _React$useState4[1];
6755
6800
 
6801
+ var inputRef = Object(react__WEBPACK_IMPORTED_MODULE_6__["useRef"])();
6756
6802
  var handleClick = react__WEBPACK_IMPORTED_MODULE_6___default.a.useCallback(function (option) {
6757
6803
  setSelectedValue(option.key);
6758
6804
  }, []);
@@ -6770,10 +6816,26 @@ function DefaultFilterContent(_ref) {
6770
6816
  });
6771
6817
  };
6772
6818
 
6819
+ var handleKeyDown = function handleKeyDown(e) {
6820
+ if (e.keyCode === _utils_keyCode__WEBPACK_IMPORTED_MODULE_11__["default"].ENTER) {
6821
+ confirm();
6822
+ }
6823
+ };
6824
+
6773
6825
  Object(react__WEBPACK_IMPORTED_MODULE_6__["useEffect"])(function () {
6774
6826
  setSelectedValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain');
6775
6827
  setInnerValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filter) || '');
6776
6828
  }, [filterModel]);
6829
+ Object(react__WEBPACK_IMPORTED_MODULE_6__["useEffect"])(function () {
6830
+ // 兼容设置焦点后发生滚动
6831
+ setTimeout(function () {
6832
+ var _inputRef$current;
6833
+
6834
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
6835
+ preventScroll: true
6836
+ });
6837
+ });
6838
+ }, []);
6777
6839
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
6778
6840
  className: "filter-option-list"
6779
6841
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("ul", null, _util__WEBPACK_IMPORTED_MODULE_9__["DEFAULT_FILTER_OPTIONS"].map(function (option, index) {
@@ -6795,7 +6857,9 @@ function DefaultFilterContent(_ref) {
6795
6857
  value: innerValue,
6796
6858
  onChange: function onChange(e) {
6797
6859
  setInnerValue(e.target.value);
6798
- }
6860
+ },
6861
+ onKeyDown: handleKeyDown,
6862
+ ref: inputRef
6799
6863
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
6800
6864
  className: "filter-footer"
6801
6865
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
@@ -6815,6 +6879,41 @@ function DefaultFilterContent(_ref) {
6815
6879
 
6816
6880
  /***/ }),
6817
6881
 
6882
+ /***/ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx":
6883
+ /*!*************************************************************************!*\
6884
+ !*** ./components/table/pipeline/features/filter/DefaultFilterIcon.tsx ***!
6885
+ \*************************************************************************/
6886
+ /*! exports provided: default */
6887
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6888
+
6889
+ "use strict";
6890
+ __webpack_require__.r(__webpack_exports__);
6891
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DefaultFilterIcon; });
6892
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6893
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6894
+
6895
+ function DefaultFilterIcon(_ref) {
6896
+ var width = _ref.width,
6897
+ height = _ref.height;
6898
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", {
6899
+ width: width,
6900
+ height: height,
6901
+ style: {
6902
+ verticalAlign: 'middle'
6903
+ },
6904
+ viewBox: "0 0 1024 1024",
6905
+ focusable: "false",
6906
+ "data-icon": "filter",
6907
+ fill: "currentColor",
6908
+ version: "1.1",
6909
+ xmlns: "http://www.w3.org/2000/svg"
6910
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", {
6911
+ 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"
6912
+ }));
6913
+ }
6914
+
6915
+ /***/ }),
6916
+
6818
6917
  /***/ "./components/table/pipeline/features/filter/Filter.tsx":
6819
6918
  /*!**************************************************************!*\
6820
6919
  !*** ./components/table/pipeline/features/filter/Filter.tsx ***!
@@ -6838,10 +6937,11 @@ __webpack_require__.r(__webpack_exports__);
6838
6937
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
6839
6938
  /* harmony import */ var _FilterPanel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FilterPanel */ "./components/table/pipeline/features/filter/FilterPanel.tsx");
6840
6939
  /* harmony import */ var _DefaultFilterContent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DefaultFilterContent */ "./components/table/pipeline/features/filter/DefaultFilterContent.tsx");
6841
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
6842
- /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
6843
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
6844
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
6940
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
6941
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
6942
+ /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
6943
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
6944
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_12__);
6845
6945
 
6846
6946
 
6847
6947
 
@@ -6857,7 +6957,8 @@ var _templateObject;
6857
6957
 
6858
6958
 
6859
6959
 
6860
- var HEADER_ICON_OFFSET_Y = 6 + 1; // padding-top + border
6960
+
6961
+ var HEADER_ICON_OFFSET_Y = 8 + 1; // padding-top + border
6861
6962
 
6862
6963
  var HEADER_ICON_OFFSET_X = 16 + 1; // padding-left+ border
6863
6964
 
@@ -6870,7 +6971,7 @@ function Panel(_ref) {
6870
6971
  renderPanelContent = _ref.renderPanelContent;
6871
6972
  var filterPanelRef = react__WEBPACK_IMPORTED_MODULE_3___default.a.useRef(null);
6872
6973
 
6873
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6974
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_10__["calculatePopupRelative"])(ele, document.body, {
6874
6975
  x: HEADER_ICON_OFFSET_X,
6875
6976
  y: HEADER_ICON_OFFSET_Y
6876
6977
  })),
@@ -6884,14 +6985,14 @@ function Panel(_ref) {
6884
6985
  };
6885
6986
 
6886
6987
  var handleFilterPanelResize = function handleFilterPanelResize(resize) {
6887
- setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6988
+ setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_10__["calculatePopupRelative"])(ele, document.body, {
6888
6989
  x: HEADER_ICON_OFFSET_X,
6889
6990
  y: HEADER_ICON_OFFSET_Y
6890
6991
  }));
6891
6992
  };
6892
6993
 
6893
6994
  Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(function () {
6894
- var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_10__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
6995
+ var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_11__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
6895
6996
  return function () {
6896
6997
  resizeObserver && resizeObserver.disconnect();
6897
6998
  };
@@ -6932,10 +7033,6 @@ function Filter(_ref2) {
6932
7033
  return setShowPanel(false);
6933
7034
  };
6934
7035
 
6935
- var handleMouseDown = function handleMouseDown(e) {
6936
- e.stopPropagation(); // 阻止触发拖拽
6937
- };
6938
-
6939
7036
  var renderPanelContent = function renderPanelContent() {
6940
7037
  if (FilterPanelContent) {
6941
7038
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterPanelContent, {
@@ -6955,6 +7052,12 @@ function Filter(_ref2) {
6955
7052
  };
6956
7053
 
6957
7054
  var handleIconClick = function handleIconClick(e) {
7055
+ // 只有当icon区域点击会触发面板展开
7056
+ // 防止 createPortal 区域的点击触发该事件
7057
+ if (!e.currentTarget.contains(e.target)) {
7058
+ return;
7059
+ }
7060
+
6958
7061
  if (stopClickEventPropagation) {
6959
7062
  e.stopPropagation();
6960
7063
  }
@@ -6962,28 +7065,21 @@ function Filter(_ref2) {
6962
7065
  setShowPanel(true);
6963
7066
  };
6964
7067
 
6965
- 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));
7068
+ 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));
7069
+ var displayFilterIcon = typeof filterIcon === 'function' ? filterIcon(isFilterActive) : filterIcon;
6966
7070
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterIconSpanStyle, {
6967
7071
  style: style,
6968
7072
  className: iconClassName,
6969
- onMouseDown: handleMouseDown,
6970
- ref: iconRef
6971
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", {
6972
- className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].filterIcon,
6973
7073
  onClick: handleIconClick
6974
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
7074
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", {
7075
+ ref: iconRef,
7076
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].filterIcon
7077
+ }, displayFilterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_9__["default"], {
6975
7078
  width: size,
6976
- height: size,
6977
- viewBox: "64 64 896 896",
6978
- focusable: "false",
6979
- "data-icon": "filter",
6980
- fill: "currentColor",
6981
- "aria-hidden": "true"
6982
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
6983
- 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"
6984
- }))), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
7079
+ height: size
7080
+ })), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
6985
7081
  ele: iconRef.current,
6986
- filterIcon: filterIcon,
7082
+ filterIcon: displayFilterIcon,
6987
7083
  hidePanel: hidePanel,
6988
7084
  renderPanelContent: renderPanelContent
6989
7085
  }), document.body));
@@ -7026,6 +7122,7 @@ __webpack_require__.r(__webpack_exports__);
7026
7122
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
7027
7123
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
7028
7124
  /* harmony import */ var _utils___WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../utils/ */ "./components/table/utils/index.tsx");
7125
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
7029
7126
 
7030
7127
 
7031
7128
 
@@ -7046,7 +7143,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7046
7143
 
7047
7144
 
7048
7145
 
7049
- 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"])));
7146
+
7147
+ 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"])));
7050
7148
 
7051
7149
  var useWindowEvents = function useWindowEvents(func, evens) {
7052
7150
  react__WEBPACK_IMPORTED_MODULE_10___default.a.useEffect(function () {
@@ -7088,31 +7186,36 @@ function FilterPanel(_ref) {
7088
7186
  setPerfectPosition(Object(_utils___WEBPACK_IMPORTED_MODULE_12__["keepWithinBounds"])(document.body, ref.current, position.x, position.y, true));
7089
7187
  setVisible(true);
7090
7188
  }, [position]);
7189
+ var hasPopupMouseEvent = Object(react__WEBPACK_IMPORTED_MODULE_10__["useRef"])(false);
7190
+
7191
+ var handleMouseEvent = function handleMouseEvent() {
7192
+ // 当弹出的过滤面板内部发生鼠标按下、抬起事件时,标记当前事件,并在click捕获期清除标记,用来确定鼠标按下、抬起发生在过滤面板内部
7193
+ // 利用了React.createPortal冒泡是根据React Tree的特性:
7194
+ // https://jwwnz.medium.com/react-portals-and-event-bubbling-8df3e35ca3f1
7195
+ hasPopupMouseEvent.current = true;
7196
+ };
7197
+
7091
7198
  useWindowEvents(function (e) {
7092
- return !isContainPanel(e) && onClose();
7093
- }, ['mousedown']);
7199
+ !isContainPanel(e) && !hasPopupMouseEvent.current && onClose();
7200
+ hasPopupMouseEvent.current = false;
7201
+ }, ['click']);
7094
7202
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(FilterPanelStyle, {
7095
7203
  style: _objectSpread(_objectSpread({}, style), {}, {
7096
7204
  left: visible ? perfectPosition.x : 0,
7097
7205
  top: visible ? perfectPosition.y : 0,
7098
7206
  opacity: visible ? 1 : 0
7099
7207
  }),
7208
+ onMouseDown: handleMouseEvent,
7209
+ onMouseUp: handleMouseEvent,
7100
7210
  ref: ref
7101
7211
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7102
7212
  className: 'popup-header'
7103
7213
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("span", {
7104
7214
  className: 'popup-header-icon'
7105
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("svg", {
7106
- width: 14,
7107
- height: 14,
7108
- viewBox: "64 64 896 896",
7109
- focusable: "false",
7110
- "data-icon": "filter",
7111
- fill: "currentColor",
7112
- "aria-hidden": "true"
7113
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("path", {
7114
- 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"
7115
- })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7215
+ }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__["default"], {
7216
+ width: 12,
7217
+ height: 12
7218
+ }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7116
7219
  className: "popup-body"
7117
7220
  }, children));
7118
7221
  }
@@ -7178,7 +7281,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7178
7281
  data = data + '';
7179
7282
  }
7180
7283
 
7181
- return data.includes(value);
7284
+ return data.includes(value[0]);
7182
7285
  };
7183
7286
  }
7184
7287
  }, {
@@ -7194,7 +7297,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7194
7297
  data = data + '';
7195
7298
  }
7196
7299
 
7197
- return !data.includes(value);
7300
+ return !data.includes(value[0]);
7198
7301
  };
7199
7302
  }
7200
7303
  }, {
@@ -7202,7 +7305,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7202
7305
  key: 'equal',
7203
7306
  filter: function filter(value) {
7204
7307
  return function (data) {
7205
- return value !== data;
7308
+ return value[0] === data;
7206
7309
  };
7207
7310
  }
7208
7311
  }, {
@@ -7210,7 +7313,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7210
7313
  key: 'notEqual',
7211
7314
  filter: function filter(value) {
7212
7315
  return function (data) {
7213
- return value !== data;
7316
+ return value[0] !== data;
7214
7317
  };
7215
7318
  }
7216
7319
  }, {
@@ -7232,13 +7335,83 @@ var DEFAULT_FILTER_OPTIONS = [{
7232
7335
  }];
7233
7336
 
7234
7337
 
7338
+ /***/ }),
7339
+
7340
+ /***/ "./components/table/pipeline/features/footerDataSource.ts":
7341
+ /*!****************************************************************!*\
7342
+ !*** ./components/table/pipeline/features/footerDataSource.ts ***!
7343
+ \****************************************************************/
7344
+ /*! exports provided: footerRowMetaSymbol, footerDataSource */
7345
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7346
+
7347
+ "use strict";
7348
+ __webpack_require__.r(__webpack_exports__);
7349
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return footerRowMetaSymbol; });
7350
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return footerDataSource; });
7351
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
7352
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
7353
+ /* 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");
7354
+ /* 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__);
7355
+ /* 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");
7356
+ /* 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__);
7357
+ /* 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");
7358
+ /* 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__);
7359
+ /* 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");
7360
+ /* 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__);
7361
+ /* 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");
7362
+ /* 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__);
7363
+ /* 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");
7364
+ /* 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__);
7365
+ /* 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");
7366
+ /* 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__);
7367
+ /* 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");
7368
+ /* 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__);
7369
+ /* 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");
7370
+ /* 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__);
7371
+
7372
+
7373
+ 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; }
7374
+
7375
+ 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; }
7376
+
7377
+
7378
+
7379
+
7380
+
7381
+
7382
+
7383
+
7384
+
7385
+
7386
+ var footerRowMetaSymbol = Symbol('footer-row');
7387
+ function footerDataSource() {
7388
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7389
+ return function footerDataSourceStep(pipeline) {
7390
+ var _opts$dataSource, _opts$footerRowMetaKe;
7391
+
7392
+ var footerDataSource = (_opts$dataSource = opts.dataSource) !== null && _opts$dataSource !== void 0 ? _opts$dataSource : pipeline.getFooterDataSource();
7393
+ var footerRowMetaKey = (_opts$footerRowMetaKe = opts.footerRowMetaKey) !== null && _opts$footerRowMetaKe !== void 0 ? _opts$footerRowMetaKe : footerRowMetaSymbol;
7394
+ pipeline.setFeatureOptions('footerRowMetaKey', footerRowMetaKey);
7395
+
7396
+ if (footerDataSource) {
7397
+ pipeline.footerDataSource(footerDataSource.map(function (row) {
7398
+ return _objectSpread(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, footerRowMetaKey, true), row);
7399
+ }));
7400
+ } else {
7401
+ console.warn('调用 pipeline.use(features.footerDataSource()) 前请先设置页脚数据源,设置方法有:pipeline.use(features.footerDataSource({dataSource:any[]})) 或者 pipeline.footerDataSource(any[])');
7402
+ }
7403
+
7404
+ return pipeline;
7405
+ };
7406
+ }
7407
+
7235
7408
  /***/ }),
7236
7409
 
7237
7410
  /***/ "./components/table/pipeline/features/index.ts":
7238
7411
  /*!*****************************************************!*\
7239
7412
  !*** ./components/table/pipeline/features/index.ts ***!
7240
7413
  \*****************************************************/
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 */
7414
+ /*! 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
7415
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7243
7416
 
7244
7417
  "use strict";
@@ -7327,6 +7500,14 @@ __webpack_require__.r(__webpack_exports__);
7327
7500
  /* harmony import */ var _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./mergeCellHover */ "./components/table/pipeline/features/mergeCellHover.tsx");
7328
7501
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__["mergeCellHover"]; });
7329
7502
 
7503
+ /* harmony import */ var _footerDataSource__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./footerDataSource */ "./components/table/pipeline/features/footerDataSource.ts");
7504
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerDataSource"]; });
7505
+
7506
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FooterDataSourceFeatureOptions", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["FooterDataSourceFeatureOptions"]; });
7507
+
7508
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerRowMetaSymbol"]; });
7509
+
7510
+
7330
7511
 
7331
7512
 
7332
7513
 
@@ -7526,7 +7707,8 @@ function multiSelect() {
7526
7707
  /** 所有有效的 keys(disable 状态为 false) */
7527
7708
 
7528
7709
  var allKeys = [];
7529
- dataSource.forEach(function (row, rowIndex) {
7710
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7711
+ flatDataSource.forEach(function (row, rowIndex) {
7530
7712
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7531
7713
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7532
7714
 
@@ -7592,6 +7774,10 @@ function multiSelect() {
7592
7774
  return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7593
7775
  },
7594
7776
  render: function render(_, row, rowIndex) {
7777
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
7778
+ return null;
7779
+ }
7780
+
7595
7781
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7596
7782
  var checked = set.has(key);
7597
7783
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
@@ -7700,13 +7886,13 @@ function multiSelect() {
7700
7886
  /*!***************************************************************!*\
7701
7887
  !*** ./components/table/pipeline/features/rangeSelection.tsx ***!
7702
7888
  \***************************************************************/
7703
- /*! exports provided: rangeSelectionKey, lastClickCell, rangeSelection */
7889
+ /*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection */
7704
7890
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7705
7891
 
7706
7892
  "use strict";
7707
7893
  __webpack_require__.r(__webpack_exports__);
7708
7894
  /* 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; });
7895
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCellKey", function() { return lastClickCellKey; });
7710
7896
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelection", function() { return rangeSelection; });
7711
7897
  /* 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
7898
  /* 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 +7946,42 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7760
7946
 
7761
7947
 
7762
7948
  var rangeSelectionKey = 'rangeSelection';
7763
- var lastClickCell = 'lastClickCell';
7949
+ var lastClickCellKey = 'lastClickCell';
7764
7950
  function rangeSelection(opts) {
7765
7951
  return function step(pipeline) {
7766
7952
  var SCROLL_SIZE = 30;
7767
7953
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
7954
+ var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
7768
7955
 
7769
7956
  if (!tableBody) {
7770
7957
  return pipeline;
7771
7958
  }
7772
7959
 
7773
7960
  var columns = pipeline.getColumns();
7961
+ var dataSource = pipeline.getDataSource();
7774
7962
 
7775
7963
  var rangeSelectedChange = function rangeSelectedChange(rangeSelection) {
7776
7964
  var _opts$rangeSelectedCh;
7777
7965
 
7778
7966
  pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
7779
7967
  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
-
7968
+ };
7787
7969
 
7788
7970
  var setRangeSelection = function setRangeSelection(startDragCell, draggingCell) {
7789
- if (!startDragCell || !draggingCell || isSameCell(startDragCell, draggingCell)) return;
7971
+ if (!startDragCell || !draggingCell) return;
7790
7972
  var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
7791
- var isTopToBottom = startDragCell.rowIndex <= draggingCell.rowIndex;
7973
+
7974
+ var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
7975
+ startRow = _getRangeSelectionRow.startRow,
7976
+ endRow = _getRangeSelectionRow.endRow,
7977
+ footerRowRange = _getRangeSelectionRow.footerRowRange;
7978
+
7792
7979
  var rangeSelection = {
7793
- startRow: isTopToBottom ? startDragCell.rowIndex : startDragCell.rowIndex + startDragCell.rowSpan - 1,
7794
- endRow: isTopToBottom ? draggingCell.rowIndex + draggingCell.rowSpan - 1 : draggingCell.rowIndex,
7980
+ startRow: startRow,
7981
+ endRow: endRow,
7795
7982
  columns: rangeColumns,
7796
- startColumn: startDragCell.column
7983
+ startColumn: startDragCell.column,
7984
+ footerRowRange: footerRowRange
7797
7985
  };
7798
7986
  rangeSelectedChange(rangeSelection);
7799
7987
  };
@@ -7804,23 +7992,23 @@ function rangeSelection(opts) {
7804
7992
 
7805
7993
  if (clickCell) {
7806
7994
  if (event.shiftKey) {
7807
- var _lastClickCell = pipeline.getStateAtKey(lastClickCell);
7995
+ var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
7808
7996
 
7809
7997
  if (_lastClickCell) {
7810
7998
  setRangeSelection(_lastClickCell, clickCell);
7811
7999
  } else {
7812
8000
  // 第一次进来就按住shift键,这时候要记住点击的单元格
7813
- pipeline.setStateAtKey(lastClickCell, clickCell);
8001
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7814
8002
  }
7815
8003
  } else {
7816
- pipeline.setStateAtKey(lastClickCell, clickCell);
7817
- rangeSelectedChange(null);
8004
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
8005
+ setRangeSelection(clickCell, clickCell);
7818
8006
  }
7819
8007
  }
7820
8008
  };
7821
8009
 
7822
8010
  var onMouseDown = function onMouseDown(mouseDownEvent) {
7823
- if (mouseDownEvent.button !== 0 || !Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent)) return; // mouseDownEvent.preventDefault()
8011
+ 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
8012
  // shift + 点击选中
7825
8013
 
7826
8014
  shiftKeySelect(mouseDownEvent);
@@ -7876,10 +8064,11 @@ function rangeSelection(opts) {
7876
8064
  };
7877
8065
 
7878
8066
  var onKeyDown = function onKeyDown(e) {
7879
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent)) return;
8067
+ if (!(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableFooter, e.nativeEvent))) return;
7880
8068
 
7881
8069
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
7882
8070
  var rowLen = pipeline.getDataSource().length;
8071
+ var footerDataSource = pipeline.getFooterDataSource() || [];
7883
8072
 
7884
8073
  if (columns.length && rowLen) {
7885
8074
  opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
@@ -7887,7 +8076,11 @@ function rangeSelection(opts) {
7887
8076
  startRow: 0,
7888
8077
  endRow: rowLen - 1,
7889
8078
  columns: columns,
7890
- startColumn: columns[0]
8079
+ startColumn: columns[0],
8080
+ footerRowRange: footerDataSource.length > 0 ? {
8081
+ startRow: 0,
8082
+ endRow: footerDataSource.length - 1
8083
+ } : null
7891
8084
  });
7892
8085
  }
7893
8086
  }
@@ -7896,7 +8089,8 @@ function rangeSelection(opts) {
7896
8089
  pipeline.addTableProps({
7897
8090
  onMouseDown: onMouseDown,
7898
8091
  onKeyDown: onKeyDown,
7899
- tabIndex: -1
8092
+ tabIndex: -1,
8093
+ className: classnames__WEBPACK_IMPORTED_MODULE_16___default()([_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].rangeSelection])
7900
8094
  }); // todo: 后面可以把mousedown放到一个流里面
7901
8095
 
7902
8096
  return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["makeRecursiveMapper"])(function (col) {
@@ -7910,15 +8104,29 @@ function rangeSelection(opts) {
7910
8104
  var _cx;
7911
8105
 
7912
8106
  var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
8107
+ var isInFooter = record[pipeline.getFeatureOptions('footerRowMetaKey')];
7913
8108
  var startRow = rangeSelection.startRow,
7914
8109
  endRow = rangeSelection.endRow,
7915
- columns = rangeSelection.columns;
7916
- var startIndex = startRow < endRow ? startRow : endRow;
7917
- var endIndex = startRow < endRow ? endRow : startRow;
8110
+ columns = rangeSelection.columns,
8111
+ footerRowRange = rangeSelection.footerRowRange;
8112
+
8113
+ var _getRowIndex = getRowIndex(startRow, endRow),
8114
+ startRowIndex = _getRowIndex.startRowIndex,
8115
+ endRowIndex = _getRowIndex.endRowIndex;
8116
+
8117
+ var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
8118
+ footerStartRowIndex = _getFooterRowIndex.startRowIndex,
8119
+ footerEndRowIndex = _getFooterRowIndex.endRowIndex;
8120
+
7918
8121
  var startCol = columns[0];
7919
8122
  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));
8123
+ var bodyMatch = !isInFooter && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
8124
+ var footerMatch = isInFooter && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
8125
+ var match = footerMatch || bodyMatch;
8126
+ var matchSingleCell = match && isCellRangeSingleCell(rangeSelection); // 单个范围选中单元格不显示样式
8127
+
8128
+ var showCellRangeStyle = match && !matchSingleCell;
8129
+ 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
8130
  return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["mergeCellProps"])(prevCellProps, {
7923
8131
  className: className
7924
8132
  });
@@ -7944,7 +8152,8 @@ function getTargetCell(target, columns) {
7944
8152
  rowIndex: parseInt(target.getAttribute('data-rowindex')),
7945
8153
  rowSpan: parseInt(target.getAttribute('rowspan') || 1),
7946
8154
  code: columnCode,
7947
- column: column
8155
+ column: column,
8156
+ isInFooter: isEleInFooter(target)
7948
8157
  }
7949
8158
  };
7950
8159
  }();
@@ -7959,7 +8168,19 @@ function getTargetCell(target, columns) {
7959
8168
  }
7960
8169
 
7961
8170
  function isSameCell(cell1, cell2) {
7962
- return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code;
8171
+ return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isInFooter === cell2.isInFooter;
8172
+ }
8173
+
8174
+ function isEleInFooter(target) {
8175
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].artTable)) {
8176
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableFooter)) {
8177
+ return true;
8178
+ }
8179
+
8180
+ target = target.parentElement;
8181
+ }
8182
+
8183
+ return false;
7963
8184
  }
7964
8185
 
7965
8186
  function getRangeColumns(startCell, endCell, columns) {
@@ -7978,6 +8199,99 @@ function getRangeColumns(startCell, endCell, columns) {
7978
8199
  }
7979
8200
  }
7980
8201
 
8202
+ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
8203
+ var footerRowRange = null;
8204
+ var startRow = -1;
8205
+ var endRow = -1;
8206
+
8207
+ var _getCellRangeRow = getCellRangeRow(startCell, endCell),
8208
+ _startRow = _getCellRangeRow.startRow,
8209
+ _endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
8210
+
8211
+
8212
+ if (!startCell.isInFooter && !endCell.isInFooter) {
8213
+ startRow = _startRow;
8214
+ endRow = _endRow;
8215
+ } else if (startCell.isInFooter && endCell.isInFooter) {
8216
+ // 两个单元格都在表底
8217
+ footerRowRange = {
8218
+ startRow: _startRow,
8219
+ endRow: _endRow
8220
+ };
8221
+ } else {
8222
+ // 一个单元格在表体,一个在表底
8223
+ if (startCell.isInFooter) {
8224
+ startRow = dataSource.length - 1;
8225
+ endRow = endCell.rowIndex;
8226
+ footerRowRange = {
8227
+ startRow: startCell.rowIndex,
8228
+ endRow: 0
8229
+ };
8230
+ } else {
8231
+ startRow = startCell.rowIndex;
8232
+ endRow = dataSource.length - 1;
8233
+ footerRowRange = {
8234
+ startRow: 0,
8235
+ endRow: endCell.rowIndex
8236
+ };
8237
+ }
8238
+ }
8239
+
8240
+ return {
8241
+ startRow: startRow,
8242
+ endRow: endRow,
8243
+ footerRowRange: footerRowRange
8244
+ };
8245
+ }
8246
+
8247
+ function getCellRangeRow(startCell, endCell) {
8248
+ if (isSameCell(startCell, endCell)) {
8249
+ return {
8250
+ startRow: startCell.rowIndex,
8251
+ endRow: startCell.rowIndex
8252
+ };
8253
+ }
8254
+
8255
+ var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
8256
+ var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
8257
+ var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
8258
+ return {
8259
+ startRow: startRow,
8260
+ endRow: endRow
8261
+ };
8262
+ }
8263
+
8264
+ function isCellRangeSingleCell(rangeSelection) {
8265
+ var startRow = rangeSelection.startRow,
8266
+ endRow = rangeSelection.endRow,
8267
+ columns = rangeSelection.columns,
8268
+ footerRowRange = rangeSelection.footerRowRange;
8269
+ var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
8270
+ var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
8271
+ return isBodySingleCell || isFooterSingleCell;
8272
+ }
8273
+
8274
+ function getRowIndex(startRow, endRow) {
8275
+ var isReverse = startRow > endRow;
8276
+ var startRowIndex = isReverse ? endRow : startRow;
8277
+ var endRowIndex = isReverse ? startRow : endRow;
8278
+ return {
8279
+ startRowIndex: startRowIndex,
8280
+ endRowIndex: endRowIndex
8281
+ };
8282
+ }
8283
+
8284
+ function getFooterRowIndex(footerRowRange) {
8285
+ if (footerRowRange) {
8286
+ return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
8287
+ }
8288
+
8289
+ return {
8290
+ startRowIndex: -1,
8291
+ endRowIndex: -1
8292
+ };
8293
+ }
8294
+
7981
8295
  /***/ }),
7982
8296
 
7983
8297
  /***/ "./components/table/pipeline/features/rowDetail.tsx":
@@ -8702,6 +9016,10 @@ function singleSelect() {
8702
9016
  return preCellProps;
8703
9017
  },
8704
9018
  render: function render(_, row, rowIndex) {
9019
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
9020
+ return null;
9021
+ }
9022
+
8705
9023
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_10__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8706
9024
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Radio, {
8707
9025
  checked: value === rowKey,
@@ -9290,24 +9608,24 @@ function tips() {
9290
9608
  __webpack_require__.r(__webpack_exports__);
9291
9609
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMetaSymbol", function() { return treeMetaSymbol; });
9292
9610
  /* 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__);
9611
+ /* 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");
9612
+ /* 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__);
9613
+ /* 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");
9614
+ /* 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__);
9615
+ /* 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");
9616
+ /* 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__);
9617
+ /* 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");
9618
+ /* 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__);
9619
+ /* 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");
9620
+ /* 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__);
9621
+ /* 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");
9622
+ /* 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__);
9623
+ /* 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");
9624
+ /* 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__);
9625
+ /* 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");
9626
+ /* 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__);
9627
+ /* 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");
9628
+ /* 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
9629
  /* 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
9630
  /* 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
9631
  /* 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 +9648,8 @@ __webpack_require__.r(__webpack_exports__);
9330
9648
  /* 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
9649
  /* 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
9650
  /* 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__);
9651
+ /* 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");
9652
+ /* 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
9653
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9336
9654
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_21__);
9337
9655
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! react */ "react");
@@ -9387,11 +9705,6 @@ function treeMode() {
9387
9705
  var stateKey = 'treeMode';
9388
9706
  var ctx = pipeline.ctx;
9389
9707
  var primaryKey = pipeline.ensurePrimaryKey('treeMode');
9390
-
9391
- if (typeof primaryKey !== 'string') {
9392
- throw new Error('treeMode 仅支持字符串作为 primaryKey');
9393
- }
9394
-
9395
9708
  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
9709
  var openKeySet = new Set(openKeys);
9397
9710
 
@@ -9444,7 +9757,7 @@ function treeMode() {
9444
9757
  try {
9445
9758
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
9446
9759
  var _node = _step.value;
9447
- var rowKey = _node[primaryKey];
9760
+ var rowKey = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetRowKey(primaryKey, _node, -1);
9448
9761
  var expanded = openKeySet.has(rowKey);
9449
9762
  var isLeaf = isLeafNode(_node, {
9450
9763
  depth: depth,
@@ -9478,12 +9791,15 @@ function treeMode() {
9478
9791
  return columns;
9479
9792
  }
9480
9793
 
9481
- var _columns = _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default()(columns),
9482
- firstCol = _columns[0],
9483
- others = _columns.slice(1);
9794
+ var expandColIndex = columns.findIndex(function (_ref3) {
9795
+ var code = _ref3.code;
9796
+ return code && opts.expandColCode === code;
9797
+ });
9798
+ expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
9799
+ var expandCol = columns[expandColIndex];
9484
9800
 
9485
9801
  var render = function render(value, record, recordIndex) {
9486
- var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(firstCol, record, recordIndex);
9802
+ var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(expandCol, record, recordIndex);
9487
9803
 
9488
9804
  if (record[treeMetaKey] == null) {
9489
9805
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
@@ -9543,7 +9859,7 @@ function treeMode() {
9543
9859
  };
9544
9860
 
9545
9861
  var getCellProps = function getCellProps(value, record, rowIndex) {
9546
- var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(firstCol, record, rowIndex);
9862
+ var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(expandCol, record, rowIndex);
9547
9863
 
9548
9864
  if (record[treeMetaKey] == null) {
9549
9865
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
@@ -9572,15 +9888,16 @@ function treeMode() {
9572
9888
  });
9573
9889
  };
9574
9890
 
9575
- return [_objectSpread(_objectSpread({}, firstCol), {}, {
9891
+ columns[expandColIndex] = _objectSpread(_objectSpread({}, expandCol), {}, {
9576
9892
  title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement("span", {
9577
9893
  style: {
9578
9894
  marginLeft: iconIndent + iconWidth + iconGap
9579
9895
  }
9580
- }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(firstCol)),
9896
+ }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(expandCol)),
9581
9897
  render: render,
9582
- getCellProps: clickArea === 'cell' ? getCellProps : firstCol.getCellProps
9583
- })].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(others));
9898
+ getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps
9899
+ });
9900
+ return _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(columns);
9584
9901
  }
9585
9902
  };
9586
9903
  }
@@ -9852,6 +10169,7 @@ __webpack_require__.r(__webpack_exports__);
9852
10169
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_15__);
9853
10170
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
9854
10171
  /* harmony import */ var _features_autoFill__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./features/autoFill */ "./components/table/pipeline/features/autoFill.tsx");
10172
+ /* harmony import */ var _features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./features/rangeSelection */ "./components/table/pipeline/features/rangeSelection.tsx");
9855
10173
 
9856
10174
 
9857
10175
 
@@ -9876,6 +10194,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9876
10194
 
9877
10195
 
9878
10196
 
10197
+
9879
10198
  /**
9880
10199
  * 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……
9881
10200
  *
@@ -10150,25 +10469,25 @@ var TablePipeline = /*#__PURE__*/function () {
10150
10469
  var preTableWidth = _this2.getStateAtKey(_features_autoFill__WEBPACK_IMPORTED_MODULE_17__["tableWidthKey"]);
10151
10470
 
10152
10471
  if (preTableWidth !== tableWidth) {
10153
- _this2.setStateAtKey(_features_autoFill__WEBPACK_IMPORTED_MODULE_17__["tableWidthKey"], tableWidth);
10472
+ tableWidth && _this2.setStateAtKey(_features_autoFill__WEBPACK_IMPORTED_MODULE_17__["tableWidthKey"], tableWidth);
10154
10473
  }
10155
10474
  };
10156
10475
 
10157
10476
  result.setTableDomHelper = function (domHelper) {
10158
10477
  _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
-
10478
+ };
10169
10479
 
10170
10480
  return result;
10171
10481
  }
10482
+ /**
10483
+ * 清除范围选中内容
10484
+ */
10485
+
10486
+ }, {
10487
+ key: "clearRangeSelection",
10488
+ value: function clearRangeSelection() {
10489
+ this.setStateAtKey(_features_rangeSelection__WEBPACK_IMPORTED_MODULE_18__["rangeSelectionKey"], null);
10490
+ }
10172
10491
  }]);
10173
10492
 
10174
10493
  return TablePipeline;
@@ -13366,6 +13685,22 @@ function isLeafNode(node) {
13366
13685
 
13367
13686
  /***/ }),
13368
13687
 
13688
+ /***/ "./components/table/utils/keyCode.ts":
13689
+ /*!*******************************************!*\
13690
+ !*** ./components/table/utils/keyCode.ts ***!
13691
+ \*******************************************/
13692
+ /*! exports provided: default */
13693
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13694
+
13695
+ "use strict";
13696
+ __webpack_require__.r(__webpack_exports__);
13697
+ var KeyCode = {
13698
+ ENTER: 13
13699
+ };
13700
+ /* harmony default export */ __webpack_exports__["default"] = (KeyCode);
13701
+
13702
+ /***/ }),
13703
+
13369
13704
  /***/ "./components/table/utils/layeredFilter.ts":
13370
13705
  /*!*************************************************!*\
13371
13706
  !*** ./components/table/utils/layeredFilter.ts ***!
@@ -13672,13 +14007,9 @@ __webpack_require__.r(__webpack_exports__);
13672
14007
 
13673
14008
  function composeEventHandler(handler1, handler2) {
13674
14009
  return function () {
13675
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13676
- args[_key] = arguments[_key];
13677
- }
13678
-
13679
14010
  // 先执行原有的事件回调函数
13680
- handler1(args);
13681
- handler2(args); // 事件回调函数没有返回值,故这里不进行 return
14011
+ handler1.apply(void 0, arguments);
14012
+ handler2.apply(void 0, arguments); // 事件回调函数没有返回值,故这里不进行 return
13682
14013
  };
13683
14014
  }
13684
14015
  /** 合并两个 cellProps(单元格属性)对象,返回一个合并后的全新对象。