@kdcloudjs/table 1.2.0-canary.9 → 1.2.1-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +589 -89
  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 +9 -9
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/table/base/header.d.ts +2 -1
  8. package/es/table/base/header.js +4 -2
  9. package/es/table/base/helpers/TableDOMUtils.js +3 -1
  10. package/es/table/base/helpers/getRichVisibleRectsStream.js +2 -1
  11. package/es/table/base/html-table.js +1 -1
  12. package/es/table/base/renderTemplates.js +24 -10
  13. package/es/table/base/styles.d.ts +7 -0
  14. package/es/table/base/styles.js +9 -2
  15. package/es/table/base/table.d.ts +2 -1
  16. package/es/table/base/table.js +73 -46
  17. package/es/table/pipeline/features/autoFill.js +3 -1
  18. package/es/table/pipeline/features/columnDrag.js +11 -7
  19. package/es/table/pipeline/features/columnFilter.js +1 -1
  20. package/es/table/pipeline/features/index.d.ts +1 -0
  21. package/es/table/pipeline/features/index.js +2 -1
  22. package/es/table/pipeline/features/multiSelect.js +6 -4
  23. package/es/table/pipeline/features/rangeSelection.js +3 -2
  24. package/es/table/pipeline/features/rowDrag.d.ts +30 -0
  25. package/es/table/pipeline/features/rowDrag.js +349 -0
  26. package/es/table/pipeline/features/singleSelect.js +6 -4
  27. package/es/table/pipeline/features/treeMode.js +6 -0
  28. package/es/table/pipeline/pipeline.d.ts +2 -0
  29. package/es/table/pipeline/pipeline.js +9 -1
  30. package/es/table/utils/index.d.ts +1 -0
  31. package/es/table/utils/index.js +2 -1
  32. package/es/table/utils/selectColumn.d.ts +4 -0
  33. package/es/table/utils/selectColumn.js +6 -0
  34. package/lib/table/base/header.d.ts +2 -1
  35. package/lib/table/base/header.js +4 -2
  36. package/lib/table/base/helpers/TableDOMUtils.js +3 -1
  37. package/lib/table/base/helpers/getRichVisibleRectsStream.js +2 -1
  38. package/lib/table/base/html-table.js +1 -1
  39. package/lib/table/base/renderTemplates.js +24 -10
  40. package/lib/table/base/styles.d.ts +7 -0
  41. package/lib/table/base/styles.js +9 -2
  42. package/lib/table/base/table.d.ts +2 -1
  43. package/lib/table/base/table.js +73 -46
  44. package/lib/table/pipeline/features/autoFill.js +3 -1
  45. package/lib/table/pipeline/features/columnDrag.js +10 -6
  46. package/lib/table/pipeline/features/columnFilter.js +1 -1
  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 +8 -5
  50. package/lib/table/pipeline/features/rangeSelection.js +3 -2
  51. package/lib/table/pipeline/features/rowDrag.d.ts +30 -0
  52. package/lib/table/pipeline/features/rowDrag.js +371 -0
  53. package/lib/table/pipeline/features/singleSelect.js +8 -5
  54. package/lib/table/pipeline/features/treeMode.js +6 -0
  55. package/lib/table/pipeline/pipeline.d.ts +2 -0
  56. package/lib/table/pipeline/pipeline.js +9 -1
  57. package/lib/table/utils/index.d.ts +1 -0
  58. package/lib/table/utils/index.js +21 -1
  59. package/lib/table/utils/selectColumn.d.ts +4 -0
  60. package/lib/table/utils/selectColumn.js +16 -0
  61. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.2.0-canary.8
3
+ * @kdcloudjs/table v1.2.0-canary.18
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -304,7 +304,7 @@ __webpack_require__.r(__webpack_exports__);
304
304
  /*!******************************!*\
305
305
  !*** ./components/index.tsx ***!
306
306
  \******************************/
307
- /*! exports provided: ConfigProvider, Table, TableProps, PrimaryKey, LoadingContentWrapperProps, Classes, TableCSSVariables, collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType, makeAutoRowSpanTransform, useAutoWidthTransform, makeBuildTreeTransform, makeColumnHoverTransform, ColumnHoverOptions, useColumnHoverTransform, makeColumnRangeHoverTransform, ColumnRangeHoverOptions, useColumnHoverRangeTransform, makeColumnResizeTransform, ColumnResizeOptions, useColumnResizeTransform, makeFlattenTransform, makeOrderFieldTransform, makeSortTransform, SortHeaderCellProps, SortOptions, useSortTransform, makeTipsTransform, TipsOptions, makeTreeModeTransform, TreeModeOptions, useTreeModeTransform, makeVisibleTransform, TablePipeline, useTablePipeline, features, internals */
307
+ /*! exports provided: ConfigProvider, Table, TableProps, PrimaryKey, LoadingContentWrapperProps, Classes, TableCSSVariables, collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType, MULTI_SELECT_MARK_PROPNAME, SINGLE_SELECT_MARK_PROPNAME, isSelectColumn, makeAutoRowSpanTransform, useAutoWidthTransform, makeBuildTreeTransform, makeColumnHoverTransform, ColumnHoverOptions, useColumnHoverTransform, makeColumnRangeHoverTransform, ColumnRangeHoverOptions, useColumnHoverRangeTransform, makeColumnResizeTransform, ColumnResizeOptions, useColumnResizeTransform, makeFlattenTransform, makeOrderFieldTransform, makeSortTransform, SortHeaderCellProps, SortOptions, useSortTransform, makeTipsTransform, TipsOptions, makeTreeModeTransform, TreeModeOptions, useTreeModeTransform, makeVisibleTransform, TablePipeline, useTablePipeline, features, internals */
308
308
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
309
309
 
310
310
  "use strict";
@@ -375,6 +375,12 @@ __webpack_require__.r(__webpack_exports__);
375
375
 
376
376
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "browserType", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["browserType"]; });
377
377
 
378
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MULTI_SELECT_MARK_PROPNAME", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["MULTI_SELECT_MARK_PROPNAME"]; });
379
+
380
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SINGLE_SELECT_MARK_PROPNAME", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["SINGLE_SELECT_MARK_PROPNAME"]; });
381
+
382
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isSelectColumn", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["isSelectColumn"]; });
383
+
378
384
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "makeAutoRowSpanTransform", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["makeAutoRowSpanTransform"]; });
379
385
 
380
386
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useAutoWidthTransform", function() { return _table__WEBPACK_IMPORTED_MODULE_1__["useAutoWidthTransform"]; });
@@ -1670,7 +1676,8 @@ function calculateHeaderRenderInfo(_ref, rowCount) {
1670
1676
  function TableHeader(_ref2) {
1671
1677
  var info = _ref2.info,
1672
1678
  theaderPosition = _ref2.theaderPosition,
1673
- _rowCount = _ref2.rowCount;
1679
+ _rowCount = _ref2.rowCount,
1680
+ stickyRightOffset = _ref2.stickyRightOffset;
1674
1681
  var nested = info.nested,
1675
1682
  flat = info.flat,
1676
1683
  stickyLeftMap = info.stickyLeftMap,
@@ -1712,7 +1719,8 @@ function TableHeader(_ref2) {
1712
1719
  positionStyle.left = stickyLeftMap.get(colIndex);
1713
1720
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
1714
1721
  positionStyle.position = 'sticky';
1715
- positionStyle.right = stickyRightMap.get(colIndex);
1722
+ var stickyRightIndex = colSpan > 1 ? colIndex + colSpan - 1 : colIndex;
1723
+ positionStyle.right = stickyRightMap.get(stickyRightIndex) + stickyRightOffset;
1716
1724
  }
1717
1725
 
1718
1726
  var justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start';
@@ -1991,7 +1999,9 @@ var TableDOMHelper = /*#__PURE__*/function () {
1991
1999
  this.tableFooter = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter));
1992
2000
  this.tableFooterMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooterMain));
