@kdcloudjs/table 1.2.0-canary.1 → 1.2.0-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 (51) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +517 -49
  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 +7 -3
  17. package/es/table/pipeline/features/columnFilter.js +17 -5
  18. package/es/table/pipeline/features/columnResizeWidth.js +3 -1
  19. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
  20. package/es/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
  21. package/es/table/pipeline/features/filter/Filter.d.ts +4 -1
  22. package/es/table/pipeline/features/filter/Filter.js +4 -2
  23. package/es/table/pipeline/features/index.d.ts +1 -0
  24. package/es/table/pipeline/features/index.js +2 -1
  25. package/es/table/pipeline/features/multiSelect.js +31 -12
  26. package/es/table/pipeline/features/rowDrag.d.ts +28 -0
  27. package/es/table/pipeline/features/rowDrag.js +325 -0
  28. package/es/table/pipeline/features/sort.js +22 -3
  29. package/lib/locale/locale.d.ts +8 -4
  30. package/lib/locale/zh-CN.d.ts +8 -4
  31. package/lib/locale/zh-CN.js +10 -4
  32. package/lib/table/base/helpers/TableDOMUtils.js +17 -14
  33. package/lib/table/base/styles.d.ts +10 -0
  34. package/lib/table/base/styles.js +12 -2
  35. package/lib/table/base/table.js +38 -7
  36. package/lib/table/common-views.js +3 -1
  37. package/lib/table/interfaces.d.ts +5 -0
  38. package/lib/table/pipeline/features/autoFill.js +7 -3
  39. package/lib/table/pipeline/features/columnFilter.js +18 -6
  40. package/lib/table/pipeline/features/columnResizeWidth.js +3 -1
  41. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
  42. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
  43. package/lib/table/pipeline/features/filter/Filter.d.ts +4 -1
  44. package/lib/table/pipeline/features/filter/Filter.js +4 -2
  45. package/lib/table/pipeline/features/index.d.ts +1 -0
  46. package/lib/table/pipeline/features/index.js +9 -1
  47. package/lib/table/pipeline/features/multiSelect.js +33 -12
  48. package/lib/table/pipeline/features/rowDrag.d.ts +28 -0
  49. package/lib/table/pipeline/features/rowDrag.js +347 -0
  50. package/lib/table/pipeline/features/sort.js +22 -3
  51. 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.9
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宽度,创建占位列
@@ -5970,6 +6025,7 @@ function filter() {
5970
6025
  var inputFiltersMap = new Map(inputFilters.map(function (filterItem) {
5971
6026
  return [filterItem.code, _objectSpread({}, filterItem)];
5972
6027
  }));
6028
+ var localeText = pipeline.ctx.localeText;
5973
6029
 
5974
6030
  function processColumns(columns) {
5975
6031
  return columns.map(dfs);
@@ -5983,7 +6039,7 @@ function filter() {
5983
6039
  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
6040
 
5985
6041
  if (filterable) {
5986
- var _col$features2, _col$features$filterI, _col$features3, _result$title, _cx;
6042
+ var _col$features2, _col$features$filterI, _col$features3, _cx;
5987
6043
 
5988
6044
  var handleFilterChanged = function handleFilterChanged(filterItem) {
5989
6045
  var nextFiltersMap = new Map(inputFiltersMap);
@@ -6017,7 +6073,8 @@ function filter() {
6017
6073
 
6018
6074
  var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
6019
6075
  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"], {
6076
+
6077
+ var _Filter = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
6021
6078
  key: "filter",
6022
6079
  FilterPanelContent: filterPanel,
6023
6080
  filterIcon: colFilterIcon,
@@ -6029,12 +6086,22 @@ function filter() {
6029
6086
  stopClickEventPropagation: stopClickEventPropagation,
6030
6087
  stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
6031
6088
  hideFilterPopupHeader: hideFilterPopupHeader,
6032
- getPopupParent: getPopupParent
6033
- })]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
6089
+ getPopupParent: getPopupParent,
6090
+ localeText: localeText
6091
+ });
6092
+
6093
+ if (col.renderHeader) {
6094
+ result.title = col.renderHeader(result.title, _Filter);
6095
+ } else {
6096
+ var _result$title;
6097
+
6098
+ 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]);
6099
+ } // result.headerCellProps = mergeCellProps(col.headerCellProps, {
6034
6100
  // style: {
