@kdcloudjs/table 1.1.4 → 1.1.5-canary.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +905 -346
  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 +11 -2
  9. package/es/table/base/styles.js +19 -8
  10. package/es/table/base/table.d.ts +3 -1
  11. package/es/table/base/table.js +35 -56
  12. package/es/table/base/utils.d.ts +7 -0
  13. package/es/table/base/utils.js +36 -2
  14. package/es/table/common-views.js +1 -1
  15. package/es/table/pipeline/features/colGroupExtendable.d.ts +8 -0
  16. package/es/table/pipeline/features/colGroupExtendable.js +105 -0
  17. package/es/table/pipeline/features/columnDrag.js +5 -4
  18. package/es/table/pipeline/features/columnFilter.d.ts +8 -2
  19. package/es/table/pipeline/features/columnFilter.js +43 -19
  20. package/es/table/pipeline/features/columnResizeWidth.js +1 -1
  21. package/es/table/pipeline/features/contextMenu.d.ts +5 -1
  22. package/es/table/pipeline/features/contextMenu.js +18 -28
  23. package/es/table/pipeline/features/filter/DefaultFilterContent.js +27 -7
  24. package/es/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
  25. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +20 -0
  26. package/es/table/pipeline/features/filter/Filter.d.ts +5 -2
  27. package/es/table/pipeline/features/filter/Filter.js +65 -37
  28. package/es/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
  29. package/es/table/pipeline/features/filter/FilterPanel.js +40 -21
  30. package/es/table/pipeline/features/filter/util.js +4 -4
  31. package/es/table/pipeline/features/footerDataSource.d.ts +9 -0
  32. package/es/table/pipeline/features/footerDataSource.js +25 -0
  33. package/es/table/pipeline/features/index.d.ts +2 -0
  34. package/es/table/pipeline/features/index.js +3 -1
  35. package/es/table/pipeline/features/multiSelect.js +7 -2
  36. package/es/table/pipeline/features/rangeSelection.d.ts +1 -1
  37. package/es/table/pipeline/features/rangeSelection.js +180 -30
  38. package/es/table/pipeline/features/singleSelect.js +4 -0
  39. package/es/table/pipeline/features/treeMode.d.ts +2 -0
  40. package/es/table/pipeline/features/treeMode.js +20 -21
  41. package/es/table/pipeline/pipeline.d.ts +1 -1
  42. package/es/table/pipeline/pipeline.js +4 -9
  43. package/es/table/utils/element.d.ts +1 -0
  44. package/es/table/utils/element.js +4 -0
  45. package/es/table/utils/keyCode.d.ts +5 -0
  46. package/es/table/utils/keyCode.js +5 -0
  47. package/es/table/utils/mergeCellProps.js +2 -6
  48. package/lib/table/base/html-table.js +1 -1
  49. package/lib/table/base/styles.d.ts +11 -2
  50. package/lib/table/base/styles.js +19 -8
  51. package/lib/table/base/table.d.ts +3 -1
  52. package/lib/table/base/table.js +35 -56
  53. package/lib/table/base/utils.d.ts +7 -0
  54. package/lib/table/base/utils.js +43 -2
  55. package/lib/table/common-views.js +1 -1
  56. package/lib/table/pipeline/features/colGroupExtendable.d.ts +8 -0
  57. package/lib/table/pipeline/features/colGroupExtendable.js +126 -0
  58. package/lib/table/pipeline/features/columnDrag.js +5 -4
  59. package/lib/table/pipeline/features/columnFilter.d.ts +8 -2
  60. package/lib/table/pipeline/features/columnFilter.js +41 -19
  61. package/lib/table/pipeline/features/columnResizeWidth.js +1 -1
  62. package/lib/table/pipeline/features/contextMenu.d.ts +5 -1
  63. package/lib/table/pipeline/features/contextMenu.js +17 -28
  64. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +28 -6
  65. package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
  66. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +30 -0
  67. package/lib/table/pipeline/features/filter/Filter.d.ts +5 -2
  68. package/lib/table/pipeline/features/filter/Filter.js +68 -37
  69. package/lib/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
  70. package/lib/table/pipeline/features/filter/FilterPanel.js +42 -20
  71. package/lib/table/pipeline/features/filter/util.js +4 -4
  72. package/lib/table/pipeline/features/footerDataSource.d.ts +9 -0
  73. package/lib/table/pipeline/features/footerDataSource.js +41 -0
  74. package/lib/table/pipeline/features/index.d.ts +2 -0
  75. package/lib/table/pipeline/features/index.js +23 -1
  76. package/lib/table/pipeline/features/multiSelect.js +6 -1
  77. package/lib/table/pipeline/features/rangeSelection.d.ts +1 -1
  78. package/lib/table/pipeline/features/rangeSelection.js +183 -32
  79. package/lib/table/pipeline/features/singleSelect.js +4 -0
  80. package/lib/table/pipeline/features/treeMode.d.ts +2 -0
  81. package/lib/table/pipeline/features/treeMode.js +21 -23
  82. package/lib/table/pipeline/pipeline.d.ts +1 -1
  83. package/lib/table/pipeline/pipeline.js +4 -9
  84. package/lib/table/utils/element.d.ts +1 -0
  85. package/lib/table/utils/element.js +6 -0
  86. package/lib/table/utils/keyCode.d.ts +5 -0
  87. package/lib/table/utils/keyCode.js +12 -0
  88. package/lib/table/utils/mergeCellProps.js +2 -6
  89. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.3
3
+ * @kdcloudjs/table v1.1.5-canary.9
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"),
@@ -3286,9 +3287,12 @@ var Classes = {
3286
3287
  tableHeaderCellLine: "".concat(prefix, "table-header-cell-line"),
3287
3288
  tableFilterTrigger: "".concat(prefix, "filter-trigger"),
3288
3289
  tableSortIcon: "".concat(prefix, "sort-icon"),
3290
+ tableExtendIcon: "".concat(prefix, "extend-icon"),
3289
3291
  button: "".concat(prefix, "btn"),
3290
3292
  buttonPrimary: "".concat(prefix, "btn-primary"),
3291
3293
  filterIcon: "".concat(prefix, "filter-icon"),
3294
+ rangeSelection: "".concat(prefix, "range-selection"),
3295
+ tableCellRangeSingleCell: "".concat(prefix, "table-cell-range-single-cell"),
3292
3296
  tableCellRangeSelected: "".concat(prefix, "table-cell-range-selected"),
3293
3297
  tableCellRangeTop: "".concat(prefix, "table-cell-range-top"),
3294
3298
  tableCellRangeLeft: "".concat(prefix, "table-cell-range-left"),
@@ -3308,7 +3312,10 @@ var Classes = {
3308
3312
  rowSpan: "".concat(prefix, "row-span"),
3309
3313
  leaf: "".concat(prefix, "leaf"),
3310
3314
  expanded: "".concat(prefix, "expanded"),
3311
- collapsed: "".concat(prefix, "collapsed")
3315
+ collapsed: "".concat(prefix, "collapsed"),
3316
+ popup: "".concat(prefix, "popup"),
3317
+ popupHeader: "".concat(prefix, "popup-header"),
3318
+ popupBody: "".concat(prefix, "popup-body")
3312
3319
  };
3313
3320
  var MenuClasses = {
3314
3321
  menu: "".concat(prefix, "table-menu"),
@@ -3327,17 +3334,17 @@ var Z = {
3327
3334
  scrollItem: 30,
3328
3335
  loadingIndicator: 40
3329
3336
  };
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);
3337
+ 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
3338
  var defaultCSSVariables = {
3332
3339
  '--row-height': '48px',
3333
3340
  '--color': '#333',
3334
3341
  '--bgcolor': 'white',
3335
- '--hover-bgcolor': 'var(--hover-color, #F2F6FF)',
3342
+ '--hover-bgcolor': 'var(--hover-color, #f5f5f5)',
3336
3343
  '--highlight-bgcolor': '#eee',
3337
3344
  '--primary-color': '#5582F3',
3338
3345
  '--primary-color-level1': 'rgb(242, 248, 255)',
3339
3346
  '--primary-color-level2': 'rgb(135, 173, 255)',
3340
- '--icon-color': '#bfbfbf',
3347
+ '--icon-color': '#666666',
3341
3348
  '--strong-border-color': '#d9d9d9',
3342
3349
  '--header-row-height': '32px',
3343
3350
  '--header-color': '#333',
@@ -3353,11 +3360,15 @@ var defaultCSSVariables = {
3353
3360
  '--cell-border-horizontal': '1px solid #dfe3e8',
3354
3361
  '---cell-border-vertical': '1px solid #dfe3e8',
3355
3362
  '--header-cell-border': '1px solid #dfe3e8',
3356
- '--header-cell-border-horizontal': '1px solid #dfe3e8'
3363
+ '--cell-border-vertical': '1px solid #dfe3e8',
3364
+ '--header-cell-border-horizontal': '1px solid #dfe3e8',
3365
+ '--header-cell-border-vertical': '1px solid #dfe3e8'
3357
3366
  };
3358
3367
  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);
3368
+ 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"])));
3369
+ 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);
3370
+ 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 &:focus {\n outline: none\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 .", " {\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 //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n right: 0;\n width: 5px;\n &::after{\n left: 4px;\n }\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.tableSortIcon, Classes.tableExtendIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize, Classes.tableHeaderRow, Classes.last, Classes.tableHeaderCellResize);
3371
+ 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
3372
 
3362
3373
  function getCssVariableText(obj) {
3363
3374
  return Object.keys(obj).reduce(function (acc, key) {
@@ -3400,22 +3411,22 @@ __webpack_require__.r(__webpack_exports__);
3400
3411
  /* 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
3412
  /* 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
3413
  /* 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__);
3414
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js");
3415
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11__);
3416
+ /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js");
3417
+ /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12__);
3418
+ /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js");
3419
+ /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13__);
3420
+ /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
3421
+ /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14__);
3422
+ /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js");
3423
+ /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15__);
3424
+ /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
3425
+ /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_16__);
3426
+ /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js");
3427
+ /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_17__);
3428
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
3429
+ /* 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
3430
  /* 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
3431
  /* 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
3432
  /* 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 +3457,8 @@ __webpack_require__.r(__webpack_exports__);
3446
3457
  /* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./loading */ "./components/table/base/loading.tsx");
3447
3458
  /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./styles */ "./components/table/base/styles.ts");
3448
3459
  /* 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");
3460
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
3461
+ /* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./renderTemplates */ "./components/table/base/renderTemplates.tsx");
3452
3462
 
3453
3463
 
3454
3464
 
@@ -3483,7 +3493,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
3483
3493
 
3484
3494
 
3485
3495
 
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); }; }
3496
+ 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
3497
 
3488
3498
  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
3499
 
@@ -3503,75 +3513,48 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
3503
3513
 
3504
3514
 
3505
3515
 
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
3516
  var propsDotEmptyContentDeprecatedWarned = false;
3534
3517
 
3535
3518
  function warnPropsDotEmptyContentIsDeprecated() {
3536
3519
  if (!propsDotEmptyContentDeprecatedWarned) {
3537
3520
  propsDotEmptyContentDeprecatedWarned = true;
3538
- _utils__WEBPACK_IMPORTED_MODULE_41__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
3521
+ _utils__WEBPACK_IMPORTED_MODULE_40__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
3539
3522
  }
3540
3523
  }
3541
3524
 
3542
3525
  var BaseTable = /*#__PURE__*/function (_React$Component) {
3543
- _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_14___default()(BaseTable, _React$Component);
3526
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_15___default()(BaseTable, _React$Component);
3544
3527
 
3545
3528
  var _super = _createSuper(BaseTable);
3546
3529
 
3547
3530
  function BaseTable(props) {
3548
3531
  var _this;
3549
3532
 
3550
- _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_11___default()(this, BaseTable);
3533
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_12___default()(this, BaseTable);
3551
3534
 
3552
3535
  _this = _super.call(this, props);
3553
3536
 
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));
3537
+ _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
3538
 
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());
3539
+ _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
3540
 
3558
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "domHelper", void 0);
3541
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "domHelper", void 0);
3559
3542
 
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"]());
3543
+ _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
3544
 
3562
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "lastInfo", void 0);
3545
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "lastInfo", void 0);
3563
3546
 
3564
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "props$", void 0);
3547
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "props$", void 0);
3565
3548
 
3566
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "hasScrollY", false);
3549
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "hasScrollY", false);
3567
3550
 
3568
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "resizeObserver", void 0);
3551
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeObserver", void 0);
3569
3552
 
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"]());
3553
+ _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
3554
 
3572
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "offsetY", 0);
3555
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "offsetY", 0);
3573
3556
 
3574
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseEnter", function (e) {
3557
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "handleRowMouseEnter", function (e) {
3575
3558
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3576
3559
 
3577
3560
  nodeList && nodeList.forEach(function (node) {
@@ -3579,7 +3562,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3579
3562
  });
3580
3563
  });
3581
3564
 
