@kdcloudjs/table 1.0.2 → 1.1.0

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 (71) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +271 -187
  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 +7 -7
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/table/base/calculations.js +1 -1
  8. package/es/table/base/empty.js +2 -2
  9. package/es/table/base/header.js +7 -11
  10. package/es/table/base/html-table.js +13 -22
  11. package/es/table/base/styles.d.ts +10 -0
  12. package/es/table/base/styles.js +13 -3
  13. package/es/table/common-views.js +2 -2
  14. package/es/table/pipeline/features/columnDrag.js +62 -21
  15. package/es/table/pipeline/features/contextMenu.js +37 -22
  16. package/es/table/pipeline/features/multiSelect.js +85 -79
  17. package/es/table/pipeline/features/rowDetail.js +2 -1
  18. package/es/table/pipeline/features/rowGrouping.js +2 -1
  19. package/es/table/pipeline/features/treeMode.js +3 -2
  20. package/es/table/pipeline/pipeline.d.ts +4 -0
  21. package/es/table/pipeline/pipeline.js +17 -0
  22. package/es/table/pivot/pivot-utils/convert-utils.js +4 -2
  23. package/lib/table/base/calculations.js +1 -1
  24. package/lib/table/base/empty.js +2 -2
  25. package/lib/table/base/header.js +8 -11
  26. package/lib/table/base/html-table.js +14 -22
  27. package/lib/table/base/styles.d.ts +10 -0
  28. package/lib/table/base/styles.js +13 -3
  29. package/lib/table/common-views.js +1 -1
  30. package/lib/table/pipeline/features/columnDrag.js +63 -22
  31. package/lib/table/pipeline/features/contextMenu.js +37 -22
  32. package/lib/table/pipeline/features/multiSelect.js +81 -75
  33. package/lib/table/pipeline/features/rowDetail.js +3 -1
  34. package/lib/table/pipeline/features/rowGrouping.js +3 -1
  35. package/lib/table/pipeline/features/treeMode.js +4 -2
  36. package/lib/table/pipeline/pipeline.d.ts +4 -0
  37. package/lib/table/pipeline/pipeline.js +17 -0
  38. package/lib/table/pivot/pivot-utils/convert-utils.js +6 -2
  39. package/package.json +1 -1
  40. package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
  41. package/es/table/pipeline/features/__test__/multiSelect.test.js +0 -152
  42. package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
  43. package/es/table/pipeline/features/__test__/rowDetail.test.js +0 -223
  44. package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
  45. package/es/table/pipeline/features/__test__/rowGrouping.test.js +0 -120
  46. package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
  47. package/es/table/pipeline/features/__test__/singleSelect.test.js +0 -191
  48. package/es/table/pipeline/features/__test__/sort.test.d.ts +0 -1
  49. package/es/table/pipeline/features/__test__/sort.test.js +0 -213
  50. package/es/table/pipeline/features/__test__/tips.test.d.ts +0 -1
  51. package/es/table/pipeline/features/__test__/tips.test.js +0 -123
  52. package/es/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
  53. package/es/table/pipeline/features/__test__/treeMode.test.js +0 -202
  54. package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
  55. package/es/table/pipeline/features/filter/__test__/Filter.test.js +0 -29
  56. package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
  57. package/lib/table/pipeline/features/__test__/multiSelect.test.js +0 -163
  58. package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
  59. package/lib/table/pipeline/features/__test__/rowDetail.test.js +0 -230
  60. package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
  61. package/lib/table/pipeline/features/__test__/rowGrouping.test.js +0 -129
  62. package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
  63. package/lib/table/pipeline/features/__test__/singleSelect.test.js +0 -201
  64. package/lib/table/pipeline/features/__test__/sort.test.d.ts +0 -1
  65. package/lib/table/pipeline/features/__test__/sort.test.js +0 -220
  66. package/lib/table/pipeline/features/__test__/tips.test.d.ts +0 -1
  67. package/lib/table/pipeline/features/__test__/tips.test.js +0 -133
  68. package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
  69. package/lib/table/pipeline/features/__test__/treeMode.test.js +0 -206
  70. package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
  71. package/lib/table/pipeline/features/filter/__test__/Filter.test.js +0 -36
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/table v1.0.2
3
+ * @kdcloudjs/table v1.1.0
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -1101,7 +1101,7 @@ function getHorizontalRenderRange(_ref) {
1101
1101
  return {
1102
1102
  leftIndex: leftIndex,
1103
1103
  leftBlank: leftBlank,
1104
- rightIndex: leftIndex + centerCount + flat.right.length,
1104
+ rightIndex: leftIndex + centerCount,
1105
1105
  rightBlank: rightBlank
1106
1106
  };
1107
1107
  } // 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)
@@ -1345,10 +1345,10 @@ function EmptyHtmlTable(_ref) {
1345
1345
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_colgroup__WEBPACK_IMPORTED_MODULE_2__["Colgroup"], {
1346
1346
  descriptors: descriptors
1347
1347
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("tbody", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("tr", {
1348
- className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableRow, 'first', 'last', 'no-hover'),
1348
+ className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableRow, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].first, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].last, 'no-hover'),
1349
1349
  "data-rowindex": 0
1350
1350
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("td", {
1351
- className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableCell, 'first', 'last'),
1351
+ className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].tableCell, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].first, _styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].last),
1352
1352
  colSpan: descriptors.length,