6035
6101
  // paddingRight: '18px'
6036
6102
  // }
6037
6103
  // })
6104
+
6038
6105
  }
6039
6106
 
6040
6107
  if (!Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(col)) {
@@ -6419,7 +6486,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6419
6486
 
6420
6487
 
6421
6488
  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"])));
6489
+ var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(function (props) {
6490
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, props);
6491
+ })(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
6423
6492
 
6424
6493
  function clamp(min, x, max) {
6425
6494
  return Math.max(min, Math.min(max, x));
@@ -7088,11 +7157,13 @@ var _templateObject;
7088
7157
  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
7158
 
7090
7159
  function DefaultFilterContent(_ref) {
7091
- var _cx2;
7160
+ var _localeText$resetFilt, _cx2, _localeText$confirmFi;
7092
7161
 
7093
7162
  var setFilterModel = _ref.setFilterModel,
7094
7163
  filterModel = _ref.filterModel,
7095
- hidePanel = _ref.hidePanel;
7164
+ hidePanel = _ref.hidePanel,
7165
+ _ref$localeText = _ref.localeText,
7166
+ localeText = _ref$localeText === void 0 ? {} : _ref$localeText;
7096
7167
 
7097
7168
  var _React$useState = react__WEBPACK_IMPORTED_MODULE_6___default.a.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain'),
7098
7169
  _React$useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState, 2),
@@ -7145,16 +7216,18 @@ function DefaultFilterContent(_ref) {
7145
7216
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
7146
7217
  className: "filter-option-list"
7147
7218
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("ul", null, _util__WEBPACK_IMPORTED_MODULE_9__["DEFAULT_FILTER_OPTIONS"].map(function (option, index) {
7219
+ var _localeText$option$ke;
7220
+
7148
7221
  return (
7149
7222
  /*#__PURE__*/
7150
7223
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
7151
7224
  react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("li", {
7152
- key: index,
7225
+ key: option.key,
7153
7226
  className: option.key === selectedValue ? 'active' : '',
7154
7227
  onClick: function onClick() {
7155
7228
  return handleClick(option);
7156
7229
  }
7157
- }, option.title)
7230
+ }, (_localeText$option$ke = localeText[option.key]) !== null && _localeText$option$ke !== void 0 ? _localeText$option$ke : option.title)
7158
7231
  );
7159
7232
  }))), selectedValue !== 'notIsNull' && selectedValue !== 'isNull' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
7160
7233
  className: "filter-search"
@@ -7173,12 +7246,12 @@ function DefaultFilterContent(_ref) {
7173
7246
  'filter-btn': true
7174
7247
  }, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].button, true)),
7175
7248
  onClick: reset
7176
- }, "\u91CD\u7F6E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
7249
+ }, (_localeText$resetFilt = localeText.resetFilter) !== null && _localeText$resetFilt !== void 0 ? _localeText$resetFilt : '重置'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
7177
7250
  className: classnames__WEBPACK_IMPORTED_MODULE_8___default()((_cx2 = {
7178
7251
  'filter-btn': true
7179
7252
  }, _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
7253
  onClick: confirm
7181
- }, "\u786E\u5B9A")));
7254
+ }, (_localeText$confirmFi = localeText.confirmFilter) !== null && _localeText$confirmFi !== void 0 ? _localeText$confirmFi : '确定')));
7182
7255
  }
7183
7256
 
7184
7257
  /* harmony default export */ __webpack_exports__["default"] = (DefaultFilterContent);
@@ -7328,7 +7401,8 @@ function Filter(_ref2) {
7328
7401
  stopClickEventPropagation = _ref2.stopClickEventPropagation,
7329
7402
  stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
7330
7403
  hideFilterPopupHeader = _ref2.hideFilterPopupHeader,
7331
- getPopupParent = _ref2.getPopupParent;
7404
+ getPopupParent = _ref2.getPopupParent,
7405
+ localeText = _ref2.localeText;
7332
7406
 
7333
7407
  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(false),
7334
7408
  _React$useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState3, 2),