1993
2001
  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);
1994
- this.stickyScroll = artTableWrapper.querySelector(stickyScrollSelector);
2002
+ var stickyScrolls = artTableWrapper.querySelectorAll(stickyScrollSelector);
2003
+ this.stickyScroll = stickyScrolls[stickyScrolls.length - 1]; // 当嵌套多层表格时,需要查找最后一个,否则会查找到父表格内嵌套的子表格的
2004
+
1995
2005
  this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScrollItem));
1996
2006
  }
1997
2007
 
@@ -2243,7 +2253,8 @@ function getScrollParent(elem) {
2243
2253
 
2244
2254
 
2245
2255
  function getRichVisibleRectsStream(target, structureMayChange$, virtualDebugLabel) {
2246
- return structureMayChange$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["startWith"]('init'), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["map"](function () {
2256
+ return structureMayChange$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["mapTo"](target), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_14__["shallowEqual"]), // 当target没有发生变化时,无需重新查找
2257
+ rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["startWith"]('init'), rxjs_operators__WEBPACK_IMPORTED_MODULE_13__["map"](function () {
2247
2258
  // target 的第一个滚动父元素,我们认为这就是虚拟滚动发生的地方
2248
2259
  // 即虚拟滚动不考虑「更上层元素发生滚动」的情况
2249
2260
  // 直接从父元素开始查找,防止自身设置overflow属性导致是同一个元素
@@ -2672,7 +2683,7 @@ function HtmlTable(_ref) {
2672
2683
  positionStyle.left = hozInfo.stickyLeftMap.get(colIndex);
2673
2684
  } else if (colIndex >= fullFlatCount - rightFlatCount) {
2674
2685
  positionStyle.position = 'sticky';
2675
- positionStyle.right = hozInfo.stickyRightMap.get(colIndex) - (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0);
2686
+ positionStyle.right = hozInfo.stickyRightMap.get(colIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0);
2676
2687
  }
2677
2688
 
2678
2689
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement('td', _objectSpread(_objectSpread(_objectSpread({
@@ -2895,7 +2906,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
2895
2906
 
2896
2907
  var TEMPLATES = new Map();
2897
2908
 
2898
- function renderTableHeaderInIE(info, props) {
2909
+ function renderTableHeaderInIE(info, props, extra) {
2899
2910
  var stickyTop = props.stickyTop,
2900
2911
  hasHeader = props.hasHeader;
2901
2912
  var flat = info.flat,
@@ -2908,6 +2919,9 @@ function renderTableHeaderInIE(info, props) {
2908
2919
  rightNested = nested.right,
2909
2920
  full = nested.full;
2910
2921
  var rowCount = Object(_utils__WEBPACK_IMPORTED_MODULE_23__["getTreeDepth"])(full) + 1;
2922
+ var fixedRightTableStyle = {
2923
+ right: (extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset) || 0
2924
+ };
2911
2925
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
2912
2926
  className: classnames__WEBPACK_IMPORTED_MODULE_19___default()(_styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].tableHeader)
2913
2927
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
@@ -2919,6 +2933,11 @@ function renderTableHeaderInIE(info, props) {
2919
2933
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_24__["default"], {
2920
2934
  info: info,
2921
2935
  theaderPosition: hasLockColumn ? 'center' : undefined
2936
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
2937
+ className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].verticalScrollPlaceholder,
2938
+ style: typeof (extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset) === 'number' ? {
2939
+ width: extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset
2940
+ } : undefined
2922
2941
  })), left.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
2923
2942
  className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedLeft
2924
2943
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_24__["default"], {
@@ -2947,7 +2966,8 @@ function renderTableHeaderInIE(info, props) {
2947
2966
  theaderPosition: "left",
2948
2967
  rowCount: rowCount
2949
2968
  })) : null, right.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
2950
- className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight
2969
+ className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight,
2970
+ style: fixedRightTableStyle
2951
2971
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_24__["default"], {
2952
2972
  info: _objectSpread(_objectSpread({}, info), {}, {
2953
2973
  flat: {
@@ -3001,9 +3021,6 @@ function renderTableBodyInIE(info, props, extra) {
3001
3021
  primaryKey: primaryKey,
3002
3022
  data: dataSource.slice(topIndex, bottomIndex)
3003
3023
  };
3004
- var fixedRightTableStyle = {
3005
- right: -extra.stickyRightOffset
3006
- };
3007
3024
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3008
3025
  className: classnames__WEBPACK_IMPORTED_MODULE_19___default()(_styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].horizontalScrollContainer)
3009
3026
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
@@ -3056,8 +3073,7 @@ function renderTableBodyInIE(info, props, extra) {
3056
3073
  height: bottomBlank
3057
3074
  }
3058
3075
  })) : null, right.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3059
- className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight,
3060
- style: fixedRightTableStyle
3076
+ className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight
3061
3077
  }, topBlank > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3062
3078
  key: "top-blank",
3063
3079
  className: classnames__WEBPACK_IMPORTED_MODULE_19___default()(_styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].virtualBlank, 'top'),
@@ -3068,7 +3084,6 @@ function renderTableBodyInIE(info, props, extra) {
3068
3084
  tbodyHtmlTag: "tbody"
3069
3085
  }, commonProps, {
3070
3086
  tbodyPosition: "right",
3071
- stickyRightOffset: extra.stickyRightOffset,
3072
3087
  horizontalRenderInfo: _objectSpread(_objectSpread({}, info), {}, {
3073
3088
  flat: {
3074
3089
  center: right,
@@ -3116,6 +3131,9 @@ function renderTableFooterInIE(info, props, extra) {
3116
3131
  primaryKey: primaryKey,
3117
3132
  verticalRenderInfo: verticalRenderInfo
3118
3133
  };
3134
+ var fixedRightTableStyle = {
3135
+ right: (extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset) || 0
3136
+ };
3119
3137
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3120
3138
  className: classnames__WEBPACK_IMPORTED_MODULE_19___default()(_styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].tableFooter),
3121
3139
  style: {
@@ -3128,7 +3146,13 @@ function renderTableFooterInIE(info, props, extra) {
3128
3146
  }, commonProps, {
3129
3147
  tbodyPosition: hasLockColumn ? 'center' : undefined,
3130
3148
  horizontalRenderInfo: info
3131
- }))), left.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3149
+ })), footerDataSource.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3150
+ className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].verticalScrollPlaceholder,
3151
+ style: typeof (extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset) === 'number' ? {
3152
+ width: extra === null || extra === void 0 ? void 0 : extra.stickyRightOffset,
3153
+ visibility: 'initial'
3154
+ } : undefined
3155
+ }) : null), left.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3132
3156
  className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedLeft
3133
3157
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_20__["HtmlTable"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_6___default()({
3134
3158
  tbodyHtmlTag: "tfoot"
@@ -3144,7 +3168,8 @@ function renderTableFooterInIE(info, props, extra) {
3144
3168
  visible: visible.slice(0, left.length)
3145
3169
  })
3146
3170
  }))) : null, right.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement("div", {
3147
- className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight
3171
+ className: _styles__WEBPACK_IMPORTED_MODULE_21__["Classes"].fixedRight,
3172
+ style: fixedRightTableStyle
3148
3173
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_20__["HtmlTable"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_6___default()({
3149
3174
  tbodyHtmlTag: "tfoot"
3150
3175
  }, commonProps, {
@@ -3326,7 +3351,14 @@ var Classes = {
3326
3351
  collapsed: "".concat(prefix, "collapsed"),
3327
3352
  popup: "".concat(prefix, "popup"),
3328
3353
  popupHeader: "".concat(prefix, "popup-header"),
3329
- popupBody: "".concat(prefix, "popup-body")
3354
+ popupBody: "".concat(prefix, "popup-body"),
3355
+ rowDragging: "".concat(prefix, "row-dragging"),
3356
+ rowDragStart: "".concat(prefix, "row-drag-start"),
3357
+ rowDragEnd: "".concat(prefix, "row-drag-end"),
3358
+ rowDragEndToTop: "".concat(prefix, "row-drag-end-to-top"),
3359
+ rowDragEndToBottom: "".concat(prefix, "row-drag-end-to-bottom"),
3360
+ rowDragElement: "".concat(prefix, "row-drag-element"),
3361
+ rowDragCell: "".concat(prefix, "row-drag-cell")
3330
3362
  };
3331
3363
  var MenuClasses = {
3332
3364
  menu: "".concat(prefix, "table-menu"),
@@ -3378,7 +3410,7 @@ var defaultCSSVariables = {
3378
3410
  var variableConst = getCssVariableText(defaultCSSVariables);
3379
3411
  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"])));
3380
3412
  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);
3381
- 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 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.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);
3413
+ 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 .", " td{\n border-top: 1px solid var(--primary-color) !important;\n }\n\n .", " td{\n border-bottom: 1px solid var(--primary-color) !important;\n \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 display: flex;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n display: flex;\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);
3382
3414
  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);
3383
3415
 
3384
3416
  function getCssVariableText(obj) {
@@ -3551,7 +3583,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3551
3583
 
3552
3584
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "domHelper", void 0);
3553
3585
 
3554
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "rootSubscription", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subscription"]());
3586
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "rootSubscription", void 0);
3587
+
3588
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeSubject", void 0);
3555
3589
 
3556
3590
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "lastInfo", void 0);
3557
3591
 
@@ -3561,8 +3595,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3561
3595
 
3562
3596
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeObserver", void 0);
3563
3597
 
3564
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "resizeSubject", new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subject"]());
3565
-
3566
3598
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "offsetY", 0);
3567
3599
 
3568
3600
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_18___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_14___default()(_this), "handleRowMouseEnter", function (e) {
@@ -3629,7 +3661,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3629
3661
  bottomBlank = _info$verticalRenderR.bottomBlank,
3630
3662
  topBlank = _info$verticalRenderR.topBlank,
3631
3663
  bottomIndex = _info$verticalRenderR.bottomIndex;
3632
- var stickyRightOffset = _this.hasScrollY ? _this.getScrollBarWidth() : 0;
3633
3664
  var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('body');
3634
3665
 
3635
3666
  if (typeof renderBody === 'function') {
@@ -3637,8 +3668,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3637
3668
  rowProps: {
3638
3669
  onMouseEnter: _this.handleRowMouseEnter,
3639
3670
  onMouseLeave: _this.handleRowMouseLeave
3640
- },
3641
- stickyRightOffset: stickyRightOffset
3671
+ }
3642
3672
  });