3582
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "handleRowMouseLeave", function (e) {
3565
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "handleRowMouseLeave", function (e) {
3583
3566
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
3584
3567
 
3585
3568
  nodeList && nodeList.forEach(function (node) {
@@ -3587,7 +3570,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3587
3570
  });
3588
3571
  });
3589
3572
 
3590
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_13___default()(_this), "renderTableBody", function (info) {
3573
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "renderTableBody", function (info) {
3591
3574
  // console.log('render body')
3592
3575
  var _this$props = _this.props,
3593
3576
  dataSource = _this$props.dataSource,
@@ -3598,7 +3581,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3598
3581
  footerDataSource = _this$props.footerDataSource;
3599
3582
  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
3583
 
3601
- var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isEdge ? {
3584
+ var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_40__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_40__["browserType"].isEdge ? {
3602
3585
  overflow: 'hidden'
3603
3586
  } : {};
3604
3587
 
@@ -3636,7 +3619,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3636
3619
  topBlank = _info$verticalRenderR.topBlank,
3637
3620
  bottomIndex = _info$verticalRenderR.bottomIndex;
3638
3621
  var stickyRightOffset = _this.hasScrollY ? _this.getScrollBarWidth() : 0;
3639
- var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('body');
3622
+ var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('body');
3640
3623
 
3641
3624
  if (typeof renderBody === 'function') {
3642
3625
  return renderBody(info, _this.props, {
@@ -3699,13 +3682,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3699
3682
  /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
3700
3683
 
3701
3684
 
3702
- _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_12___default()(BaseTable, [{
3685
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_13___default()(BaseTable, [{
3703
3686
  key: "getDoms",
3704
3687
  value: // 最近一次渲染的计算结果缓存
3705
3688
 
3706
3689
  /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
3707
3690
  function getDoms() {
3708
- _utils__WEBPACK_IMPORTED_MODULE_41__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
3691
+ _utils__WEBPACK_IMPORTED_MODULE_40__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
3709
3692
  return this.domHelper;
3710
3693
  }
3711
3694
  }, {
@@ -3775,7 +3758,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3775
3758
  var _this$props4 = this.props,
3776
3759
  stickyTop = _this$props4.stickyTop,
3777
3760
  hasHeader = _this$props4.hasHeader;
3778
- var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('header');
3761
+ var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('header');
3779
3762
 
3780
3763
  if (typeof renderHeader === 'function') {
3781
3764
  return renderHeader(info, this.props);
@@ -3868,7 +3851,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3868
3851
  getRowProps = _this$props5.getRowProps,
3869
3852
  primaryKey = _this$props5.primaryKey,
3870
3853
  stickyBottom = _this$props5.stickyBottom;
3871
- var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_42__["default"])('footer');
3854
+ var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('footer');
3872
3855
 
3873
3856
  if (typeof renderFooter === 'function') {
3874
3857
  return renderFooter(info, this.props, {
@@ -3952,6 +3935,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3952
3935
  }, {
3953
3936
  key: "render",
3954
3937
  value: function render() {
3938
+ var _cx;
3939
+
3955
3940
  // console.log('render table')
3956
3941
  var info = Object(_calculations__WEBPACK_IMPORTED_MODULE_30__["calculateRenderInfo"])(this);
3957
3942
  this.lastInfo = info;
@@ -3967,35 +3952,36 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3967
3952
  isLoading = _this$props7.isLoading,
3968
3953
  getTableProps = _this$props7.getTableProps,
3969
3954
  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, {
3955
+ components = _this$props7.components,
3956
+ bordered = _this$props7.bordered;
3957
+ var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTableWrapper, (_cx = {
3972
3958
  'use-outer-border': useOuterBorder,
3973
3959
  empty: dataSource.length === 0,
3974
3960
  lock: info.hasLockColumn,
3975
3961
  'has-header': hasHeader,
3976
3962
  'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
3977
3963
  'has-footer': footerDataSource.length > 0,
3978
- 'sticky-footer': isStickyFooter,
3979
- 'ie-polyfill-wrapper': _utils__WEBPACK_IMPORTED_MODULE_41__["browserType"].isIE
3980
- }, className);
3964
+ 'sticky-footer': isStickyFooter
3965
+ }, _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
3966
 
3982
- var artTableWrapperProps = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()({
3967
+ var artTableWrapperProps = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()({
3983
3968
  className: artTableWrapperClassName,
3984
3969
  style: style
3985
3970
  }, _utils__WEBPACK_IMPORTED_MODULE_39__["STYLED_REF_PROP"], this.artTableWrapperRef);
3986
3971
 
3972
+ var tableProps = getTableProps() || {};
3987
3973
  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
3974
  visible: isLoading,
3989
3975
  LoadingIcon: components.LoadingIcon,
3990
3976
  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)));
3977
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_11___default()({}, tableProps, {
3978
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTable, tableProps.className)
3979
+ }), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
3994
3980
  }
3995
3981
  }, {
3996
3982
  key: "componentDidMount",
3997
3983
  value: function componentDidMount() {
3998
- var _this$props$setTableW2, _this$props9, _this$props$setTableD, _this$props10;
3984
+ var _this$props$setTableW2, _this$props9, _this$props$setTableD, _this$props10, _this$props$setRowHei, _this$props11;
3999
3985
 
4000
3986
  // console.log('did mount start')
4001
3987
  // console.log('update dom helper start')
@@ -4007,13 +3993,16 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4007
3993
 
4008
3994
  var _this$props8 = this.props,
4009
3995
  cssVariables = _this$props8.cssVariables,
4010
- enableCSSVariables = _this$props8.enableCSSVariables;
4011
- cssPolifill({
3996
+ enableCSSVariables = _this$props8.enableCSSVariables,
3997
+ bordered = _this$props8.bordered;
3998
+ Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
4012
3999
  variables: cssVariables || {},
4013
- enableCSSVariables: enableCSSVariables
4000
+ enableCSSVariables: enableCSSVariables,
4001
+ bordered: bordered
4014
4002
  });
4015
4003
  (_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
4004
  (_this$props$setTableD = (_this$props10 = this.props).setTableDomHelper) === null || _this$props$setTableD === void 0 ? void 0 : _this$props$setTableD.call(_this$props10, this.domHelper);
4005
+ (_this$props$setRowHei = (_this$props11 = this.props).setRowHeightManager) === null || _this$props$setRowHei === void 0 ? void 0 : _this$props$setRowHei.call(_this$props11, this.rowHeightManager);
4017
4006
  }
4018
4007
  }, {
4019
4008
  key: "componentDidUpdate",
@@ -4046,7 +4035,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4046
4035
  var currentHasFooter = this.props.footerDataSource.length > 0;
4047
4036
 
4048
4037
  if (!prevHasFooter && currentHasFooter) {
4049
- Object(_utils__WEBPACK_IMPORTED_MODULE_39__["getTableScrollFooterDOM"])(this.domHelper).scrollLeft = this.domHelper.tableBody.scrollLeft;
4038
+ Object(_utils__WEBPACK_IMPORTED_MODULE_39__["getTableScrollFooterDOM"])(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft;
4050
4039
  }
4051
4040
  }
4052
4041
  }
@@ -4082,15 +4071,15 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4082
4071
 
4083
4072
  this.rootSubscription.add(Object(rxjs__WEBPACK_IMPORTED_MODULE_28__["combineLatest"])([richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (p) {
4084
4073
  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];
4074
+ }), 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) {
4075
+ var _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref, 2),
4076
+ prevProps = _ref2[0],
4077
+ props = _ref2[1];
4089
4078
 
4090
4079
  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];
4080
+ }))]).subscribe(function (_ref3) {
4081
+ var _ref4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_ref3, 1),
4082
+ clipRect = _ref4[0];
4094
4083
 
4095
4084
  var loadingIndicator = _this2.domHelper.getLoadingIndicator();
4096
4085
 
@@ -4109,9 +4098,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4109
4098
  horizontal = _this2$lastInfo$useVi.horizontal,
4110
4099
  vertical = _this2$lastInfo$useVi.vertical;
4111
4100
  return horizontal || vertical;
4112
- }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref6) {
4113
- var clipRect = _ref6.clipRect,
4114
- offsetY = _ref6.offsetY;
4101
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref5) {
4102
+ var clipRect = _ref5.clipRect,
4103
+ offsetY = _ref5.offsetY;
4115
4104
  return {
4116
4105
  maxRenderHeight: clipRect.bottom - clipRect.top,
4117
4106
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -4128,9 +4117,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4128
4117
  })).subscribe(function (sizeAndOffset) {
4129
4118
  _this2.setState(sizeAndOffset);
4130
4119
  }));
4131
- this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref7) {
4132
- var clipRect = _ref7.clipRect,
4133
- offsetY = _ref7.offsetY;
4120
+ this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_29__["map"](function (_ref6) {
4121
+ var clipRect = _ref6.clipRect,
4122
+ offsetY = _ref6.offsetY;
4134
4123
  return {
4135
4124
  maxRenderHeight: clipRect.bottom - clipRect.top,
4136
4125
  maxRenderWidth: clipRect.right - clipRect.left,
@@ -4276,7 +4265,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4276
4265
  return BaseTable;
4277
4266
  }(react__WEBPACK_IMPORTED_MODULE_27___default.a.Component);
4278
4267
 
4279
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(BaseTable, "defaultProps", {
4268
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(BaseTable, "defaultProps", {
4280
4269
  hasHeader: true,
4281
4270
  isStickyHeader: true,
4282
4271
  stickyTop: 0,
@@ -4301,7 +4290,7 @@ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_17___default()(Ba
4301
4290
  /*!*****************************************!*\
4302
4291
  !*** ./components/table/base/utils.tsx ***!
4303
4292
  \*****************************************/
4304
- /*! exports provided: STYLED_VERSION, STYLED_REF_PROP, OVERSCAN_SIZE, AUTO_VIRTUAL_THRESHOLD, sum, throttledWindowResize$, addResizeObserver, getScrollbarSize, syncScrollLeft, shallowEqual, composeRowPropsGetter, getTableScrollHeaderDOM, getTableScrollFooterDOM */
4293
+ /*! exports provided: STYLED_VERSION, STYLED_REF_PROP, OVERSCAN_SIZE, AUTO_VIRTUAL_THRESHOLD, sum, throttledWindowResize$, addResizeObserver, getScrollbarSize, syncScrollLeft, shallowEqual, composeRowPropsGetter, getTableScrollHeaderDOM, getTableScrollFooterDOM, cssPolifill */
4305
4294
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4306
4295
 
4307
4296
  "use strict";
@@ -4319,6 +4308,7 @@ __webpack_require__.r(__webpack_exports__);
4319
4308
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "composeRowPropsGetter", function() { return composeRowPropsGetter; });
4320
4309
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTableScrollHeaderDOM", function() { return getTableScrollHeaderDOM; });
4321
4310
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTableScrollFooterDOM", function() { return getTableScrollFooterDOM; });
4311
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssPolifill", function() { return cssPolifill; });
4322
4312
  /* 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
4313
  /* 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
4314
  /* 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 +4347,11 @@ __webpack_require__.r(__webpack_exports__);
4357
4347
  /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
4358
4348
  /* 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
4349
  /* 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");
4350
+ /* 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");
4351
+ /* harmony import */ var _utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/mergeCellProps */ "./components/table/utils/mergeCellProps.ts");
4352
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils */ "./components/table/utils/index.tsx");
4353
+ /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./styles */ "./components/table/base/styles.ts");
4354
+ /* harmony import */ var _utils_element__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/element */ "./components/table/utils/element.ts");
4362
4355
 
4363
4356
 
4364
4357
 
@@ -4389,6 +4382,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
4389
4382
 
4390
4383
 
4391
4384
 
4385
+
4386
+
4387
+
4392
4388
  /** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
4393
4389
 
4394
4390
  var STYLED_VERSION = styled_components__WEBPACK_IMPORTED_MODULE_20__["createGlobalStyle"] != null ? 'v5' : 'v3';
@@ -4505,7 +4501,12 @@ function syncScrollLeft(elements, callback) {
4505
4501
  return;
4506
4502
  }
4507
4503
 
4508
- var scrollLeft = ele.scrollLeft;
4504
+ var scrollLeft = ele.scrollLeft; // 某一元素当滚动条消失时会触发scroll事件(scrolLeft重置为0),不同步其他其他元素的scrollLeft
4505
+
4506
+ if (scrollLeft === 0 && !Object(_utils_element__WEBPACK_IMPORTED_MODULE_25__["hasScroll"])(ele)) {
4507
+ return;
4508
+ }
4509
+
4509
4510
  publishScrollLeft(ele, scrollLeft);
4510
4511
  callback(scrollLeft);
4511
4512
  };
@@ -4568,18 +4569,44 @@ function composeRowPropsGetter(getRowProps, pendingRowProps) {
4568
4569
 
4569
4570
  if (keys.length) {
4570
4571
  return function (row, rowIndex) {
4571
- return Object(_utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_21__["default"])(getRowProps(row, rowIndex), pendingRowProps);
4572
+ return Object(_utils_mergeCellProps__WEBPACK_IMPORTED_MODULE_22__["default"])(getRowProps(row, rowIndex), pendingRowProps);
4572
4573
  };
4573
4574
  }
4574
4575
 
4575
4576
  return getRowProps;
4576
4577
  }
4577
4578
  function getTableScrollHeaderDOM(domHelper) {
4578
- return _utils__WEBPACK_IMPORTED_MODULE_22__["browserType"].isIE ? domHelper.tableHeaderMain : domHelper.tableHeader;
4579
+ return _utils__WEBPACK_IMPORTED_MODULE_23__["browserType"].isIE ? domHelper.tableHeaderMain : domHelper.tableHeader;
4579
4580
  }
4580
4581
  function getTableScrollFooterDOM(domHelper) {
4581
- return _utils__WEBPACK_IMPORTED_MODULE_22__["browserType"].isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
4582
+ return _utils__WEBPACK_IMPORTED_MODULE_23__["browserType"].isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
4582
4583
  }
4584
+ var cssPolifill = function cssPolifill(_ref) {
4585
+ var variables = _ref.variables,
4586
+ enableCSSVariables = _ref.enableCSSVariables,
4587
+ bordered = _ref.bordered;
4588
+
4589
+ if (enableCSSVariables === false) {
4590
+ return;
4591
+ }
4592
+
4593
+ var conditionCSSVariables = {}; // 默认情况下存在td、th无左右边框,开启`bordered`属性后才开启,否则隐藏这两种属性
4594
+
4595
+ if (!bordered) {
4596
+ conditionCSSVariables['--cell-border-vertical'] = 'none';
4597
+ conditionCSSVariables['--header-cell-border-vertical'] = 'none';
4598
+ }
4599
+
4600
+ Object(css_vars_ponyfill__WEBPACK_IMPORTED_MODULE_21__["default"])({
4601
+ // exclude: 'link[href*="semantic-ui"]',
4602
+ // onlyLegacy: false,
4603
+ // rootElement: rootElement,
4604
+ include: 'style[data-styled]',
4605
+ variables: _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({}, _styles__WEBPACK_IMPORTED_MODULE_24__["defaultCSSVariables"], variables, conditionCSSVariables),
4606
+ watch: true,
4607
+ silent: true
4608
+ });
4609
+ };
4583
4610
 
4584
4611
  /***/ }),
4585
4612
 
@@ -4673,7 +4700,7 @@ var icons = {
4673
4700
  CaretRight: CaretRightIcon,
4674
4701
  Info: InfoIcon
4675
4702
  };
4676
- var ContextMenuStyleWrap = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 13px;\n position:absolute;\n z-index: 1050;\n width:120px;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n color: #666666;\n }\n\n .", " .", "{\n background-color: #f5f5f5;\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 5px 8px;\n }\n .", " .", ".", "{\n opacity: .5;\n }\n\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menu, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionActive, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionText, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionDisable);
4703
+ var ContextMenuStyleWrap = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 12px;\n position:absolute;\n z-index: 1050;\n max-width: 600px;\n padding: 8px 0;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n color: #212121;\n }\n\n .", " .", "{\n background-color: var(--hover-bgcolor);\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 8px 12px;\n max-width: 576px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 16px;\n }\n .", " .", ".", "{\n opacity: .5;\n }\n\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menu, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionActive, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionText, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuList, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOption, _base_styles__WEBPACK_IMPORTED_MODULE_4__["MenuClasses"].menuOptionDisable);
4677
4704
 
4678
4705
  /***/ }),
4679
4706
 
@@ -5136,6 +5163,161 @@ function buildTree(idProp, parentIdProp) {
5136
5163
 
5137
5164
  /***/ }),
5138
5165
 
5166
+ /***/ "./components/table/pipeline/features/colGroupExtendable.tsx":
5167
+ /*!*******************************************************************!*\
5168
+ !*** ./components/table/pipeline/features/colGroupExtendable.tsx ***!
5169
+ \*******************************************************************/
5170
+ /*! exports provided: colGroupExtendable */
5171
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5172
+
5173
+ "use strict";
5174
+ __webpack_require__.r(__webpack_exports__);
5175
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendable", function() { return colGroupExtendable; });
5176
+ /* 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");
5177
+ /* 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__);
5178
+ /* 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");
5179
+ /* 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__);
5180
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
5181
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);
5182
+ /* 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");
5183
+ /* 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__);
5184
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
5185
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);
5186
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
5187
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);
5188
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
5189
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__);
5190
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
5191
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);
5192
+ /* harmony import */ var _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "./node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js");
5193
+ /* harmony import */ var _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_8__);
5194
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
5195
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_9__);
5196
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "react");
5197
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
5198
+ /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
5199
+ /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
5200
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
5201
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
5202
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_14__);
5203
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
5204
+
5205
+
5206
+
5207
+
5208
+
5209
+
5210
+
5211
+
5212
+
5213
+
5214
+ var _templateObject;
5215
+
5216
+
5217
+
5218
+ 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; }
5219
+
5220
+ 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_7___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; }
5221
+
5222
+
5223
+
5224
+
5225
+
5226
+
5227
+
5228
+ var ExtendIconStyle = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].span(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_8___default()(["\n font-size:12px;\n margin-left:4px;\n"])));
5229
+ var stateKey = 'colExtend';
5230
+
5231
+ var ExpandIcon = function ExpandIcon(_ref) {
5232
+ var style = _ref.style,
5233
+ className = _ref.className,
5234
+ size = _ref.size,
5235
+ isExtend = _ref.isExtend;
5236
+ return isExtend ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("svg", {
5237
+ className: className,
5238
+ width: size,
5239
+ height: size,
5240
+ style: style,
5241
+ viewBox: "96 96 896 896"
5242
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("path", {
5243
+ d: "M678.347087 178.347087C690.550972 166.143203 690.550972 146.356797 678.347087 134.152913C666.143203 121.949029 646.356797 121.949029 634.152913 134.152913L290.402913 477.902913C278.199029 490.106797 278.199029 509.893203 290.402913 522.097087L634.152913 865.847087C646.356797 878.050972 666.143203 878.050972 678.347087 865.847087C690.550972 853.643203 690.550972 833.856797 678.347087 821.652913L356.694175 500L678.347087 178.347087z"
5244
+ })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("svg", {
5245
+ className: className,
5246
+ width: size,
5247
+ height: size,
5248
+ style: style,
5249
+ viewBox: "96 96 896 896"
5250
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("path", {
5251
+ d: "M321.652913 178.347087C309.449029 166.143203 309.449029 146.356797 321.652913 134.152913C333.856797 121.949029 353.643203 121.949029 365.847088 134.152913L709.597087 477.902913C721.800972 490.106797 721.800972 509.893203 709.597087 522.097087L365.847088 865.847087C353.643203 878.050972 333.856797 878.050972 321.652913 865.847087C309.449029 853.643203 309.449029 833.856797 321.652913 821.652913L643.305825 500L321.652913 178.347087z"
5252
+ }));
5253
+ };
5254
+
5255
+ var colGroupExtendable = function colGroupExtendable() {
5256
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5257
+ return function (pipeline) {
5258
+ var _ref2, _opts$extendStatus;
5259
+
5260
+ var columns = pipeline.getColumns();
5261
+ var curState = (_ref2 = (_opts$extendStatus = opts.extendStatus) !== null && _opts$extendStatus !== void 0 ? _opts$extendStatus : pipeline.getStateAtKey(stateKey)) !== null && _ref2 !== void 0 ? _ref2 : {};
5262
+
5263
+ var processColumns = function processColumns(columns) {
5264
+ // 当组合列可伸缩,且处于收缩状态时,只渲染一个子列,其他不渲染
5265
+ var toggle = function toggle(col) {
5266
+ // 对应的 col 进行状态切换
5267
+ var changedValue = _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, col.code, !curState[col.code]);
5268
+
5269
+ curState[col.code] = !curState[col.code];
5270
+ pipeline.setStateAtKey(stateKey, _objectSpread({}, curState));
5271
+ (opts === null || opts === void 0 ? void 0 : opts.onChangeExtendStatus) && opts.onChangeExtendStatus(curState, changedValue);
5272
+ };
5273
+
5274
+ var addIcon = function addIcon(col) {
5275
+ var result = _objectSpread({}, col);
5276
+
5277
+ var curColState = curState[col.code];
5278
+ var displaycolExtendIcon = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon;
5279
+ var addIconNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_10___default.a.Fragment, null, _internals__WEBPACK_IMPORTED_MODULE_12__["internals"].safeRenderHeader(_objectSpread({}, col)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(ExtendIconStyle, {
5280
+ onClick: function onClick() {
5281
+ toggle(col);
5282
+ }
5283
+ }, displaycolExtendIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(ExpandIcon, {
5284
+ style: {
5285
+ userSelect: 'none',
5286
+ marginLeft: 2,
5287
+ flexShrink: 0,
5288
+ cursor: "pointer",
5289
+ verticalAlign: 'middle'
5290
+ },
5291
+ className: classnames__WEBPACK_IMPORTED_MODULE_14___default()(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, _base_styles__WEBPACK_IMPORTED_MODULE_15__["Classes"].tableExtendIcon, true)),
5292
+ size: 14,
5293
+ isExtend: curColState
5294
+ })));
5295
+ result.title = addIconNode;
5296
+ return result;
5297
+ };
5298
+
5299
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_13__["makeRecursiveMapper"])(function (col) {
5300
+ var _col, _col$children;
5301
+
5302
+ var _ref3 = ((_col = col) === null || _col === void 0 ? void 0 : _col.features) || {},
5303
+ showExtendIcon = _ref3.showExtendIcon;
5304
+
5305
+ if (showExtendIcon === true && ((_col$children = col.children) === null || _col$children === void 0 ? void 0 : _col$children.length) > 1) {
5306
+ col = addIcon(col);
5307
+ curState[col.code] === false && col.children.splice(1, col.children.length);
5308
+ }
5309
+
5310
+ return col;
5311
+ })(columns);
5312
+ };
5313
+
5314
+ pipeline.columns(processColumns(columns));
5315
+ return pipeline;
5316
+ };
5317
+ };
5318
+
5319
+ /***/ }),
5320
+
5139
5321
  /***/ "./components/table/pipeline/features/columnDrag.tsx":
