@kdcloudjs/table 1.2.0-canary.1 → 1.2.0-canary.11

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 (53) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +528 -51
  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 +8 -8
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/locale/locale.d.ts +8 -4
  8. package/es/locale/zh-CN.d.ts +8 -4
  9. package/es/locale/zh-CN.js +10 -4
  10. package/es/table/base/helpers/TableDOMUtils.js +17 -14
  11. package/es/table/base/styles.d.ts +10 -0
  12. package/es/table/base/styles.js +12 -2
  13. package/es/table/base/table.js +38 -7
  14. package/es/table/common-views.js +3 -1
  15. package/es/table/interfaces.d.ts +5 -0
  16. package/es/table/pipeline/features/autoFill.js +10 -4
  17. package/es/table/pipeline/features/columnDrag.js +6 -1
  18. package/es/table/pipeline/features/columnFilter.js +17 -5
  19. package/es/table/pipeline/features/columnResizeWidth.js +3 -1
  20. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
  21. package/es/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
  22. package/es/table/pipeline/features/filter/Filter.d.ts +4 -1
  23. package/es/table/pipeline/features/filter/Filter.js +4 -2
  24. package/es/table/pipeline/features/index.d.ts +1 -0
  25. package/es/table/pipeline/features/index.js +2 -1
  26. package/es/table/pipeline/features/multiSelect.js +31 -12
  27. package/es/table/pipeline/features/rowDrag.d.ts +30 -0
  28. package/es/table/pipeline/features/rowDrag.js +327 -0
  29. package/es/table/pipeline/features/sort.js +22 -3
  30. package/lib/locale/locale.d.ts +8 -4
  31. package/lib/locale/zh-CN.d.ts +8 -4
  32. package/lib/locale/zh-CN.js +10 -4
  33. package/lib/table/base/helpers/TableDOMUtils.js +17 -14
  34. package/lib/table/base/styles.d.ts +10 -0
  35. package/lib/table/base/styles.js +12 -2
  36. package/lib/table/base/table.js +38 -7
  37. package/lib/table/common-views.js +3 -1
  38. package/lib/table/interfaces.d.ts +5 -0
  39. package/lib/table/pipeline/features/autoFill.js +10 -4
  40. package/lib/table/pipeline/features/columnDrag.js +6 -1
  41. package/lib/table/pipeline/features/columnFilter.js +18 -6
  42. package/lib/table/pipeline/features/columnResizeWidth.js +3 -1
  43. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
  44. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
  45. package/lib/table/pipeline/features/filter/Filter.d.ts +4 -1
  46. package/lib/table/pipeline/features/filter/Filter.js +4 -2
  47. package/lib/table/pipeline/features/index.d.ts +1 -0
  48. package/lib/table/pipeline/features/index.js +9 -1
  49. package/lib/table/pipeline/features/multiSelect.js +33 -12
  50. package/lib/table/pipeline/features/rowDrag.d.ts +30 -0
  51. package/lib/table/pipeline/features/rowDrag.js +349 -0
  52. package/lib/table/pipeline/features/sort.js +22 -3
  53. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.1.6-canary.4
3
+ * @kdcloudjs/table v1.2.0-canary.10
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -813,10 +813,16 @@ var getCompLangMsg = function getCompLangMsg(compLangMsgParams, customGetLangMsg
813
813
  __webpack_require__.r(__webpack_exports__);
814
814
  var locale = {
815
815
  locale: 'zh-CN',
816
- 'global.selectholder': '请选择',
817
- 'global.placeholder': '请输入...',
818
- 'global.cancel': '取消',
819
- 'global.confirm': '确定'
816
+ // Text Filter
817
+ contain: '包含',
818
+ notContain: '不包含',
819
+ equal: '等于',
820
+ notEqual: '不等于',
821
+ isNull: '为空',
822
+ notIsNull: '不为空',
823
+ // filter button
824
+ resetFilter: '重置',
825
+ confirmFilter: '确定'
820
826
  };
821
827
  /* harmony default export */ __webpack_exports__["default"] = (locale);
822
828
 
@@ -1984,7 +1990,7 @@ var TableDOMHelper = /*#__PURE__*/function () {
1984
1990
  this.tableElement = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " table"));
1985
1991
  this.tableFooter = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter));
1986
1992
  this.tableFooterMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooterMain));
1987
- var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScroll);
1993
+ var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].horizontalStickyScrollContainer, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScroll);
1988
1994
  this.stickyScroll = artTableWrapper.querySelector(stickyScrollSelector);
1989
1995
  this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScrollItem));
1990
1996
  }
@@ -2009,13 +2015,15 @@ var TableDOMHelper = /*#__PURE__*/function () {
2009
2015
  key: "getLeftLockShadow",
2010
2016
  value: function getLeftLockShadow() {
2011
2017
  var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].leftLockShadow);
2012
- return this.artTable.querySelector(selector);
2018
+ var allLeftLockShadow = this.artTable.querySelectorAll(selector);
2019
+ return allLeftLockShadow[allLeftLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
2013
2020
  }