3643
3673
  }
3644
3674
 
@@ -3659,7 +3689,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3659
3689
  getRowProps: getRowProps,
3660
3690
  primaryKey: primaryKey,
3661
3691
  data: dataSource.slice(topIndex, bottomIndex),
3662
- stickyRightOffset: stickyRightOffset,
3663
3692
  horizontalRenderInfo: info,
3664
3693
  verticalRenderInfo: {
3665
3694
  first: 0,
@@ -3718,6 +3747,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3718
3747
  var tableBodyHtmlTable = this.domHelper.getTableBodyHtmlTable();
3719
3748
  var innerTableWidth = tableBodyHtmlTable.offsetWidth;
3720
3749
  var artTableWidth = artTable.offsetWidth;
3750
+ var artTableHeight = artTable.offsetHeight; // 表格隐藏后,不需要对表格的滚动条做额外的逻辑处理
3751
+
3752
+ if (artTableWidth === 0 && artTableHeight === 0) return;
3721
3753
  var stickyScrollHeightProp = this.props.stickyScrollHeight;
3722
3754
  var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? this.getScrollBarWidth() : stickyScrollHeightProp; // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
3723
3755
  // 设置滚动条高度
@@ -3747,10 +3779,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3747
3779
  // }
3748
3780
  this.hasScrollY = true;
3749
3781
  } else {
3750
- stickyScroll.style.paddingRight = "".concat(stickyScrollHeight, "px"); // this.setState({
3782
+ // stickyScroll.style.paddingRight = `${stickyScrollHeight}px`
3783
+ // this.setState({
3751
3784
  // hasScrollY: false
3752
3785
  // })
3753
-
3754
3786
  this.hasScrollY = false;
3755
3787
  }
3756
3788
 
@@ -3763,9 +3795,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3763
3795
  var _this$lastInfo = this.lastInfo,
3764
3796
  leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
3765
3797
  rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
3766
- var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth; // 设置子节点宽度
3798
+ var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth;
3799
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0; // 设置子节点宽度
3767
3800
 
3768
- stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth, "px");
3801
+ stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth + stickyRightOffset, "px");
3769
3802
  }
3770
3803
  }, {
3771
3804
  key: "renderTableHeader",
@@ -3774,9 +3807,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3774
3807
  stickyTop = _this$props4.stickyTop,
3775
3808
  hasHeader = _this$props4.hasHeader;
3776
3809
  var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('header');
3810
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
3777
3811
 
3778
3812
  if (typeof renderHeader === 'function') {
3779
- return renderHeader(info, this.props);
3813
+ return renderHeader(info, this.props, {
3814
+ stickyRightOffset: stickyRightOffset
3815
+ });
3780
3816
  }
3781
3817
 
3782
3818
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
@@ -3786,7 +3822,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3786
3822
  display: hasHeader ? undefined : 'none'
3787
3823
  }
3788
3824
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement(_header__WEBPACK_IMPORTED_MODULE_32__["default"], {
3789
- info: info
3825
+ info: info,
3826
+ stickyRightOffset: stickyRightOffset
3790
3827
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3791
3828
  className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].verticalScrollPlaceholder,
3792
3829
  style: this.hasScrollY ? {
@@ -3866,6 +3903,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3866
3903
  getRowProps = _this$props5.getRowProps,
3867
3904
  primaryKey = _this$props5.primaryKey,
3868
3905
  stickyBottom = _this$props5.stickyBottom;
3906
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
3869
3907
  var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_41__["default"])('footer');
3870
3908
 
3871
3909
  if (typeof renderFooter === 'function') {
@@ -3873,7 +3911,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3873
3911
  rowProps: {
3874
3912
  onMouseEnter: this.handleRowMouseEnter,
3875
3913
  onMouseLeave: this.handleRowMouseLeave
3876
- }
3914
+ },
3915
+ stickyRightOffset: stickyRightOffset
3877
3916
  });
3878
3917
  }
3879
3918
 
@@ -3887,6 +3926,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3887
3926
  data: footerDataSource,
3888
3927
  horizontalRenderInfo: info,
3889
3928
  getRowProps: getRowProps,
3929
+ stickyRightOffset: stickyRightOffset,
3890
3930
  primaryKey: primaryKey,
3891
3931
  verticalRenderInfo: {
3892
3932
  offset: 0,
@@ -3905,7 +3945,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3905
3945
  }, {
3906
3946
  key: "renderLockShadows",
3907
3947
  value: function renderLockShadows(info) {
3908
- // console.log('render LockShadows')
3948
+ var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0; // console.log('render LockShadows')
3949
+
3909
3950
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_27___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3910
3951
  className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].lockShadowMask,
3911
3952
  style: {
@@ -3918,7 +3959,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3918
3959
  className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].lockShadowMask,
3919
3960
  style: {
3920
3961
  right: 0,
3921
- width: info.rightLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_38__["LOCK_SHADOW_PADDING"]
3962
+ width: info.rightLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_38__["LOCK_SHADOW_PADDING"] + stickyRightOffset
3922
3963
  }
3923
3964
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3924
3965
  className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].rightLockShadow)