1353
1353
  style: {
1354
1354
  height: emptyCellHeight !== null && emptyCellHeight !== void 0 ? emptyCellHeight : 200
@@ -1675,6 +1675,8 @@ function TableHeader(_ref2) {
1675
1675
  var leftFlatCount = flat.left.length;
1676
1676
  var rightFlatCount = flat.right.length;
1677
1677
  var thead = headerRenderInfo.leveled.map(function (wrappedCols, level) {
1678
+ var _cx2;
1679
+
1678
1680
  var _wrappedCols = wrappedCols.concat(); // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
1679
1681
  // rowspan 需要空白的列头去占位, 需要补充额外的空白列头
1680
1682
 
@@ -1690,7 +1692,7 @@ function TableHeader(_ref2) {
1690
1692
 
1691
1693
  var headerCells = _wrappedCols.map(function (wrapped, index) {
1692
1694
  if (wrapped.type === 'normal') {
1693
- var _col$headerCellProps, _col$verticalAlign, _col$title;
1695
+ var _col$headerCellProps, _cx, _col$verticalAlign, _col$title;
1694
1696
 
1695
1697
  var colIndex = wrapped.colIndex,
1696
1698
  colSpan = wrapped.colSpan,
@@ -1711,13 +1713,7 @@ function TableHeader(_ref2) {
1711
1713
  var cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_24___default.a.createElement("th", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_15___default()({
1712
1714
  key: colIndex
1713
1715
  }, headerCellProps, {
1714
- className: classnames__WEBPACK_IMPORTED_MODULE_23___default()(_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].tableHeaderCell, headerCellProps.className, {
1715
- first: colIndex === 0,
1716
- last: colIndex + colSpan === fullFlatCount,
1717
- 'lock-left': colIndex < leftFlatCount || theaderPosition === 'left',
1718
- 'lock-right': colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right',
1719
- leaf: wrapped.isLeaf
1720
- }),
1716
+ className: classnames__WEBPACK_IMPORTED_MODULE_23___default()(_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].tableHeaderCell, headerCellProps.className, (_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].first, colIndex === 0), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].last, colIndex + colSpan === fullFlatCount), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].lockLeft, colIndex < leftFlatCount || theaderPosition === 'left'), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].lockRight, colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right'), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].leaf, wrapped.isLeaf), _cx)),
1721
1717
  colSpan: colSpan,
1722
1718
  rowSpan: isLeaf ? rowCount - level : undefined,
1723
1719
  style: _objectSpread(_objectSpread({
@@ -1748,10 +1744,7 @@ function TableHeader(_ref2) {
1748
1744
 
1749
1745
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_24___default.a.createElement("tr", {
1750
1746
  key: level,
1751
- className: classnames__WEBPACK_IMPORTED_MODULE_23___default()(_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].tableHeaderRow, {
1752
- first: level === 0,
1753
- last: level === rowCount - 1
1754
- })
1747
+ className: classnames__WEBPACK_IMPORTED_MODULE_23___default()(_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].tableHeaderRow, (_cx2 = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].first, level === 0), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_16___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].last, level === rowCount - 1), _cx2))
1755
1748
  }, headerCells);
1756
1749
  });
1757
1750
  var colgroup = headerRenderInfo.flat.map(function (wrapped) {
@@ -2462,10 +2455,10 @@ function makeRowHeightManager(initRowCount, estimatedRowHeight) {
2462
2455
  "use strict";
2463
2456
  __webpack_require__.r(__webpack_exports__);
2464
2457
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HtmlTable", function() { return HtmlTable; });
2465
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
2466
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
2467
- /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js");
2468
- /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);
2458
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js");
2459
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
2460
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
2461
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
2469
2462
  /* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.flat.js */ "./node_modules/core-js/modules/es.array.flat.js");
2470
2463
  /* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_2__);
2471
2464
  /* harmony import */ var core_js_modules_es_array_unscopables_flat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.unscopables.flat.js */ "./node_modules/core-js/modules/es.array.unscopables.flat.js");
@@ -2502,7 +2495,7 @@ __webpack_require__.r(__webpack_exports__);
2502
2495
 
2503
2496
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2504
2497
 
2505
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2498
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2506
2499
 
2507
2500
 
2508
2501
 
@@ -2542,15 +2535,12 @@ function HtmlTable(_ref) {
2542
2535
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(tbodyHtmlTag, null, data.map(renderRow)));
2543
2536
 
2544
2537
  function renderRow(record, i) {
2538
+ var _cx;
2539
+
2545
2540
  var rowIndex = verInfo.offset + i;
2546
2541
  spanManager.stripUpwards(rowIndex);
2547
2542
  var rowProps = getRowProps(record, rowIndex);
2548
- var rowClass = classnames__WEBPACK_IMPORTED_MODULE_13___default()(_styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].tableRow, {
2549
- first: rowIndex === verInfo.first,
2550
- last: rowIndex === verInfo.last,
2551
- even: rowIndex % 2 === 0,
2552
- odd: rowIndex % 2 === 1
2553
- }, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
2543
+ var rowClass = classnames__WEBPACK_IMPORTED_MODULE_13___default()(_styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].tableRow, (_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].first, rowIndex === verInfo.first), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].last, rowIndex === verInfo.last), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].even, rowIndex % 2 === 0), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].odd, rowIndex % 2 === 1), _cx), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
2554
2544
  var visibleColumnDescriptor = hozInfo.visible.concat(); // 左中右区域渲染,存在融合单元格时需要适配rowspan属性
2555
2545
  // 如果固定的列均存在融合单元格,需空白一列做占位,否则融合的单元格不会渲染,导致显示异常
2556
2546
  // 这里无法区分是否存在融合列,默认左右固定区域均添加占位空白列
@@ -2564,7 +2554,7 @@ function HtmlTable(_ref) {
2564
2554
  });
2565
2555
  }
2566
2556
 