2014
2021
  }, {
2015
2022
  key: "getRightLockShadow",
2016
2023
  value: function getRightLockShadow() {
2017
2024
  var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rightLockShadow);
2018
- return this.artTable.querySelector(selector);
2025
+ var allRightLockShadow = this.artTable.querySelectorAll(selector);
2026
+ return allRightLockShadow[allRightLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
2019
2027
  }
2020
2028
  }, {
2021
2029
  key: "getLoadingIndicator",
@@ -3273,6 +3281,9 @@ var Classes = {
3273
3281
  stickyScrollItem: "".concat(prefix, "sticky-scroll-item"),
3274
3282
  horizontalScrollContainer: "".concat(prefix, "horizontal-scroll-container"),
3275
3283
  verticalScrollPlaceholder: "".concat(prefix, "vertical-scroll-placeholder"),
3284
+ horizontalStickyScrollContainer: "".concat(prefix, "horizontal-sticky-scroll-container"),
3285
+ horizontalScrollLeftSpacer: "".concat(prefix, "horizontal-scroll-left-spacer"),
3286
+ horizontalScrollRightSpacer: "".concat(prefix, "horizontal-scroll-right-spacer"),
3276
3287
  lockShadowMask: "".concat(prefix, "lock-shadow-mask"),
3277
3288
  lockShadow: "".concat(prefix, "lock-shadow"),
3278
3289
  leftLockShadow: "".concat(prefix, "left-lock-shadow"),
@@ -3315,7 +3326,14 @@ var Classes = {
3315
3326
  collapsed: "".concat(prefix, "collapsed"),
3316
3327
  popup: "".concat(prefix, "popup"),
3317
3328
  popupHeader: "".concat(prefix, "popup-header"),
3318
- popupBody: "".concat(prefix, "popup-body")
3329
+ popupBody: "".concat(prefix, "popup-body"),
3330
+ rowDragging: "".concat(prefix, "row-dragging"),
3331
+ rowDragStart: "".concat(prefix, "row-drag-start"),
3332
+ rowDragEnd: "".concat(prefix, "row-drag-end"),
3333
+ rowDragEndToTop: "".concat(prefix, "row-drag-end-to-top"),
3334
+ rowDragEndToBottom: "".concat(prefix, "row-drag-end-to-bottom"),
3335
+ rowDragElement: "".concat(prefix, "row-drag-element"),
3336
+ rowDragCell: "".concat(prefix, "row-drag-cell")
3319
3337
  };
3320
3338
  var MenuClasses = {
3321
3339
  menu: "".concat(prefix, "table-menu"),
@@ -3367,7 +3385,7 @@ var defaultCSSVariables = {
3367
3385
  var variableConst = getCssVariableText(defaultCSSVariables);
3368
3386
  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
3387
  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);
3388
+ 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 user-select:none;\n .", " .", " >td{\n cursor:move;\n }\n\n .", " .", " >td{\n cursor:no-drop;\n }\n \n }\n\n .", "{\n opacity: 0.5;\n }\n\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n top:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n bottom:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", " {\n cursor:pointer;\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 display:flex;\n background: var(--bgcolor);\n }\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\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.rowDragging, Classes.tableBody, Classes.tableRow, Classes.tableFooter, Classes.tableRow, Classes.rowDragStart, Classes.rowDragEndToTop, Classes.rowDragEndToBottom, Classes.rowDragCell, 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.horizontalStickyScrollContainer, Classes.horizontalScrollLeftSpacer, Classes.horizontalScrollRightSpacer, 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
3389
  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);
3372
3390
 
3373
3391
  function getCssVariableText(obj) {
@@ -3747,10 +3765,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3747
3765
  var _this$props$setTableW, _this$props3;
3748
3766
 
3749
3767
  (_this$props$setTableW = (_this$props3 = this.props).setTableWidth) === null || _this$props$setTableW === void 0 ? void 0 : _this$props$setTableW.call(_this$props3, this.domHelper.tableBody.clientWidth);
3750
- } // 设置子节点宽度
3768
+ }
3751
3769
 
3770
+ var _this$lastInfo = this.lastInfo,
3771
+ leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
3772
+ rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
3773
+ var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth; // 设置子节点宽度
3752
3774
 
3753
- stickyScrollItem.style.width = "".concat(innerTableWidth, "px");
3775
+ stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth, "px");
3754
3776
  }
3755
3777
  }, {
3756
3778
  key: "renderTableHeader",
@@ -3918,13 +3940,25 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3918
3940
  stickyBottom = _this$props6.stickyBottom;
3919
3941
  var hasScroll = this.state.hasScroll;
3920
3942
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3921
- className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScroll, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer),
3943
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalStickyScrollContainer)
3944
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3945
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollLeftSpacer),
3946
+ style: {
3947
+ width: info.leftLockTotalWidth
3948
+ }
3949
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3950
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScroll),
3922
3951
  style: {
3923
3952
  display: hasStickyScroll && hasScroll ? 'block' : 'none',
3924
3953
  bottom: stickyBottom
3925
3954
  }
3926
3955
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3927
3956
  className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScrollItem
3957
+ })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3958
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollRightSpacer),
3959
+ style: {
3960
+ width: info.rightLockTotalWidth
3961
+ }
3928
3962
  }));
3929
3963
  }