@@ -3932,17 +3973,21 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3932
3973
  hasStickyScroll = _this$props6.hasStickyScroll,
3933
3974
  stickyBottom = _this$props6.stickyBottom;
3934
3975
  var hasScroll = this.state.hasScroll;
3976
+ var isScroll = hasStickyScroll && hasScroll;
3977
+ var stickyScrollContainerStyle = this.getStickyScrollContainerStyle();
3935
3978
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3936
- className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalStickyScrollContainer)
3979
+ className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalStickyScrollContainer),
3980
+ style: stickyScrollContainerStyle
3937
3981
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3938
3982
  className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollLeftSpacer),
3939
3983
  style: {
3940
- width: info.leftLockTotalWidth
3984
+ width: info.leftLockTotalWidth,
3985
+ display: isScroll ? 'block' : 'none'
3941
3986
  }
3942
3987
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3943
3988
  className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScroll),
3944
3989
  style: {
3945
- display: hasStickyScroll && hasScroll ? 'block' : 'none',
3990
+ display: isScroll ? 'block' : 'none',
3946
3991
  bottom: stickyBottom
3947
3992
  }
3948
3993
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
@@ -3950,7 +3995,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3950
3995
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
3951
3996
  className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollRightSpacer),
3952
3997
  style: {
3953
- width: info.rightLockTotalWidth
3998
+ width: info.rightLockTotalWidth,
3999
+ display: isScroll ? 'block' : 'none'
3954
4000
  }
3955
4001
  }));
3956
4002
  }
@@ -3959,6 +4005,22 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3959
4005
  value: function getScrollBarWidth() {
3960
4006
  return this.props.scrollbarWidth || Object(_utils__WEBPACK_IMPORTED_MODULE_39__["getScrollbarSize"])().width;
3961
4007
  }
4008
+ }, {
4009
+ key: "getStickyScrollContainerStyle",
4010
+ value: function getStickyScrollContainerStyle() {
4011
+ var _this$props7 = this.props,
4012
+ hasStickyScroll = _this$props7.hasStickyScroll,
4013
+ stickyScrollHeight = _this$props7.stickyScrollHeight;
4014
+ var hasScroll = this.state.hasScroll;
4015
+ var isScroll = hasStickyScroll && hasScroll;
4016
+ var height = stickyScrollHeight === 'auto' ? this.getScrollBarWidth() : stickyScrollHeight;
4017
+ var stickyHeight = isScroll ? height : 0;
4018
+ return {
4019
+ height: stickyHeight,
4020
+ maxHeight: stickyHeight,
4021
+ minHeight: stickyHeight
4022
+ };
4023
+ }
3962
4024
  }, {
3963
4025
  key: "render",
3964
4026
  value: function render() {
@@ -3967,20 +4029,20 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
3967
4029
  // console.log('render table')
3968
4030
  var info = Object(_calculations__WEBPACK_IMPORTED_MODULE_30__["calculateRenderInfo"])(this);
3969
4031
  this.lastInfo = info;
3970
- var _this$props7 = this.props,
3971
- dataSource = _this$props7.dataSource,
3972
- className = _this$props7.className,
3973
- style = _this$props7.style,
3974
- hasHeader = _this$props7.hasHeader,
3975
- useOuterBorder = _this$props7.useOuterBorder,
3976
- isStickyHead = _this$props7.isStickyHead,
3977
- isStickyHeader = _this$props7.isStickyHeader,
3978
- isStickyFooter = _this$props7.isStickyFooter,
3979
- isLoading = _this$props7.isLoading,
3980
- getTableProps = _this$props7.getTableProps,
3981
- footerDataSource = _this$props7.footerDataSource,
3982
- components = _this$props7.components,
3983
- bordered = _this$props7.bordered;
4032
+ var _this$props8 = this.props,
4033
+ dataSource = _this$props8.dataSource,
4034
+ className = _this$props8.className,
4035
+ style = _this$props8.style,
4036
+ hasHeader = _this$props8.hasHeader,
4037
+ useOuterBorder = _this$props8.useOuterBorder,
4038
+ isStickyHead = _this$props8.isStickyHead,
4039
+ isStickyHeader = _this$props8.isStickyHeader,
4040
+ isStickyFooter = _this$props8.isStickyFooter,
4041
+ isLoading = _this$props8.isLoading,
4042
+ getTableProps = _this$props8.getTableProps,
4043
+ footerDataSource = _this$props8.footerDataSource,
4044
+ components = _this$props8.components,
4045
+ bordered = _this$props8.bordered;
3984
4046
  var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].artTableWrapper, (_cx = {
3985
4047
  'use-outer-border': useOuterBorder,
3986
4048
  empty: dataSource.length === 0,
@@ -4008,41 +4070,40 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
4008
4070
  }, {
4009
4071
  key: "componentDidMount",
4010
4072
  value: function componentDidMount() {
4011
- var _this$props$setTableW2, _this$props9, _this$props$setTableD, _this$props10, _this$props$setRowHei, _this$props11;
4012
-
4013
- // console.log('did mount start')
4014
- // console.log('update dom helper start')
4015
- this.updateDOMHelper(); // console.log('update dom helper end')
4073
+ var _this$props$setTableW2, _this$props10, _this$props$setTableD, _this$props11, _this$props$setRowHei, _this$props12;
4016
4074
 
4075
+ this.rootSubscription = new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subscription"]();
4076
+ this.resizeSubject = new rxjs__WEBPACK_IMPORTED_MODULE_28__["Subject"]();
4077
+ this.updateDOMHelper();
4017
4078
  this.props$ = new rxjs__WEBPACK_IMPORTED_MODULE_28__["BehaviorSubject"](this.props);
4018
4079
  this.initSubscriptions();
4019
4080
  this.didMountOrUpdate(); // console.log('did mount end')
4020
4081
 
4021
- var _this$props8 = this.props,
4022
- cssVariables = _this$props8.cssVariables,
4023
- enableCSSVariables = _this$props8.enableCSSVariables,
4024
- bordered = _this$props8.bordered;
4082
+ var _this$props9 = this.props,
4083
+ cssVariables = _this$props9.cssVariables,
4084
+ enableCSSVariables = _this$props9.enableCSSVariables,
4085
+ bordered = _this$props9.bordered;
4025
4086
  Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
4026
4087
  variables: cssVariables || {},
4027
4088
  enableCSSVariables: enableCSSVariables,
4028
4089
  bordered: bordered
4029
4090
  });
4030
- (_this$props$setTableW2 = (_this$props9 = this.props).setTableWidth) === null || _this$props$setTableW2 === void 0 ? void 0 : _this$props$setTableW2.call(_this$props9, this.domHelper.tableBody.clientWidth);
4031
- (_this$props$setTableD = (_this$props10 = this.props).setTableDomHelper) === null || _this$props$setTableD === void 0 ? void 0 : _this$props$setTableD.call(_this$props10, this.domHelper);
4032
- (_this$props$setRowHei = (_this$props11 = this.props).setRowHeightManager) === null || _this$props$setRowHei === void 0 ? void 0 : _this$props$setRowHei.call(_this$props11, this.rowHeightManager);
4091
+ (_this$props$setTableW2 = (_this$props10 = this.props).setTableWidth) === null || _this$props$setTableW2 === void 0 ? void 0 : _this$props$setTableW2.call(_this$props10, this.domHelper.tableBody.clientWidth);
4092
+ (_this$props$setTableD = (_this$props11 = this.props).setTableDomHelper) === null || _this$props$setTableD === void 0 ? void 0 : _this$props$setTableD.call(_this$props11, this.domHelper);
4093
+ (_this$props$setRowHei = (_this$props12 = this.props).setRowHeightManager) === null || _this$props$setRowHei === void 0 ? void 0 : _this$props$setRowHei.call(_this$props12, this.rowHeightManager);
4033
4094
  }
4034
4095
  }, {
4035
4096
  key: "componentDidUpdate",
4036
4097
  value: function componentDidUpdate(prevProps, prevState) {
4037
- var _this$props13;
4098
+ var _this$props14;
4038
4099
 
4039
4100
  // console.log('did update start')
4040
- var _this$props12 = this.props,
4041
- cssVariables = _this$props12.cssVariables,
4042
- enableCSSVariables = _this$props12.enableCSSVariables,
4043
- bordered = _this$props12.bordered;
4101
+ var _this$props13 = this.props,
4102
+ cssVariables = _this$props13.cssVariables,
4103
+ enableCSSVariables = _this$props13.enableCSSVariables,
4104
+ bordered = _this$props13.bordered;
4044
4105
 
4045
- 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)) {
4106
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_39__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_this$props14 = this.props) === null || _this$props14 === void 0 ? void 0 : _this$props14.cssVariables)) {
4046
4107
  Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
4047
4108
  variables: cssVariables || {},
4048
4109
  enableCSSVariables: enableCSSVariables,
@@ -4752,7 +4813,7 @@ var ContextMenuStyleWrap = styled_components__WEBPACK_IMPORTED_MODULE_3__["defau
4752
4813
  /*!************************************!*\
4753
4814
  !*** ./components/table/index.tsx ***!
4754
4815
  \************************************/
4755
- /*! exports provided: Table, TableProps, PrimaryKey, LoadingContentWrapperProps, Classes, TableCSSVariables, collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType, makeAutoRowSpanTransform, useAutoWidthTransform, makeBuildTreeTransform, makeColumnHoverTransform, ColumnHoverOptions, useColumnHoverTransform, makeColumnRangeHoverTransform, ColumnRangeHoverOptions, useColumnHoverRangeTransform, makeColumnResizeTransform, ColumnResizeOptions, useColumnResizeTransform, makeFlattenTransform, makeOrderFieldTransform, makeSortTransform, SortHeaderCellProps, SortOptions, useSortTransform, makeTipsTransform, TipsOptions, makeTreeModeTransform, TreeModeOptions, useTreeModeTransform, makeVisibleTransform, TablePipeline, useTablePipeline, features, internals */
4816
+ /*! exports provided: Table, TableProps, PrimaryKey, LoadingContentWrapperProps, Classes, TableCSSVariables, collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType, MULTI_SELECT_MARK_PROPNAME, SINGLE_SELECT_MARK_PROPNAME, isSelectColumn, makeAutoRowSpanTransform, useAutoWidthTransform, makeBuildTreeTransform, makeColumnHoverTransform, ColumnHoverOptions, useColumnHoverTransform, makeColumnRangeHoverTransform, ColumnRangeHoverOptions, useColumnHoverRangeTransform, makeColumnResizeTransform, ColumnResizeOptions, useColumnResizeTransform, makeFlattenTransform, makeOrderFieldTransform, makeSortTransform, SortHeaderCellProps, SortOptions, useSortTransform, makeTipsTransform, TipsOptions, makeTreeModeTransform, TreeModeOptions, useTreeModeTransform, makeVisibleTransform, TablePipeline, useTablePipeline, features, internals */
4756
4817
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4757
4818
 
4758
4819
  "use strict";
@@ -4822,6 +4883,12 @@ __webpack_require__.r(__webpack_exports__);
4822
4883
 
4823
4884
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "browserType", function() { return _utils__WEBPACK_IMPORTED_MODULE_2__["browserType"]; });
4824
4885
 
4886
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MULTI_SELECT_MARK_PROPNAME", function() { return _utils__WEBPACK_IMPORTED_MODULE_2__["MULTI_SELECT_MARK_PROPNAME"]; });
4887
+
4888
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SINGLE_SELECT_MARK_PROPNAME", function() { return _utils__WEBPACK_IMPORTED_MODULE_2__["SINGLE_SELECT_MARK_PROPNAME"]; });
4889
+
4890
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isSelectColumn", function() { return _utils__WEBPACK_IMPORTED_MODULE_2__["isSelectColumn"]; });
4891
+
4825
4892
  /* harmony import */ var _transforms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./transforms */ "./components/table/transforms/index.ts");