2567
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("tr", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, rowProps, {
2557
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("tr", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rowProps, {
2568
2558
  className: rowClass,
2569
2559
  key: rowProps !== null && rowProps !== void 0 && rowProps['data-row-detail-key'] ? rowProps['data-row-detail-key'] : _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, record, rowIndex),
2570
2560
  "data-rowindex": rowIndex,
@@ -2584,7 +2574,7 @@ function HtmlTable(_ref) {
2584
2574
  }
2585
2575
 
2586
2576
  function renderBodyCell(record, rowIndex, column, colIndex) {
2587
- var _column$getCellProps, _column$getCellProps2, _column$verticalAlign;
2577
+ var _column$getCellProps, _column$getCellProps2, _cx2, _column$verticalAlign;
2588
2578
 
2589
2579
  if (spanManager.testSkip(rowIndex, colIndex)) {
2590
2580
  return null;
@@ -2613,20 +2603,20 @@ function HtmlTable(_ref) {
2613
2603
  if (cellProps.rowSpan != null) {
2614
2604
  rowSpan = cellProps.rowSpan;
2615
2605
  }
2606
+ }
2607
+
2608
+ var hasSpan = colSpan > 1 || rowSpan > 1;
2609
+
2610
+ if (hasSpan) {
2611
+ spanManager.add(rowIndex, colIndex, colSpan, rowSpan);
2616
2612
  } // rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格
2617
2613
 
2618
2614
 
2619
2615
  rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex);
2620
- colSpan = Math.min(colSpan, leftFlatCount + hoz.rightIndex + rightFlatCount - colIndex); // todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
2616
+ colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex); // todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
2621
2617
 
2622
2618
  rowSpan = Math.max(rowSpan, 1);
2623
2619
  colSpan = Math.max(colSpan, 1);
2624
- var hasSpan = colSpan > 1 || rowSpan > 1;
2625
-
2626
- if (hasSpan) {
2627
- spanManager.add(rowIndex, colIndex, colSpan, rowSpan);
2628
- }
2629
-
2630
2620
  var positionStyle = {};
2631
2621
  var scrollbarWidth = hasScrollY ? Object(_utils__WEBPACK_IMPORTED_MODULE_19__["getScrollbarSize"])().width : 0;
2632
2622
 
@@ -2641,14 +2631,7 @@ function HtmlTable(_ref) {
2641
2631
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement('td', _objectSpread(_objectSpread(_objectSpread({
2642
2632
  key: colIndex
2643
2633
  }, cellProps), {}, {
2644
- className: classnames__WEBPACK_IMPORTED_MODULE_13___default()(_styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].tableCell, cellProps.className, {
2645
- // class
2646
- first: colIndex === 0,
2647
- last: colIndex + colSpan === fullFlatCount,
2648
- 'lock-left': colIndex < leftFlatCount || tbodyPosition === 'left',
2649
- 'lock-right': colIndex >= fullFlatCount - rightFlatCount,
2650
- 'row-span': rowSpan > 1
2651
- })
2634
+ className: classnames__WEBPACK_IMPORTED_MODULE_13___default()(_styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].tableCell, cellProps.className, (_cx2 = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].first, colIndex === 0), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].last, colIndex + colSpan === fullFlatCount), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].lockLeft, colIndex < leftFlatCount || tbodyPosition === 'left'), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].lockRight, colIndex >= fullFlatCount - rightFlatCount), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_cx2, _styles__WEBPACK_IMPORTED_MODULE_18__["Classes"].rowSpan, rowSpan > 1), _cx2))
2652
2635
  }, hasSpan ? {
2653
2636
  colSpan: colSpan,
2654
2637
  rowSpan: rowSpan
@@ -3276,7 +3259,17 @@ var Classes = {
3276
3259
  fixedRight: "".concat(prefix, "fixed-right"),
3277
3260
  rowDetailContainer: "".concat(prefix, "row-detail-container"),
3278
3261
  rowDetailItem: "".concat(prefix, "row-detail-item"),
3279
- emptyColCell: "".concat(prefix, "empty-col-cell")
3262
+ emptyColCell: "".concat(prefix, "empty-col-cell"),
3263
+ first: "".concat(prefix, "first"),
3264
+ last: "".concat(prefix, "last"),
3265
+ even: "".concat(prefix, "even"),
3266
+ odd: "".concat(prefix, "odd"),
3267
+ lockLeft: "".concat(prefix, "lock-left"),
3268
+ lockRight: "".concat(prefix, "lock-right"),
3269
+ rowSpan: "".concat(prefix, "row-span"),
3270
+ leaf: "".concat(prefix, "leaf"),
3271
+ expanded: "".concat(prefix, "expanded"),
3272
+ collapsed: "".concat(prefix, "collapsed")
3280
3273
  };
3281
3274
  var MenuClasses = {
3282
3275
  menu: "".concat(prefix, "table-menu"),
@@ -3295,7 +3288,7 @@ var Z = {
3295
3288
  scrollItem: 30,
3296
3289
  loadingIndicator: 40
3297
3290
  };
3298
- var outerBorderStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.first,\n th.first {\n border-left: none;\n }\n td.last,\n th.last {\n --border-right: none;\n }\n\n thead tr.first th,\n tbody tr.first td {\n border-top: none;\n }\n &.has-footer tfoot tr.last td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.last td {\n border-bottom: none;\n }\n td.row-span:not(.first){\n border-left: var(---cell-border-vertical);\n }\n td.row-span:not(.last){\n border-right: var(---cell-border-vertical);\n }\n"])));
3291
+ var outerBorderStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.", ",\n th.", " {\n border-left: none;\n }\n td.", ",\n th.", " {\n --border-right: none;\n }\n\n thead tr.", " th,\n tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tfoot tr.", " td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.", " td {\n border-bottom: none;\n }\n td.", ":not(.", "){\n border-left: var(---cell-border-vertical);\n }\n td.", ":not(.", "){\n border-right: var(---cell-border-vertical);\n }\n"])), Classes.first, Classes.first, Classes.last, Classes.last, Classes.first, Classes.first, Classes.last, Classes.last, Classes.rowSpan, Classes.first, Classes.rowSpan, Classes.last);
3299
3292
  var defaultCSSVariables = {
3300
3293
  '--row-height': '48px',
3301
3294
  '--color': '#333',
@@ -3325,7 +3318,7 @@ var defaultCSSVariables = {
3325
3318
  '--header-cell-border-vertical': '1px solid #dfe3e8'
3326
3319
  };
3327
3320
  var variableConst = getCssVariableText(defaultCSSVariables);
3328
- var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n user-select:none;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right:none\n }\n\n th.leaf {\n border-right: none;\n border-bottom: none;\n }\n\n tr.first th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.first {\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.first {\n border-left: var(--cell-border-vertical);\n }\n tr.first td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.first td {\n border-top: none;\n }\n &.has-footer tbody tr.last td {\n border-bottom: none;\n }\n\n .lock-left,\n .lock-right {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n \n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
3321
+ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n user-select:none;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right:none\n }\n\n th.", " {\n border-right: none;\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n \n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder);
3329
3322
  var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\n //#region \u6309\u94AE\n .", "{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .", " {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n//#endregion\n"])), variableConst, Classes.button, Classes.buttonPrimary);
3330
3323
 
3331
3324
  function getCssVariableText(obj) {
@@ -4539,7 +4532,7 @@ var _templateObject, _templateObject2, _templateObject3;
4539
4532
 
4540
4533
 
4541
4534
  var InlineFlexCell = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n display: inline-flex;\n align-items: center;\n"])));
4542
- var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(InlineFlexCell)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.leaf {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.expanded {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])));
4535
+ var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(InlineFlexCell)(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
4543
4536
 
4544
4537
  function CaretDownIcon(props) {
4545
4538
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("svg", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
@@ -5084,14 +5077,17 @@ __webpack_require__.r(__webpack_exports__);
5084
5077
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4__);
5085
5078
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
5086
5079
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);
5087
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
5088
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__);
5089
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
5090
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);
5091
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
5092
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);
5093
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
5094
- /* harmony import */ var _autoFill__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./autoFill */ "./components/table/pipeline/features/autoFill.tsx");
5080
+ /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
5081
+ /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_6__);
5082
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
5083
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7__);
5084
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
5085
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__);
5086
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
5087
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_9__);
5088
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
5089
+ /* harmony import */ var _autoFill__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./autoFill */ "./components/table/pipeline/features/autoFill.tsx");
5090
+
5095
5091
 