3930
3964
  }, {
@@ -4007,7 +4041,22 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4007
4041
  }, {
4008
4042
  key: "componentDidUpdate",
4009
4043
  value: function componentDidUpdate(prevProps, prevState) {
4044
+ var _this$props13;
4045
+
4010
4046
  // console.log('did update start')
4047
+ var _this$props12 = this.props,
4048
+ cssVariables = _this$props12.cssVariables,
4049
+ enableCSSVariables = _this$props12.enableCSSVariables,
4050
+ bordered = _this$props12.bordered;
4051
+
4052
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_39__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_this$props13 = this.props) === null || _this$props13 === void 0 ? void 0 : _this$props13.cssVariables)) {
4053
+ Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
4054
+ variables: cssVariables || {},
4055
+ enableCSSVariables: enableCSSVariables,
4056
+ bordered: bordered
4057
+ });
4058
+ }
4059
+
4011
4060
  this.updateDOMHelper();
4012
4061
  this.props$.next(this.props);
4013
4062
  this.didMountOrUpdate(prevProps, prevState); // console.log('did update end')
@@ -4237,9 +4286,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4237
4286
  key: "adjustNeedRenderLock",
4238
4287
  value: function adjustNeedRenderLock() {
4239
4288
  var needRenderLock = this.state.needRenderLock;
4240
- var _this$lastInfo = this.lastInfo,
4241
- flat = _this$lastInfo.flat,
4242
- hasLockColumn = _this$lastInfo.hasLockColumn;
4289
+ var _this$lastInfo2 = this.lastInfo,
4290
+ flat = _this$lastInfo2.flat,
4291
+ hasLockColumn = _this$lastInfo2.hasLockColumn;
4243
4292
 
4244
4293
  if (hasLockColumn) {
4245
4294
  var sumOfColWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_39__["sum"])(flat.full.map(function (col) {
@@ -4640,7 +4689,9 @@ var _templateObject, _templateObject2, _templateObject3;
4640
4689
 
4641
4690
 
4642
4691
  var InlineFlexCell = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n display: inline-flex;\n align-items: center;\n"])));
4643
- var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(InlineFlexCell)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
4692
+ var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(function (props) {
4693
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(InlineFlexCell, props);
4694
+ })(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
4644
4695
 
4645
4696
  function CaretDownIcon(props) {
4646
4697
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("svg", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
@@ -5010,7 +5061,8 @@ var autoFillTableWidth = function autoFillTableWidth() {
5010
5061
  // 保存剩余的flex总和和剩余宽度总和宽度
5011
5062
  var residualFlexCount = flexCount;
5012
5063
  var residualFlexWidth = remainingWidth;
5013
- var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"]) || {};
5064
+ var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"]);
5065
+ var enableColumnResizeWidthFeature = !!columnSize;
5014
5066
  pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_15__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
5015
5067
  var isLeaf = recursiveFlatMapInfo.isLeaf;
5016
5068
 
@@ -5029,12 +5081,15 @@ var autoFillTableWidth = function autoFillTableWidth() {
5029
5081
  col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth);
5030
5082
  residualFlexCount -= flex;
5031
5083
  residualFlexWidth -= col.width - preColWidth;
5032
- columnSize[code] = col.width;
5084
+
5085
+ if (enableColumnResizeWidthFeature) {
5086
+ columnSize[code] = col.width;
5087
+ }
5033
5088
  }
5034
5089
 
5035
5090
  return col;
5036
5091
  }));
5037
- pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"], columnSize);
5092
+ enableColumnResizeWidthFeature && pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"], columnSize);
5038
5093
  }
5039
5094
  } else {
5040
5095
  // 未设置了flex宽度,创建占位列
@@ -5109,7 +5164,9 @@ function getColumnWidthSum(pipeline) {
5109
5164
  }
5110
5165
 
5111
5166
  function getTableRemainingWidth(pipeline) {
5112
- var tableWidth = pipeline.getStateAtKey(tableWidthKey);
5167
+ var _pipeline$ref$current, _pipeline$ref$current2;
5168
+
5169
+ var tableWidth = ((_pipeline$ref$current = pipeline.ref.current.domHelper) === null || _pipeline$ref$current === void 0 ? void 0 : (_pipeline$ref$current2 = _pipeline$ref$current.tableBody) === null || _pipeline$ref$current2 === void 0 ? void 0 : _pipeline$ref$current2.clientWidth) || pipeline.getStateAtKey(tableWidthKey);
5113
5170
  if (!tableWidth) return;
5114
5171
  var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
5115
5172
  return remainingWidth > 0 ? remainingWidth : 0;
@@ -5796,9 +5853,14 @@ function columnDrag() {
5796
5853
  var onColumnDragStopped = opts.onColumnDragStopped; // 拖拽结束返回列顺序
5797
5854
 
5798
5855
  if (onColumnDragStopped) {
5856
+ var isRowDragColumn = function isRowDragColumn(code) {
5857
+ var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
5858
+ return code === rowDragColumnKey;
5859
+ };
5860
+
5799
5861
  var newColumns = sortColumns(columns, cloumnsSortData).filter(function (_ref) {
5800
5862
  var code = _ref.code;
5801
- return code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"];
5863
+ return code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"] && !isRowDragColumn(code);
5802
5864
  }); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
5803
5865
 
5804
5866
  onColumnDragStopped(columnMoved, newColumns);
@@ -5970,6 +6032,7 @@ function filter() {
5970
6032
  var inputFiltersMap = new Map(inputFilters.map(function (filterItem) {
5971
6033
  return [filterItem.code, _objectSpread({}, filterItem)];
5972
6034
  }));
6035
+ var localeText = pipeline.ctx.localeText;
5973
6036
 
5974
6037
  function processColumns(columns) {
5975
6038
  return columns.map(dfs);
@@ -5983,7 +6046,7 @@ function filter() {
5983
6046
  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;
5984
6047
 
5985
6048
  if (filterable) {
5986
- var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
6049
+ var _col$features2, _col$features$filterI, _col$features3, _cx;
5987
6050
 
5988
6051
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5989
6052
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -6017,7 +6080,8 @@ function filter() {
6017
6080
 
6018
6081
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
6019
6082
  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;
6020
- 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"], {
6083
+
6084
+ var _Filter = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
6021
6085
  key: "filter",
6022
6086
  FilterPanelContent: filterPanel,
6023
6087
  filterIcon: colFilterIcon,
@@ -6029,12 +6093,22 @@ function filter() {
6029
6093
  stopClickEventPropagation: stopClickEventPropagation,
6030
6094
  stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
6031
6095
  hideFilterPopupHeader: hideFilterPopupHeader,
6032
- getPopupParent: getPopupParent
6033
- })]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
6096
+ getPopupParent: getPopupParent,
6097
+ localeText: localeText
6098
+ });
6099
+
6100
+ if (col.renderHeader) {
6101
+ result.title = col.renderHeader(result.title, _Filter);
6102
+ } else {
6103
+ var _result$title;
6104
+
6105
+ 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))])), [_Filter]);
6106
+ } // result.headerCellProps = mergeCellProps(col.headerCellProps, {
6034
6107
  // style: {
6035
6108
  // paddingRight: '18px'
6036
6109
  // }
6037
6110
  // })
6111
+
6038
6112
  }