4826
4893
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "makeAutoRowSpanTransform", function() { return _transforms__WEBPACK_IMPORTED_MODULE_3__["makeAutoRowSpanTransform"]; });
4827
4894
 
@@ -5157,7 +5224,9 @@ function getColumnWidthSum(pipeline) {
5157
5224
  }
5158
5225
 
5159
5226
  function getTableRemainingWidth(pipeline) {
5160
- var tableWidth = pipeline.getStateAtKey(tableWidthKey);
5227
+ var _pipeline$ref$current, _pipeline$ref$current2;
5228
+
5229
+ 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);
5161
5230
  if (!tableWidth) return;
5162
5231
  var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
5163
5232
  return remainingWidth > 0 ? remainingWidth : 0;
@@ -5844,9 +5913,13 @@ function columnDrag() {
5844
5913
  var onColumnDragStopped = opts.onColumnDragStopped; // 拖拽结束返回列顺序
5845
5914
 
5846
5915
  if (onColumnDragStopped) {
5847
- var newColumns = sortColumns(columns, cloumnsSortData).filter(function (_ref) {
5848
- var code = _ref.code;
5849
- return code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"];
5916
+ var isRowDragColumn = function isRowDragColumn(code) {
5917
+ var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
5918
+ return code === rowDragColumnKey;
5919
+ };
5920
+
5921
+ var newColumns = sortColumns(columns, cloumnsSortData).filter(function (column) {
5922
+ return column.code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"] && !isRowDragColumn(column.code) && !Object(_utils__WEBPACK_IMPORTED_MODULE_10__["isSelectColumn"])(column);
5850
5923
  }); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
5851
5924
 
5852
5925
  onColumnDragStopped(columnMoved, newColumns);
@@ -5871,9 +5944,9 @@ function columnDrag() {
5871
5944
  };
5872
5945
  }
5873
5946
 
5874
- function enableMove(_ref2) {
5875
- var lock = _ref2.lock,
5876
- code = _ref2.code;
5947
+ function enableMove(_ref) {
5948
+ var lock = _ref.lock,
5949
+ code = _ref.code;
5877
5950
  return code && code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"] && !lock;
5878
5951
  }
5879
5952
 
@@ -6068,7 +6141,7 @@ function filter() {
6068
6141
  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;
6069
6142
 
6070
6143
  var _Filter = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
6071
- key: "filter",
6144
+ key: "".concat(col.code, "_filter"),
6072
6145
  FilterPanelContent: filterPanel,
6073
6146
  filterIcon: colFilterIcon,
6074
6147
  filterModel: inputFiltersMap.get(col.code),
@@ -7833,7 +7906,7 @@ function footerDataSource() {
7833
7906
  /*!*****************************************************!*\
7834
7907
  !*** ./components/table/pipeline/features/index.ts ***!
7835
7908
  \*****************************************************/
7836
- /*! 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 */
7909
+ /*! 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 */
7837
7910
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7838
7911
 
7839
7912
  "use strict";
@@ -7934,6 +8007,12 @@ __webpack_require__.r(__webpack_exports__);
7934
8007
 
7935
8008
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendOption", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendOption"]; });
7936
8009
 
8010
+ /* harmony import */ var _rowDrag__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./rowDrag */ "./components/table/pipeline/features/rowDrag.tsx");
8011
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["rowDrag"]; });
8012
+
8013
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RowDragFeatureOptions", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["RowDragFeatureOptions"]; });
8014
+
8015
+
7937
8016
 
7938
8017
 
7939
8018
 