5096
5092
 
5097
5093
 
@@ -5109,33 +5105,44 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5109
5105
 
5110
5106
 
5111
5107
  var stateKey = 'columnDrag';
5108
+ var SCROLL_SIZE = 30;
5109
+
5110
+ function sortColumns(columns, sort) {
5111
+ var res = new Array(columns.length);
5112
5112
 
5113
- function sortColumns(cloumns, sort) {
5114
- var res = new Array(cloumns.length);
5113
+ var lastColumns = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_6___default()(columns);
5115
5114
 
5116
- while (cloumns.length) {
5117
- var cloumn = cloumns.pop();
5115
+ while (columns.length) {
5116
+ var cloumn = columns.pop();
5118
5117
  res[sort[cloumn.code]] = cloumn;
5119
5118
  }
5120
5119
 
5120
+ if (res.filter(Boolean).length !== lastColumns.length) {
5121
+ return lastColumns;
5122
+ }
5123
+
5121
5124
  return res;
5122
5125
  }
5123
5126
 
5127
+ function stopClickPropagation(e) {
5128
+ e.stopPropagation();
5129
+ }
5130
+
5124
5131
  function columnDrag() {
5125
5132
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5126
5133
  return function (pipeline) {
5127
5134
  var _pipeline$getStateAtK = pipeline.getStateAtKey(stateKey, {}),
5128
- cloumnsSortData = _pipeline$getStateAtK.cloumnsSortData,
5129
5135
  cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
5130
5136
 
5131
- var columns = pipeline.getColumns(); // if (cloumnsSortData) {
5137
+ var columns = pipeline.getColumns();
5138
+ var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody; // if (cloumnsSortData) {
5132
5139
  // columns = sortColumns(columns, cloumnsSortData)
5133
5140
  // }
5134
5141
 
5135
5142
  pipeline.columns(columns.filter(function (column) {
5136
5143
  return column;
5137
5144
  }));
5138
- return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
5145
+ return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_10__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
5139
5146
  var path = recursiveFlatMapInfo.path,
5140
5147
  isLeaf = recursiveFlatMapInfo.isLeaf;
5141
5148
  var style = cloumnsTranslateData ? {
@@ -5148,11 +5155,11 @@ function columnDrag() {
5148
5155
  return _objectSpread(_objectSpread({}, col), {}, {
5149
5156
  getCellProps: function getCellProps(value, record, rowIndex) {
5150
5157
  var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
5151
- return Object(_utils__WEBPACK_IMPORTED_MODULE_9__["mergeCellProps"])(prevCellProps, {
5158
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(prevCellProps, {
5152
5159
  style: style
5153
5160
  });
5154
5161
  },
5155
- headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_9__["mergeCellProps"])(col.headerCellProps, {
5162
+ headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(col.headerCellProps, {
5156
5163
  onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
5157
5164
  if (e.button !== 0) {
5158
5165
  return;
@@ -5170,28 +5177,55 @@ function columnDrag() {
5170
5177
  var columns = pipeline.getColumns();
5171
5178
 
5172
5179
  var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
5173
- cloumnsSortData = _pipeline$getStateAtK2.cloumnsSortData,
5174
5180
  cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
5175
5181
 
5176
- if (cloumnsSortData) {
5177
- columns = sortColumns(columns, cloumnsSortData);
5178
- } else {
5179
- cloumnsSortData = {};
5180
- columns.forEach(function (item, index) {
5181
- cloumnsSortData[item.code] = index;
5182
- });
5183
- }
5184
-
5182
+ var cloumnsSortData = {};
5183
+ columns.forEach(function (item, index) {
5184
+ cloumnsSortData[item.code] = index;
5185
+ });
5185
5186
  var currentTarget = e.currentTarget;
5186
5187
  var rect = e.currentTarget.parentElement.getClientRects()[0];
5187
5188
  var startX = rect.left;
5188
5189
  var moveData = [];
5189
- var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["collectNodes"])(columns);
5190
+ var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_10__["collectNodes"])(columns);
5191
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
5192
+ var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
5193
+
5194
+ var updateScrollPosition = function updateScrollPosition(client) {
5195
+ var clientX = client.clientX;
5196
+ var left = tableBodyClientRect.left,
5197
+ width = tableBodyClientRect.width;
5198
+
5199
+ if (clientX + SCROLL_SIZE >= left + width) {
5200
+ pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
5201
+ }
5202
+
5203
+ if (clientX - SCROLL_SIZE <= left) {
5204
+ pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
5205
+ }
5206
+ };
5207
+
5208
+ var stopClickPropagationFlag = false;
5190
5209
 
5191
5210
  function handleMouseMove(e) {
5192
- if (e.clientX - startX < 20) {
5211
+ var client = {
5212
+ clientX: e.clientX,
5213
+ clientY: e.clientY
5214
+ };
5215
+ var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
5216
+ var leftPosition = startX - scrollDistance; // 表头最左边起点
5217
+
5218
+ updateScrollPosition(client);
5219
+
5220
+ if (e.clientX - leftPosition < 20) {
5193
5221
  return;
5194
5222
  } else {
5223
+ // 阻止列头点击事件,防止拖动后触发列头过滤事件
5224
+ if (stopClickPropagationFlag === false) {
5225
+ stopClickPropagationFlag = true;
5226
+ currentTarget.addEventListener('click', stopClickPropagation);
5227
+ }
5228
+
5195
5229
  e.stopPropagation();
5196
5230
  }
5197
5231
 
@@ -5228,7 +5262,7 @@ function columnDrag() {
5228
5262
  var replaceIndex = 0;
5229
5263
  var totalWitdth = getColumnWidth(columns[replaceIndex]);
5230
5264
 
5231
- while (totalWitdth < e.clientX - startX && replaceIndex < columns.length - 1) {
5265
+ while (totalWitdth < e.clientX - leftPosition && replaceIndex < columns.length - 1) {
5232
5266
  replaceIndex++;
5233
5267
  totalWitdth += getColumnWidth(columns[replaceIndex]);
5234
5268
  } // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
@@ -5258,7 +5292,7 @@ function columnDrag() {
5258
5292
  })) {
5259
5293
  cloumnsTranslateData[code] += optionColumn.width;
5260
5294
 
5261
- if (Object(_utils__WEBPACK_IMPORTED_MODULE_9__["isLeafNode"])(columns[index])) {
5295
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_10__["isLeafNode"])(columns[index])) {
5262
5296
  cloumnsTranslateData[optionColumn.code] -= width;
5263
5297
  } else {
5264
5298
  cloumnsTranslateData[optionColumn.code] -= getColumnWidth(columns[index]);
@@ -5285,7 +5319,7 @@ function columnDrag() {
5285
5319
  })) {
5286
5320
  cloumnsTranslateData[_code] -= optionColumn.width;
5287
5321
 
5288
- if (Object(_utils__WEBPACK_IMPORTED_MODULE_9__["isLeafNode"])(columns[index])) {
5322
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_10__["isLeafNode"])(columns[index])) {
5289
5323
  cloumnsTranslateData[optionColumn.code] += _width;
5290
5324
  } else {
5291
5325
  cloumnsTranslateData[optionColumn.code] += getColumnWidth(columns[index]);
@@ -5301,7 +5335,6 @@ function columnDrag() {
5301
5335
 
5302
5336
  window.requestAnimationFrame(function () {
5303
5337
  pipeline.setStateAtKey(stateKey, {
5304
- cloumnsSortData: cloumnsSortData,
5305
5338
  cloumnsTranslateData: cloumnsTranslateData
5306
5339
  });
5307
5340
  moveData = [startIndex, replaceIndex];
@@ -5313,6 +5346,11 @@ function columnDrag() {
5313
5346
  document.body.removeEventListener('mousemove', handleMouseMove);
5314
5347
  document.body.removeEventListener('mouseup', handleMouseUp);
5315
5348
  window.requestAnimationFrame(function () {
5349
+ // 取消阻止列头点击事件
5350
+ currentTarget.removeEventListener('click', stopClickPropagation);
5351
+ stopClickPropagationFlag = false;
5352
+ currentTarget = null;
5353
+
5316
5354
  var _moveData = moveData,
5317
5355
  _moveData2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_moveData, 2),
5318
5356
  startIndex = _moveData2[0],
@@ -5372,21 +5410,19 @@ function columnDrag() {
5372
5410
  if (onColumnDragStopped) {
5373
5411
  var newColumns = sortColumns(columns, cloumnsSortData).filter(function (_ref) {
5374
5412
  var code = _ref.code;
5375
- return code !== _autoFill__WEBPACK_IMPORTED_MODULE_10__["FILL_COLUMN_CODE"];
5413
+ return code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"];
5376
5414
  }); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
5377
5415
 
5378
5416
  onColumnDragStopped(columnMoved, newColumns);
5379
5417
  }
5380
5418
 
5381
5419
  pipeline.setStateAtKey(stateKey, {
5382
- cloumnsSortData: cloumnsSortData,
5383
5420
  cloumnsTranslateData: null
5384
5421
  });
5385
5422
  });
5386
5423
  document.body.style.userSelect = '';
5387
5424
  currentTarget.style.opacity = '';
5388
5425
  currentTarget.style.cursor = '';
5389
- currentTarget = null;
5390
5426
  }
5391
5427
 
5392
5428
  document.body.addEventListener('mousemove', handleMouseMove);
@@ -5406,7 +5442,7 @@ function columnDrag() {
5406
5442
  function enableMove(_ref2) {
5407
5443
  var lock = _ref2.lock,
5408
5444
  code = _ref2.code;
5409
- return code && code !== _autoFill__WEBPACK_IMPORTED_MODULE_10__["FILL_COLUMN_CODE"] && !lock;
5445
+ return code && code !== _autoFill__WEBPACK_IMPORTED_MODULE_11__["FILL_COLUMN_CODE"] && !lock;
5410
5446
  }
5411
5447
 
5412
5448
  function getColumnWidth(col) {
@@ -5428,7 +5464,7 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
5428
5464
  var movedWidth = (_cloumnsTranslateData = cloumnsTranslateData[code]) !== null && _cloumnsTranslateData !== void 0 ? _cloumnsTranslateData : 0;
5429
5465
  cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
5430
5466
 
5431
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_9__["isLeafNode"])(col)) {
5467
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__["isLeafNode"])(col)) {
5432
5468
  moveAllChildren(children, cloumnsTranslateData, width);
5433
5469
  }
5434
5470
  });
@@ -6242,20 +6278,25 @@ function contextMenu() {
6242
6278
  };
6243
6279
 
6244
6280
  var showContextMenu = function showContextMenu(e) {
6245
- var dataSource = pipeline.getDataSource();
6246
- var cellEle = getCellEleForEvent(e);
6281
+ var path = Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getEventPath"])(e);
6282
+ var cellEle = getCellEleInEventPath(path);
6247
6283
  var code;
6248
6284
  var rowIndex;
6285
+ var isInFooter;
6249
6286
 
6250
6287
  if (cellEle) {
6251
- code = cellEle.getAttribute('data-code'), rowIndex = cellEle.getAttribute('data-rowindex');
6288
+ code = cellEle.getAttribute('data-code');
6289
+ rowIndex = cellEle.getAttribute('data-rowindex');
6290
+ isInFooter = isElementInsideTheFooter(cellEle);
6252
6291
  } else {
6253
- var rowEle = getRowEleForEvent(e, dataSource);
6292
+ var rowEle = getRowEleInEventPath(path);
6254
6293
  rowIndex = rowEle === null || rowEle === void 0 ? void 0 : rowEle.getAttribute('data-rowindex');
6294
+ isInFooter = isElementInsideTheFooter(rowEle);
6255
6295
  }
6256
6296
 
6297
+ var dataSource = isInFooter ? pipeline.getFooterDataSource() || [] : pipeline.getDataSource();
6257
6298
  var record = dataSource[rowIndex];
6258
- var column = code !== undefined && Object(_utils_others__WEBPACK_IMPORTED_MODULE_12__["findByTree"])(pipeline.getColumns(), function (item, index) {
6299
+ var column = code !== undefined && Object(_utils_others__WEBPACK_IMPORTED_MODULE_12__["findByTree"])(pipeline.getColumns(), function (item) {
6259
6300
  return item.code === code;
6260
6301
  });
6261
6302
  var value = column && record && _internals__WEBPACK_IMPORTED_MODULE_13__["internals"].safeGetValue(column, record, rowIndex);
@@ -6428,18 +6469,6 @@ function isEventFromCurrentPopup(event, ele) {
6428
6469
 
6429
6470
  return false;
6430
6471
  }
6431
-
6432
- function getCellEleInEventPath(path) {
6433
- return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getTargetEleInEventPath"])(path, function (ele) {
6434
- return ele && ele.getAttribute('data-role') === 'table-cell';
6435
- });
6436
- }
6437
-
6438
- function getRowEleInEventPath(path) {
6439
- return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getTargetEleInEventPath"])(path, function (ele) {
6440
- return ele && ele.getAttribute('data-role') === 'table-row';
6441
- });
6442
- }
6443
6472
  /** 是否点击是外部 end */
6444
6473
 
6445
6474
  /** 计算位置 start */
@@ -6516,15 +6545,37 @@ function keepWithinBounds(popupParent, ePopup, x, y) {
6516
6545
  /** 获得点击的元素 start */
6517
6546
 
6518
6547
 
6519
- function getCellEleForEvent(event) {
6520
- return getCellEleInEventPath(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getEventPath"])(event));
6548
+ function getCellEleInEventPath(path) {
6549
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getTargetEleInEventPath"])(path, function (ele) {
6550
+ return ele && ele.getAttribute('data-role') === 'table-cell';
6551
+ });
6521
6552
  }
6522
6553
 
6523
- function getRowEleForEvent(event, dataSource) {
6524
- return getRowEleInEventPath(Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getEventPath"])(event));
6554
+ function getRowEleInEventPath(path) {
6555
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_11__["getTargetEleInEventPath"])(path, function (ele) {
6556
+ return ele && ele.getAttribute('data-role') === 'table-row';
6557
+ });
6525
6558
  }
6526
6559
  /** 获得点击的元素 end */
6527
- // 禁止弹出右键菜单
6560
+
6561
+
6562
+ function isElementInsideTheFooter(ele) {
6563
+ var pointer = ele;
6564
+
6565
+ while (pointer) {
6566
+ if (pointer.tagName === 'TFOOT') {
6567
+ return true;
6568
+ }
6569
+
6570
+ if (pointer.tagName === 'TABLE' || pointer.tagName === 'TBODY') {
6571
+ return false;
6572
+ }
6573
+
6574
+ pointer = pointer.parentElement;
6575
+ }
6576
+
6577
+ return false;
6578
+ } // 禁止弹出右键菜单
6528
6579
 
6529
6580
 
6530
6581
  function suppressShowContextMenu(e) {
@@ -7277,7 +7328,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7277
7328
  function multiSelect() {
7278
7329
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7279
7330
  return function multiSelectStep(pipeline) {
7280
- var _opts$isDisabled, _opts$clickArea, _ref, _ref2, _opts$value, _pipeline$getStateAtK, _ref3, _ref4, _opts$lastKey, _pipeline$getStateAtK2, _opts$checkboxPlaceme;
7331
+ var _opts$isDisabled, _opts$clickArea, _ref, _ref2, _opts$value, _pipeline$getStateAtK, _ref3, _ref4, _opts$lastKey, _pipeline$getStateAtK2;
7281
7332
 
7282
7333
  var stateKey = 'multiSelect';
7283
7334
  var Checkbox = pipeline.ctx.components.Checkbox;
@@ -7320,93 +7371,101 @@ function multiSelect() {
7320
7371
  allKeys.push(rowKey);
7321
7372
  }
7322
7373
  });
7323
- var set = new Set(value);
7324
- var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
7325
- return set.has(key);
7326
- });
7327
- var isAnyChecked = allKeys.some(function (key) {
7328
- return set.has(key);
7329
- });
7330
- var defaultCheckboxColumnTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7331
- checked: isAllChecked,
7332
- indeterminate: !isAllChecked && isAnyChecked,
7333
- onChange: function onChange(_) {
7334
- if (isAllChecked) {
7335
- _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
7336
- } else {
7337
- _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].merge(value, allKeys), '', allKeys, 'check-all');
7338
- }
7339
- }
7340
- });
7341
-
7342
- var checkboxColumn = _objectSpread(_objectSpread({
7343
- name: '是否选中',
7344
- title: defaultCheckboxColumnTitle,
7345
- width: 50,
7346
- align: 'center'
7347
- }, opts.checkboxColumn), {}, {
7348
- getCellProps: function getCellProps(value, row, rowIndex) {
7349
- var _opts$checkboxColumn, _opts$checkboxColumn$;
7374
+ var set = new Set(value); // todo: 暂使用hidden隐藏选择列 后续增加配置
7350
7375
 
7351
- var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7352
- var checkboxCellProps = {};
7353
- var preCellProps = (_opts$checkboxColumn = opts.checkboxColumn) === null || _opts$checkboxColumn === void 0 ? void 0 : (_opts$checkboxColumn$ = _opts$checkboxColumn.getCellProps) === null || _opts$checkboxColumn$ === void 0 ? void 0 : _opts$checkboxColumn$.call(_opts$checkboxColumn, value, row, rowIndex);
7376
+ var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
7354
7377
 
7355
- if (fullKeySet.has(rowKey) && clickArea === 'cell') {
7356
- var prevChecked = set.has(rowKey);
7357
- var disabled = isDisabled(row, rowIndex);
7358
- checkboxCellProps = {
7359
- style: {
7360
- cursor: disabled ? 'not-allowed' : 'pointer'
7361
- },
7362
- onClick: disabled ? undefined : function (e) {
7363
- if (opts.stopClickEventPropagation) {
7364
- e.stopPropagation();
7365
- }
7378
+ if (!hiddenSelectColumn) {
7379
+ var _opts$checkboxPlaceme;
7366
7380
 
7367
- onCheckboxChange(prevChecked, rowKey, e.shiftKey);
7368
- }
7369
- };
7381
+ var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
7382
+ return set.has(key);
7383
+ });
7384
+ var isAnyChecked = allKeys.some(function (key) {
7385
+ return set.has(key);
7386
+ });
7387
+ var defaultCheckboxColumnTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7388
+ checked: isAllChecked,
7389
+ indeterminate: !isAllChecked && isAnyChecked,
7390
+ onChange: function onChange(_) {
7391
+ if (isAllChecked) {
7392
+ _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
7393
+ } else {
7394
+ _onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].merge(value, allKeys), '', allKeys, 'check-all');
7395
+ }
7370
7396
  }
7397
+ });
7371
7398
 
7372
- return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7373
- },
7374
- render: function render(_, row, rowIndex) {
7375
- var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7376
- var checked = set.has(key);
7377
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7378
- checked: checked,
7379
- disabled: isDisabled(row, rowIndex),
7380
- onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
7381
- var _arg2$nativeEvent;
7399
+ var checkboxColumn = _objectSpread(_objectSpread({
7400
+ name: '是否选中',
7401
+ title: defaultCheckboxColumnTitle,
7402
+ width: 50,
7403
+ align: 'center'
7404
+ }, opts.checkboxColumn), {}, {
7405
+ getCellProps: function getCellProps(value, row, rowIndex) {
7406
+ var _opts$checkboxColumn, _opts$checkboxColumn$;
7407
+
7408
+ var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7409
+ var checkboxCellProps = {};
7410
+ var preCellProps = (_opts$checkboxColumn = opts.checkboxColumn) === null || _opts$checkboxColumn === void 0 ? void 0 : (_opts$checkboxColumn$ = _opts$checkboxColumn.getCellProps) === null || _opts$checkboxColumn$ === void 0 ? void 0 : _opts$checkboxColumn$.call(_opts$checkboxColumn, value, row, rowIndex);
7411
+
7412
+ if (fullKeySet.has(rowKey) && clickArea === 'cell') {
7413
+ var prevChecked = set.has(rowKey);
7414
+ var disabled = isDisabled(row, rowIndex);
7415
+ checkboxCellProps = {
7416
+ style: {
7417
+ cursor: disabled ? 'not-allowed' : 'pointer'
7418
+ },
7419
+ onClick: disabled ? undefined : function (e) {
7420
+ if (opts.stopClickEventPropagation) {
7421
+ e.stopPropagation();
7422
+ }
7382
7423
 
7383
- // 这里要同时兼容 antd 和 fusion 的用法
7384
- // fusion: arg2?.nativeEvent
7385
- // antd: arg1.nativeEvent
7386
- var nativeEvent = (_arg2$nativeEvent = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _arg2$nativeEvent !== void 0 ? _arg2$nativeEvent : arg1.nativeEvent;
7424
+ onCheckboxChange(prevChecked, rowKey, e.shiftKey);
7425
+ }
7426
+ };
7427
+ }
7387
7428
 
7388
- if (nativeEvent) {
7389
- if (opts.stopClickEventPropagation) {
7390
- nativeEvent.stopPropagation();
7429
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_17__["mergeCellProps"])(preCellProps, checkboxCellProps);
7430
+ },
7431
+ render: function render(_, row, rowIndex) {
7432
+ var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7433
+ var checked = set.has(key);
7434
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
7435
+ checked: checked,
7436
+ disabled: isDisabled(row, rowIndex),
7437
+ onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
7438
+ var _arg2$nativeEvent;
7439
+
7440
+ // 这里要同时兼容 antd 和 fusion 的用法
7441
+ // fusion: arg2?.nativeEvent
7442
+ // antd: arg1.nativeEvent
7443
+ var nativeEvent = (_arg2$nativeEvent = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _arg2$nativeEvent !== void 0 ? _arg2$nativeEvent : arg1.nativeEvent;
7444
+
7445
+ if (nativeEvent) {
7446
+ if (opts.stopClickEventPropagation) {
7447
+ nativeEvent.stopPropagation();
7448
+ }
7449
+
7450
+ onCheckboxChange(checked, key, nativeEvent.shiftKey);
7391
7451
  }
7452
+ } : undefined
7453
+ });
7454
+ }
7455
+ });
7392
7456
 
7393
- onCheckboxChange(checked, key, nativeEvent.shiftKey);
7394
- }
7395
- } : undefined
7396
- });
7397
- }
7398
- });
7457
+ var nextColumns = pipeline.getColumns().slice();
7458
+ var checkboxPlacement = (_opts$checkboxPlaceme = opts.checkboxPlacement) !== null && _opts$checkboxPlaceme !== void 0 ? _opts$checkboxPlaceme : 'start';
7399
7459
 
7400
- var nextColumns = pipeline.getColumns().slice();
7401
- var checkboxPlacement = (_opts$checkboxPlaceme = opts.checkboxPlacement) !== null && _opts$checkboxPlaceme !== void 0 ? _opts$checkboxPlaceme : 'start';
7460
+ if (checkboxPlacement === 'start') {
7461
+ nextColumns.unshift(checkboxColumn);
7462
+ } else {
7463
+ nextColumns.push(checkboxColumn);
7464
+ }
7402
7465
 
7403
- if (checkboxPlacement === 'start') {
7404
- nextColumns.unshift(checkboxColumn);
7405
- } else {
7406
- nextColumns.push(checkboxColumn);
7466
+ pipeline.columns(nextColumns);
7407
7467
  }
7408
7468
 
7409
- pipeline.columns(nextColumns);
7410
7469
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
7411
7470
  var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
7412
7471
 
@@ -7816,6 +7875,7 @@ __webpack_require__.r(__webpack_exports__);
7816
7875
  /* harmony import */ var _utils_others__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../utils/others */ "./components/table/utils/others.ts");
7817
7876
  /* harmony import */ var _utils_console__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../utils/console */ "./components/table/utils/console.ts");
7818
7877
  /* harmony import */ var _base_renderTemplates__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../base/renderTemplates */ "./components/table/base/renderTemplates.tsx");