6039
6113
 
6040
6114
  if (!Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(col)) {
@@ -6419,7 +6493,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6419
6493
 
6420
6494
 
6421
6495
  var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_15__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
6422
- var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6496
+ var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(function (props) {
6497
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, props);
6498
+ })(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6423
6499
 
6424
6500
  function clamp(min, x, max) {
6425
6501
  return Math.max(min, Math.min(max, x));
@@ -7088,11 +7164,13 @@ var _templateObject;
7088
7164
  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"]);
7089
7165
 
7090
7166
  function DefaultFilterContent(_ref) {
7091
- var _cx2;
7167
+ var _localeText$resetFilt, _cx2, _localeText$confirmFi;
7092
7168
 
7093
7169
  var setFilterModel = _ref.setFilterModel,
7094
7170
  filterModel = _ref.filterModel,
7095
- hidePanel = _ref.hidePanel;
7171
+ hidePanel = _ref.hidePanel,
7172
+ _ref$localeText = _ref.localeText,
7173
+ localeText = _ref$localeText === void 0 ? {} : _ref$localeText;
7096
7174
 
7097
7175
  var _React$useState = react__WEBPACK_IMPORTED_MODULE_6___default.a.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain'),
7098
7176
  _React$useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState, 2),
@@ -7145,16 +7223,18 @@ function DefaultFilterContent(_ref) {
7145
7223
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
7146
7224
  className: "filter-option-list"
7147
7225
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("ul", null, _util__WEBPACK_IMPORTED_MODULE_9__["DEFAULT_FILTER_OPTIONS"].map(function (option, index) {
7226
+ var _localeText$option$ke;
7227
+
7148
7228
  return (
7149
7229
  /*#__PURE__*/
7150
7230
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
7151
7231
  react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("li", {
7152
- key: index,
7232
+ key: option.key,
7153
7233
  className: option.key === selectedValue ? 'active' : '',
7154
7234
  onClick: function onClick() {
7155
7235
  return handleClick(option);
7156
7236
  }
7157
- }, option.title)
7237
+ }, (_localeText$option$ke = localeText[option.key]) !== null && _localeText$option$ke !== void 0 ? _localeText$option$ke : option.title)
7158
7238
  );
7159
7239
  }))), selectedValue !== 'notIsNull' && selectedValue !== 'isNull' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
7160
7240
  className: "filter-search"
@@ -7173,12 +7253,12 @@ function DefaultFilterContent(_ref) {
7173
7253
  'filter-btn': true
7174
7254
  }, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].button, true)),
7175
7255
  onClick: reset
7176
- }, "\u91CD\u7F6E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
7256
+ }, (_localeText$resetFilt = localeText.resetFilter) !== null && _localeText$resetFilt !== void 0 ? _localeText$resetFilt : '重置'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
7177
7257
  className: classnames__WEBPACK_IMPORTED_MODULE_8___default()((_cx2 = {
7178
7258
  'filter-btn': true
7179
7259
  }, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx2, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].button, true), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx2, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].buttonPrimary, true), _cx2)),
7180
7260
  onClick: confirm
7181
- }, "\u786E\u5B9A")));
7261
+ }, (_localeText$confirmFi = localeText.confirmFilter) !== null && _localeText$confirmFi !== void 0 ? _localeText$confirmFi : '确定')));
7182
7262
  }
7183
7263
 
7184
7264
  /* harmony default export */ __webpack_exports__["default"] = (DefaultFilterContent);
@@ -7328,7 +7408,8 @@ function Filter(_ref2) {
7328
7408
  stopClickEventPropagation = _ref2.stopClickEventPropagation,
7329
7409
  stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
7330
7410
  hideFilterPopupHeader = _ref2.hideFilterPopupHeader,
7331
- getPopupParent = _ref2.getPopupParent;
7411
+ getPopupParent = _ref2.getPopupParent,
7412
+ localeText = _ref2.localeText;
7332
7413
 
7333
7414
  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(false),
7334
7415
  _React$useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState3, 2),