5140
5322
  /*!***********************************************************!*\
5141
5323
  !*** ./components/table/pipeline/features/columnDrag.tsx ***!
@@ -5246,7 +5428,7 @@ function columnDrag() {
5246
5428
  },
5247
5429
  headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(col.headerCellProps, {
5248
5430
  onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
5249
- if (e.button !== 0) {
5431
+ if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
5250
5432
  return;
5251
5433
  }
5252
5434
 
@@ -5422,13 +5604,14 @@ function columnDrag() {
5422
5604
  }
5423
5605
 
5424
5606
  function handleMouseUp(e) {
5425
- e.stopPropagation();
5426
5607
  document.body.removeEventListener('mousemove', handleMouseMove);
5427
5608
  document.body.removeEventListener('mouseup', handleMouseUp);
5428
- window.removeEventListener('selectstart', disableSelect); // 阻止列头点击事件,防止拖动后触发列头过滤事件
5609
+ window.removeEventListener('selectstart', disableSelect);
5429
5610
 
5430
5611
  if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
5431
- currentTarget.addEventListener('click', stopClickPropagation);
5612
+ e.stopPropagation(); // 存在移动就阻止冒泡
5613
+
5614
+ currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
5432
5615
  }
5433
5616
 
5434
5617
  window.requestAnimationFrame(function () {
@@ -5658,7 +5841,10 @@ function filter() {
5658
5841
  keepDataSource = opts.keepDataSource,
5659
5842
  mode = opts.mode,
5660
5843
  filterIcon = opts.filterIcon,
5661
- stopClickEventPropagation = opts.stopClickEventPropagation;
5844
+ stopClickEventPropagation = opts.stopClickEventPropagation,
5845
+ stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
5846
+ hideFilterPopupHeader = opts.hideFilterPopupHeader,
5847
+ getPopupParent = opts.getPopupParent;
5662
5848
  var inputFilters = (_ref = (_ref2 = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _ref2 !== void 0 ? _ref2 : defaultFilters) !== null && _ref !== void 0 ? _ref : [];
5663
5849
  inputFilters = mode === 'single' ? inputFilters.slice(0, 1) : inputFilters;
5664
5850
  var inputFiltersMap = new Map(inputFilters.map(function (filterItem) {
@@ -5677,7 +5863,7 @@ function filter() {
5677
5863
  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;
5678
5864
 
5679
5865
  if (filterable) {
5680
- var _col$features2, _result$title, _cx;
5866
+ var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
5681
5867
 
5682
5868
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5683
5869
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -5710,18 +5896,20 @@ function filter() {
5710
5896
  };
5711
5897
 
5712
5898
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
5713
- 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), {}, {
5714
- title: null
5715
- }))])), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
5899
+ 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;
5900
+ 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({}, col))])), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
5716
5901
  key: "filter",
5717
5902
  FilterPanelContent: filterPanel,
5718
- filterIcon: filterIcon,
5903
+ filterIcon: colFilterIcon,
5719
5904
  filterModel: inputFiltersMap.get(col.code),
5720
5905
  setFilterModel: handleFilterChanged,
5721
5906
  setFilter: setFilter,
5722
5907
  isFilterActive: filterActive,
5723
5908
  className: classnames__WEBPACK_IMPORTED_MODULE_18___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_22__["Classes"].tableFilterTrigger, true), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(_cx, "active", filterActive), _cx)),
5724
- stopClickEventPropagation: stopClickEventPropagation
5909
+ stopClickEventPropagation: stopClickEventPropagation,
5910
+ stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
5911
+ hideFilterPopupHeader: hideFilterPopupHeader,
5912
+ getPopupParent: getPopupParent
5725
5913
  })]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
5726
5914
  // style: {
5727
5915
  // paddingRight: '18px'
@@ -5749,9 +5937,9 @@ function filter() {
5749
5937
 
5750
5938
  var columns = pipeline.getColumns();
5751
5939
  var columnsMap = new Map(Object(_utils__WEBPACK_IMPORTED_MODULE_20__["collectNodes"])(columns, 'leaf-only').filter(function (col) {
5752
- var _col$features3, _col$features4;
5940
+ var _col$features4, _col$features5;
5753
5941
 
5754
- 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;
5942
+ 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;
5755
5943
  }).map(function (col) {
5756
5944
  return [col.code, col];
5757
5945
  }));
@@ -5759,8 +5947,8 @@ function filter() {
5759
5947
  return [item.key, _objectSpread({}, item)];
5760
5948
  }));
5761
5949
 
5762
- function isMatchedFilterCondition(record, rowIndex) {
5763
- return !filtersKeys.some(function (key) {
5950
+ function isMatchedFilterCondition(record) {
5951
+ return filtersKeys.every(function (key) {
5764
5952
  var _columnsMap$get, _columnsMap$get$featu;
5765
5953
 
5766
5954
  var filterItem = inputFiltersMap.get(key);
@@ -5774,20 +5962,13 @@ function filter() {
5774
5962
  } else {
5775
5963
  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"));
5776
5964
  comparisonFn = defaultFilterOptionsMap.get('contain').filter;
5777
- } // 不符合过滤条件,退出循环
5778
-
5965
+ }
5779
5966
 
5780
- return !comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, rowIndex), record);
5967
+ return comparisonFn(filterItem.filter, filterItem)(_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeGetValue(columnsMap.get(key), record, -1), record);
5781
5968
  });
5782
5969
  }
5783
5970
 
5784
- return dataSource.reduce(function (pre, record, rowIndex) {
5785
- if (isMatchedFilterCondition(record, rowIndex)) {
5786
- return pre.concat([record]);
5787
- }
5788
-
5789
- return pre;
5790
- }, []);
5971
+ return layeredFilter(dataSource, isMatchedFilterCondition);
5791
5972
  }
5792
5973
 
5793
5974
  pipeline.dataSource(processDataSource(dataSource));
@@ -5796,6 +5977,30 @@ function filter() {
5796
5977
  };
5797
5978
  }
5798
5979
 
5980
+ function layeredFilter(array, matchFn) {
5981
+ return dfs(array);
5982
+
5983
+ function dfs(rows) {
5984
+ var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5985
+ return rows.map(function (row) {
5986
+ var currentMatched = matchFn(row);
5987
+
5988
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(row)) {
5989
+ return (parentMatched || currentMatched) && _objectSpread({}, row);
5990
+ }
5991
+
5992
+ var children = row.children;
5993
+
5994
+ var rowAfterFilterChildren = _objectSpread(_objectSpread({}, row), {}, {
5995
+ children: dfs(children, parentMatched || currentMatched)
5996
+ });
5997
+
5998
+ var matchedByChildren = !Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(rowAfterFilterChildren);
5999
+ return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
6000
+ }).filter(Boolean);
6001
+ }
6002
+ }
6003
+
5799
6004
  /***/ }),