7878
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../base */ "./components/table/base/index.tsx");
7819
7879
 
7820
7880
 
7821
7881
 
@@ -7847,6 +7907,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7847
7907
 
7848
7908
 
7849
7909
 
7910
+
7850
7911
 
7851
7912
 
7852
7913
  var rowDetailSymbol = Symbol('row-detail');
@@ -7984,7 +8045,7 @@ function rowDetail() {
7984
8045
  toggle(rowKey);
7985
8046
  };
7986
8047
 
7987
- var expandCls = expanded ? 'expanded' : 'collapsed';
8048
+ var expandCls = expanded ? _base__WEBPACK_IMPORTED_MODULE_28__["Classes"].expanded : _base__WEBPACK_IMPORTED_MODULE_28__["Classes"].collapsed;
7988
8049
  var ExpandIcon = opts.expandIcon;
7989
8050
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_21___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_22__["ExpansionCell"], {
7990
8051
  className: classnames__WEBPACK_IMPORTED_MODULE_20___default()('expansion-cell', expandCls),
@@ -8158,6 +8219,7 @@ __webpack_require__.r(__webpack_exports__);
8158
8219
  /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
8159
8220
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
8160
8221
  /* harmony import */ var _utils_others__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../utils/others */ "./components/table/utils/others.ts");