@@ -7355,7 +7436,8 @@ function Filter(_ref2) {
7355
7436
  setFilterModel: setFilterModel,
7356
7437
  filterModel: filterModel,
7357
7438
  isFilterActive: isFilterActive,
7358
- hidePanel: hidePanel
7439
+ hidePanel: hidePanel,
7440
+ localeText: localeText
7359
7441
  });
7360
7442
  }
7361
7443
  };
@@ -7765,7 +7847,7 @@ function footerDataSource() {
7765
7847
  /*!*****************************************************!*\
7766
7848
  !*** ./components/table/pipeline/features/index.ts ***!
7767
7849
  \*****************************************************/
7768
- /*! 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 */
7850
+ /*! 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, rowDrag, RowDragFeatureOptions */
7769
7851
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7770
7852
 
7771
7853
  "use strict";
@@ -7866,6 +7948,12 @@ __webpack_require__.r(__webpack_exports__);
7866
7948
 
7867
7949
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendOption", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendOption"]; });
7868
7950
 
7951
+ /* harmony import */ var _rowDrag__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./rowDrag */ "./components/table/pipeline/features/rowDrag.tsx");
7952
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["rowDrag"]; });
7953
+
7954
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RowDragFeatureOptions", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["RowDragFeatureOptions"]; });
7955
+
7956
+
7869
7957
 
7870
7958
 
7871
7959
 
@@ -8029,6 +8117,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8029
8117
 
8030
8118
 
8031
8119
 
8120
+ var fullRowsSetKey = 'fullRowsSetKey';
8121
+ var allEnableKeys = 'allEnableKeys';
8122
+ var selectValueSetKey = 'selectValueSetKey';
8032
8123
  function multiSelect() {
8033
8124
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8034
8125
  return function multiSelectStep(pipeline) {
@@ -8059,10 +8150,9 @@ function multiSelect() {
8059
8150
  action: action
8060
8151
  });
8061
8152
  };
8062
-
8063
- var dataSource = pipeline.getDataSource();
8064
8153
  /** dataSource 中包含的所有 keys */
8065
8154
 
8155
+
8066
8156
  var fullKeySet = new Set();
8067
8157
  /** 所有有效的 keys(disable 状态为 false) */
8068
8158
 