5800
6005
 
5801
6006
  /***/ "./components/table/pipeline/features/columnHover.tsx":
@@ -6078,7 +6283,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6078
6283
 
6079
6284
 
6080
6285
 
6081
- 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"])));
6286
+ var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
6082
6287
  var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_11__["default"])(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6083
6288
 
6084
6289
  function clamp(min, x, max) {
@@ -6293,11 +6498,11 @@ __webpack_require__.r(__webpack_exports__);
6293
6498
 
6294
6499
 
6295
6500
 
6296
- var stateKey = 'contextMenu';
6297
6501
  function contextMenu() {
6298
6502
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6299
6503
  return function step(pipeline) {
6300
6504
  var popupParent = opts.popupParent || document.body;
6505
+ var menuClassName = opts.menuClassName;
6301
6506
  var menuHelper = new MenuHelper();
6302
6507
 
6303
6508
  var addPopup = function addPopup(menu) {
@@ -6330,13 +6535,11 @@ function contextMenu() {
6330
6535
  };
6331
6536
 
6332
6537
  var onContextMenu = function onContextMenu(e) {
6333
- if (suppressShowContextMenu(e)) {
6334
- return;
6538
+ if (canShowContextMenu(e, pipeline)) {
6539
+ e.preventDefault();
6540
+ e.stopPropagation();
6541
+ showContextMenu(e);
6335
6542
  }
6336
-
6337
- e.preventDefault();
6338
- e.stopPropagation();
6339
- showContextMenu(e);
6340
6543
  };
6341
6544
 
6342
6545
  pipeline.addTableProps({
@@ -6406,7 +6609,8 @@ function contextMenu() {
6406
6609
  options: options,
6407
6610
  hideContextMenu: hideContextMenu,
6408
6611
  position: position,
6409
- getPopupParent: getPopupParent
6612
+ getPopupParent: getPopupParent,
6613
+ className: menuClassName
6410
6614
  });
6411
6615
 
6412
6616
  var _hidePopup = addPopup(menu);
@@ -6437,7 +6641,8 @@ function getMenuItemKey(_ref) {
6437
6641
  }
6438
6642
 
6439
6643
  function Menu(props) {
6440
- var _props$options = props.options,
6644
+ var className = props.className,
6645
+ _props$options = props.options,
6441
6646
  options = _props$options === void 0 ? [] : _props$options,
6442
6647
  hideContextMenu = props.hideContextMenu,
6443
6648
  position = props.position,
@@ -6458,7 +6663,7 @@ function Menu(props) {
6458
6663
  }
6459
6664
  }, [position]);
6460
6665
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_10__["ContextMenuStyleWrap"], {
6461
- className: _base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menu,
6666
+ className: classnames__WEBPACK_IMPORTED_MODULE_9___default()(_base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menu, className),
6462
6667
  ref: menuRef,
6463
6668
  style: {
6464
6669
  left: position.x,
@@ -6474,6 +6679,7 @@ function Menu(props) {
6474
6679
  }),
6475
6680
  name: item.name,
6476
6681
  action: item.action,
6682
+ className: item.className,
6477
6683
  disabled: item.disabled,
6478
6684
  hideContextMenu: hideContextMenu
6479
6685
  });
@@ -6483,6 +6689,7 @@ function Menu(props) {
6483
6689
  function MenuItem(props) {
6484
6690
  var name = props.name,
6485
6691
  action = props.action,
6692
+ className = props.className,
6486
6693
  disabled = props.disabled,
6487
6694
  hideContextMenu = props.hideContextMenu;
6488
6695
  var itemRef = Object(react__WEBPACK_IMPORTED_MODULE_7__["useRef"])();
@@ -6523,7 +6730,7 @@ function MenuItem(props) {
6523
6730
  };
6524
6731
 
6525
6732
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("div", {
6526
- className: classnames__WEBPACK_IMPORTED_MODULE_9___default()(_base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menuOption, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()({}, _base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menuOptionDisable, disabled)),
6733
+ className: classnames__WEBPACK_IMPORTED_MODULE_9___default()(_base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menuOption, className, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()({}, _base_styles__WEBPACK_IMPORTED_MODULE_14__["MenuClasses"].menuOptionDisable, disabled)),
6527
6734
  ref: itemRef,
6528
6735
  onClick: handleClick,
6529
6736
  onMouseEnter: handleMouseEnter,
@@ -6669,24 +6876,12 @@ function isElementInsideTheFooter(ele) {
6669
6876
  }
6670
6877
 
6671
6878
  return false;
6672
- } // 禁止弹出右键菜单
6673
-
6674
-
6675
- function suppressShowContextMenu(e) {
6676
- var path = Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getEventPath"])(e.nativeEvent);
6677
- var pointIndex = 0;
6678
-
6679
- while (pointIndex < path.length) {
6680
- var ele = path[pointIndex];
6681
-
6682
- if (ele.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].tableBody) || ele.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].tableFooter)) {
6683
- return false;
6684
- }
6879
+ }
6685
6880
 
6686
- pointIndex++;
6687
- }
6881
+ function canShowContextMenu(e, pipeline) {
6882
+ var _pipeline$ref$current, _pipeline$ref$current2;
6688
6883
 
6689
- return true;
6884
+ return ((_pipeline$ref$current = pipeline.ref.current.domHelper) === null || _pipeline$ref$current === void 0 ? void 0 : _pipeline$ref$current.tableBody.contains(e.target)) || ((_pipeline$ref$current2 = pipeline.ref.current.domHelper) === null || _pipeline$ref$current2 === void 0 ? void 0 : _pipeline$ref$current2.tableFooter.contains(e.target));
6690
6885
  } // 默认选项
6691
6886
 
6692
6887
 
@@ -6729,6 +6924,7 @@ __webpack_require__.r(__webpack_exports__);
6729
6924
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
6730
6925
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./util */ "./components/table/pipeline/features/filter/util.tsx");
6731
6926
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
6927
+ /* harmony import */ var _utils_keyCode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../utils/keyCode */ "./components/table/utils/keyCode.ts");
6732
6928
 
6733
6929
 
6734
6930
 
@@ -6743,6 +6939,7 @@ var _templateObject;
6743
6939
 
6744
6940
 
6745
6941
 
6942
+
6746
6943
  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"]);
6747
6944
 
6748
6945
  function DefaultFilterContent(_ref) {
@@ -6757,11 +6954,12 @@ function DefaultFilterContent(_ref) {
6757
6954
  selectedValue = _React$useState2[0],
6758
6955
  setSelectedValue = _React$useState2[1];
6759
6956
 
6760
- var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_6___default.a.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filter) || ''),
6957
+ var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_6___default.a.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filter) || []),
6761
6958
  _React$useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState3, 2),
6762
6959
  innerValue = _React$useState4[0],
6763
6960
  setInnerValue = _React$useState4[1];
6764
6961
 
6962
+ var inputRef = Object(react__WEBPACK_IMPORTED_MODULE_6__["useRef"])();
6765
6963
  var handleClick = react__WEBPACK_IMPORTED_MODULE_6___default.a.useCallback(function (option) {
6766
6964
  setSelectedValue(option.key);
6767
6965
  }, []);
@@ -6774,15 +6972,31 @@ function DefaultFilterContent(_ref) {
6774
6972
  var confirm = function confirm() {
6775
6973
  hidePanel();
6776
6974
  setFilterModel({
6777
- filter: [innerValue],
6975
+ filter: innerValue,
6778
6976
  filterCondition: selectedValue
6779
6977
  });
6780
6978
  };
6781
6979
 
6980
+ var handleKeyDown = function handleKeyDown(e) {
6981
+ if (e.keyCode === _utils_keyCode__WEBPACK_IMPORTED_MODULE_11__["default"].ENTER) {
6982
+ confirm();
6983
+ }
6984
+ };
6985
+
6782
6986
  Object(react__WEBPACK_IMPORTED_MODULE_6__["useEffect"])(function () {
6783
6987
  setSelectedValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain');
6784
- setInnerValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filter) || '');
6988
+ setInnerValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filter) || []);
6785
6989
  }, [filterModel]);
6990
+ Object(react__WEBPACK_IMPORTED_MODULE_6__["useEffect"])(function () {
6991
+ // 兼容设置焦点后发生滚动
6992
+ setTimeout(function () {
6993
+ var _inputRef$current;
6994
+
6995
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
6996
+ preventScroll: true
6997
+ });
6998
+ });
6999
+ }, []);
6786
7000
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
6787
7001
  className: "filter-option-list"