@@ -7355,7 +7429,8 @@ function Filter(_ref2) {
7355
7429
  setFilterModel: setFilterModel,
7356
7430
  filterModel: filterModel,
7357
7431
  isFilterActive: isFilterActive,
7358
- hidePanel: hidePanel
7432
+ hidePanel: hidePanel,
7433
+ localeText: localeText
7359
7434
  });
7360
7435
  }
7361
7436
  };
@@ -7765,7 +7840,7 @@ function footerDataSource() {
7765
7840
  /*!*****************************************************!*\
7766
7841
  !*** ./components/table/pipeline/features/index.ts ***!
7767
7842
  \*****************************************************/
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 */
7843
+ /*! 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
7844
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7770
7845
 
7771
7846
  "use strict";
@@ -7866,6 +7941,12 @@ __webpack_require__.r(__webpack_exports__);
7866
7941
 
7867
7942
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendOption", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendOption"]; });
7868
7943
 
7944
+ /* harmony import */ var _rowDrag__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./rowDrag */ "./components/table/pipeline/features/rowDrag.tsx");
7945
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["rowDrag"]; });
7946
+
7947
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RowDragFeatureOptions", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["RowDragFeatureOptions"]; });
7948
+
7949
+
7869
7950
 
7870
7951
 
7871
7952
 
@@ -8029,6 +8110,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8029
8110
 
8030
8111
 
8031
8112
 
8113
+ var fullRowsSetKey = 'fullRowsSetKey';
8114
+ var allEnableKeys = 'allEnableKeys';
8115
+ var selectValueSetKey = 'selectValueSetKey';
8032
8116
  function multiSelect() {
8033
8117
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8034
8118
  return function multiSelectStep(pipeline) {
@@ -8059,10 +8143,9 @@ function multiSelect() {
8059
8143
  action: action
8060
8144
  });
8061
8145
  };
8062
-
8063
- var dataSource = pipeline.getDataSource();
8064
8146
  /** dataSource 中包含的所有 keys */
8065
8147
 
8148
+
8066
8149
  var fullKeySet = new Set();
8067
8150
  /** 所有有效的 keys(disable 状态为 false) */
8068
8151
 