@@ -8071,7 +8161,7 @@ function multiSelect() {
8071
8161
  var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
8072
8162
 
8073
8163
  var isAnyChecked = false;
8074
- var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
8164
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(pipeline.getDataSource());
8075
8165
  flatDataSource.forEach(function (row, rowIndex) {
8076
8166
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8077
8167
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
@@ -8099,6 +8189,8 @@ function multiSelect() {
8099
8189
  checked: isAllChecked,
8100
8190
  indeterminate: !isAllChecked && isAnyChecked,
8101
8191
  onChange: function onChange(_) {
8192
+ var allKeys = pipeline.getFeatureOptions(allEnableKeys);
8193
+
8102
8194
  if (isAllChecked) {
8103
8195
  _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
8104
8196
  } else {
@@ -8119,9 +8211,11 @@ function multiSelect() {
8119
8211
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8120
8212
  var checkboxCellProps = {};
8121
8213
  var preCellProps = (_opts$checkboxColumn = opts.checkboxColumn) === null || _opts$checkboxColumn === void 0 ? void 0 : (_opts$checkboxColumn$ = _opts$checkboxColumn.getCellProps) === null || _opts$checkboxColumn$ === void 0 ? void 0 : _opts$checkboxColumn$.call(_opts$checkboxColumn, value, row, rowIndex);
8214
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8215
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8122
8216
 
8123
- if (fullKeySet.has(rowKey) && clickArea === 'cell') {
8124
- var prevChecked = set.has(rowKey);
8217
+ if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
8218
+ var prevChecked = selectValueSet.has(rowKey);
8125
8219
  var disabled = isDisabled(row, rowIndex);
8126
8220
  checkboxCellProps = {
8127
8221
  style: {
@@ -8145,7 +8239,8 @@ function multiSelect() {
8145
8239
  }
8146
8240
 
8147
8241
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8148
- var checked = set.has(key);
8242
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8243
+ var checked = selectValueSet.has(key);
8149
8244
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
8150
8245
  checked: checked,
8151
8246
  disabled: isDisabled(row, rowIndex),
@@ -8183,8 +8278,9 @@ function multiSelect() {
8183
8278
 
8184
8279
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
8185
8280
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8281
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8186
8282
 
8187
- if (!fullKeySet.has(rowKey)) {
8283
+ if (!fullRowsSet.has(rowKey)) {
8188
8284
  // rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
8189
8285
  return;
8190
8286
  }
@@ -8192,7 +8288,8 @@ function multiSelect() {
8192
8288
  var style = {};
8193
8289
  var className;
8194
8290
  var onClick;
8195
- var checked = set.has(rowKey);
8291
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8292
+ var checked = selectValueSet.has(rowKey);
8196
8293
 
8197
8294
  if (opts.highlightRowWhenSelected && checked) {
8198
8295
  className = 'highlight';
@@ -8219,22 +8316,32 @@ function multiSelect() {
8219
8316
  style: style,
8220
8317
  onClick: onClick
8221
8318
  };
8222
- });
8319
+ }); // 只保留一份到pipeline, 避免行数据过多时内容被握住
8320
+
8321
+ pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
8322
+ pipeline.setFeatureOptions(allEnableKeys, allKeys);
8323
+ pipeline.setFeatureOptions(selectValueSetKey, set);
8324
+ fullKeySet = null;
8325
+ allKeys = null;
8326
+ set = null;
8223
8327
  return pipeline;
8224
8328
 
8225
8329
  function onCheckboxChange(prevChecked, key, batch) {
8226
8330
  var batchKeys = [key];
8227
8331
 
8228
8332
  if (batch && lastKey) {
8229
- var lastIdx = allKeys.indexOf(lastKey);
8230
- var cntIdx = allKeys.indexOf(key);
8333
+ var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
8334
+
8335
+ var lastIdx = _allKeys.indexOf(lastKey);
8336
+
8337
+ var cntIdx = _allKeys.indexOf(key);
8231
8338
 
8232
8339
  var _ref5 = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
8233
8340
  _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_5___default()(_ref5, 2),
8234
8341
  start = _ref6[0],
8235
8342
  end = _ref6[1];
8236
8343
 
8237
- batchKeys = allKeys.slice(start, end + 1);
8344
+ batchKeys = _allKeys.slice(start, end + 1);
8238
8345
  }
8239
8346
 
8240
8347
  if (prevChecked) {
@@ -9212,6 +9319,357 @@ function rowDetail() {
9212
9319
 
9213
9320
  /***/ }),
9214
9321
 
9322
+ /***/ "./components/table/pipeline/features/rowDrag.tsx":
9323
+ /*!********************************************************!*\
9324
+ !*** ./components/table/pipeline/features/rowDrag.tsx ***!
9325
+ \********************************************************/
9326
+ /*! exports provided: ROW_DRAG_COLUMN_CODE, rowDragKey, rowDrag */
9327
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9328
+
9329
+ "use strict";
9330
+ __webpack_require__.r(__webpack_exports__);
9331
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ROW_DRAG_COLUMN_CODE", function() { return ROW_DRAG_COLUMN_CODE; });
9332
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDragKey", function() { return rowDragKey; });
9333
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return rowDrag; });
9334
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9335
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
9336
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
9337
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__);
9338
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
9339
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);
9340
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
9341
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
9342
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
9343
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
9344
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9345
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
9346
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
9347
+
9348
+
9349
+
9350
+
9351
+
9352
+
9353
+
9354
+
9355
+ var ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
9356
+ var rowDragKey = 'rowDragKey';
9357
+ var SCROLL_OFFSET = 30;
9358
+ var defaultRowDragColumn = {
9359
+ name: '拖拽列',
9360
+ code: ROW_DRAG_COLUMN_CODE,
9361
+ lock: true,
9362
+ title: '',
9363
+ width: 40,
9364
+ align: 'center',
9365
+ getCellProps: function getCellProps(value, row, rowIndex) {
9366
+ return {
9367
+ className: classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragCell)
9368
+ };
9369
+ },
9370
+ render: function render(value, row, rowIndex) {
9371
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
9372
+ viewBox: "0 0 1024 1024",
9373
+ version: "1.1",
9374
+ xmlns: "http://www.w3.org/1999/xlink",
9375
+ "data-icon": "drag",
9376
+ width: "16",
9377
+ height: "16"
9378
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
9379
+ d: "M298.688 192a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0zM298.688 512a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m-298.624 320a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z",
9380
+ "p-id": "4278"
9381
+ }));
9382
+ }
9383
+ };
9384
+ function rowDrag(opt) {
9385
+ return function rowDragStep(pipeline) {
9386
+ var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
9387
+ var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
9388
+ if (!tableBody) return pipeline;
9389
+ var dataSource = pipeline.getDataSource();
9390
+ var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
9391
+
9392
+ var handleDragStrat = function handleDragStrat(event) {
9393
+ var _opt$onDragStart;
9394
+
9395
+ // 开始拖拽
9396
+ artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9397
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragStart = opt.onDragStart) === null || _opt$onDragStart === void 0 ? void 0 : _opt$onDragStart.call(opt, event);
9398
+ };
9399
+
9400
+ var handleDragMove = function handleDragMove(event) {
9401
+ var _opt$onDragMove;
9402
+
9403
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragMove = opt.onDragMove) === null || _opt$onDragMove === void 0 ? void 0 : _opt$onDragMove.call(opt, event);
9404
+ pipeline.setStateAtKey(rowDragKey, event);
9405
+ };
9406
+
9407
+ var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
9408
+ artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9409
+ pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
9410
+
9411
+ if (!isOutOfRange) {
9412
+ var _opt$onDragEnd;
9413
+
9414
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragEnd = opt.onDragEnd) === null || _opt$onDragEnd === void 0 ? void 0 : _opt$onDragEnd.call(opt, event);
9415
+ }
9416
+ };
9417
+
9418
+ var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
9419
+ var isFinished = _ref.isFinished,
9420
+ _ref$dragPosition = _ref.dragPosition,
9421
+ dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
9422
+ return {
9423
+ startRowIndex: startRowInfo.rowIndex,
9424
+ startRow: startRowInfo.row,
9425
+ endRowIndex: endRowInfo.rowIndex,
9426
+ endRow: endRowInfo.row,
9427
+ dragPosition: dragPosition,
9428
+ isFinished: isFinished
9429
+ };
9430
+ };
9431
+
9432
+ var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
9433
+ if (opt !== null && opt !== void 0 && opt.suppressScrollMove) return;
9434
+ var clientY = mouseMoveEvent.clientY;
9435
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9436
+ var top = tableBodyClientRect.top,
9437
+ height = tableBodyClientRect.height;
9438
+
9439
+ if (clientY + SCROLL_OFFSET >= top + height) {
9440
+ pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
9441
+ }
9442
+
9443
+ if (clientY + SCROLL_OFFSET <= top) {
9444
+ pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
9445
+ }
9446
+ };
9447
+
9448
+ var onMouseDown = function onMouseDown(mouseDownEvent) {
9449
+ var _opt$isDisabled;
9450
+
9451
+ var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
9452
+ var endRowInfo = startRowInfo;
9453
+ if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
9454
+ if (opt !== null && opt !== void 0 && (_opt$isDisabled = opt.isDisabled) !== null && _opt$isDisabled !== void 0 && _opt$isDisabled.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return; // 默认拖拽插入的位置是向下
9455
+
9456
+ var dragPosition = 'bottom';
9457
+ var isOutOfRange = false;
9458
+ var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
9459
+ isFinished: false,
9460
+ dragPosition: 'bottom'
9461
+ });
9462
+ handleDragStrat(dragStartEvent);
9463
+ var tableWidth = tableBody.clientWidth;
9464
+ var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
9465
+
9466
+ var startOffset = mouseDownEvent.clientY - startRowRects.y;
9467
+ var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
9468
+
9469
+ var dragRange = getDragRange(tableBody, {
9470
+ startOffset: startOffset,
9471
+ rowHeight: startRowRects.height
9472
+ });
9473
+ var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mousemove');
9474
+ var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mouseup');
9475
+ var rowDrag$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["map"])(function (mouseMoveEvent) {
9476
+ var clientX = mouseMoveEvent.clientX,
9477
+ clientY = mouseMoveEvent.clientY;
9478
+ var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
9479
+
9480
+ if (tagretRow) {
9481
+ endRowInfo = tagretRow;
9482
+ }
9483
+
9484
+ var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
9485
+
9486
+ var isMoveToTop = clientY - startOffset < targetRowRects.y;
9487
+ dragPosition = isMoveToTop ? 'top' : 'bottom';
9488
+ isOutOfRange = isOutOfDragRange({
9489
+ x: clientX,
9490
+ y: clientY
9491
+ }, dragRange);
9492
+ updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
9493
+
9494
+ updateDragElementPosition(dragElement, dragRange, {
9495
+ x: clientX,
9496
+ y: clientY,
9497
+ startOffset: startOffset
9498
+ });
9499
+ updateCurSorStyle(isOutOfRange);
9500
+ return {
9501
+ startRowInfo: startRowInfo,
9502
+ endRowInfo: endRowInfo,
9503
+ dragPosition: dragPosition
9504
+ };
9505
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["takeUntil"])(mouseup$));
9506
+ rowDrag$.subscribe({
9507
+ next: function next(_ref2) {
9508
+ var startRowInfo = _ref2.startRowInfo,
9509
+ endRowInfo = _ref2.endRowInfo,
9510
+ dragPosition = _ref2.dragPosition;
9511
+ var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
9512
+ isFinished: false,
9513
+ dragPosition: dragPosition
9514
+ });
9515
+ handleDragMove(dragMoveEvent);
9516
+ },
9517
+ complete: function complete() {
9518
+ var dragEndEvent = getDragEvent(startRowInfo, endRowInfo, {
9519
+ isFinished: true,
9520
+ dragPosition: dragPosition
9521
+ });
9522
+ handleDragEnd(dragEndEvent, isOutOfRange);
9523
+ removeDragElement(dragElement);
9524
+ removeCurSorStyle();
9525
+ }
9526
+ });
9527
+ };
9528
+
9529
+ var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
9530
+ pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
9531
+ var nextColumns = pipeline.getColumns().slice();
9532
+ nextColumns.unshift(rowDragColumn);
9533
+ pipeline.columns(nextColumns);
9534
+ pipeline.addTableProps({
9535
+ onMouseDown: onMouseDown
9536
+ });
9537
+ pipeline.appendRowPropsGetter(function (row, rowIndex) {
9538
+ var _cx;
9539
+
9540
+ var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
9541
+ var startRowIndex = rowDragEvent.startRowIndex,
9542
+ endRowIndex = rowDragEvent.endRowIndex,
9543
+ isFinished = rowDragEvent.isFinished,
9544
+ dragPosition = rowDragEvent.dragPosition;
9545
+ var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
9546
+ if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
9547
+ var className = classnames__WEBPACK_IMPORTED_MODULE_6___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragStart, rowIndex === startRowIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEnd, rowIndex === endRowIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'), _cx));
9548
+ return {
9549
+ className: className
9550
+ };
9551
+ });
9552
+ return pipeline;
9553
+ };
9554
+ }
9555
+
9556
+ function getTargetRowInfo(target, tableBody, record) {
9557
+ while (target && tableBody.contains(target)) {
9558
+ if (target.getAttribute('data-role') === 'table-cell') {
9559
+ var code = target.getAttribute('data-code');
9560
+
9561
+ var _rowIndex = parseInt(target.getAttribute('data-rowindex'));
9562
+
9563
+ var _row = record[_rowIndex];
9564
+ var isFooterCell = isEleInFooter(target);
9565
+ if (!_row || isFooterCell) return null;
9566
+ return {
9567
+ rowIndex: _rowIndex,
9568
+ row: _row,
9569
+ code: code,
9570
+ cell: target
9571
+ };
9572
+ }
9573
+
9574
+ target = target.parentElement;
9575
+ }
9576
+
9577
+ return null;
9578
+ }
9579
+
9580
+ function isEleInFooter(target) {
9581
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable)) {
9582
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter)) {
9583
+ return true;
9584
+ }
9585
+
9586
+ target = target.parentElement;
9587
+ }
9588
+
9589
+ return false;
9590
+ }
9591
+
9592
+ function createDragElement(rects, tableWidth, rowHeight) {
9593
+ var x = rects.x,
9594
+ y = rects.y;
9595
+ var dragMoveElement = document.createElement('div');
9596
+ dragMoveElement.className = classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragElement);
9597
+ dragMoveElement.style.cssText = "position:fixed;z-index:9999;left:".concat(x, "px;top:").concat(y, "px;pointer-events:none;width:").concat(tableWidth, "px;height:").concat(rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
9598
+ document.body.appendChild(dragMoveElement);
9599
+ return dragMoveElement;
9600
+ }
9601
+
9602
+ function updateDragElementPosition(element, dragRange, _ref3) {
9603
+ var x = _ref3.x,
9604
+ y = _ref3.y,
9605
+ startOffset = _ref3.startOffset;
9606
+ var validPosition = getValidPosition({
9607
+ x: x,
9608
+ y: y
9609
+ }, dragRange);
9610
+ element.style.top = validPosition.y - startOffset + 'px';
9611
+ return element;
9612
+ }
9613
+
9614
+ function removeDragElement(element) {
9615
+ document.body.removeChild(element);
9616
+ }
9617
+
9618
+ function updateCurSorStyle(isOutOfRange) {
9619
+ if (isOutOfRange) {
9620
+ document.body.style.cursor = 'no-drop';
9621
+ } else {
9622
+ document.body.style.cursor = 'move';
9623
+ }
9624
+ }
9625
+
9626
+ function removeCurSorStyle() {
9627
+ document.body.style.cursor = 'default';
9628
+ }
9629
+
9630
+ function getDragRange(tableBody, _ref4) {
9631
+ var startOffset = _ref4.startOffset,
9632
+ rowHeight = _ref4.rowHeight;
9633
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9634
+ var height = tableBodyClientRect.height,
9635
+ width = tableBodyClientRect.width,
9636
+ x = tableBodyClientRect.x,
9637
+ y = tableBodyClientRect.y;
9638
+ return {
9639
+ minX: x,
9640
+ maxX: x + width,
9641
+ minY: y - rowHeight + startOffset,
9642
+ maxY: y + height + startOffset
9643
+ };
9644
+ }
9645
+
9646
+ function getValidPosition(position, dragRange) {
9647
+ var x = position.x,
9648
+ y = position.y;
9649
+ var minX = dragRange.minX,
9650
+ maxX = dragRange.maxX,
9651
+ minY = dragRange.minY,
9652
+ maxY = dragRange.maxY;
9653
+ var newX = x < minX ? minX : x > maxX ? maxX : x;
9654
+ var newY = y < minY ? minY : y > maxY ? maxY : y;
9655
+ return {
9656
+ x: newX,
9657
+ y: newY
9658
+ };
9659
+ }
9660
+
9661
+ function isOutOfDragRange(position, dragRange) {
9662
+ var x = position.x,
9663
+ y = position.y;
9664
+ var minX = dragRange.minX,
9665
+ maxX = dragRange.maxX,
9666
+ minY = dragRange.minY,
9667
+ maxY = dragRange.maxY;
9668
+ return x > maxX || x < minX || y > maxY || y < minY;
9669
+ }
9670
+
9671
+ /***/ }),
9672
+
9215
9673
  /***/ "./components/table/pipeline/features/rowGrouping.tsx":