6788
7002
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("ul", null, _util__WEBPACK_IMPORTED_MODULE_9__["DEFAULT_FILTER_OPTIONS"].map(function (option, index) {
@@ -6801,10 +7015,12 @@ function DefaultFilterContent(_ref) {
6801
7015
  className: "filter-search"
6802
7016
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("input", {
6803
7017
  className: "filter-search-inner",
6804
- value: innerValue,
7018
+ value: innerValue[0],
6805
7019
  onChange: function onChange(e) {
6806
- setInnerValue(e.target.value);
6807
- }
7020
+ setInnerValue([e.target.value]);
7021
+ },
7022
+ onKeyDown: handleKeyDown,
7023
+ ref: inputRef
6808
7024
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
6809
7025
  className: "filter-footer"
6810
7026
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
@@ -6824,6 +7040,41 @@ function DefaultFilterContent(_ref) {
6824
7040
 
6825
7041
  /***/ }),
6826
7042
 
7043
+ /***/ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx":
7044
+ /*!*************************************************************************!*\
7045
+ !*** ./components/table/pipeline/features/filter/DefaultFilterIcon.tsx ***!
7046
+ \*************************************************************************/
7047
+ /*! exports provided: default */
7048
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7049
+
7050
+ "use strict";
7051
+ __webpack_require__.r(__webpack_exports__);
7052
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DefaultFilterIcon; });
7053
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
7054
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
7055
+
7056
+ function DefaultFilterIcon(_ref) {
7057
+ var width = _ref.width,
7058
+ height = _ref.height;
7059
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", {
7060
+ width: width,
7061
+ height: height,
7062
+ style: {
7063
+ verticalAlign: 'middle'
7064
+ },
7065
+ viewBox: "0 0 1024 1024",
7066
+ focusable: "false",
7067
+ "data-icon": "filter",
7068
+ fill: "currentColor",
7069
+ version: "1.1",
7070
+ xmlns: "http://www.w3.org/2000/svg"
7071
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", {
7072
+ 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"
7073
+ }));
7074
+ }
7075
+
7076
+ /***/ }),
7077
+
6827
7078
  /***/ "./components/table/pipeline/features/filter/Filter.tsx":
6828
7079
  /*!**************************************************************!*\
6829
7080
  !*** ./components/table/pipeline/features/filter/Filter.tsx ***!
@@ -6844,13 +7095,15 @@ __webpack_require__.r(__webpack_exports__);
6844
7095
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom */ "react-dom");
6845
7096
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_4__);
6846
7097
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
6847
- /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
6848
- /* harmony import */ var _FilterPanel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FilterPanel */ "./components/table/pipeline/features/filter/FilterPanel.tsx");
6849
- /* harmony import */ var _DefaultFilterContent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DefaultFilterContent */ "./components/table/pipeline/features/filter/DefaultFilterContent.tsx");
6850
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
6851
- /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
6852
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
6853
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
7098
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
7099
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
7100
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
7101
+ /* harmony import */ var _FilterPanel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./FilterPanel */ "./components/table/pipeline/features/filter/FilterPanel.tsx");
7102
+ /* harmony import */ var _DefaultFilterContent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./DefaultFilterContent */ "./components/table/pipeline/features/filter/DefaultFilterContent.tsx");
7103
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
7104
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../utils */ "./components/table/utils/index.tsx");
7105
+ /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../base/utils */ "./components/table/base/utils.tsx");
7106
+ /* harmony import */ var _utils_keyCode__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../utils/keyCode */ "./components/table/utils/keyCode.ts");
6854
7107
 
6855
7108
 
6856
7109
 
@@ -6866,23 +7119,24 @@ var _templateObject;
6866
7119
 
6867
7120
 
6868
7121
 
6869
- var HEADER_ICON_OFFSET_Y = 6 + 1; // padding-top + border
7122
+
7123
+
7124
+ var HEADER_ICON_OFFSET_Y = 8 + 1; // padding-top + border
6870
7125
 
6871
7126
  var HEADER_ICON_OFFSET_X = 16 + 1; // padding-left+ border
6872
7127
 
6873
- var FilterIconSpanStyle = styled_components__WEBPACK_IMPORTED_MODULE_5__["default"].span(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n // position: absolute;\n // right: 4px;\n // cursor: pointer;\n // transform: translateY(-50%);\n // top: 50%;\n // height: 12px; \n"])));
7128
+ var FilterIconSpanStyle = styled_components__WEBPACK_IMPORTED_MODULE_5__["default"].span(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n // position: absolute;\n // right: 4px;\n // cursor: pointer;\n // transform: translateY(-50%);\n // top: 50%;\n // height: 12px; \n > .", " {\n display: flex\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].filterIcon);
6874
7129
 
6875
7130
  function Panel(_ref) {
6876
7131
  var ele = _ref.ele,
6877
7132
  filterIcon = _ref.filterIcon,
6878
7133
  hidePanel = _ref.hidePanel,
6879
- renderPanelContent = _ref.renderPanelContent;
7134
+ renderPanelContent = _ref.renderPanelContent,
7135
+ hideFilterPopupHeader = _ref.hideFilterPopupHeader,
7136
+ popupParent = _ref.popupParent;
6880
7137
  var filterPanelRef = react__WEBPACK_IMPORTED_MODULE_3___default.a.useRef(null);
6881
7138
 
6882
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6883
- x: HEADER_ICON_OFFSET_X,
6884
- y: HEADER_ICON_OFFSET_Y
6885
- })),
7139
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["calculatePopupRelative"])(ele, popupParent, _getPanelOffset(ele, hideFilterPopupHeader))),
6886
7140
  _React$useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState, 2),
6887
7141
  position = _React$useState2[0],
6888
7142
  setPosition = _React$useState2[1];
@@ -6893,25 +7147,23 @@ function Panel(_ref) {
6893
7147
  };
6894
7148
 
6895
7149
  var handleFilterPanelResize = function handleFilterPanelResize(resize) {
6896
- setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["calculatePopupRelative"])(ele, document.body, {
6897
- x: HEADER_ICON_OFFSET_X,
6898
- y: HEADER_ICON_OFFSET_Y
6899
- }));
7150
+ setPosition(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["calculatePopupRelative"])(ele, popupParent, _getPanelOffset(ele, hideFilterPopupHeader)));
6900
7151
  };
6901
7152
 
6902
7153
  Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(function () {
6903
- var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_10__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
7154
+ var resizeObserver = Object(_base_utils__WEBPACK_IMPORTED_MODULE_12__["addResizeObserver"])(filterPanelRef.current.children[0], handleFilterPanelResize);
6904
7155
  return function () {
6905
7156
  resizeObserver && resizeObserver.disconnect();
6906
7157
  };
6907
7158
  }, []);
6908
7159
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", {
6909
7160
  ref: filterPanelRef
6910
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_FilterPanel__WEBPACK_IMPORTED_MODULE_7__["default"], {
7161
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_FilterPanel__WEBPACK_IMPORTED_MODULE_8__["default"], {
6911
7162
  style: style,
6912
7163
  onClose: hidePanel,
6913
7164
  position: position,
6914
- filterIcon: filterIcon
7165
+ filterIcon: filterIcon,
7166
+ hideFilterPopupHeader: hideFilterPopupHeader
6915
7167
  }, renderPanelContent()));
6916
7168
  }
6917
7169
 
@@ -6928,7 +7180,10 @@ function Filter(_ref2) {
6928
7180
  setFilterModel = _ref2.setFilterModel,
6929
7181
  filterModel = _ref2.filterModel,
6930
7182
  isFilterActive = _ref2.isFilterActive,
6931
- stopClickEventPropagation = _ref2.stopClickEventPropagation;
7183
+ stopClickEventPropagation = _ref2.stopClickEventPropagation,
7184
+ stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
7185
+ hideFilterPopupHeader = _ref2.hideFilterPopupHeader,
7186
+ getPopupParent = _ref2.getPopupParent;
6932
7187
 
6933
7188
  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(false),
6934
7189
  _React$useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState3, 2),
@@ -6936,15 +7191,12 @@ function Filter(_ref2) {
6936
7191
  setShowPanel = _React$useState4[1];
6937
7192
 
6938
7193
  var iconRef = react__WEBPACK_IMPORTED_MODULE_3___default.a.useRef(null);
7194
+ var iconWrapRef = react__WEBPACK_IMPORTED_MODULE_3___default.a.useRef();
6939
7195
 
6940
7196
  var hidePanel = function hidePanel() {
6941
7197
  return setShowPanel(false);
6942
7198
  };
6943
7199
 
6944
- var handleMouseDown = function handleMouseDown(e) {
6945
- e.stopPropagation(); // 阻止触发拖拽
6946
- };
6947
-
6948
7200
  var renderPanelContent = function renderPanelContent() {
6949
7201
  if (FilterPanelContent) {
6950
7202
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterPanelContent, {
@@ -6954,7 +7206,7 @@ function Filter(_ref2) {
6954
7206
  hidePanel: hidePanel
6955
7207
  });
6956
7208
  } else {
6957
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_DefaultFilterContent__WEBPACK_IMPORTED_MODULE_8__["default"], {
7209
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_DefaultFilterContent__WEBPACK_IMPORTED_MODULE_9__["default"], {
6958
7210
  setFilterModel: setFilterModel,
6959
7211
  filterModel: filterModel,
6960
7212
  isFilterActive: isFilterActive,
@@ -6964,38 +7216,67 @@ function Filter(_ref2) {
6964
7216
  };
6965
7217
 
6966
7218
  var handleIconClick = function handleIconClick(e) {
7219
+ // 只有当icon区域点击会触发面板展开
7220
+ // 防止 createPortal 区域的点击触发该事件
7221
+ if (e.currentTarget.contains(e.target)) {
7222
+ setShowPanel(true);
7223
+ }
7224
+
6967
7225
  if (stopClickEventPropagation) {
6968
7226
  e.stopPropagation();
6969
7227
  }
7228
+ };
6970
7229
 
6971
- setShowPanel(true);
7230
+ var handleKeyDown = function handleKeyDown(e) {
7231
+ if (e.keyCode === _utils_keyCode__WEBPACK_IMPORTED_MODULE_13__["default"].ESC) {
7232
+ if (e.currentTarget.contains(e.target)) {
7233
+ setShowPanel(false);
7234
+ }
7235
+
7236
+ if (stopESCKeyDownEventPropagation) {
7237
+ e.stopPropagation();
7238
+ }
7239
+ }
6972
7240
  };
6973
7241
 
6974
- 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));
7242
+ var iconClassName = classnames__WEBPACK_IMPORTED_MODULE_6___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));
7243
+ var displayFilterIcon = typeof filterIcon === 'function' ? filterIcon(isFilterActive) : filterIcon;
7244
+ var popupParent = (getPopupParent === null || getPopupParent === void 0 ? void 0 : getPopupParent(iconWrapRef.current)) || document.body;
6975
7245
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(FilterIconSpanStyle, {
6976
7246
  style: style,
6977
7247
  className: iconClassName,
6978
- onMouseDown: handleMouseDown,
6979
- ref: iconRef
7248
+ onClick: handleIconClick,
7249
+ onKeyDown: handleKeyDown,
7250
+ ref: iconWrapRef,
7251
+ tabIndex: -1
6980
7252
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", {
6981
- className: _base_styles__WEBPACK_IMPORTED_MODULE_6__["Classes"].filterIcon,
6982
- onClick: handleIconClick
6983
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
7253
+ ref: iconRef,
7254
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].filterIcon
7255
+ }, displayFilterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_10__["default"], {
6984
7256
  width: size,
6985
- height: size,
6986
- viewBox: "64 64 896 896",
6987
- focusable: "false",
6988
- "data-icon": "filter",
6989
- fill: "currentColor",
6990
- "aria-hidden": "true"
6991
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
6992
- 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"
6993
- }))), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
6994
- ele: iconRef.current,
6995
- filterIcon: filterIcon,
7257
+ height: size
7258
+ })), showPanel && /*#__PURE__*/Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Panel, {
7259
+ ele: hideFilterPopupHeader ? iconWrapRef.current : iconRef.current,
7260
+ filterIcon: displayFilterIcon,
6996
7261
  hidePanel: hidePanel,
6997
- renderPanelContent: renderPanelContent
6998
- }), document.body));
7262
+ renderPanelContent: renderPanelContent,
7263
+ hideFilterPopupHeader: hideFilterPopupHeader,
7264
+ popupParent: popupParent
7265
+ }), popupParent));
7266
+ }
7267
+
7268
+ function _getPanelOffset(ele, hideFilterPopupHeader) {
7269
+ if (hideFilterPopupHeader) {
7270
+ return {
7271
+ x: 0,
7272
+ y: 0 - ele.offsetHeight
7273
+ };
7274
+ }
7275
+
7276
+ return {
7277
+ x: HEADER_ICON_OFFSET_X,
7278
+ y: HEADER_ICON_OFFSET_Y
7279
+ };
6999
7280
  }
7000
7281
 
7001
7282
  /* harmony default export */ __webpack_exports__["default"] = (Filter);
@@ -7035,6 +7316,9 @@ __webpack_require__.r(__webpack_exports__);
7035
7316
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
7036
7317
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
7037
7318
  /* harmony import */ var _utils___WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../utils/ */ "./components/table/utils/index.tsx");
7319
+ /* harmony import */ var _DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DefaultFilterIcon */ "./components/table/pipeline/features/filter/DefaultFilterIcon.tsx");
7320
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../base/styles */ "./components/table/base/styles.ts");
7321
+ /* harmony import */ var _utils_keyCode__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../utils/keyCode */ "./components/table/utils/keyCode.ts");
7038
7322
 
7039
7323
 
7040
7324
 
@@ -7055,7 +7339,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7055
7339
 
7056
7340
 