@@ -8071,7 +8154,7 @@ function multiSelect() {
8071
8154
  var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
8072
8155
 
8073
8156
  var isAnyChecked = false;
8074
- var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(dataSource);
8157
+ var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(pipeline.getDataSource());
8075
8158
  flatDataSource.forEach(function (row, rowIndex) {
8076
8159
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8077
8160
  fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
@@ -8099,6 +8182,8 @@ function multiSelect() {
8099
8182
  checked: isAllChecked,
8100
8183
  indeterminate: !isAllChecked && isAnyChecked,
8101
8184
  onChange: function onChange(_) {
8185
+ var allKeys = pipeline.getFeatureOptions(allEnableKeys);
8186
+
8102
8187
  if (isAllChecked) {
8103
8188
  _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
8104
8189
  } else {
@@ -8119,9 +8204,11 @@ function multiSelect() {
8119
8204
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8120
8205
  var checkboxCellProps = {};
8121
8206
  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);
8207
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8208
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8122
8209
 
8123
- if (fullKeySet.has(rowKey) && clickArea === 'cell') {
8124
- var prevChecked = set.has(rowKey);
8210
+ if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
8211
+ var prevChecked = selectValueSet.has(rowKey);
8125
8212
  var disabled = isDisabled(row, rowIndex);
8126
8213
  checkboxCellProps = {
8127
8214
  style: {
@@ -8145,7 +8232,8 @@ function multiSelect() {
8145
8232
  }
8146
8233
 
8147
8234
  var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8148
- var checked = set.has(key);
8235
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8236
+ var checked = selectValueSet.has(key);
8149
8237
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
8150
8238
  checked: checked,
8151
8239
  disabled: isDisabled(row, rowIndex),
@@ -8183,8 +8271,9 @@ function multiSelect() {
8183
8271
 
8184
8272
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
8185
8273
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
8274
+ var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
8186
8275
 
8187
- if (!fullKeySet.has(rowKey)) {
8276
+ if (!fullRowsSet.has(rowKey)) {
8188
8277
  // rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
8189
8278
  return;
8190
8279
  }
@@ -8192,7 +8281,8 @@ function multiSelect() {
8192
8281
  var style = {};
8193
8282
  var className;
8194
8283
  var onClick;
8195
- var checked = set.has(rowKey);
8284
+ var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
8285
+ var checked = selectValueSet.has(rowKey);
8196
8286
 
8197
8287
  if (opts.highlightRowWhenSelected && checked) {
8198
8288
  className = 'highlight';
@@ -8219,22 +8309,32 @@ function multiSelect() {
8219
8309
  style: style,
8220
8310
  onClick: onClick
8221
8311
  };
8222
- });
8312
+ }); // 只保留一份到pipeline, 避免行数据过多时内容被握住
8313
+
8314
+ pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
8315
+ pipeline.setFeatureOptions(allEnableKeys, allKeys);
8316
+ pipeline.setFeatureOptions(selectValueSetKey, set);
8317
+ fullKeySet = null;
8318
+ allKeys = null;
8319
+ set = null;
8223
8320
  return pipeline;
8224
8321
 
8225
8322
  function onCheckboxChange(prevChecked, key, batch) {
8226
8323
  var batchKeys = [key];
8227
8324
 
8228
8325
  if (batch && lastKey) {
8229
- var lastIdx = allKeys.indexOf(lastKey);
8230
- var cntIdx = allKeys.indexOf(key);
8326
+ var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
8327
+
8328
+ var lastIdx = _allKeys.indexOf(lastKey);
8329
+
8330
+ var cntIdx = _allKeys.indexOf(key);
8231
8331
 
8232
8332
  var _ref5 = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
8233
8333
  _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_5___default()(_ref5, 2),
8234
8334
  start = _ref6[0],
8235
8335
  end = _ref6[1];
8236
8336
 
8237
- batchKeys = allKeys.slice(start, end + 1);
8337
+ batchKeys = _allKeys.slice(start, end + 1);
8238
8338
  }
8239
8339
 
8240
8340
  if (prevChecked) {
@@ -9212,6 +9312,355 @@ function rowDetail() {
9212
9312
 
9213
9313
  /***/ }),
9214
9314
 
9315
+ /***/ "./components/table/pipeline/features/rowDrag.tsx":
9316
+ /*!********************************************************!*\
9317
+ !*** ./components/table/pipeline/features/rowDrag.tsx ***!
9318
+ \********************************************************/
9319
+ /*! exports provided: ROW_DRAG_COLUMN_CODE, rowDragKey, rowDrag */
9320
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9321
+
9322
+ "use strict";
9323
+ __webpack_require__.r(__webpack_exports__);
9324
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ROW_DRAG_COLUMN_CODE", function() { return ROW_DRAG_COLUMN_CODE; });
9325
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDragKey", function() { return rowDragKey; });
9326
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return rowDrag; });
9327
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9328
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
9329
+ /* 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");
9330
+ /* 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__);
9331
+ /* 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");
9332
+ /* 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__);
9333
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
9334
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
9335
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
9336
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
9337
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9338
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
9339
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
9340
+
9341
+
9342
+
9343
+
9344
+
9345
+
9346
+
9347
+
9348
+ var ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
9349
+ var rowDragKey = 'rowDragKey';
9350
+ var SCROLL_OFFSET = 30;
9351
+ var defaultRowDragColumn = {
9352
+ name: '拖拽列',
9353
+ code: ROW_DRAG_COLUMN_CODE,
9354
+ lock: true,
9355
+ title: '',
9356
+ width: 40,
9357
+ align: 'center',
9358
+ getCellProps: function getCellProps(value, row, rowIndex) {
9359
+ return {
9360
+ className: classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragCell)
9361
+ };
9362
+ },
9363
+ render: function render(value, row, rowIndex) {
9364
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
9365
+ viewBox: "0 0 1024 1024",
9366
+ version: "1.1",
9367
+ xmlns: "http://www.w3.org/1999/xlink",
9368
+ "data-icon": "drag",
9369
+ width: "16",
9370
+ height: "16"
9371
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
9372
+ 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",
9373
+ "p-id": "4278"
9374
+ }));
9375
+ }
9376
+ };
9377
+ function rowDrag(opt) {
9378
+ return function rowDragStep(pipeline) {
9379
+ var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
9380
+ var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
9381
+ if (!tableBody) return pipeline;
9382
+ var dataSource = pipeline.getDataSource();
9383
+ var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
9384
+
9385
+ var handleDragStrat = function handleDragStrat(event) {
9386
+ var _opt$onDragStart;
9387
+
9388
+ // 开始拖拽
9389
+ artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9390
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragStart = opt.onDragStart) === null || _opt$onDragStart === void 0 ? void 0 : _opt$onDragStart.call(opt, event);
9391
+ };
9392
+
9393
+ var handleDragMove = function handleDragMove(event) {
9394
+ var _opt$onDragMove;
9395
+
9396
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragMove = opt.onDragMove) === null || _opt$onDragMove === void 0 ? void 0 : _opt$onDragMove.call(opt, event);
9397
+ pipeline.setStateAtKey(rowDragKey, event);
9398
+ };
9399
+
9400
+ var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
9401
+ artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9402
+ pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
9403
+
9404
+ if (!isOutOfRange) {
9405
+ var _opt$onDragEnd;
9406
+
9407
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragEnd = opt.onDragEnd) === null || _opt$onDragEnd === void 0 ? void 0 : _opt$onDragEnd.call(opt, event);
9408
+ }
9409
+ };
9410
+
9411
+ var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
9412
+ var isFinished = _ref.isFinished,
9413
+ _ref$dragPosition = _ref.dragPosition,
9414
+ dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
9415
+ return {
9416
+ startRowIndex: startRowInfo.rowIndex,
9417
+ startRow: startRowInfo.row,
9418
+ endRowIndex: endRowInfo.rowIndex,
9419
+ endRow: endRowInfo.row,
9420
+ dragPosition: dragPosition,
9421
+ isFinished: isFinished
9422
+ };
9423
+ };
9424
+
9425
+ var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
9426
+ var clientY = mouseMoveEvent.clientY;
9427
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9428
+ var top = tableBodyClientRect.top,
9429
+ height = tableBodyClientRect.height;
9430
+
9431
+ if (clientY + SCROLL_OFFSET >= top + height) {
9432
+ pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
9433
+ }
9434
+
9435
+ if (clientY + SCROLL_OFFSET <= top) {
9436
+ pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
9437
+ }
9438
+ };
9439
+
9440
+ var onMouseDown = function onMouseDown(mouseDownEvent) {
9441
+ var _opt$isDisabled;
9442
+
9443
+ var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
9444
+ var endRowInfo = startRowInfo;
9445
+ if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
9446
+ if (opt !== null && opt !== void 0 && (_opt$isDisabled = opt.isDisabled) !== null && _opt$isDisabled !== void 0 && _opt$isDisabled.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return; // 默认拖拽插入的位置是向下
9447
+
9448
+ var dragPosition = 'bottom';
9449
+ var isOutOfRange = false;
9450
+ var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
9451
+ isFinished: false,
9452
+ dragPosition: 'bottom'
9453
+ });
9454
+ handleDragStrat(dragStartEvent);
9455
+ var tableWidth = tableBody.clientWidth;
9456
+ var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
9457
+
9458
+ var startOffset = mouseDownEvent.clientY - startRowRects.y;
9459
+ var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
9460
+
9461
+ var dragRange = getDragRange(tableBody, {
9462
+ startOffset: startOffset,
9463
+ rowHeight: startRowRects.height
9464
+ });
9465
+ var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mousemove');
9466
+ var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mouseup');
9467
+ var rowDrag$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["map"])(function (mouseMoveEvent) {
9468
+ var clientX = mouseMoveEvent.clientX,
9469
+ clientY = mouseMoveEvent.clientY;
9470
+ var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
9471
+
9472
+ if (tagretRow) {
9473
+ endRowInfo = tagretRow;
9474
+ }
9475
+
9476
+ var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
9477
+
9478
+ var isMoveToTop = clientY - startOffset < targetRowRects.y;
9479
+ dragPosition = isMoveToTop ? 'top' : 'bottom';
9480
+ isOutOfRange = isOutOfDragRange({
9481
+ x: clientX,
9482
+ y: clientY
9483
+ }, dragRange);
9484
+ updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
9485
+
9486
+ updateDragElementPosition(dragElement, dragRange, {
9487
+ x: clientX,
9488
+ y: clientY,
9489
+ startOffset: startOffset
9490
+ });
9491
+ updateCurSorStyle(isOutOfRange);
9492
+ return {
9493
+ startRowInfo: startRowInfo,
9494
+ endRowInfo: endRowInfo,
9495
+ dragPosition: dragPosition
9496
+ };
9497
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["takeUntil"])(mouseup$));
9498
+ rowDrag$.subscribe({
9499
+ next: function next(_ref2) {
9500
+ var startRowInfo = _ref2.startRowInfo,
9501
+ endRowInfo = _ref2.endRowInfo,
9502
+ dragPosition = _ref2.dragPosition;
9503
+ var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
9504
+ isFinished: false,
9505
+ dragPosition: dragPosition
9506
+ });
9507
+ handleDragMove(dragMoveEvent);
9508
+ },
9509
+ complete: function complete() {
9510
+ var dragEndEvent = getDragEvent(startRowInfo, endRowInfo, {
9511
+ isFinished: true,
9512
+ dragPosition: dragPosition
9513
+ });
9514
+ handleDragEnd(dragEndEvent, isOutOfRange);
9515
+ removeDragElement(dragElement);
9516
+ removeCurSorStyle();
9517
+ }
9518
+ });
9519
+ };
9520
+
9521
+ var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
9522
+ var nextColumns = pipeline.getColumns().slice();
9523
+ nextColumns.unshift(rowDragColumn);
9524
+ pipeline.columns(nextColumns);
9525
+ pipeline.addTableProps({
9526
+ onMouseDown: onMouseDown
9527
+ });
9528
+ pipeline.appendRowPropsGetter(function (row, rowIndex) {
9529
+ var _cx;
9530
+
9531
+ var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
9532
+ var startRowIndex = rowDragEvent.startRowIndex,
9533
+ endRowIndex = rowDragEvent.endRowIndex,
9534
+ isFinished = rowDragEvent.isFinished,
9535
+ dragPosition = rowDragEvent.dragPosition;
9536
+ var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
9537
+ if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
9538
+ 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));
9539
+ return {
9540
+ className: className
9541
+ };
9542
+ });
9543
+ return pipeline;
9544
+ };
9545
+ }
9546
+
9547
+ function getTargetRowInfo(target, tableBody, record) {
9548
+ while (target && tableBody.contains(target)) {
9549
+ if (target.getAttribute('data-role') === 'table-cell') {
9550
+ var code = target.getAttribute('data-code');
9551
+
9552
+ var _rowIndex = parseInt(target.getAttribute('data-rowindex'));
9553
+
9554
+ var _row = record[_rowIndex];
9555
+ var isFooterCell = isEleInFooter(target);
9556
+ if (!_row || isFooterCell) return null;
9557
+ return {
9558
+ rowIndex: _rowIndex,
9559
+ row: _row,
9560
+ code: code,
9561
+ cell: target
9562
+ };
9563
+ }
9564
+
9565
+ target = target.parentElement;
9566
+ }
9567
+
9568
+ return null;
9569
+ }
9570
+
9571
+ function isEleInFooter(target) {
9572
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable)) {
9573
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter)) {
9574
+ return true;
9575
+ }
9576
+
9577
+ target = target.parentElement;
9578
+ }
9579
+
9580
+ return false;
9581
+ }
9582
+
9583
+ function createDragElement(rects, tableWidth, rowHeight) {
9584
+ var x = rects.x,
9585
+ y = rects.y;
9586
+ var dragMoveElement = document.createElement('div');
9587
+ dragMoveElement.className = classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragElement);
9588
+ 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;");
9589
+ document.body.appendChild(dragMoveElement);
9590
+ return dragMoveElement;
9591
+ }
9592
+
9593
+ function updateDragElementPosition(element, dragRange, _ref3) {
9594
+ var x = _ref3.x,
9595
+ y = _ref3.y,
9596
+ startOffset = _ref3.startOffset;
9597
+ var validPosition = getValidPosition({
9598
+ x: x,
9599
+ y: y
9600
+ }, dragRange);
9601
+ element.style.top = validPosition.y - startOffset + 'px';
9602
+ return element;
9603
+ }
9604
+
9605
+ function removeDragElement(element) {
9606
+ document.body.removeChild(element);
9607
+ }
9608
+
9609
+ function updateCurSorStyle(isOutOfRange) {
9610
+ if (isOutOfRange) {
9611
+ document.body.style.cursor = 'no-drop';
9612
+ } else {
9613
+ document.body.style.cursor = 'move';
9614
+ }
9615
+ }
9616
+
9617
+ function removeCurSorStyle() {
9618
+ document.body.style.cursor = 'default';
9619
+ }
9620
+
9621
+ function getDragRange(tableBody, _ref4) {
9622
+ var startOffset = _ref4.startOffset,
9623
+ rowHeight = _ref4.rowHeight;
9624
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9625
+ var height = tableBodyClientRect.height,
9626
+ width = tableBodyClientRect.width,
9627
+ x = tableBodyClientRect.x,
9628
+ y = tableBodyClientRect.y;
9629
+ return {
9630
+ minX: x,
9631
+ maxX: x + width,
9632
+ minY: y - rowHeight + startOffset,
9633
+ maxY: y + height + startOffset
9634
+ };
9635
+ }
9636
+
9637
+ function getValidPosition(position, dragRange) {
9638
+ var x = position.x,
9639
+ y = position.y;
9640
+ var minX = dragRange.minX,
9641
+ maxX = dragRange.maxX,
9642
+ minY = dragRange.minY,
9643
+ maxY = dragRange.maxY;
9644
+ var newX = x < minX ? minX : x > maxX ? maxX : x;
9645
+ var newY = y < minY ? minY : y > maxY ? maxY : y;
9646
+ return {
9647
+ x: newX,
9648
+ y: newY
9649
+ };
9650
+ }
9651
+
9652
+ function isOutOfDragRange(position, dragRange) {
9653
+ var x = position.x,
9654
+ y = position.y;
9655
+ var minX = dragRange.minX,
9656
+ maxX = dragRange.maxX,
9657
+ minY = dragRange.minY,
9658
+ maxY = dragRange.maxY;
9659
+ return x > maxX || x < minX || y > maxY || y < minY;
9660
+ }
9661
+
9662
+ /***/ }),
9663
+
9215
9664
  /***/ "./components/table/pipeline/features/rowGrouping.tsx":
9216
9665
  /*!************************************************************!*\
9217
9666
  !*** ./components/table/pipeline/features/rowGrouping.tsx ***!
@@ -10040,10 +10489,29 @@ function sort() {
10040
10489
  title: col.title && col.title[0] ? col.title[0] : col.title
10041
10490
  })));
10042
10491
 
10043
- if (result.title && result.title[0]) {
10044
- result.title[0] = sortNode;
10492
+ var _sortNodeWithoutTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_23___default.a.createElement(SortHeaderCell, {
10493
+ onToggle: function onToggle(e) {
10494
+ if (stopClickEventPropagation) {
10495
+ e.stopPropagation();
10496
+ }
10497
+
10498
+ toggle(col.code);
10499
+ },
10500
+ sortOrder: sortOrder,
10501
+ column: col,
10502
+ sortIndex: sortIndex,
10503
+ sortOptions: sortOptions
10504
+ }); // 开启标题行高自适应后,修改表头的渲染结构
10505
+
10506
+
10507
+ if (col.renderHeader) {
10508
+ result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
10045
10509
  } else {
10046
- result.title = sortNode;
10510
+ if (result.title && result.title[0]) {
10511
+ result.title[0] = sortNode;
10512
+ } else {
10513
+ result.title = sortNode;
10514
+ }
10047
10515
  }
10048
10516
  }
10049
10517