9216
9674
  /*!************************************************************!*\
9217
9675
  !*** ./components/table/pipeline/features/rowGrouping.tsx ***!
@@ -10040,10 +10498,29 @@ function sort() {
10040
10498
  title: col.title && col.title[0] ? col.title[0] : col.title
10041
10499
  })));
10042
10500
 
10043
- if (result.title && result.title[0]) {
10044
- result.title[0] = sortNode;
10501
+ var _sortNodeWithoutTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_23___default.a.createElement(SortHeaderCell, {
10502
+ onToggle: function onToggle(e) {
10503
+ if (stopClickEventPropagation) {
10504
+ e.stopPropagation();
10505
+ }
10506
+
10507
+ toggle(col.code);
10508
+ },
10509
+ sortOrder: sortOrder,
10510
+ column: col,
10511
+ sortIndex: sortIndex,
10512
+ sortOptions: sortOptions
10513
+ }); // 开启标题行高自适应后,修改表头的渲染结构
10514
+
10515
+
10516
+ if (col.renderHeader) {
10517
+ result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
10045
10518
  } else {
10046
- result.title = sortNode;
10519
+ if (result.title && result.title[0]) {
10520
+ result.title[0] = sortNode;
10521
+ } else {
10522
+ result.title = sortNode;
10523
+ }
10047
10524
  }
10048
10525
  }
10049
10526