7057
7341
 
7058
- 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"])));
7342
+
7343
+
7344
+
7345
+ 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 .", " {\n display: flex;\n background-color: #ebedf1;\n\n .", " {\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 .", " {\n display: flex;\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].popupHeader, _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].filterIcon, _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].popupBody);
7059
7346
 
7060
7347
  var useWindowEvents = function useWindowEvents(func, evens) {
7061
7348
  react__WEBPACK_IMPORTED_MODULE_10___default.a.useEffect(function () {
@@ -7075,7 +7362,8 @@ function FilterPanel(_ref) {
7075
7362
  children = _ref.children,
7076
7363
  position = _ref.position,
7077
7364
  filterIcon = _ref.filterIcon,
7078
- onClose = _ref.onClose;
7365
+ onClose = _ref.onClose,
7366
+ hideFilterPopupHeader = _ref.hideFilterPopupHeader;
7079
7367
 
7080
7368
  var _useState = Object(react__WEBPACK_IMPORTED_MODULE_10__["useState"])(position),
7081
7369
  _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
@@ -7097,32 +7385,47 @@ function FilterPanel(_ref) {
7097
7385
  setPerfectPosition(Object(_utils___WEBPACK_IMPORTED_MODULE_12__["keepWithinBounds"])(document.body, ref.current, position.x, position.y, true));
7098
7386
  setVisible(true);
7099
7387
  }, [position]);
7388
+ var hasPopupMouseEvent = Object(react__WEBPACK_IMPORTED_MODULE_10__["useRef"])(false);
7389
+
7390
+ var handleMouseEvent = function handleMouseEvent() {
7391
+ // 当弹出的过滤面板内部发生鼠标按下、抬起事件时,标记当前事件,并在click捕获期清除标记,用来确定鼠标按下、抬起发生在过滤面板内部
7392
+ // 利用了React.createPortal冒泡是根据React Tree的特性:
7393
+ // https://jwwnz.medium.com/react-portals-and-event-bubbling-8df3e35ca3f1
7394
+ hasPopupMouseEvent.current = true;
7395
+ };
7396
+
7100
7397
  useWindowEvents(function (e) {
7101
- return !isContainPanel(e) && onClose();
7102
- }, ['mousedown']);
7398
+ !isContainPanel(e) && !hasPopupMouseEvent.current && onClose();
7399
+ hasPopupMouseEvent.current = false;
7400
+ }, ['click']);
7401
+
7402
+ var handleKeyDown = function handleKeyDown(e) {
7403
+ if (e.currentTarget.contains(e.target) && e.keyCode === _utils_keyCode__WEBPACK_IMPORTED_MODULE_15__["default"].ESC) {
7404
+ onClose();
7405
+ }
7406
+ };
7407
+
7103
7408
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(FilterPanelStyle, {
7409
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].popup,
7104
7410
  style: _objectSpread(_objectSpread({}, style), {}, {
7105
7411
  left: visible ? perfectPosition.x : 0,
7106
7412
  top: visible ? perfectPosition.y : 0,
7107
7413
  opacity: visible ? 1 : 0
7108
7414
  }),
7109
- ref: ref
7110
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7111
- className: 'popup-header'
7415
+ onMouseDown: handleMouseEvent,
7416
+ onMouseUp: handleMouseEvent,
7417
+ onKeyDown: handleKeyDown,
7418
+ ref: ref,
7419
+ tabIndex: -1
7420
+ }, !hideFilterPopupHeader ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7421
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].popupHeader
7112
7422
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("span", {
7113
- className: 'popup-header-icon'
7114
- }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("svg", {
7115
- width: 14,
7116
- height: 14,
7117
- viewBox: "64 64 896 896",
7118
- focusable: "false",
7119
- "data-icon": "filter",
7120
- fill: "currentColor",
7121
- "aria-hidden": "true"
7122
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("path", {
7123
- 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"
7124
- })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7125
- className: "popup-body"
7423
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].filterIcon
7424
+ }, filterIcon || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_DefaultFilterIcon__WEBPACK_IMPORTED_MODULE_13__["default"], {
7425
+ width: 12,
7426
+ height: 12
7427
+ }))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div", {
7428
+ className: _base_styles__WEBPACK_IMPORTED_MODULE_14__["Classes"].popupBody
7126
7429
  }, children));
7127
7430
  }
7128
7431
 
@@ -7187,7 +7490,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7187
7490
  data = data + '';
7188
7491
  }
7189
7492
 
7190
- return data.includes(value);
7493
+ return data.includes(value[0]);
7191
7494
  };
7192
7495
  }
7193
7496
  }, {
@@ -7203,7 +7506,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7203
7506
  data = data + '';
7204
7507
  }
7205
7508
 
7206
- return !data.includes(value);
7509
+ return !data.includes(value[0]);
7207
7510
  };
7208
7511
  }
7209
7512
  }, {
@@ -7211,7 +7514,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7211
7514
  key: 'equal',
7212
7515
  filter: function filter(value) {
7213
7516
  return function (data) {
7214
- return value !== data;
7517
+ return value[0] === data;
7215
7518
  };
7216
7519
  }
7217
7520
  }, {
@@ -7219,7 +7522,7 @@ var DEFAULT_FILTER_OPTIONS = [{
7219
7522
  key: 'notEqual',
7220
7523
  filter: function filter(value) {
7221
7524
  return function (data) {
7222
- return value !== data;
7525
+ return value[0] !== data;
7223
7526
  };
7224
7527
  }
7225
7528
  }, {
@@ -7241,13 +7544,83 @@ var DEFAULT_FILTER_OPTIONS = [{
7241
7544
  }];
7242
7545
 
7243
7546
 
7547
+ /***/ }),
7548
+
7549
+ /***/ "./components/table/pipeline/features/footerDataSource.ts":
7550
+ /*!****************************************************************!*\
7551
+ !*** ./components/table/pipeline/features/footerDataSource.ts ***!
7552
+ \****************************************************************/
7553
+ /*! exports provided: footerRowMetaSymbol, footerDataSource */
7554
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7555
+
7556
+ "use strict";
7557
+ __webpack_require__.r(__webpack_exports__);
7558
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return footerRowMetaSymbol; });
7559
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return footerDataSource; });
7560
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
7561
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
7562
+ /* 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");
7563
+ /* 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__);
7564
+ /* 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");
7565
+ /* 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__);
7566
+ /* 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");
7567
+ /* 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__);
7568
+ /* 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");
7569
+ /* 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__);
7570
+ /* 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");
7571
+ /* 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__);
7572
+ /* 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");
7573
+ /* 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__);
7574
+ /* 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");
7575
+ /* 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__);
7576
+ /* 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");
7577
+ /* 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__);
7578
+ /* 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");
7579
+ /* 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__);
7580
+
7581
+
7582
+ 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; }
7583
+
7584
+ 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; }
7585
+
7586
+
7587
+
7588
+
7589
+
7590
+
7591
+
7592
+
7593
+
7594
+
7595
+ var footerRowMetaSymbol = Symbol('footer-row');
7596
+ function footerDataSource() {
7597
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7598
+ return function footerDataSourceStep(pipeline) {
7599
+ var _opts$dataSource, _opts$footerRowMetaKe;
7600
+
7601
+ var footerDataSource = (_opts$dataSource = opts.dataSource) !== null && _opts$dataSource !== void 0 ? _opts$dataSource : pipeline.getFooterDataSource();
7602
+ var footerRowMetaKey = (_opts$footerRowMetaKe = opts.footerRowMetaKey) !== null && _opts$footerRowMetaKe !== void 0 ? _opts$footerRowMetaKe : footerRowMetaSymbol;
7603
+ pipeline.setFeatureOptions('footerRowMetaKey', footerRowMetaKey);
7604
+
7605
+ if (footerDataSource) {
7606
+ pipeline.footerDataSource(footerDataSource.map(function (row) {
7607
+ return _objectSpread(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, footerRowMetaKey, true), row);
7608
+ }));
7609
+ } else {
7610
+ console.warn('调用 pipeline.use(features.footerDataSource()) 前请先设置页脚数据源,设置方法有:pipeline.use(features.footerDataSource({dataSource:any[]})) 或者 pipeline.footerDataSource(any[])');
7611
+ }
7612
+
7613
+ return pipeline;
7614
+ };
7615
+ }
7616
+
7244
7617
  /***/ }),
7245
7618
 
7246
7619
  /***/ "./components/table/pipeline/features/index.ts":
7247
7620
  /*!*****************************************************!*\
7248
7621
  !*** ./components/table/pipeline/features/index.ts ***!
7249
7622
  \*****************************************************/
7250
- /*! 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 */
7623
+ /*! 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, colGroupExtendable, colGroupExtendOption */
7251
7624
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7252
7625
 
7253
7626
  "use strict";
@@ -7336,6 +7709,20 @@ __webpack_require__.r(__webpack_exports__);
7336
7709
  /* harmony import */ var _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./mergeCellHover */ "./components/table/pipeline/features/mergeCellHover.tsx");
7337
7710
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return _mergeCellHover__WEBPACK_IMPORTED_MODULE_17__["mergeCellHover"]; });
7338
7711
 
7712
+ /* harmony import */ var _footerDataSource__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./footerDataSource */ "./components/table/pipeline/features/footerDataSource.ts");
7713
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerDataSource", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerDataSource"]; });
7714
+
7715
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FooterDataSourceFeatureOptions", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["FooterDataSourceFeatureOptions"]; });
7716
+
7717
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "footerRowMetaSymbol", function() { return _footerDataSource__WEBPACK_IMPORTED_MODULE_18__["footerRowMetaSymbol"]; });
7718
+
7719
+ /* harmony import */ var _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./colGroupExtendable */ "./components/table/pipeline/features/colGroupExtendable.tsx");
7720
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendable", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendable"]; });
7721
+
7722
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendOption", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendOption"]; });
7723
+
7724
+
7725
+
7339
7726
 
7340
7727
 
7341
7728
 
@@ -7535,7 +7922,8 @@ function multiSelect() {
7535
7922
  /** 所有有效的 keys(disable 状态为 false) */
7536
7923
 
7537
7924
  var allKeys = [];
7538
- dataSource.forEach(function (row, rowIndex) {
7925
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
7926
+ flatDataSource.forEach(function (row, rowIndex) {
7539
7927
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7540
7928
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
7541
7929
 
@@ -7601,6 +7989,10 @@ function multiSelect() {
7601
7989
  return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7602
7990
  },
7603
7991
  render: function render(_, row, rowIndex) {
7992
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
7993
+ return null;
7994
+ }
7995
+
7604
7996
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7605
7997
  var checked = set.has(key);
7606
7998
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
@@ -7709,13 +8101,13 @@ function multiSelect() {
7709
8101
  /*!***************************************************************!*\
7710
8102
  !*** ./components/table/pipeline/features/rangeSelection.tsx ***!
7711
8103
  \***************************************************************/
7712
- /*! exports provided: rangeSelectionKey, lastClickCell, rangeSelection */
8104
+ /*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection */
7713
8105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7714
8106
 
7715
8107
  "use strict";
7716
8108
  __webpack_require__.r(__webpack_exports__);
7717
8109
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelectionKey", function() { return rangeSelectionKey; });
7718
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCell", function() { return lastClickCell; });
8110
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCellKey", function() { return lastClickCellKey; });
7719
8111
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelection", function() { return rangeSelection; });
7720
8112
  /* 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");
7721
8113
  /* 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__);
@@ -7739,13 +8131,15 @@ __webpack_require__.r(__webpack_exports__);
7739
8131
  /* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_9__);
7740
8132
  /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
7741
8133
  /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_10__);
7742
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
7743
- /* harmony import */ var _utils_others__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/others */ "./components/table/utils/others.ts");
7744
- /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
7745
- /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
7746
- /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
7747
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
7748
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_16__);
8134
+ /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
8135
+ /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_11__);
8136
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
8137
+ /* harmony import */ var _utils_others__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/others */ "./components/table/utils/others.ts");
8138
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
8139
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
8140
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
8141
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
8142
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_17__);
7749
8143
 
7750
8144
 
7751
8145
 
@@ -7768,42 +8162,53 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7768
8162
 
7769
8163
 
7770
8164
 
8165
+
7771
8166
  var rangeSelectionKey = 'rangeSelection';
7772
- var lastClickCell = 'lastClickCell';
8167
+ var lastClickCellKey = 'lastClickCell';
7773
8168
  function rangeSelection(opts) {
7774
8169
  return function step(pipeline) {
7775
8170
  var SCROLL_SIZE = 30;
7776
8171
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
8172
+ var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
8173
+ var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
7777
8174
 
7778
8175
  if (!tableBody) {
7779
8176
  return pipeline;
7780
8177
  }
7781
8178
 
7782
8179
  var columns = pipeline.getColumns();
8180
+ var dataSource = pipeline.getDataSource();
7783
8181
 
7784
8182
  var rangeSelectedChange = function rangeSelectedChange(rangeSelection) {
7785
8183
  var _opts$rangeSelectedCh;
7786
8184
 
7787
8185
  pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
7788
8186
  opts === null || opts === void 0 ? void 0 : (_opts$rangeSelectedCh = opts.rangeSelectedChange) === null || _opts$rangeSelectedCh === void 0 ? void 0 : _opts$rangeSelectedCh.call(opts, rangeSelection);
7789
- }; // if (!pipeline.getFeatureOptions(rangeSelectionKey)) {
7790
- // pipeline.setFeatureOptions(rangeSelectionKey, {
7791
- // optionKey: rangeSelectionKey,
7792
- // rangeSelectedChange: rangeSelectedChange
7793
- // })
7794
- // }
7795
-
8187
+ };
7796
8188
 
7797
8189
  var setRangeSelection = function setRangeSelection(startDragCell, draggingCell) {
7798
- if (!startDragCell || !draggingCell || isSameCell(startDragCell, draggingCell)) return;
8190
+ if (!startDragCell || !draggingCell) return;
7799
8191
  var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
7800
- var isTopToBottom = startDragCell.rowIndex <= draggingCell.rowIndex;
8192
+
8193
+ var _getRangeSelectionRow = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource),
8194
+ startRow = _getRangeSelectionRow.startRow,
8195
+ endRow = _getRangeSelectionRow.endRow,
8196
+ footerRowRange = _getRangeSelectionRow.footerRowRange;
8197
+
7801
8198
  var rangeSelection = {
7802
- startRow: isTopToBottom ? startDragCell.rowIndex : startDragCell.rowIndex + startDragCell.rowSpan - 1,
7803
- endRow: isTopToBottom ? draggingCell.rowIndex + draggingCell.rowSpan - 1 : draggingCell.rowIndex,
8199
+ startRow: startRow,
8200
+ endRow: endRow,
7804
8201
  columns: rangeColumns,
7805
- startColumn: startDragCell.column
8202
+ startColumn: startDragCell.column,
8203
+ footerRowRange: footerRowRange
7806
8204
  };
8205
+
8206
+ if (isCellRangeSingleCell(rangeSelection)) {
8207
+ artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_17___default()(_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].rangeSelection));
8208
+ } else {
8209
+ artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_17___default()(_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].rangeSelection));
8210
+ }
8211
+
7807
8212
  rangeSelectedChange(rangeSelection);