@@ -8163,7 +8242,7 @@ function multiSelect() {
8163
8242
  var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
8164
8243
 
8165
8244
  if (!hiddenSelectColumn) {
8166
- var _opts$checkboxPlaceme;
8245
+ var _opts$checkboxColumn2, _opts$checkboxPlaceme;
8167
8246
 
8168
8247
  var defaultCheckboxColumnTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
8169
8248
  checked: isAllChecked,
@@ -8241,7 +8320,8 @@ function multiSelect() {
8241
8320
  }
8242
8321
  } : undefined
8243
8322
  });
8244
- }
8323
+ },
8324
+ features: _objectSpread(_objectSpread({}, (_opts$checkboxColumn2 = opts.checkboxColumn) === null || _opts$checkboxColumn2 === void 0 ? void 0 : _opts$checkboxColumn2.features), {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()({}, _utils__WEBPACK_IMPORTED_MODULE_17__["MULTI_SELECT_MARK_PROPNAME"], true))
8245
8325
  });
8246
8326
 
8247
8327
  var nextColumns = pipeline.getColumns().slice();
@@ -8538,7 +8618,9 @@ function rangeSelection(opts) {
8538
8618
 
8539
8619
  var isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey;
8540
8620
  var isShiftKey = mouseDownEvent.shiftKey;
8541
- var target = mouseDownEvent.target; // 每次点击时先确认初始生效的框选范围
8621
+ var target = mouseDownEvent.target;
8622
+ var startDragCell = getTargetCell(target, columns);
8623
+ if (!startDragCell) return; // 每次点击时先确认初始生效的框选范围
8542
8624
 
8543
8625
  setStartSelectedCellRanges(isCtrlKey, isShiftKey);
8544
8626
 
@@ -8547,7 +8629,6 @@ function rangeSelection(opts) {
8547
8629
  return;
8548
8630
  }
8549
8631
 
8550
- var startDragCell = getTargetCell(target, columns);
8551
8632
  pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
8552
8633
  var draggingCell = startDragCell;
8553
8634
  var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_15__["fromEvent"])(window, 'mousemove');
@@ -9299,6 +9380,379 @@ function rowDetail() {
9299
9380
 
9300
9381
  /***/ }),
9301
9382
 