8222
+ /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../base */ "./components/table/base/index.tsx");
8161
8223
 
8162
8224
 
8163
8225
 
@@ -8187,6 +8249,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8187
8249
 
8188
8250
 
8189
8251
 
8252
+
8190
8253
  var groupingMetaSymbol = Symbol('row-grouping-meta');
8191
8254
 
8192
8255
  function attachGroupingMeta(row) {
@@ -8292,7 +8355,7 @@ function rowGrouping() {
8292
8355
  }
8293
8356
 
8294
8357
  var expanded = openKeySet.has(row[primaryKey]);
8295
- var expandCls = expanded ? 'expanded' : 'collapsed';
8358
+ var expandCls = expanded ? _base__WEBPACK_IMPORTED_MODULE_24__["Classes"].expanded : _base__WEBPACK_IMPORTED_MODULE_24__["Classes"].collapsed;
8296
8359
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_19___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_20__["ExpansionCell"], {
8297
8360
  className: classnames__WEBPACK_IMPORTED_MODULE_18___default()('expansion-cell', expandCls)
8298
8361
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_19___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_20__["icons"].CaretRight, {
@@ -9111,6 +9174,7 @@ __webpack_require__.r(__webpack_exports__);
9111
9174
  /* harmony import */ var _common_views__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../common-views */ "./components/table/common-views.tsx");
9112
9175
  /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../internals */ "./components/table/internals.ts");
9113
9176
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
9177
+ /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
9114
9178
 
9115
9179
 
9116
9180
 
@@ -9148,6 +9212,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
9148
9212
 
9149
9213
 
9150
9214
 
9215
+
9151
9216
  var treeMetaSymbol = Symbol('treeMetaSymbol');
9152
9217
  function treeMode() {
9153
9218
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -9269,7 +9334,7 @@ function treeMode() {
9269
9334
 
9270
9335
  if (isLeaf) {
9271
9336
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_23__["InlineFlexCell"], {
9272
- className: "expansion-cell leaf"
9337
+ className: classnames__WEBPACK_IMPORTED_MODULE_21___default()('expansion-cell', _base_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].leaf)
9273
9338
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement("span", {
9274
9339
  style: {
9275
9340
  marginLeft: indent + iconWidth + iconGap
@@ -9285,7 +9350,7 @@ function treeMode() {
9285
9350
  toggle(rowKey);
9286
9351
  };
9287
9352
 
9288
- var expandCls = expanded ? 'expanded' : 'collapsed';
9353
+ var expandCls = expanded ? _base_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].expanded : _base_styles__WEBPACK_IMPORTED_MODULE_26__["Classes"].collapsed;
9289
9354
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_22___default.a.createElement(_common_views__WEBPACK_IMPORTED_MODULE_23__["ExpansionCell"], {
9290
9355
  className: classnames__WEBPACK_IMPORTED_MODULE_21___default()('expansion-cell', expandCls),
9291
9356
  style: {
@@ -9680,6 +9745,8 @@ var TablePipeline = /*#__PURE__*/function () {
9680
9745
 
9681
9746
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_columns", void 0);
9682
9747
 
9748
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "_footerDataSource", void 0);
9749
+
9683
9750
  _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(this, "ctx", {
9684
9751
  components: {},
9685
9752
  indents: TablePipeline.defaultIndents
@@ -9736,6 +9803,11 @@ var TablePipeline = /*#__PURE__*/function () {
9736
9803
  return this._snapshots[name].columns;
9737
9804
  }
9738
9805
  }
9806
+ }, {
9807
+ key: "getFooterDataSource",
9808
+ value: function getFooterDataSource() {
9809
+ return this._footerDataSource;
9810
+ }
9739
9811
  }, {
9740
9812
  key: "getStateAtKey",
9741
9813
  value: function getStateAtKey(stateKey, defaultValue) {
@@ -9807,6 +9879,14 @@ var TablePipeline = /*#__PURE__*/function () {
9807
9879
  this.ctx.primaryKey = key;
9808
9880
  return this;
9809
9881
  }
9882
+ /** 设置页脚数据 */
9883
+
9884
+ }, {
9885
+ key: "footerDataSource",
9886
+ value: function footerDataSource(rows) {
9887
+ this._footerDataSource = rows;
9888
+ return this;
9889
+ }
9810
9890
  /** 保存快照 */
9811
9891
 
9812
9892
  }, {
@@ -9885,6 +9965,10 @@ var TablePipeline = /*#__PURE__*/function () {
9885
9965
  result.primaryKey = this.ctx.primaryKey;
9886
9966
  }
9887
9967
 
9968
+ if (this._footerDataSource) {
9969
+ result.footerDataSource = this._footerDataSource;
9970
+ }
9971
+
9888
9972
  if (this._rowPropsGetters.length > 0) {
9889
9973
  result.getRowProps = function (row, rowIndex) {
9890
9974
  return _this2._rowPropsGetters.reduce(function (res, get) {