7808
8213
  };
7809
8214
 
@@ -7813,30 +8218,31 @@ function rangeSelection(opts) {
7813
8218
 
7814
8219
  if (clickCell) {
7815
8220
  if (event.shiftKey) {
7816
- var _lastClickCell = pipeline.getStateAtKey(lastClickCell);
8221
+ var _lastClickCell = pipeline.getStateAtKey(lastClickCellKey);
7817
8222
 
7818
8223
  if (_lastClickCell) {
7819
8224
  setRangeSelection(_lastClickCell, clickCell);
7820
8225
  } else {
7821
8226
  // 第一次进来就按住shift键,这时候要记住点击的单元格
7822
- pipeline.setStateAtKey(lastClickCell, clickCell);
8227
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
7823
8228
  }
7824
8229
  } else {
7825
- pipeline.setStateAtKey(lastClickCell, clickCell);
7826
- rangeSelectedChange(null);
8230
+ pipeline.setStateAtKey(lastClickCellKey, clickCell);
8231
+ setRangeSelection(clickCell, clickCell);
7827
8232
  }
7828
8233
  }
7829
8234
  };
7830
8235
 
7831
8236
  var onMouseDown = function onMouseDown(mouseDownEvent) {
7832
- if (mouseDownEvent.button !== 0 || !Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent)) return; // mouseDownEvent.preventDefault()
8237
+ if (mouseDownEvent.button !== 0 || !(Object(_utils__WEBPACK_IMPORTED_MODULE_12__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_12__["isElementInEventPath"])(tableFooter, mouseDownEvent.nativeEvent))) return; // mouseDownEvent.preventDefault()
7833
8238
  // shift + 点击选中
7834
8239
 
7835
8240
  shiftKeySelect(mouseDownEvent);
8241
+ if (mouseDownEvent.shiftKey) return;
7836
8242
  var target = mouseDownEvent.target;
7837
8243
  var startDragCell = getTargetCell(target, columns);
7838
- var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_13__["fromEvent"])(window, 'mousemove');
7839
- var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_13__["fromEvent"])(window, 'mouseup');
8244
+ var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_14__["fromEvent"])(window, 'mousemove');
8245
+ var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_14__["fromEvent"])(window, 'mouseup');
7840
8246
  var tableBodyClientRect = tableBody.getBoundingClientRect();
7841
8247
 
7842
8248
  var updateScrollPosition = function updateScrollPosition(client) {
@@ -7864,7 +8270,7 @@ function rangeSelection(opts) {
7864
8270
  }
7865
8271
  };
7866
8272
 
7867
- var rangeSelected$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_14__["map"])(function (mouseMoveEvent) {
8273
+ var rangeSelected$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_15__["map"])(function (mouseMoveEvent) {
7868
8274
  var target = mouseMoveEvent.target || mouseMoveEvent.srcElement;
7869
8275
  var draggingCell = getTargetCell(target, columns);
7870
8276
  var client = {
@@ -7876,7 +8282,7 @@ function rangeSelection(opts) {
7876
8282
  startDragCell: startDragCell,
7877
8283
  draggingCell: draggingCell
7878
8284
  };
7879
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_14__["takeUntil"])(mouseup$));
8285
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_15__["takeUntil"])(mouseup$));
7880
8286
  rangeSelected$.subscribe(function (_ref) {
7881
8287
  var startDragCell = _ref.startDragCell,
7882
8288
  draggingCell = _ref.draggingCell;
@@ -7885,18 +8291,24 @@ function rangeSelection(opts) {
7885
8291
  };
7886
8292
 
7887
8293
  var onKeyDown = function onKeyDown(e) {
7888
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_11__["isElementInEventPath"])(tableBody, e.nativeEvent)) return;
8294
+ if (!(Object(_utils__WEBPACK_IMPORTED_MODULE_12__["isElementInEventPath"])(tableBody, e.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_12__["isElementInEventPath"])(tableFooter, e.nativeEvent))) return;
7889
8295
 
7890
8296
  if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
7891
8297
  var rowLen = pipeline.getDataSource().length;
8298
+ var footerDataSource = pipeline.getFooterDataSource() || []; // 焦点位于可编辑的单元格内不做全选
7892
8299
 
7893
- if (columns.length && rowLen) {
8300
+ if (columns.length && rowLen && !getElementEditable(e.target)) {
7894
8301
  opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
8302
+ artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_17___default()(_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].rangeSelection));
7895
8303
  rangeSelectedChange({
7896
8304
  startRow: 0,
7897
8305
  endRow: rowLen - 1,
7898
- columns: columns,
7899
- startColumn: columns[0]
8306
+ columns: Object(_utils__WEBPACK_IMPORTED_MODULE_12__["collectNodes"])(columns, 'leaf-only'),
8307
+ startColumn: columns[0],
8308
+ footerRowRange: footerDataSource.length > 0 ? {
8309
+ startRow: 0,
8310
+ endRow: footerDataSource.length - 1
8311
+ } : null
7900
8312
  });
7901
8313
  }
7902
8314
  }
@@ -7905,10 +8317,11 @@ function rangeSelection(opts) {
7905
8317
  pipeline.addTableProps({
7906
8318
  onMouseDown: onMouseDown,
7907
8319
  onKeyDown: onKeyDown,
7908
- tabIndex: -1
8320
+ tabIndex: -1,
8321
+ className: classnames__WEBPACK_IMPORTED_MODULE_17___default()([_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].rangeSelection])
7909
8322
  }); // todo: 后面可以把mousedown放到一个流里面
7910
8323
 
7911
- return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["makeRecursiveMapper"])(function (col) {
8324
+ return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_12__["makeRecursiveMapper"])(function (col) {
7912
8325
  var rangeSelection = pipeline.getStateAtKey(rangeSelectionKey);
7913
8326
  if (!rangeSelection || rangeSelection.columns.findIndex(function (selectedCol) {
7914
8327
  return selectedCol.code === col.code;
@@ -7919,16 +8332,30 @@ function rangeSelection(opts) {
7919
8332
  var _cx;
7920
8333
 
7921
8334
  var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
8335
+ var isInFooter = record[pipeline.getFeatureOptions('footerRowMetaKey')];
7922
8336
  var startRow = rangeSelection.startRow,
7923
8337
  endRow = rangeSelection.endRow,
7924
- columns = rangeSelection.columns;
7925
- var startIndex = startRow < endRow ? startRow : endRow;
7926
- var endIndex = startRow < endRow ? endRow : startRow;
8338
+ columns = rangeSelection.columns,
8339
+ footerRowRange = rangeSelection.footerRowRange;
8340
+
8341
+ var _getRowIndex = getRowIndex(startRow, endRow),
8342
+ startRowIndex = _getRowIndex.startRowIndex,
8343
+ endRowIndex = _getRowIndex.endRowIndex;
8344
+
8345
+ var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
8346
+ footerStartRowIndex = _getFooterRowIndex.startRowIndex,
8347
+ footerEndRowIndex = _getFooterRowIndex.endRowIndex;
8348
+
7927
8349
  var startCol = columns[0];
7928
8350
  var endCol = columns[columns.length - 1];
7929
- var match = rowIndex >= startIndex && rowIndex <= endIndex;
7930
- 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));
7931
- return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["mergeCellProps"])(prevCellProps, {
8351
+ var bodyMatch = !isInFooter && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
8352
+ var footerMatch = isInFooter && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
8353
+ var match = footerMatch || bodyMatch;
8354
+ var matchSingleCell = match && isCellRangeSingleCell(rangeSelection); // 单个范围选中单元格不显示样式
8355
+
8356
+ var showCellRangeStyle = match && !matchSingleCell;
8357
+ var className = classnames__WEBPACK_IMPORTED_MODULE_17___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeSingleCell, matchSingleCell), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeSelected, showCellRangeStyle), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["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_16__["Classes"].tableCellRangeLeft, showCellRangeStyle && col.code === startCol.code), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["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_16__["Classes"].tableCellRangeRight, showCellRangeStyle && col.code === endCol.code), _cx));
8358
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_12__["mergeCellProps"])(prevCellProps, {
7932
8359
  className: className
7933
8360
  });
7934
8361
  }
@@ -7942,7 +8369,7 @@ function getTargetCell(target, columns) {
7942
8369
  if (target.getAttribute('data-role') === 'table-cell') {
7943
8370
  var _ret = function () {
7944
8371
  var columnCode = target.getAttribute('data-code');
7945
- var column = Object(_utils_others__WEBPACK_IMPORTED_MODULE_12__["findByTree"])(columns, function (item, index) {
8372
+ var column = Object(_utils_others__WEBPACK_IMPORTED_MODULE_13__["findByTree"])(columns, function (item, index) {
7946
8373
  return item.code === columnCode;
7947
8374
  });
7948
8375
  if (!column) return {
@@ -7953,7 +8380,8 @@ function getTargetCell(target, columns) {
7953
8380
  rowIndex: parseInt(target.getAttribute('data-rowindex')),
7954
8381
  rowSpan: parseInt(target.getAttribute('rowspan') || 1),
7955
8382
  code: columnCode,
7956
- column: column
8383
+ column: column,
8384
+ isInFooter: isEleInFooter(target)
7957
8385
  }
7958
8386
  };
7959
8387
  }();
@@ -7968,11 +8396,23 @@ function getTargetCell(target, columns) {
7968
8396
  }
7969
8397
 
7970
8398
  function isSameCell(cell1, cell2) {
7971
- return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code;
8399
+ return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isInFooter === cell2.isInFooter;
8400
+ }
8401
+
8402
+ function isEleInFooter(target) {
8403
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].artTable)) {
8404
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableFooter)) {
8405
+ return true;
8406
+ }
8407
+
8408
+ target = target.parentElement;
8409
+ }
8410
+
8411
+ return false;
7972
8412
  }
7973
8413
 
7974
8414
  function getRangeColumns(startCell, endCell, columns) {
7975
- var flatColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_11__["collectNodes"])(columns, 'leaf-only');
8415
+ var flatColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_12__["collectNodes"])(columns, 'leaf-only');
7976
8416
  var startIndex = flatColumns.findIndex(function (col) {
7977
8417
  return col.code === startCell.code;
7978
8418
  });
@@ -7987,6 +8427,108 @@ function getRangeColumns(startCell, endCell, columns) {
7987
8427
  }
7988
8428
  }
7989
8429
 