9383
+ /***/ "./components/table/pipeline/features/rowDrag.tsx":
9384
+ /*!********************************************************!*\
9385
+ !*** ./components/table/pipeline/features/rowDrag.tsx ***!
9386
+ \********************************************************/
9387
+ /*! exports provided: ROW_DRAG_COLUMN_CODE, rowDragKey, rowDrag */
9388
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9389
+
9390
+ "use strict";
9391
+ __webpack_require__.r(__webpack_exports__);
9392
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ROW_DRAG_COLUMN_CODE", function() { return ROW_DRAG_COLUMN_CODE; });
9393
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDragKey", function() { return rowDragKey; });
9394
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return rowDrag; });
9395
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
9396
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
9397
+ /* 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");
9398
+ /* 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__);
9399
+ /* 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");
9400
+ /* 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__);
9401
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
9402
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
9403
+ /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
9404
+ /* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
9405
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
9406
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
9407
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
9408
+
9409
+
9410
+
9411
+
9412
+
9413
+
9414
+
9415
+
9416
+ var ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
9417
+ var rowDragKey = 'rowDragKey';
9418
+ var SCROLL_OFFSET = 30;
9419
+ var defaultRowDragColumn = {
9420
+ name: '拖拽列',
9421
+ code: ROW_DRAG_COLUMN_CODE,
9422
+ lock: true,
9423
+ title: '',
9424
+ width: 40,
9425
+ align: 'center',
9426
+ getCellProps: function getCellProps(value, row, rowIndex) {
9427
+ return {
9428
+ className: classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragCell)
9429
+ };
9430
+ },
9431
+ render: function render(value, row, rowIndex) {
9432
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
9433
+ viewBox: "0 0 1024 1024",
9434
+ version: "1.1",
9435
+ xmlns: "http://www.w3.org/1999/xlink",
9436
+ "data-icon": "drag",
9437
+ width: "16",
9438
+ height: "16"
9439
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
9440
+ 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",
9441
+ "p-id": "4278"
9442
+ }));
9443
+ }
9444
+ };
9445
+ function rowDrag(opt) {
9446
+ return function rowDragStep(pipeline) {
9447
+ var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
9448
+ var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
9449
+ if (!tableBody) return pipeline;
9450
+ var dataSource = pipeline.getDataSource();
9451
+ var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
9452
+
9453
+ var handleDragStrat = function handleDragStrat(event) {
9454
+ var _opt$onDragStart;
9455
+
9456
+ // 开始拖拽
9457
+ artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9458
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragStart = opt.onDragStart) === null || _opt$onDragStart === void 0 ? void 0 : _opt$onDragStart.call(opt, event);
9459
+ };
9460
+
9461
+ var handleDragMove = function handleDragMove(event) {
9462
+ var _opt$onDragMove;
9463
+
9464
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragMove = opt.onDragMove) === null || _opt$onDragMove === void 0 ? void 0 : _opt$onDragMove.call(opt, event);
9465
+ pipeline.setStateAtKey(rowDragKey, event);
9466
+ };
9467
+
9468
+ var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
9469
+ artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
9470
+ pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
9471
+
9472
+ if (!isOutOfRange) {
9473
+ var _opt$onDragEnd;
9474
+
9475
+ opt === null || opt === void 0 ? void 0 : (_opt$onDragEnd = opt.onDragEnd) === null || _opt$onDragEnd === void 0 ? void 0 : _opt$onDragEnd.call(opt, event);
9476
+ }
9477
+ };
9478
+
9479
+ var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
9480
+ var isFinished = _ref.isFinished,
9481
+ _ref$dragPosition = _ref.dragPosition,
9482
+ dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
9483
+ return {
9484
+ startRowIndex: startRowInfo.rowIndex,
9485
+ startRow: startRowInfo.row,
9486
+ endRowIndex: endRowInfo.rowIndex,
9487
+ endRow: endRowInfo.row,
9488
+ dragPosition: dragPosition,
9489
+ isFinished: isFinished
9490
+ };
9491
+ };
9492
+
9493
+ var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
9494
+ if (opt !== null && opt !== void 0 && opt.suppressScrollMove) return;
9495
+ var clientY = mouseMoveEvent.clientY;
9496
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9497
+ var top = tableBodyClientRect.top,
9498
+ height = tableBodyClientRect.height;
9499
+
9500
+ if (clientY + SCROLL_OFFSET >= top + height) {
9501
+ pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
9502
+ }
9503
+
9504
+ if (clientY + SCROLL_OFFSET <= top) {
9505
+ pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
9506
+ }
9507
+ };
9508
+
9509
+ var onMouseDown = function onMouseDown(mouseDownEvent) {
9510
+ var _opt$isDisabled;
9511
+
9512
+ var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
9513
+ var endRowInfo = startRowInfo;
9514
+ if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
9515
+ if (opt !== null && opt !== void 0 && (_opt$isDisabled = opt.isDisabled) !== null && _opt$isDisabled !== void 0 && _opt$isDisabled.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return; // 默认拖拽插入的位置是向下
9516
+
9517
+ var dragPosition = 'bottom';
9518
+ var isOutOfRange = false;
9519
+ var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
9520
+ isFinished: false,
9521
+ dragPosition: 'bottom'
9522
+ });
9523
+ handleDragStrat(dragStartEvent);
9524
+ var tableWidth = tableBody.clientWidth;
9525
+ var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
9526
+
9527
+ var startOffset = mouseDownEvent.clientY - startRowRects.top;
9528
+ var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
9529
+
9530
+ var dragRange = getDragRange(tableBody, {
9531
+ startOffset: startOffset,
9532
+ rowHeight: rowHeight
9533
+ });
9534
+ var mousePosition = {
9535
+ x: mouseDownEvent.clientX,
9536
+ y: mouseDownEvent.clientY
9537
+ };
9538
+ var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mousemove');
9539
+ var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mouseup');
9540
+
9541
+ var scrollCallback = function scrollCallback(event) {
9542
+ // 在当前表格内滚动不处理
9543
+ if (event.target === tableBody) return;
9544
+ dragRange = getDragRange(tableBody, {
9545
+ startOffset: startOffset,
9546
+ rowHeight: rowHeight
9547
+ });
9548
+ var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
9549
+ updateCurSorStyle(isOutOfRange);
9550
+ };
9551
+
9552
+ document.addEventListener('scroll', scrollCallback, true);
9553
+ var rowDrag$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["map"])(function (mouseMoveEvent) {
9554
+ var clientX = mouseMoveEvent.clientX,
9555
+ clientY = mouseMoveEvent.clientY;
9556
+ var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
9557
+
9558
+ if (tagretRow) {
9559
+ endRowInfo = tagretRow;
9560
+ }
9561
+
9562
+ var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
9563
+
9564
+ var isMoveToTop = clientY - startOffset < targetRowRects.top;
9565
+ dragPosition = isMoveToTop ? 'top' : 'bottom';
9566
+ isOutOfRange = isOutOfDragRange({
9567
+ x: clientX,
9568
+ y: clientY
9569
+ }, dragRange);
9570
+ mousePosition = {
9571
+ x: clientX,
9572
+ y: clientY
9573
+ };
9574
+ updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
9575
+
9576
+ updateDragElementPosition(dragElement, dragRange, {
9577
+ x: clientX,
9578
+ y: clientY,
9579
+ startOffset: startOffset
9580
+ });
9581
+ updateCurSorStyle(isOutOfRange);
9582
+ return {
9583
+ startRowInfo: startRowInfo,
9584
+ endRowInfo: endRowInfo,
9585
+ dragPosition: dragPosition
9586
+ };
9587
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["takeUntil"])(mouseup$));
9588
+ rowDrag$.subscribe({
9589
+ next: function next(_ref2) {
9590
+ var startRowInfo = _ref2.startRowInfo,
9591
+ endRowInfo = _ref2.endRowInfo,
9592
+ dragPosition = _ref2.dragPosition;
9593
+ var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
9594
+ isFinished: false,
9595
+ dragPosition: dragPosition
9596
+ });
9597
+ handleDragMove(dragMoveEvent);
9598
+ },
9599
+ complete: function complete() {
9600
+ var dragEndEvent = getDragEvent(startRowInfo, endRowInfo, {
9601
+ isFinished: true,
9602
+ dragPosition: dragPosition
9603
+ });
9604
+ handleDragEnd(dragEndEvent, isOutOfRange);
9605
+ removeDragElement(dragElement);
9606
+ removeCurSorStyle();
9607
+ document.removeEventListener('scroll', scrollCallback, true);
9608
+ }
9609
+ });
9610
+ };
9611
+
9612
+ var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
9613
+ pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
9614
+ var nextColumns = pipeline.getColumns().slice();
9615
+ nextColumns.unshift(rowDragColumn);
9616
+ pipeline.columns(nextColumns);
9617
+ pipeline.addTableProps({
9618
+ onMouseDown: onMouseDown
9619
+ });
9620
+ pipeline.appendRowPropsGetter(function (row, rowIndex) {
9621
+ var _cx;
9622
+
9623
+ var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
9624
+ var startRowIndex = rowDragEvent.startRowIndex,
9625
+ endRowIndex = rowDragEvent.endRowIndex,
9626
+ isFinished = rowDragEvent.isFinished,
9627
+ dragPosition = rowDragEvent.dragPosition;
9628
+ var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
9629
+ if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
9630
+ 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));
9631
+ return {
9632
+ className: className
9633
+ };
9634
+ });
9635
+ return pipeline;
9636
+ };
9637
+ }
9638
+
9639
+ function getTargetRowInfo(target, tableBody, record) {
9640
+ while (target && tableBody.contains(target)) {
9641
+ if (target.getAttribute('data-role') === 'table-cell') {
9642
+ var code = target.getAttribute('data-code');
9643
+
9644
+ var _rowIndex = parseInt(target.getAttribute('data-rowindex'));
9645
+
9646
+ var _row = record[_rowIndex];
9647
+ var isFooterCell = isEleInFooter(target);
9648
+ if (!_row || isFooterCell) return null;
9649
+ return {
9650
+ rowIndex: _rowIndex,
9651
+ row: _row,
9652
+ code: code,
9653
+ cell: target
9654
+ };
9655
+ }
9656
+
9657
+ target = target.parentElement;
9658
+ }
9659
+
9660
+ return null;
9661
+ }
9662
+
9663
+ function isEleInFooter(target) {
9664
+ while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable)) {
9665
+ if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter)) {
9666
+ return true;
9667
+ }
9668
+
9669
+ target = target.parentElement;
9670
+ }
9671
+
9672
+ return false;
9673
+ }
9674
+
9675
+ function createDragElement(rects, tableWidth, rowHeight) {
9676
+ var x = rects.x,
9677
+ y = rects.y;
9678
+ var dragMoveElement = document.createElement('div');
9679
+ dragMoveElement.className = classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragElement);
9680
+ 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;");
9681
+ document.body.appendChild(dragMoveElement);
9682
+ return dragMoveElement;
9683
+ }
9684
+
9685
+ function updateDragElementPosition(element, dragRange, _ref3) {
9686
+ var x = _ref3.x,
9687
+ y = _ref3.y,
9688
+ startOffset = _ref3.startOffset;
9689
+ var validPosition = getValidPosition({
9690
+ x: x,
9691
+ y: y
9692
+ }, dragRange);
9693
+ element.style.top = validPosition.y - startOffset + 'px';
9694
+ return element;
9695
+ }
9696
+
9697
+ function removeDragElement(element) {
9698
+ document.body.removeChild(element);
9699
+ }
9700
+
9701
+ function updateCurSorStyle(isOutOfRange) {
9702
+ if (isOutOfRange) {
9703
+ document.body.style.cursor = 'no-drop';
9704
+ } else {
9705
+ document.body.style.cursor = 'move';
9706
+ }
9707
+ }
9708
+
9709
+ function removeCurSorStyle() {
9710
+ document.body.style.cursor = 'default';
9711
+ }
9712
+
9713
+ function getDragRange(tableBody, _ref4) {
9714
+ var startOffset = _ref4.startOffset,
9715
+ rowHeight = _ref4.rowHeight;
9716
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
9717
+ var height = tableBodyClientRect.height,
9718
+ width = tableBodyClientRect.width,
9719
+ top = tableBodyClientRect.top,
9720
+ left = tableBodyClientRect.left;
9721
+ return {
9722
+ minX: left,
9723
+ maxX: left + width,
9724
+ minY: top - rowHeight + startOffset,
9725
+ maxY: top + height + startOffset
9726
+ };
9727
+ }
9728
+
9729
+ function getValidPosition(position, dragRange) {
9730
+ var x = position.x,
9731
+ y = position.y;
9732
+ var minX = dragRange.minX,
9733
+ maxX = dragRange.maxX,
9734
+ minY = dragRange.minY,
9735
+ maxY = dragRange.maxY;
9736
+ var newX = x < minX ? minX : x > maxX ? maxX : x;
9737
+ var newY = y < minY ? minY : y > maxY ? maxY : y;
9738
+ return {
9739
+ x: newX,
9740
+ y: newY
9741
+ };
9742
+ }
9743
+
9744
+ function isOutOfDragRange(position, dragRange) {
9745
+ var x = position.x,
9746
+ y = position.y;
9747
+ var minX = dragRange.minX,
9748
+ maxX = dragRange.maxX,
9749
+ minY = dragRange.minY,
9750
+ maxY = dragRange.maxY;
9751
+ return x > maxX || x < minX || y > maxY || y < minY;
9752
+ }
9753
+
9754
+ /***/ }),
9755
+
9302
9756
  /***/ "./components/table/pipeline/features/rowGrouping.tsx":