8430
+ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
8431
+ var footerRowRange = null;
8432
+ var startRow = -1;
8433
+ var endRow = -1;
8434
+
8435
+ var _getCellRangeRow = getCellRangeRow(startCell, endCell),
8436
+ _startRow = _getCellRangeRow.startRow,
8437
+ _endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
8438
+
8439
+
8440
+ if (!startCell.isInFooter && !endCell.isInFooter) {
8441
+ startRow = _startRow;
8442
+ endRow = _endRow;
8443
+ } else if (startCell.isInFooter && endCell.isInFooter) {
8444
+ // 两个单元格都在表底
8445
+ footerRowRange = {
8446
+ startRow: _startRow,
8447
+ endRow: _endRow
8448
+ };
8449
+ } else {
8450
+ // 一个单元格在表体,一个在表底
8451
+ if (startCell.isInFooter) {
8452
+ startRow = dataSource.length - 1;
8453
+ endRow = endCell.rowIndex;
8454
+ footerRowRange = {
8455
+ startRow: startCell.rowIndex,
8456
+ endRow: 0
8457
+ };
8458
+ } else {
8459
+ startRow = startCell.rowIndex;
8460
+ endRow = dataSource.length - 1;
8461
+ footerRowRange = {
8462
+ startRow: 0,
8463
+ endRow: endCell.rowIndex
8464
+ };
8465
+ }
8466
+ }
8467
+
8468
+ return {
8469
+ startRow: startRow,
8470
+ endRow: endRow,
8471
+ footerRowRange: footerRowRange
8472
+ };
8473
+ }
8474
+
8475
+ function getCellRangeRow(startCell, endCell) {
8476
+ if (isSameCell(startCell, endCell)) {
8477
+ return {
8478
+ startRow: startCell.rowIndex,
8479
+ endRow: startCell.rowIndex
8480
+ };
8481
+ }
8482
+
8483
+ var isTopToBottom = startCell.rowIndex <= endCell.rowIndex;
8484
+ var startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1;
8485
+ var endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex;
8486
+ return {
8487
+ startRow: startRow,
8488
+ endRow: endRow
8489
+ };
8490
+ }
8491
+
8492
+ function isCellRangeSingleCell(rangeSelection) {
8493
+ var startRow = rangeSelection.startRow,
8494
+ endRow = rangeSelection.endRow,
8495
+ columns = rangeSelection.columns,
8496
+ footerRowRange = rangeSelection.footerRowRange;
8497
+ var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
8498
+ var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
8499
+ return isBodySingleCell || isFooterSingleCell;
8500
+ }
8501
+
8502
+ function getRowIndex(startRow, endRow) {
8503
+ var isReverse = startRow > endRow;
8504
+ var startRowIndex = isReverse ? endRow : startRow;
8505
+ var endRowIndex = isReverse ? startRow : endRow;
8506
+ return {
8507
+ startRowIndex: startRowIndex,
8508
+ endRowIndex: endRowIndex
8509
+ };
8510
+ }
8511
+
8512
+ function getFooterRowIndex(footerRowRange) {
8513
+ if (footerRowRange) {
8514
+ return getRowIndex(footerRowRange.startRow, footerRowRange.endRow);
8515
+ }
8516
+
8517
+ return {
8518
+ startRowIndex: -1,
8519
+ endRowIndex: -1
8520
+ };
8521
+ }
8522
+
8523
+ function getElementEditable(target) {
8524
+ if (!target) return;
8525
+
8526
+ if (['input', 'textarea'].includes(target.tagName.toLowerCase())) {
8527
+ if (target.type === 'checkbox') return;
8528
+ return !target.disabled && !target.readOnly;
8529
+ }
8530
+ }
8531
+
7990
8532
  /***/ }),
7991
8533
 
7992
8534
  /***/ "./components/table/pipeline/features/rowDetail.tsx":
@@ -8711,6 +9253,10 @@ function singleSelect() {
8711
9253
  return preCellProps;
8712
9254
  },
8713
9255
  render: function render(_, row, rowIndex) {
9256
+ if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
9257
+ return null;
9258
+ }
9259
+
8714
9260
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_10__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8715
9261
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Radio, {
8716
9262
  checked: value === rowKey,
@@ -9299,24 +9845,24 @@ function tips() {
9299
9845
  __webpack_require__.r(__webpack_exports__);
9300
9846
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMetaSymbol", function() { return treeMetaSymbol; });
9301
9847
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeMode", function() { return treeMode; });
9302
- /* 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");
9303
- /* 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__);
9304
- /* 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");
9305
- /* 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__);
9306
- /* 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");
9307
- /* 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__);
9308
- /* 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");
9309
- /* 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__);
9310
- /* 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");
9311
- /* 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__);
9312
- /* 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");
9313
- /* 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__);
9314
- /* 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");
9315
- /* 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__);
9316
- /* 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");
9317
- /* 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__);
9318
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/toArray */ "./node_modules/@babel/runtime/helpers/toArray.js");
9319
- /* harmony import */ var _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8__);
9848
+ /* 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");
9849
+ /* 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__);
9850
+ /* 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");
9851
+ /* 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__);
9852
+ /* 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");
9853
+ /* 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__);
9854
+ /* 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");
9855
+ /* 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__);
9856
+ /* 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");
9857
+ /* 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__);
9858
+ /* 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");
9859
+ /* 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__);
9860
+ /* 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");
9861
+ /* 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__);
9862
+ /* 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");
9863
+ /* 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__);
9864
+ /* 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");
9865
+ /* 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__);
9320
9866
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9321
9867
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);
9322
9868
  /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
@@ -9339,8 +9885,8 @@ __webpack_require__.r(__webpack_exports__);
9339
9885
  /* 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__);
9340
9886
  /* 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");
9341
9887
  /* 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__);
9342
- /* 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");
9343
- /* 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__);
9888
+ /* 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");
9889
+ /* 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__);
9344
9890
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9345
9891
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_21__);
9346
9892
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! react */ "react");
@@ -9396,11 +9942,6 @@ function treeMode() {
9396
9942
  var stateKey = 'treeMode';
9397
9943
  var ctx = pipeline.ctx;
9398
9944
  var primaryKey = pipeline.ensurePrimaryKey('treeMode');
9399
-
9400
- if (typeof primaryKey !== 'string') {
9401
- throw new Error('treeMode 仅支持字符串作为 primaryKey');
9402
- }
9403
-
9404
9945
  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 : [];
9405
9946
  var openKeySet = new Set(openKeys);
9406
9947
 
@@ -9453,7 +9994,7 @@ function treeMode() {
9453
9994
  try {
9454
9995
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
9455
9996
  var _node = _step.value;
9456
- var rowKey = _node[primaryKey];
9997
+ var rowKey = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetRowKey(primaryKey, _node, -1);
9457
9998
  var expanded = openKeySet.has(rowKey);
9458
9999
  var isLeaf = isLeafNode(_node, {
9459
10000
  depth: depth,
@@ -9487,12 +10028,15 @@ function treeMode() {
9487
10028
  return columns;
9488
10029
  }
9489
10030
 
9490
- var _columns = _babel_runtime_helpers_toArray__WEBPACK_IMPORTED_MODULE_8___default()(columns),
9491
- firstCol = _columns[0],
9492
- others = _columns.slice(1);
10031
+ var expandColIndex = columns.findIndex(function (_ref3) {
10032
+ var code = _ref3.code;
10033
+ return code && opts.expandColCode === code;
10034
+ });
10035
+ expandColIndex = expandColIndex === -1 ? 0 : expandColIndex;
10036
+ var expandCol = columns[expandColIndex];
9493
10037
 
9494
10038
  var render = function render(value, record, recordIndex) {
9495
- var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(firstCol, record, recordIndex);
10039
+ var content = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRender(expandCol, record, recordIndex);
9496
10040
 
9497
10041
  if (record[treeMetaKey] == null) {
9498
10042
  // 没有 treeMeta 信息的话,就返回原先的渲染结果
@@ -9552,7 +10096,7 @@ function treeMode() {
9552
10096
  };
9553
10097
 
9554
10098
  var getCellProps = function getCellProps(value, record, rowIndex) {
9555
- var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(firstCol, record, rowIndex);
10099
+ var prevProps = _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeGetCellProps(expandCol, record, rowIndex);
9556
10100
 
9557
10101
  if (record[treeMetaKey] == null) {
9558
10102
  // 没有 treeMeta 信息的话,就返回原先的 cellProps
@@ -9581,15 +10125,17 @@ function treeMode() {
9581
10125
  });
9582
10126
  };
9583
10127
 
9584
- return [_objectSpread(_objectSpread({}, firstCol), {}, {
10128
+ columns[expandColIndex] = _objectSpread(_objectSpread({}, expandCol), {}, {
9585
10129
  title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement("span", {
9586
10130
  style: {
9587
- marginLeft: iconIndent + iconWidth + iconGap
10131
+ marginLeft: iconIndent + iconWidth + iconGap,
10132
+ display: 'flex'
9588
10133
  }
9589
- }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(firstCol)),
10134
+ }, _internals__WEBPACK_IMPORTED_MODULE_24__["internals"].safeRenderHeader(expandCol)),
9590
10135
  render: render,
9591
- getCellProps: clickArea === 'cell' ? getCellProps : firstCol.getCellProps
9592
- })].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(others));
10136
+ getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps
10137
+ });
10138
+ return _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_10___default()(columns);
9593
10139
  }
9594
10140
  };
9595
10141
  }
@@ -10165,16 +10711,11 @@ var TablePipeline = /*#__PURE__*/function () {
10165
10711
 
10166
10712
  result.setTableDomHelper = function (domHelper) {
10167
10713
  _this2.ref.current.domHelper = domHelper;
10168
- }; // if (this.getFeatureOptions(rangeSelectionKey)) {
10169
- // result.clearRangeSelectionStatus = () => {
10170
- // const { rangeSelectedChange } = this.getFeatureOptions(rangeSelectionKey)
10171
- // const rangeSelection = this.getStateAtKey(rangeSelectionKey)
10172
- // if (rangeSelection) {
10173
- // rangeSelectedChange?.(null)
10174
- // }
10175
- // }
10176
- // }
10714
+ };
10177
10715
 
10716
+ result.setRowHeightManager = function (rowHeightManager) {
10717
+ _this2.ref.current.rowHeightManager = rowHeightManager;
10718
+ };
10178
10719
 
10179
10720
  return result;
10180
10721
  }
@@ -12600,7 +13141,7 @@ function executeOnTempElement(callback) {
12600
13141
  /*!*******************************************!*\
12601
13142
  !*** ./components/table/utils/element.ts ***!
12602
13143
  \*******************************************/
12603
- /*! exports provided: getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds */
13144
+ /*! exports provided: getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, hasScroll */
12604
13145
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
12605
13146
 
12606
13147
  "use strict";
@@ -12611,6 +13152,7 @@ __webpack_require__.r(__webpack_exports__);
12611
13152
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculatePointerRelative", function() { return calculatePointerRelative; });
12612
13153
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculatePopupRelative", function() { return calculatePopupRelative; });
12613
13154
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keepWithinBounds", function() { return keepWithinBounds; });
13155
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasScroll", function() { return hasScroll; });
12614
13156
  /** elementUtil html元素用的工具函数 */
12615
13157
  // 获取面板相对屏幕的位置 panel - 面板 trigger - 触发器
12616
13158
  // export function getPanelScreenByTrigger ({ panel, trigger, defaultAlign }) {
@@ -12839,6 +13381,10 @@ function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
12839
13381
  y: y
12840
13382
  };
12841
13383
  }
13384
+ function hasScroll(ele) {
13385
+ var isHorizontal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
13386
+ return isHorizontal ? ele.scrollWidth > ele.clientWidth : ele.scrollHeight > ele.clientHeight;
13387
+ }
12842
13388
 
12843
13389
  /***/ }),
12844
13390
 
@@ -13375,6 +13921,23 @@ function isLeafNode(node) {
13375
13921
 
13376
13922
  /***/ }),
13377
13923
 
13924
+ /***/ "./components/table/utils/keyCode.ts":
13925
+ /*!*******************************************!*\
13926
+ !*** ./components/table/utils/keyCode.ts ***!
13927
+ \*******************************************/
13928
+ /*! exports provided: default */
13929
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13930
+
13931
+ "use strict";
13932
+ __webpack_require__.r(__webpack_exports__);
13933
+ var KeyCode = {
13934
+ ENTER: 13,
13935
+ ESC: 27
13936
+ };
13937
+ /* harmony default export */ __webpack_exports__["default"] = (KeyCode);
13938
+
13939
+ /***/ }),
13940
+
13378
13941
  /***/ "./components/table/utils/layeredFilter.ts":
13379
13942
  /*!*************************************************!*\
13380
13943
  !*** ./components/table/utils/layeredFilter.ts ***!
@@ -13681,13 +14244,9 @@ __webpack_require__.r(__webpack_exports__);
13681
14244
 
13682
14245
  function composeEventHandler(handler1, handler2) {
13683
14246
  return function () {
13684
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13685
- args[_key] = arguments[_key];
13686
- }
13687
-
13688
14247
  // 先执行原有的事件回调函数
13689
- handler1(args);
13690
- handler2(args); // 事件回调函数没有返回值,故这里不进行 return
14248
+ handler1.apply(void 0, arguments);
14249
+ handler2.apply(void 0, arguments); // 事件回调函数没有返回值,故这里不进行 return
13691
14250
  };
13692
14251
  }
13693
14252
  /** 合并两个 cellProps(单元格属性)对象,返回一个合并后的全新对象。