9303
9757
  /*!************************************************************!*\
9304
9758
  !*** ./components/table/pipeline/features/rowGrouping.tsx ***!
@@ -9620,7 +10074,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9620
10074
  function singleSelect() {
9621
10075
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9622
10076
  return function singleSelectStep(pipeline) {
9623
- var _opts$clickArea, _opts$isDisabled, _ref, _opts$value, _opts$radioPlacement;
10077
+ var _opts$clickArea, _opts$isDisabled, _ref, _opts$value, _opts$radioColumn2, _opts$radioPlacement;
9624
10078
 
9625
10079
  var Radio = pipeline.ctx.components.Radio;
9626
10080
 
@@ -9691,7 +10145,8 @@ function singleSelect() {
9691
10145
  onChange(rowKey);
9692
10146
  } : undefined
9693
10147
  });
9694
- }
10148
+ },
10149
+ features: _objectSpread(_objectSpread({}, (_opts$radioColumn2 = opts.radioColumn) === null || _opts$radioColumn2 === void 0 ? void 0 : _opts$radioColumn2.features), {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, _utils__WEBPACK_IMPORTED_MODULE_12__["SINGLE_SELECT_MARK_PROPNAME"], true))
9695
10150
  });
9696
10151
 
9697
10152
  var nextColumns = pipeline.getColumns().slice();
@@ -10421,6 +10876,11 @@ function treeMode() {
10421
10876
  return pipeline.mapDataSource(processDataSource).mapColumns(processColumns);
10422
10877
 
10423
10878
  function processDataSource(input) {
10879
+ if (pipeline.isSameInputDataSource() && openKeys === pipeline.getFeatureOptions('lastOpenKeys')) {
10880
+ return pipeline.getFeatureOptions('lastTreeMode');
10881
+ }
10882
+
10883
+ pipeline.setFeatureOptions('lastOpenKeys', pipeline.getStateAtKey(stateKey));
10424
10884
  var result = [];
10425
10885
  dfs(input, 0);
10426
10886
 
@@ -10461,6 +10921,7 @@ function treeMode() {
10461
10921
  }
10462
10922
  }
10463
10923
 
10924
+ pipeline.setFeatureOptions('lastTreeMode', result);
10464
10925
  return result;
10465
10926
  }
10466
10927
 
@@ -10904,6 +11365,8 @@ var TablePipeline = /*#__PURE__*/function () {
10904
11365
 
10905
11366
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_dataSource", void 0);
10906
11367
 
11368
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_isSameInputDataSource", void 0);
11369
+
10907
11370
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_columns", void 0);
10908
11371
 
10909
11372
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_footerDataSource", void 0);
@@ -10955,6 +11418,11 @@ var TablePipeline = /*#__PURE__*/function () {
10955
11418
  return this._snapshots[name].dataSource;
10956
11419
  }
10957
11420
  }
11421
+ }, {
11422
+ key: "isSameInputDataSource",
11423
+ value: function isSameInputDataSource() {
11424
+ return this._isSameInputDataSource;
11425
+ }
10958
11426
  }, {
10959
11427
  key: "getColumns",
10960
11428
  value: function getColumns(name) {
@@ -11005,9 +11473,12 @@ var TablePipeline = /*#__PURE__*/function () {
11005
11473
 
11006
11474
  if (this._dataSource != null || this._columns != null) {
11007
11475
  throw new Error('input 不能调用两次');
11008
- }
11476
+ } // 在 pipeline 中识别本次更新是否有数据变化
11477
+
11009
11478
 
11479
+ this._isSameInputDataSource = _input.dataSource === this.ref.current._lastInputDataSource;
11010
11480
  this._dataSource = _input.dataSource;
11481
+ this.ref.current._lastInputDataSource = _input.dataSource;
11011
11482
  this._columns = _input.columns.map(function (col) {
11012
11483
  return _objectSpread(_objectSpread({}, col), {}, {
11013
11484
  key: _this.guid()
@@ -14228,7 +14699,7 @@ function groupBy(list, iteratee) {
14228
14699
  /*!******************************************!*\
14229
14700
  !*** ./components/table/utils/index.tsx ***!
14230
14701
  \******************************************/
14231
- /*! exports provided: collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType */
14702
+ /*! exports provided: collectNodes, getTreeDepth, groupBy, isLeafNode, isGroupColumn, applyTransforms, buildTree, exportTableAsExcel, layeredSort, mergeCellProps, proto, makeRecursiveMapper, smartCompare, traverseColumn, copyDataToClipboard, executeOnTempElement, layeredFilter, getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds, console, browserType, MULTI_SELECT_MARK_PROPNAME, SINGLE_SELECT_MARK_PROPNAME, isSelectColumn */
14232
14703
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
14233
14704
 
14234
14705
  "use strict";
@@ -14302,6 +14773,14 @@ __webpack_require__.r(__webpack_exports__);
14302
14773
  /* harmony import */ var _browserType__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./browserType */ "./components/table/utils/browserType.tsx");
14303
14774
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "browserType", function() { return _browserType__WEBPACK_IMPORTED_MODULE_18__["browserType"]; });
14304
14775
 
14776
+ /* harmony import */ var _selectColumn__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./selectColumn */ "./components/table/utils/selectColumn.ts");
14777
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MULTI_SELECT_MARK_PROPNAME", function() { return _selectColumn__WEBPACK_IMPORTED_MODULE_19__["MULTI_SELECT_MARK_PROPNAME"]; });
14778
+
14779
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SINGLE_SELECT_MARK_PROPNAME", function() { return _selectColumn__WEBPACK_IMPORTED_MODULE_19__["SINGLE_SELECT_MARK_PROPNAME"]; });
14780
+
14781
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isSelectColumn", function() { return _selectColumn__WEBPACK_IMPORTED_MODULE_19__["isSelectColumn"]; });
14782
+
14783
+
14305
14784
 
14306
14785
 
14307
14786
 
@@ -15023,6 +15502,27 @@ proto.array = function (baseRecord) {
15023
15502
 
15024
15503
  /***/ }),
15025
15504
 
15505
+ /***/ "./components/table/utils/selectColumn.ts":
15506
+ /*!************************************************!*\
15507
+ !*** ./components/table/utils/selectColumn.ts ***!
15508
+ \************************************************/
15509
+ /*! exports provided: MULTI_SELECT_MARK_PROPNAME, SINGLE_SELECT_MARK_PROPNAME, isSelectColumn */
15510
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15511
+
15512
+ "use strict";
15513
+ __webpack_require__.r(__webpack_exports__);
15514
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MULTI_SELECT_MARK_PROPNAME", function() { return MULTI_SELECT_MARK_PROPNAME; });
15515
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SINGLE_SELECT_MARK_PROPNAME", function() { return SINGLE_SELECT_MARK_PROPNAME; });
15516
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isSelectColumn", function() { return isSelectColumn; });
15517
+ var MULTI_SELECT_MARK_PROPNAME = 'checkboxSelection';
15518
+ var SINGLE_SELECT_MARK_PROPNAME = 'radioSelection';
15519
+ function isSelectColumn(column) {
15520
+ var features = column.features || {};
15521
+ return features[MULTI_SELECT_MARK_PROPNAME] === true || features[SINGLE_SELECT_MARK_PROPNAME] === true;
15522
+ }
15523
+
15524
+ /***/ }),
15525
+
15026
15526
  /***/ "./components/table/utils/smartCompare.ts":
15027
15527
  /*!************************************************!*\
15028
15528
  !*** ./components/table/utils/smartCompare.ts ***!