@kdcloudjs/kdesign 1.8.49 → 1.8.50

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.
package/dist/kdesign.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/kdesign v1.8.49
3
+ * @kdcloudjs/kdesign v1.8.50
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -38090,7 +38090,8 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
38090
38090
  getPrefixCls = _useContext.getPrefixCls,
38091
38091
  prefixCls = _useContext.prefixCls,
38092
38092
  locale = _useContext.locale,
38093
- direction = _useContext.direction;
38093
+ direction = _useContext.direction,
38094
+ isMobile = _useContext.isMobile;
38094
38095
  var tablePrefixCls = getPrefixCls(prefixCls, customPrefixcls);
38095
38096
  var tableCls = classnames__WEBPACK_IMPORTED_MODULE_16___default()(tablePrefixCls, className);
38096
38097
  var localeText = locale.getCompLangMsg({
@@ -38102,7 +38103,8 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
38102
38103
  Radio: (components === null || components === void 0 ? void 0 : components.Radio) || _radio_index__WEBPACK_IMPORTED_MODULE_9__["default"]
38103
38104
  },
38104
38105
  localeText: localeText,
38105
- direction: direction
38106
+ direction: direction,
38107
+ isMobile: isMobile
38106
38108
  }).primaryKey(primaryKey === undefined ? '' : primaryKey).input({
38107
38109
  columns: columns,
38108
38110
  dataSource: dataSource
@@ -38182,6 +38184,11 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
38182
38184
  // @ts-ignore
38183
38185
  ,
38184
38186
  direction: direction
38187
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38188
+ // @ts-ignore
38189
+ ,
38190
+ isMobile: isMobile,
38191
+ prefixCls: prefixCls
38185
38192
  }, others));
38186
38193
  });
38187
38194
  Table.displayName = 'Table';
@@ -48564,6 +48571,88 @@ var locale = {
48564
48571
 
48565
48572
  /***/ }),
48566
48573
 
48574
+ /***/ "./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js":
48575
+ /*!***********************************************************************!*\
48576
+ !*** ./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js ***!
48577
+ \***********************************************************************/
48578
+ /*! exports provided: TopBlank, BottomBlank */
48579
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
48580
+
48581
+ "use strict";
48582
+ __webpack_require__.r(__webpack_exports__);
48583
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopBlank", function() { return TopBlank; });
48584
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BottomBlank", function() { return BottomBlank; });
48585
+ /* harmony import */ var _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/slicedToArray */ "./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js");
48586
+ /* harmony import */ var _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
48587
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
48588
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
48589
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
48590
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
48591
+ /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
48592
+
48593
+
48594
+
48595
+
48596
+ var TopBlankComponent = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(function (_ref, ref) {
48597
+ var initialHeight = _ref.height;
48598
+ var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialHeight),
48599
+ _useState2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),
48600
+ height = _useState2[0],
48601
+ setHeight = _useState2[1];
48602
+ Object(react__WEBPACK_IMPORTED_MODULE_1__["useImperativeHandle"])(ref, function () {
48603
+ return {
48604
+ updateHeight: function updateHeight(newHeight) {
48605
+ if (height !== newHeight) {
48606
+ setHeight(newHeight);
48607
+ }
48608
+ }
48609
+ };
48610
+ }, [height]);
48611
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
48612
+ style: {
48613
+ height: height
48614
+ }
48615
+ });
48616
+ });
48617
+ TopBlankComponent.displayName = 'TopBlank';
48618
+ var BottomBlankComponent = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(function (_ref2, ref) {
48619
+ var initialHeight = _ref2.height,
48620
+ className = _ref2.className;
48621
+ var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialHeight),
48622
+ _useState4 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState3, 2),
48623
+ height = _useState4[0],
48624
+ setHeight = _useState4[1];
48625
+ Object(react__WEBPACK_IMPORTED_MODULE_1__["useImperativeHandle"])(ref, function () {
48626
+ return {
48627
+ updateHeight: function updateHeight(newHeight) {
48628
+ if (height !== newHeight) {
48629
+ setHeight(newHeight);
48630
+ }
48631
+ }
48632
+ };
48633
+ }, [height]);
48634
+ if (height <= 0) {
48635
+ return null;
48636
+ }
48637
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
48638
+ key: "bottom-blank",
48639
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].virtualBlank, 'bottom', className),
48640
+ style: {
48641
+ height: height
48642
+ }
48643
+ });
48644
+ });
48645
+ BottomBlankComponent.displayName = 'BottomBlank';
48646
+ // 使用 memo 优化,只有当 height 或 className 改变时才重新渲染
48647
+ var TopBlank = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["memo"])(TopBlankComponent, function (prevProps, nextProps) {
48648
+ return prevProps.height === nextProps.height && prevProps.className === nextProps.className;
48649
+ });
48650
+ var BottomBlank = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["memo"])(BottomBlankComponent, function (prevProps, nextProps) {
48651
+ return prevProps.height === nextProps.height && prevProps.className === nextProps.className;
48652
+ });
48653
+
48654
+ /***/ }),
48655
+
48567
48656
  /***/ "./node_modules/@kdcloudjs/table/es/table/base/calculations.js":
48568
48657
  /*!*********************************************************************!*\
48569
48658
  !*** ./node_modules/@kdcloudjs/table/es/table/base/calculations.js ***!
@@ -49408,6 +49497,192 @@ function TableHeader(_ref2) {
49408
49497
 
49409
49498
  /***/ }),
49410
49499
 
49500
+ /***/ "./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js":
49501
+ /*!**********************************************************************************!*\
49502
+ !*** ./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js ***!
49503
+ \**********************************************************************************/
49504
+ /*! exports provided: FastScrollManager */
49505
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
49506
+
49507
+ "use strict";
49508
+ __webpack_require__.r(__webpack_exports__);
49509
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FastScrollManager", function() { return FastScrollManager; });
49510
+ /* harmony import */ var _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/extends */ "./node_modules/@babel/runtime-corejs3/helpers/extends.js");
49511
+ /* harmony import */ var _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
49512
+ /* harmony import */ var _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/classCallCheck */ "./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js");
49513
+ /* harmony import */ var _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
49514
+ /* harmony import */ var _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/createClass */ "./node_modules/@babel/runtime-corejs3/helpers/createClass.js");
49515
+ /* harmony import */ var _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
49516
+
49517
+
49518
+
49519
+ /**
49520
+ * 快速滚动管理器
49521
+ * 抽取 BaseTable 中的快速滚动相关逻辑
49522
+ */
49523
+ var FastScrollManager = /*#__PURE__*/function () {
49524
+ function FastScrollManager(callbacks) {
49525
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
49526
+ _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, FastScrollManager);
49527
+ // 快速滚动状态
49528
+ this.state = {
49529
+ lastScrollTime: 0,
49530
+ scrollVelocity: 0,
49531
+ lastOffsetY: 0
49532
+ };
49533
+ // 快速滚动标志 - 作为私有属性立即更新
49534
+ this.isFastScrolling = false;
49535
+ this.callbacks = callbacks;
49536
+ // 合并默认配置
49537
+ this.config = _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
49538
+ overscanSize: 100,
49539
+ velocityThreshold: 3,
49540
+ distanceMultiplier: 3,
49541
+ fastScrollEndDelayHigh: 200,
49542
+ fastScrollEndDelayNormal: 150,
49543
+ highVelocityThreshold: 5
49544
+ }, config);
49545
+ }
49546
+ /**
49547
+ * 检测是否接近底部(剩余滚动距离少于两屏)
49548
+ */
49549
+ _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(FastScrollManager, [{
49550
+ key: "isNearBottom",
49551
+ value: function isNearBottom(currentScrollTop, maxRenderHeight, totalScrollHeight) {
49552
+ var remainingScrollDistance = totalScrollHeight - currentScrollTop - maxRenderHeight;
49553
+ return remainingScrollDistance < maxRenderHeight;
49554
+ }
49555
+ /**
49556
+ * 处理滚动事件 - 检测和处理快速滚动
49557
+ */
49558
+ }, {
49559
+ key: "handleScrollEvent",
49560
+ value: function handleScrollEvent(sizeAndOffset, currentState, dataLength, totalScrollHeight) {
49561
+ var currentTime = performance.now();
49562
+ var deltaY = Math.abs(sizeAndOffset.offsetY - this.state.lastOffsetY);
49563
+ var deltaTime = currentTime - this.state.lastScrollTime;
49564
+ // 计算滚动速度 (像素/毫秒)
49565
+ this.state.scrollVelocity = deltaTime > 0 ? deltaY / deltaTime : 0;
49566
+ // 检测是否接近底部
49567
+ var isNearBottom = this.isNearBottom(sizeAndOffset.offsetY, sizeAndOffset.maxRenderHeight, totalScrollHeight);
49568
+ // 如果正在快速滚动但接近底部,提前结束快速滚动
49569
+ if (this.isFastScrolling && isNearBottom) {
49570
+ this.endFastScrolling(sizeAndOffset);
49571
+ return; // 让正常渲染逻辑接管
49572
+ }
49573
+ // 快速滚动判断条件:
49574
+ // 1. 滚动距离超过阈值 && 滚动速度超过阈值
49575
+ // 2. 当前未在快速滚动状态
49576
+ // 3. 未接近底部边界
49577
+ var isSignificantChange = deltaY > this.config.overscanSize * this.config.distanceMultiplier;
49578
+ var isHighVelocity = this.state.scrollVelocity > this.config.velocityThreshold;
49579
+ var shouldStartFastScroll = (isSignificantChange || isHighVelocity) && !this.isFastScrolling && !isNearBottom; // 接近底部时不启动快速滚动
49580
+ if (shouldStartFastScroll) {
49581
+ this.startFastScrolling(currentState, dataLength);
49582
+ }
49583
+ // 重置快速滚动结束定时器
49584
+ if (this.isFastScrolling) {
49585
+ this.resetFastScrollEndTimer(sizeAndOffset);
49586
+ }
49587
+ // 更新记录
49588
+ this.state.lastOffsetY = sizeAndOffset.offsetY;
49589
+ this.state.lastScrollTime = currentTime;
49590
+ }
49591
+ /**
49592
+ * 开始快速滚动
49593
+ */
49594
+ }, {
49595
+ key: "startFastScrolling",
49596
+ value: function startFastScrolling(currentState, dataLength) {
49597
+ this.isFastScrolling = true;
49598
+ // 获取当前渲染范围作为缓存
49599
+ var currentVerticalRange = this.callbacks.getCurrentRenderRange(currentState.offsetY, currentState.maxRenderHeight, dataLength);
49600
+ // 通知外部开始快速滚动
49601
+ this.callbacks.onFastScrollStart({
49602
+ offsetY: currentState.offsetY,
49603
+ maxRenderHeight: currentState.maxRenderHeight,
49604
+ maxRenderWidth: currentState.maxRenderWidth,
49605
+ verticalRenderRange: currentVerticalRange
49606
+ });
49607
+ }
49608
+ /**
49609
+ * 重置快速滚动结束定时器
49610
+ */
49611
+ }, {
49612
+ key: "resetFastScrollEndTimer",
49613
+ value: function resetFastScrollEndTimer(sizeAndOffset) {
49614
+ var _this = this;
49615
+ if (this.fastScrollEndTimer) {
49616
+ clearTimeout(this.fastScrollEndTimer);
49617
+ }
49618
+ var waitTime = this.state.scrollVelocity > this.config.highVelocityThreshold ? this.config.fastScrollEndDelayHigh : this.config.fastScrollEndDelayNormal;
49619
+ this.fastScrollEndTimer = window.setTimeout(function () {
49620
+ _this.endFastScrolling(sizeAndOffset);
49621
+ }, waitTime);
49622
+ }
49623
+ /**
49624
+ * 结束快速滚动
49625
+ */
49626
+ }, {
49627
+ key: "endFastScrolling",
49628
+ value: function endFastScrolling(sizeAndOffset) {
49629
+ this.isFastScrolling = false;
49630
+ this.fastScrollEndTimer = undefined;
49631
+ // 通知外部结束快速滚动
49632
+ this.callbacks.onFastScrollEnd(sizeAndOffset);
49633
+ }
49634
+ /**
49635
+ * 清理资源
49636
+ */
49637
+ }, {
49638
+ key: "cleanup",
49639
+ value: function cleanup() {
49640
+ if (this.fastScrollEndTimer) {
49641
+ clearTimeout(this.fastScrollEndTimer);
49642
+ }
49643
+ }
49644
+ /**
49645
+ * 获取当前是否处于快速滚动状态
49646
+ */
49647
+ }, {
49648
+ key: "getIsFastScrolling",
49649
+ value: function getIsFastScrolling() {
49650
+ return this.isFastScrolling;
49651
+ }
49652
+ /**
49653
+ * 获取当前滚动速度
49654
+ */
49655
+ }, {
49656
+ key: "getScrollVelocity",
49657
+ value: function getScrollVelocity() {
49658
+ return this.state.scrollVelocity;
49659
+ }
49660
+ /**
49661
+ * 清理资源
49662
+ */
49663
+ }, {
49664
+ key: "destroy",
49665
+ value: function destroy() {
49666
+ if (this.fastScrollEndTimer) {
49667
+ clearTimeout(this.fastScrollEndTimer);
49668
+ this.fastScrollEndTimer = undefined;
49669
+ }
49670
+ this.isFastScrolling = false;
49671
+ }
49672
+ /**
49673
+ * 获取当前配置
49674
+ */
49675
+ }, {
49676
+ key: "getConfig",
49677
+ value: function getConfig() {
49678
+ return _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.config);
49679
+ }
49680
+ }]);
49681
+ return FastScrollManager;
49682
+ }();
49683
+
49684
+ /***/ }),
49685
+
49411
49686
  /***/ "./node_modules/@kdcloudjs/table/es/table/base/helpers/SpanManager.js":
49412
49687
  /*!****************************************************************************!*\
49413
49688
  !*** ./node_modules/@kdcloudjs/table/es/table/base/helpers/SpanManager.js ***!
@@ -50649,10 +50924,10 @@ __webpack_require__.r(__webpack_exports__);
50649
50924
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonCSS", function() { return ButtonCSS; });
50650
50925
  /* harmony import */ var _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/taggedTemplateLiteral */ "./node_modules/@babel/runtime-corejs3/helpers/taggedTemplateLiteral.js");
50651
50926
  /* harmony import */ var _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__);
50652
- /* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/keys */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js");
50653
- /* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_1__);
50654
- /* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/concat */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js");
50655
- /* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2__);
50927
+ /* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/concat */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js");
50928
+ /* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1__);
50929
+ /* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/keys */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js");
50930
+ /* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2__);
50656
50931
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
50657
50932
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
50658
50933
 
@@ -50813,7 +51088,11 @@ var defaultCSSVariables = {
50813
51088
  var variableConst = getCssVariableText(defaultCSSVariables);
50814
51089
  var notBorderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
50815
51090
  var borderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject4 || (_templateObject4 = _babel_runtime_corejs3_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);
50816
- var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject5 || (_templateObject5 = _babel_runtime_corejs3_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 flex-grow:1;\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-", ": 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 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 border: 1px solid var(--primary-color)\n }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n \n }\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n\n\n // .", " td{\n // border-top: 1px solid var(--primary-color) !important;\n // }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n }\n\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n // .", " td{\n // border-bottom: 1px solid var(--primary-color) !important;\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: ", ";\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-", ": var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-", ": var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-", ": 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-", ": 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-", ": var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-", ": 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-", ": ", "px;\n \n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-", ": ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": 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 sticky\u517C\u5BB9\n &.sticky-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 ", ":0;\n }\n .", "{\n rig", "ht: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 sticky\u517C\u5BB9\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 background: var(--header-bgcolor);\n position:sticky;\n z-index:5;\n ", ":0px;\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 ", ": 0;\n width: 5px;\n &::after{\n ", ": 4px;\n }\n }\n"])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, function (props) {
51091
+ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject5 || (_templateObject5 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\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 flex-grow:1;\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-", ": 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 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 border: 1px solid var(--primary-color)\n }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n \n }\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n\n\n // .", " td{\n // border-top: 1px solid var(--primary-color) !important;\n // }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n }\n\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n // .", " td{\n // border-bottom: 1px solid var(--primary-color) !important;\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: ", ";\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-", ": var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-", ": var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-", ": 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-", ": 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-", ": var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-", ": 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-", ": ", "px;\n \n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-", ": ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": 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 sticky\u517C\u5BB9\n &.sticky-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 ", ":0;\n }\n .", "{\n rig", "ht: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 sticky\u517C\u5BB9\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 background: var(--header-bgcolor);\n position:sticky;\n z-index:5;\n ", ":0px;\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 ", ": 0;\n width: 5px;\n &::after{\n ", ": 4px;\n }\n }\n"])), function (_ref) {
51092
+ var _context, _context2, _context3;
51093
+ var prefixCls = _ref.prefixCls;
51094
+ return prefixCls ? _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context2 = "&.".concat(prefixCls, "-table {:root {")).call(_context2, variableConst, "} ")).call(_context, variableConst, "}") : _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context3 = ":root {".concat(variableConst, "} ")).call(_context3, variableConst);
51095
+ }, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, function (props) {
50817
51096
  return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["swapRTLDirection"])(props.direction, 'left');
50818
51097
  }, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, function (props) {
50819
51098
  return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["swapRTLDirection"])(props.direction, 'right');
@@ -50860,9 +51139,9 @@ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["defa
50860
51139
  });
50861
51140
  var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject6 || (_templateObject6 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\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"])), variableConst, Classes.button, Classes.buttonPrimary);
50862
51141
  function getCssVariableText(obj) {
50863
- return _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_1___default()(obj).reduce(function (acc, key) {
50864
- var _context;
50865
- acc += _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_2___default()(_context = "".concat(key, ":")).call(_context, obj[key], ";");
51142
+ return _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2___default()(obj).reduce(function (acc, key) {
51143
+ var _context4;
51144
+ acc += _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context4 = "".concat(key, ":")).call(_context4, obj[key], ";");
50866
51145
  return acc;
50867
51146
  }, '');
50868
51147
  }
@@ -50921,13 +51200,15 @@ __webpack_require__.r(__webpack_exports__);
50921
51200
  /* harmony import */ var _helpers_getRichVisibleRectsStream__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./helpers/getRichVisibleRectsStream */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/getRichVisibleRectsStream.js");
50922
51201
  /* harmony import */ var _helpers_rowHeightManager__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./helpers/rowHeightManager */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/rowHeightManager.js");
50923
51202
  /* harmony import */ var _helpers_TableDOMUtils__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./helpers/TableDOMUtils */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/TableDOMUtils.js");
50924
- /* harmony import */ var _html_table__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./html-table */ "./node_modules/@kdcloudjs/table/es/table/base/html-table.js");
50925
- /* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./loading */ "./node_modules/@kdcloudjs/table/es/table/base/loading.js");
50926
- /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
50927
- /* harmony import */ var _globalStyleComponent__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./globalStyleComponent */ "./node_modules/@kdcloudjs/table/es/table/base/globalStyleComponent.js");
50928
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
50929
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../utils */ "./node_modules/@kdcloudjs/table/es/table/utils/index.js");
50930
- /* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./renderTemplates */ "./node_modules/@kdcloudjs/table/es/table/base/renderTemplates.js");
51203
+ /* harmony import */ var _helpers_FastScrollManager__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./helpers/FastScrollManager */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js");
51204
+ /* harmony import */ var _html_table__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./html-table */ "./node_modules/@kdcloudjs/table/es/table/base/html-table.js");
51205
+ /* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./loading */ "./node_modules/@kdcloudjs/table/es/table/base/loading.js");
51206
+ /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
51207
+ /* harmony import */ var _globalStyleComponent__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./globalStyleComponent */ "./node_modules/@kdcloudjs/table/es/table/base/globalStyleComponent.js");
51208
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
51209
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../utils */ "./node_modules/@kdcloudjs/table/es/table/utils/index.js");
51210
+ /* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./renderTemplates */ "./node_modules/@kdcloudjs/table/es/table/base/renderTemplates.js");
51211
+ /* harmony import */ var _BlankComponent__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./BlankComponent */ "./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js");
50931
51212
 
50932
51213
 
50933
51214
 
@@ -50965,11 +51246,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_b
50965
51246
 
50966
51247
 
50967
51248
 
51249
+
51250
+
50968
51251
  var propsDotEmptyContentDeprecatedWarned = false;
50969
51252
  function warnPropsDotEmptyContentIsDeprecated() {
50970
51253
  if (!propsDotEmptyContentDeprecatedWarned) {
50971
51254
  propsDotEmptyContentDeprecatedWarned = true;
50972
- _utils__WEBPACK_IMPORTED_MODULE_30__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
51255
+ _utils__WEBPACK_IMPORTED_MODULE_31__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
50973
51256
  }
50974
51257
  }
50975
51258
  var BaseTable = /*#__PURE__*/function (_React$Component) {
@@ -50983,6 +51266,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
50983
51266
  _this.artTableWrapperRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
50984
51267
  _this.hasScrollY = false;
50985
51268
  _this.offsetY = 0;
51269
+ // Blank组件的引用,用于快速滚动时直接更新
51270
+ _this.topBlankRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
51271
+ _this.bottomBlankRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
50986
51272
  _this.handleRowMouseEnter = function (e) {
50987
51273
  var nodeList = _this.domHelper.getRowNodeListByEvent(e);
50988
51274
  nodeList && nodeList.forEach(function (node) {
@@ -51002,11 +51288,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51002
51288
  getRowProps = _this$props.getRowProps,
51003
51289
  primaryKey = _this$props.primaryKey,
51004
51290
  isLoading = _this$props.isLoading,
51005
- emptyCellHeight = _this$props.emptyCellHeight,
51006
- footerDataSource = _this$props.footerDataSource;
51007
- var tableBodyClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollContainer);
51291
+ emptyCellHeight = _this$props.emptyCellHeight;
51292
+ var tableBodyClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer);
51008
51293
  // 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能
51009
- var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_30__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_30__["browserType"].isEdge ? {
51294
+ var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isEdge ? {
51010
51295
  overflow: 'hidden'
51011
51296
  } : {};
51012
51297
  if (dataSource.length === 0) {
@@ -51023,7 +51308,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51023
51308
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51024
51309
  className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(tableBodyClassName, 'empty')
51025
51310
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51026
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtual,
51311
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].virtual,
51027
51312
  tabIndex: -1,
51028
51313
  style: virtualStyle
51029
51314
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_empty__WEBPACK_IMPORTED_MODULE_20__["EmptyHtmlTable"], {
@@ -51038,7 +51323,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51038
51323
  bottomBlank = _info$verticalRenderR.bottomBlank,
51039
51324
  topBlank = _info$verticalRenderR.topBlank,
51040
51325
  bottomIndex = _info$verticalRenderR.bottomIndex;
51041
- var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_31__["default"])('body');
51326
+ var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('body');
51042
51327
  if (typeof renderBody === 'function') {
51043
51328
  return renderBody(info, _this.props, {
51044
51329
  rowProps: {
@@ -51050,16 +51335,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51050
51335
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51051
51336
  className: tableBodyClassName
51052
51337
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51053
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtual,
51338
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].virtual,
51054
51339
  tabIndex: -1,
51055
51340
  style: virtualStyle
51056
- }, topBlank > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51057
- key: "top-blank",
51058
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtualBlank, 'top'),
51059
- style: {
51060
- height: topBlank
51061
- }
51062
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_25__["HtmlTable"], {
51341
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_BlankComponent__WEBPACK_IMPORTED_MODULE_33__["TopBlank"], {
51342
+ ref: _this.topBlankRef,
51343
+ height: topBlank
51344
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_26__["HtmlTable"], {
51063
51345
  tbodyHtmlTag: "tbody",
51064
51346
  getRowProps: getRowProps,
51065
51347
  primaryKey: primaryKey,
@@ -51071,12 +51353,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51071
51353
  limit: bottomIndex,
51072
51354
  last: dataSource.length - 1
51073
51355
  }
51074
- }), bottomBlank > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51075
- key: "bottom-blank",
51076
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].virtualBlank, 'bottom'),
51077
- style: {
51078
- height: bottomBlank
51079
- }
51356
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_BlankComponent__WEBPACK_IMPORTED_MODULE_33__["BottomBlank"], {
51357
+ ref: _this.bottomBlankRef,
51358
+ height: bottomBlank
51080
51359
  })));
51081
51360
  };
51082
51361
  _this.state = {
@@ -51091,13 +51370,33 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51091
51370
  maxRenderHeight: 600,
51092
51371
  maxRenderWidth: 800
51093
51372
  };
51373
+ // 初始化快速滚动管理器
51374
+ var fastScrollCallbacks = {
51375
+ onFastScrollStart: function onFastScrollStart(renderData) {
51376
+ _this.setState({
51377
+ previousRenderData: renderData
51378
+ });
51379
+ },
51380
+ onFastScrollEnd: function onFastScrollEnd(scrollData) {
51381
+ _this.setState({
51382
+ previousRenderData: undefined,
51383
+ offsetY: scrollData.offsetY,
51384
+ maxRenderHeight: scrollData.maxRenderHeight,
51385
+ maxRenderWidth: scrollData.maxRenderWidth
51386
+ });
51387
+ },
51388
+ getCurrentRenderRange: function getCurrentRenderRange(offsetY, maxRenderHeight, dataLength) {
51389
+ return _this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, dataLength);
51390
+ }
51391
+ };
51392
+ _this.fastScrollManager = new _helpers_FastScrollManager__WEBPACK_IMPORTED_MODULE_25__["FastScrollManager"](fastScrollCallbacks);
51094
51393
  return _this;
51095
51394
  }
51096
51395
  /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
51097
51396
  _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_8___default()(BaseTable, [{
51098
51397
  key: "getDoms",
51099
51398
  value: function getDoms() {
51100
- _utils__WEBPACK_IMPORTED_MODULE_30__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
51399
+ _utils__WEBPACK_IMPORTED_MODULE_31__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
51101
51400
  return this.domHelper;
51102
51401
  }
51103
51402
  /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
@@ -51169,7 +51468,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51169
51468
  var _this$props3 = this.props,
51170
51469
  stickyTop = _this$props3.stickyTop,
51171
51470
  hasHeader = _this$props3.hasHeader;
51172
- var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_31__["default"])('header');
51471
+ var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('header');
51173
51472
  var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
51174
51473
  if (typeof renderHeader === 'function') {
51175
51474
  return renderHeader(info, this.props, {
@@ -51177,7 +51476,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51177
51476
  });
51178
51477
  }
51179
51478
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51180
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].tableHeader, 'no-scrollbar'),
51479
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableHeader, 'no-scrollbar'),
51181
51480
  style: {
51182
51481
  top: stickyTop === 0 ? undefined : stickyTop,
51183
51482
  display: hasHeader ? undefined : 'none'
@@ -51186,7 +51485,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51186
51485
  info: info,
51187
51486
  stickyRightOffset: stickyRightOffset
51188
51487
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51189
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].verticalScrollPlaceholder,
51488
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].verticalScrollPlaceholder,
51190
51489
  style: this.hasScrollY ? {
51191
51490
  width: this.getScrollBarWidth()
51192
51491
  } : undefined
@@ -51196,7 +51495,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51196
51495
  key: "updateOffsetX",
51197
51496
  value: function updateOffsetX(nextOffsetX) {
51198
51497
  if (this.lastInfo.useVirtual.horizontal) {
51199
- if (Math.abs(nextOffsetX - this.state.offsetX) >= _utils__WEBPACK_IMPORTED_MODULE_29__["OVERSCAN_SIZE"] / 2) {
51498
+ if (Math.abs(nextOffsetX - this.state.offsetX) >= _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2) {
51200
51499
  this.setState({
51201
51500
  offsetX: nextOffsetX
51202
51501
  });
@@ -51212,7 +51511,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51212
51511
  }, {
51213
51512
  key: "syncHorizontalScroll",
51214
51513
  value: function syncHorizontalScroll(x) {
51215
- var direction = this.props.direction;
51216
51514
  var _x = Math.abs(x);
51217
51515
  this.updateOffsetX(_x);
51218
51516
  var flat = _babel_runtime_corejs3_core_js_stable_instance_flat__WEBPACK_IMPORTED_MODULE_13___default()(this.lastInfo);
@@ -51240,11 +51538,18 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51240
51538
  }, {
51241
51539
  key: "getVerticalRenderRange",
51242
51540
  value: function getVerticalRenderRange(useVirtual) {
51243
- var dataSource = this.props.dataSource;
51541
+ var _this$props4 = this.props,
51542
+ dataSource = _this$props4.dataSource,
51543
+ isLowPerformance = _this$props4.isLowPerformance;
51244
51544
  var _this$state = this.state,
51245
51545
  offsetY = _this$state.offsetY,
51246
- maxRenderHeight = _this$state.maxRenderHeight;
51546
+ maxRenderHeight = _this$state.maxRenderHeight,
51547
+ previousRenderData = _this$state.previousRenderData;
51247
51548
  var rowCount = dataSource.length;
51549
+ // 只有在启用快速滚动时才使用 FastScrollManager 的判断
51550
+ if (isLowPerformance && this.fastScrollManager.getIsFastScrolling() && (previousRenderData === null || previousRenderData === void 0 ? void 0 : previousRenderData.verticalRenderRange)) {
51551
+ return previousRenderData.verticalRenderRange;
51552
+ }
51248
51553
  if (useVirtual.vertical) {
51249
51554
  return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
51250
51555
  } else {
@@ -51255,14 +51560,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51255
51560
  key: "renderTableFooter",
51256
51561
  value: function renderTableFooter(info) {
51257
51562
  // console.log('render footer')
51258
- var _this$props4 = this.props,
51259
- _this$props4$footerDa = _this$props4.footerDataSource,
51260
- footerDataSource = _this$props4$footerDa === void 0 ? [] : _this$props4$footerDa,
51261
- getRowProps = _this$props4.getRowProps,
51262
- primaryKey = _this$props4.primaryKey,
51263
- stickyBottom = _this$props4.stickyBottom;
51563
+ var _this$props5 = this.props,
51564
+ _this$props5$footerDa = _this$props5.footerDataSource,
51565
+ footerDataSource = _this$props5$footerDa === void 0 ? [] : _this$props5$footerDa,
51566
+ getRowProps = _this$props5.getRowProps,
51567
+ primaryKey = _this$props5.primaryKey,
51568
+ stickyBottom = _this$props5.stickyBottom;
51264
51569
  var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
51265
- var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_31__["default"])('footer');
51570
+ var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('footer');
51266
51571
  if (typeof renderFooter === 'function') {
51267
51572
  return renderFooter(info, this.props, {
51268
51573
  rowProps: {
@@ -51273,11 +51578,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51273
51578
  });
51274
51579
  }
51275
51580
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51276
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].tableFooter, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollContainer),
51581
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableFooter, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer),
51277
51582
  style: {
51278
51583
  bottom: stickyBottom === 0 ? undefined : stickyBottom
51279
51584
  }
51280
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_25__["HtmlTable"], {
51585
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_26__["HtmlTable"], {
51281
51586
  tbodyHtmlTag: "tfoot",
51282
51587
  data: footerDataSource,
51283
51588
  horizontalRenderInfo: info,
@@ -51291,7 +51596,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51291
51596
  limit: Infinity
51292
51597
  }
51293
51598
  }), footerDataSource.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51294
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].verticalScrollPlaceholder,
51599
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].verticalScrollPlaceholder,
51295
51600
  style: this.hasScrollY ? {
51296
51601
  width: this.getScrollBarWidth(),
51297
51602
  visibility: 'initial'
@@ -51304,49 +51609,49 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51304
51609
  var _style, _style2;
51305
51610
  var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
51306
51611
  // console.log('render LockShadows')
51307
- var leftLockShadowWidth = info.leftLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_27__["LOCK_SHADOW_PADDING"];
51308
- var rightLockShadownWidth = info.rightLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_27__["LOCK_SHADOW_PADDING"] + stickyRightOffset;
51612
+ var leftLockShadowWidth = info.leftLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_28__["LOCK_SHADOW_PADDING"];
51613
+ var rightLockShadownWidth = info.rightLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_28__["LOCK_SHADOW_PADDING"] + stickyRightOffset;
51309
51614
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51310
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].lockShadowMask,
51311
- style: (_style = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, Object(_utils__WEBPACK_IMPORTED_MODULE_29__["swapRTLDirection"])(info.direction, 'left'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, "width", leftLockShadowWidth), _style)
51615
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadowMask,
51616
+ style: (_style = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["swapRTLDirection"])(info.direction, 'left'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, "width", leftLockShadowWidth), _style)
51312
51617
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51313
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].leftLockShadow)
51618
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].leftLockShadow)
51314
51619
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51315
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].lockShadowMask,
51316
- style: (_style2 = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, Object(_utils__WEBPACK_IMPORTED_MODULE_29__["swapRTLDirection"])(info.direction, 'right'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, "width", rightLockShadownWidth), _style2)
51620
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadowMask,
51621
+ style: (_style2 = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["swapRTLDirection"])(info.direction, 'right'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, "width", rightLockShadownWidth), _style2)
51317
51622
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51318
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].rightLockShadow)
51623
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].rightLockShadow)
51319
51624
  })));
51320
51625
  }
51321
51626
  }, {
51322
51627
  key: "renderStickyScroll",
51323
51628
  value: function renderStickyScroll(info) {
51324
51629
  // console.log('render stickyscroll')
51325
- var _this$props5 = this.props,
51326
- hasStickyScroll = _this$props5.hasStickyScroll,
51327
- stickyBottom = _this$props5.stickyBottom;
51630
+ var _this$props6 = this.props,
51631
+ hasStickyScroll = _this$props6.hasStickyScroll,
51632
+ stickyBottom = _this$props6.stickyBottom;
51328
51633
  var hasScroll = this.state.hasScroll;
51329
51634
  var isScroll = hasStickyScroll && hasScroll;
51330
51635
  var stickyScrollContainerStyle = this.getStickyScrollContainerStyle();
51331
51636
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51332
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalStickyScrollContainer),
51637
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalStickyScrollContainer),
51333
51638
  style: stickyScrollContainerStyle
51334
51639
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51335
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollLeftSpacer),
51640
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollLeftSpacer),
51336
51641
  style: {
51337
51642
  width: info.leftLockTotalWidth,
51338
51643
  display: isScroll ? 'block' : 'none'
51339
51644
  }
51340
51645
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51341
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].stickyScroll),
51646
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].stickyScroll),
51342
51647
  style: {
51343
51648
  display: isScroll ? 'block' : 'none',
51344
51649
  bottom: stickyBottom
51345
51650
  }
51346
51651
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51347
- className: _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].stickyScrollItem
51652
+ className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].stickyScrollItem
51348
51653
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
51349
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollRightSpacer),
51654
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollRightSpacer),
51350
51655
  style: {
51351
51656
  width: info.rightLockTotalWidth,
51352
51657
  display: isScroll ? 'block' : 'none'
@@ -51356,14 +51661,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51356
51661
  }, {
51357
51662
  key: "getScrollBarWidth",
51358
51663
  value: function getScrollBarWidth() {
51359
- return this.props.scrollbarWidth || Object(_utils__WEBPACK_IMPORTED_MODULE_29__["getScrollbarSize"])().width;
51664
+ return this.props.scrollbarWidth || Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getScrollbarSize"])().width;
51360
51665
  }
51361
51666
  }, {
51362
51667
  key: "getStickyScrollContainerStyle",
51363
51668
  value: function getStickyScrollContainerStyle() {
51364
- var _this$props6 = this.props,
51365
- hasStickyScroll = _this$props6.hasStickyScroll,
51366
- stickyScrollHeight = _this$props6.stickyScrollHeight;
51669
+ var _this$props7 = this.props,
51670
+ hasStickyScroll = _this$props7.hasStickyScroll,
51671
+ stickyScrollHeight = _this$props7.stickyScrollHeight;
51367
51672
  var hasScroll = this.state.hasScroll;
51368
51673
  var isScroll = hasStickyScroll && hasScroll;
51369
51674
  var height = stickyScrollHeight === 'auto' ? this.getScrollBarWidth() : stickyScrollHeight;
@@ -51381,23 +51686,24 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51381
51686
  // console.log('render table')
51382
51687
  var info = Object(_calculations__WEBPACK_IMPORTED_MODULE_19__["calculateRenderInfo"])(this);
51383
51688
  this.lastInfo = info;
51384
- var _this$props7 = this.props,
51385
- dataSource = _this$props7.dataSource,
51386
- className = _this$props7.className,
51387
- style = _this$props7.style,
51388
- hasHeader = _this$props7.hasHeader,
51389
- useOuterBorder = _this$props7.useOuterBorder,
51390
- isStickyHead = _this$props7.isStickyHead,
51391
- isStickyHeader = _this$props7.isStickyHeader,
51392
- isStickyFooter = _this$props7.isStickyFooter,
51393
- isLoading = _this$props7.isLoading,
51394
- getTableProps = _this$props7.getTableProps,
51395
- footerDataSource = _this$props7.footerDataSource,
51396
- components = _this$props7.components,
51397
- bordered = _this$props7.bordered,
51398
- direction = _this$props7.direction;
51689
+ var _this$props8 = this.props,
51690
+ dataSource = _this$props8.dataSource,
51691
+ className = _this$props8.className,
51692
+ style = _this$props8.style,
51693
+ hasHeader = _this$props8.hasHeader,
51694
+ useOuterBorder = _this$props8.useOuterBorder,
51695
+ isStickyHead = _this$props8.isStickyHead,
51696
+ isStickyHeader = _this$props8.isStickyHeader,
51697
+ isStickyFooter = _this$props8.isStickyFooter,
51698
+ isLoading = _this$props8.isLoading,
51699
+ getTableProps = _this$props8.getTableProps,
51700
+ footerDataSource = _this$props8.footerDataSource,
51701
+ components = _this$props8.components,
51702
+ bordered = _this$props8.bordered,
51703
+ direction = _this$props8.direction,
51704
+ prefixCls = _this$props8.prefixCls;
51399
51705
  info.direction = direction;
51400
- var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].artTableWrapper, (_cx = {
51706
+ var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTableWrapper, (_cx = {
51401
51707
  'use-outer-border': useOuterBorder,
51402
51708
  empty: dataSource.length === 0,
51403
51709
  lock: info.hasLockColumn,
@@ -51405,24 +51711,25 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51405
51711
  'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
51406
51712
  'has-footer': footerDataSource.length > 0,
51407
51713
  'sticky-footer': isStickyFooter
51408
- }, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].artTableBordered, bordered), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'ie-polyfill-wrapper', _utils__WEBPACK_IMPORTED_MODULE_30__["browserType"].isIE), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'sticky-polyfill-wrapper', Object(_utils__WEBPACK_IMPORTED_MODULE_30__["isStickyUIDegrade"])()), _cx), className);
51714
+ }, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTableBordered, bordered), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'ie-polyfill-wrapper', _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isIE), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'sticky-polyfill-wrapper', Object(_utils__WEBPACK_IMPORTED_MODULE_31__["isStickyUIDegrade"])()), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, "".concat(prefixCls, "-table"), prefixCls), _cx), className);
51409
51715
  var artTableWrapperProps = _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()({
51410
51716
  className: artTableWrapperClassName,
51411
51717
  style: _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, style), {
51412
51718
  direction: direction
51413
51719
  })
51414
- }, _utils__WEBPACK_IMPORTED_MODULE_29__["STYLED_REF_PROP"], this.artTableWrapperRef);
51720
+ }, _utils__WEBPACK_IMPORTED_MODULE_30__["STYLED_REF_PROP"], this.artTableWrapperRef);
51415
51721
  var tableProps = getTableProps() || {};
51416
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_globalStyleComponent__WEBPACK_IMPORTED_MODULE_28__["default"], {
51722
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_globalStyleComponent__WEBPACK_IMPORTED_MODULE_29__["default"], {
51417
51723
  direction: info.direction
51418
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_styles__WEBPACK_IMPORTED_MODULE_27__["StyledArtTableWrapper"], _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, artTableWrapperProps, {
51419
- direction: info.direction
51420
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_loading__WEBPACK_IMPORTED_MODULE_26__["default"], {
51724
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_styles__WEBPACK_IMPORTED_MODULE_28__["StyledArtTableWrapper"], _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, artTableWrapperProps, {
51725
+ direction: info.direction,
51726
+ prefixCls: this.props.prefixCls
51727
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_loading__WEBPACK_IMPORTED_MODULE_27__["default"], {
51421
51728
  visible: isLoading,
51422
51729
  LoadingIcon: components.LoadingIcon,
51423
51730
  LoadingContentWrapper: components.LoadingContentWrapper
51424
51731
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, tableProps, {
51425
- className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].artTable, tableProps.className)
51732
+ className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTable, tableProps.className)
51426
51733
  }), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info))));
51427
51734
  }
51428
51735
  }, {
@@ -51436,11 +51743,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51436
51743
  this.initSubscriptions();
51437
51744
  this.didMountOrUpdate();
51438
51745
  // console.log('did mount end')
51439
- var _this$props8 = this.props,
51440
- cssVariables = _this$props8.cssVariables,
51441
- enableCSSVariables = _this$props8.enableCSSVariables,
51442
- bordered = _this$props8.bordered;
51443
- Object(_utils__WEBPACK_IMPORTED_MODULE_29__["cssPolifill"])({
51746
+ var _this$props9 = this.props,
51747
+ cssVariables = _this$props9.cssVariables,
51748
+ enableCSSVariables = _this$props9.enableCSSVariables,
51749
+ bordered = _this$props9.bordered;
51750
+ Object(_utils__WEBPACK_IMPORTED_MODULE_30__["cssPolifill"])({
51444
51751
  variables: cssVariables || {},
51445
51752
  enableCSSVariables: enableCSSVariables,
51446
51753
  bordered: bordered
@@ -51454,12 +51761,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51454
51761
  value: function componentDidUpdate(prevProps, prevState) {
51455
51762
  var _a;
51456
51763
  // console.log('did update start')
51457
- var _this$props9 = this.props,
51458
- cssVariables = _this$props9.cssVariables,
51459
- enableCSSVariables = _this$props9.enableCSSVariables,
51460
- bordered = _this$props9.bordered;
51461
- if (!Object(_utils__WEBPACK_IMPORTED_MODULE_29__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_a = this.props) === null || _a === void 0 ? void 0 : _a.cssVariables)) {
51462
- Object(_utils__WEBPACK_IMPORTED_MODULE_29__["cssPolifill"])({
51764
+ var _this$props10 = this.props,
51765
+ cssVariables = _this$props10.cssVariables,
51766
+ enableCSSVariables = _this$props10.enableCSSVariables,
51767
+ bordered = _this$props10.bordered;
51768
+ if (!Object(_utils__WEBPACK_IMPORTED_MODULE_30__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_a = this.props) === null || _a === void 0 ? void 0 : _a.cssVariables)) {
51769
+ Object(_utils__WEBPACK_IMPORTED_MODULE_30__["cssPolifill"])({
51463
51770
  variables: cssVariables || {},
51464
51771
  enableCSSVariables: enableCSSVariables,
51465
51772
  bordered: bordered
@@ -51473,10 +51780,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51473
51780
  }, {
51474
51781
  key: "didMountOrUpdate",
51475
51782
  value: function didMountOrUpdate(prevProps, prevState) {
51476
- this.syncHorizontalScrollFromTableBody();
51477
- this.updateStickyScroll();
51478
- this.adjustNeedRenderLock();
51479
- this.updateRowHeightManager();
51783
+ var _this2 = this;
51784
+ window.requestAnimationFrame(function () {
51785
+ _this2.syncHorizontalScrollFromTableBody();
51786
+ _this2.updateStickyScroll();
51787
+ _this2.adjustNeedRenderLock();
51788
+ _this2.updateRowHeightManager();
51789
+ });
51480
51790
  this.updateScrollLeftWhenLayoutChanged(prevProps, prevState);
51481
51791
  }
51482
51792
  }, {
@@ -51491,38 +51801,38 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51491
51801
  var prevHasFooter = prevProps.footerDataSource.length > 0;
51492
51802
  var currentHasFooter = this.props.footerDataSource.length > 0;
51493
51803
  if (!prevHasFooter && currentHasFooter) {
51494
- Object(_utils__WEBPACK_IMPORTED_MODULE_29__["getTableScrollFooterDOM"])(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft;
51804
+ Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollFooterDOM"])(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft;
51495
51805
  }
51496
51806
  }
51497
51807
  }
51498
51808
  }, {
51499
51809
  key: "initSubscriptions",
51500
51810
  value: function initSubscriptions() {
51501
- var _this2 = this;
51811
+ var _this3 = this;
51502
51812
  var _this$domHelper2 = this.domHelper,
51503
51813
  virtual = _this$domHelper2.virtual,
51504
51814
  stickyScroll = _this$domHelper2.stickyScroll;
51505
- this.rootSubscription.add(_utils__WEBPACK_IMPORTED_MODULE_29__["throttledWindowResize$"].subscribe(function () {
51506
- _this2.updateStickyScroll();
51507
- _this2.adjustNeedRenderLock();
51815
+ this.rootSubscription.add(_utils__WEBPACK_IMPORTED_MODULE_30__["throttledWindowResize$"].subscribe(function () {
51816
+ _this3.updateStickyScroll();
51817
+ _this3.adjustNeedRenderLock();
51508
51818
  }));
51509
51819
  this.resizeSubject.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["debounceTime"](100)).subscribe(function () {
51510
51820
  var _a, _b;
51511
- (_b = (_a = _this2.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, _this2.domHelper.tableBody.clientWidth);
51821
+ (_b = (_a = _this3.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, _this3.domHelper.tableBody.clientWidth);
51512
51822
  });
51513
51823
  var handleTableWrapperResize = function handleTableWrapperResize() {
51514
- _this2.resizeSubject.next();
51824
+ _this3.resizeSubject.next();
51515
51825
  };
51516
- this.resizeObserver = Object(_utils__WEBPACK_IMPORTED_MODULE_29__["addResizeObserver"])(this.domHelper.artTableWrapper, handleTableWrapperResize);
51826
+ this.resizeObserver = Object(_utils__WEBPACK_IMPORTED_MODULE_30__["addResizeObserver"])(this.domHelper.artTableWrapper, handleTableWrapperResize);
51517
51827
  // 滚动同步
51518
- this.rootSubscription.add(Object(_utils__WEBPACK_IMPORTED_MODULE_29__["syncScrollLeft"])([Object(_utils__WEBPACK_IMPORTED_MODULE_29__["getTableScrollHeaderDOM"])(this.domHelper), virtual, Object(_utils__WEBPACK_IMPORTED_MODULE_29__["getTableScrollFooterDOM"])(this.domHelper), stickyScroll], function (scrollLeft) {
51519
- _this2.syncHorizontalScroll(scrollLeft);
51828
+ this.rootSubscription.add(Object(_utils__WEBPACK_IMPORTED_MODULE_30__["syncScrollLeft"])([Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollHeaderDOM"])(this.domHelper), virtual, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollFooterDOM"])(this.domHelper), stickyScroll], function (scrollLeft) {
51829
+ _this3.syncHorizontalScroll(scrollLeft);
51520
51830
  }));
51521
51831
  var richVisibleRects$ = Object(_helpers_getRichVisibleRectsStream__WEBPACK_IMPORTED_MODULE_22__["getRichVisibleRectsStream"])(this.domHelper.virtual, this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["skip"](1), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["mapTo"]('structure-may-change')), this.props.virtualDebugLabel).pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["shareReplay"]());
51522
51832
  // 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)
51523
51833
  this.rootSubscription.add(Object(rxjs__WEBPACK_IMPORTED_MODULE_17__["combineLatest"])([richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (p) {
51524
51834
  return p.clipRect;
51525
- }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_29__["shallowEqual"])), this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["startWith"](null), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["pairwise"](), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["filter"](function (_ref) {
51835
+ }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_30__["shallowEqual"])), this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["startWith"](null), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["pairwise"](), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["filter"](function (_ref) {
51526
51836
  var _ref2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_ref, 2),
51527
51837
  prevProps = _ref2[0],
51528
51838
  props = _ref2[1];
@@ -51530,7 +51840,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51530
51840
  }))]).subscribe(function (_ref3) {
51531
51841
  var _ref4 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_ref3, 1),
51532
51842
  clipRect = _ref4[0];
51533
- var loadingIndicator = _this2.domHelper.getLoadingIndicator();
51843
+ var loadingIndicator = _this3.domHelper.getLoadingIndicator();
51534
51844
  if (!loadingIndicator) {
51535
51845
  return;
51536
51846
  }
@@ -51541,9 +51851,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51541
51851
  }));
51542
51852
  // 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render
51543
51853
  this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["filter"](function () {
51544
- var _this2$lastInfo$useVi = _this2.lastInfo.useVirtual,
51545
- horizontal = _this2$lastInfo$useVi.horizontal,
51546
- vertical = _this2$lastInfo$useVi.vertical;
51854
+ var _this3$lastInfo$useVi = _this3.lastInfo.useVirtual,
51855
+ horizontal = _this3$lastInfo$useVi.horizontal,
51856
+ vertical = _this3$lastInfo$useVi.vertical;
51547
51857
  return horizontal || vertical;
51548
51858
  }), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (_ref5) {
51549
51859
  var clipRect = _ref5.clipRect,
@@ -51559,9 +51869,30 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51559
51869
  return true;
51560
51870
  }
51561
51871
  // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
51562
- return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < _utils__WEBPACK_IMPORTED_MODULE_29__["OVERSCAN_SIZE"] / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < _utils__WEBPACK_IMPORTED_MODULE_29__["OVERSCAN_SIZE"] / 2 && Math.abs(x.offsetY - y.offsetY) < _utils__WEBPACK_IMPORTED_MODULE_29__["OVERSCAN_SIZE"] / 2;
51872
+ return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2 && Math.abs(x.offsetY - y.offsetY) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2;
51873
+ }),
51874
+ // 快速滚动检测和处理
51875
+ rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["tap"](function (sizeAndOffset) {
51876
+ // 只有在启用快速滚动时才使用 FastScrollManager 处理滚动事件
51877
+ if (_this3.props.isLowPerformance) {
51878
+ _this3.fastScrollManager.handleScrollEvent(sizeAndOffset, {
51879
+ offsetY: _this3.state.offsetY,
51880
+ maxRenderHeight: _this3.state.maxRenderHeight,
51881
+ maxRenderWidth: _this3.state.maxRenderWidth
51882
+ }, _this3.props.dataSource.length, _this3.domHelper.virtual.scrollHeight);
51883
+ }
51563
51884
  })).subscribe(function (sizeAndOffset) {
51564
- _this2.setState(sizeAndOffset);
51885
+ var _a, _b;
51886
+ // 正常滚动时也需要实时更新 blank 高度,确保缓慢滚动时的视觉连续性
51887
+ var currentRange = _this3.rowHeightManager.getRenderRange(sizeAndOffset.offsetY, sizeAndOffset.maxRenderHeight, _this3.props.dataSource.length);
51888
+ // 直接更新 DOM,避免等待下次渲染
51889
+ (_a = _this3.topBlankRef.current) === null || _a === void 0 ? void 0 : _a.updateHeight(currentRange.topBlank);
51890
+ (_b = _this3.bottomBlankRef.current) === null || _b === void 0 ? void 0 : _b.updateHeight(currentRange.bottomBlank);
51891
+ // 只有在启用快速滚动时才检查快速滚动状态
51892
+ if (_this3.props.isLowPerformance && _this3.fastScrollManager.getIsFastScrolling()) {
51893
+ return;
51894
+ }
51895
+ _this3.setState(sizeAndOffset);
51565
51896
  }));
51566
51897
  this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (_ref6) {
51567
51898
  var clipRect = _ref6.clipRect,
@@ -51579,13 +51910,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51579
51910
  var _a;
51580
51911
  var offsetY = sizeAndOffset.offsetY,
51581
51912
  maxRenderHeight = sizeAndOffset.maxRenderHeight;
51582
- var scrollDirection = offsetY - _this2.offsetY >= 0 ? 'down' : 'up';
51583
- _this2.offsetY = offsetY;
51584
- var rowCount = _this2.props.dataSource.length;
51585
- var vertical = _this2.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
51913
+ var scrollDirection = offsetY - _this3.offsetY >= 0 ? 'down' : 'up';
51914
+ _this3.offsetY = offsetY;
51915
+ var rowCount = _this3.props.dataSource.length;
51916
+ var vertical = _this3.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
51586
51917
  var topIndex = vertical.topIndex,
51587
51918
  bottomIndex = vertical.bottomIndex;
51588
- var blockSize = ((_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.blockSize) || 200;
51919
+ var blockSize = ((_a = _this3.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.blockSize) || 200;
51589
51920
  var topBlockStartIndex = Math.floor(Math.max(topIndex - 1, 0) / blockSize) * blockSize;
51590
51921
  var bottomBlockStartIndex = Math.floor((bottomIndex + 1) / blockSize) * blockSize;
51591
51922
  return scrollDirection === 'down' ? [topBlockStartIndex, bottomBlockStartIndex] : [bottomBlockStartIndex, topBlockStartIndex];
@@ -51600,7 +51931,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51600
51931
  // 过滤掉重复掉值
51601
51932
  rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"]()).subscribe(function (startIndex) {
51602
51933
  var _a;
51603
- (_a = _this2.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.callback(startIndex);
51934
+ (_a = _this3.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.callback(startIndex);
51604
51935
  }));
51605
51936
  }
51606
51937
  }, {
@@ -51610,6 +51941,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51610
51941
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
51611
51942
  this.rootSubscription.unsubscribe();
51612
51943
  this.resizeSubject.unsubscribe();
51944
+ // 只有在启用快速滚动时才清理快速滚动管理器
51945
+ if (this.props.isLowPerformance) {
51946
+ this.fastScrollManager.cleanup();
51947
+ }
51613
51948
  }
51614
51949
  /** 更新 DOM 节点的引用,方便其他方法直接操作 DOM */
51615
51950
  }, {
@@ -51673,7 +52008,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
51673
52008
  hasLockColumn = _this$lastInfo2.hasLockColumn;
51674
52009
  if (hasLockColumn) {
51675
52010
  var _context;
51676
- var sumOfColWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_29__["sum"])(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_14___default()(_context = flat.full).call(_context, function (col) {
52011
+ var sumOfColWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_30__["sum"])(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_14___default()(_context = flat.full).call(_context, function (col) {
51677
52012
  return col.width;
51678
52013
  }));
51679
52014
  var nextNeedRenderLock = sumOfColWidth > this.domHelper.artTable.clientWidth;
@@ -51704,6 +52039,7 @@ BaseTable.defaultProps = {
51704
52039
  stickyScrollHeight: 'auto',
51705
52040
  useVirtual: 'auto',
51706
52041
  estimatedRowHeight: 48,
52042
+ isLowPerformance: false,
51707
52043
  isLoading: false,
51708
52044
  components: {},
51709
52045
  getTableProps: rxjs__WEBPACK_IMPORTED_MODULE_17__["noop"],
@@ -52706,6 +53042,8 @@ __webpack_require__.r(__webpack_exports__);
52706
53042
  /* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3__);
52707
53043
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./node_modules/@kdcloudjs/table/es/table/utils/index.js");
52708
53044
  /* harmony import */ var _autoFill__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./autoFill */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/autoFill.js");
53045
+ /* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
53046
+
52709
53047
 
52710
53048
 
52711
53049
 
@@ -52769,251 +53107,237 @@ function columnDrag() {
52769
53107
  style: style
52770
53108
  });
52771
53109
  },
52772
- headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_4__["mergeCellProps"])(col.headerCellProps, {
52773
- onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
53110
+ headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_4__["mergeCellProps"])(col.headerCellProps, _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, isLeaf && path.length === 1 ? {
53111
+ onMouseDown: function onMouseDown(e) {
52774
53112
  if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
52775
53113
  return;
52776
53114
  }
52777
- window.addEventListener('selectstart', disableSelect);
52778
- // const cx = e.clientX
52779
- // const width = col.width
52780
- // const a = startIndex
52781
- // const b = endIndex
52782
- // const newColumnDragData = [...columnDragData]
52783
- // let newColumn = [...columns]
52784
- // let newStartIndex = startIndex
52785
- // let endIdx = endIndex
52786
- var columnMoved = false;
52787
- var columns = pipeline.getColumns();
52788
- var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
52789
- cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
52790
- var cloumnsSortData = {};
52791
- columns.forEach(function (item, index) {
52792
- cloumnsSortData[item.code] = index;
52793
- });
52794
- var currentTarget = e.currentTarget;
52795
- var rect = e.currentTarget.parentElement.getClientRects()[0];
52796
- var startX = direction === 'rtl' ? rect.right : rect.left;
52797
- var mouseDownClientX = e.clientX;
52798
- var mouseDownClientY = e.clientY;
52799
- var moveData = [];
52800
- var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["collectNodes"])(columns);
52801
- var tableBodyClientRect = tableBody.getBoundingClientRect();
52802
- var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
52803
- var updateScrollPosition = function updateScrollPosition(client) {
52804
- var clientX = client.clientX;
52805
- var left = tableBodyClientRect.left,
52806
- width = tableBodyClientRect.width;
52807
- if (clientX + SCROLL_SIZE >= left + width) {
52808
- pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
52809
- }
52810
- if (clientX - SCROLL_SIZE <= left) {
52811
- pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
52812
- }
52813
- };
52814
- function handleMouseMove(e) {
52815
- var client = {
52816
- clientX: e.clientX,
52817
- clientY: e.clientY
52818
- };
52819
- var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
52820
- var startPosition = startX - scrollDistance; // 表头最左边起点
52821
- var offsetDistance = direction === 'rtl' ? startPosition - e.clientX : e.clientX - startPosition;
52822
- updateScrollPosition(client);
52823
- if (offsetDistance < 20) {
52824
- return;
52825
- } else {
52826
- e.stopPropagation();
52827
- }
52828
- document.body.style.userSelect = 'none';
52829
- currentTarget.style.cursor = 'move';
52830
- // 循环计算每一个的位置
52831
- // if (startIndex !== replaceIndex) {
52832
- // const optionColumn = columns[startIndex]
52833
- // const move = startIndex > replaceIndex ? 1 : -1
52834
- // let index = Math.min(startIndex, replaceIndex)
52835
- // while (index < Math.max(startIndex, replaceIndex)) {
52836
- // const code = columns[index].code
52837
- // cloumnsTranslateData[code] += move * optionColumn.width
52838
- // cloumnsTranslateData[optionColumn.code] -= move * optionColumn.width
52839
- // index += move
52840
- // }
52841
- // }
52842
- // const opColumn = columns[startIndex]
52843
- // let index = Math.min(startIndex, replaceIndex)
52844
- // while (index <= Math.max(startIndex, replaceIndex)) {
52845
- // const code = columns[index].code
52846
- // if (index !== startIndex && index !== replaceIndex) {
52847
- // cloumnsTranslateData[code] += opColumn.width * (index > startIndex ? -1 : 1)
52848
- // cloumnsTranslateData[opColumn.code] += columns[index].width * (index < startIndex ? -1 : 1)
52849
- // }
52850
- // index++
52851
- // }
52852
- // 重置位置信息
52853
- cloumnsTranslateData = {};
52854
- allColumns.forEach(function (item) {
52855
- cloumnsTranslateData[item.code] = 0;
52856
- });
52857
- // 计算平移位置
52858
- var replaceIndex = 0;
52859
- var totalWitdth = getColumnWidth(columns[replaceIndex]);
52860
- while (totalWitdth < offsetDistance && replaceIndex < columns.length - 1) {
52861
- replaceIndex++;
52862
- totalWitdth += getColumnWidth(columns[replaceIndex]);
52863
- }
52864
- // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
52865
- var startIndex;
52866
- columns.forEach(function (column, index) {
52867
- if (column.code === col.code) {
52868
- startIndex = index;
52869
- }
52870
- });
52871
- var optionColumn = columns[startIndex];
52872
- var index = replaceIndex;
52873
- if (startIndex > replaceIndex) {
52874
- // 左移
52875
- while (index < startIndex) {
52876
- var _columns$index = columns[index],
52877
- code = _columns$index.code,
52878
- lock = _columns$index.lock,
52879
- width = _columns$index.width,
52880
- children = _columns$index.children;
52881
- if (enableMove({
52882
- code: code,
52883
- lock: lock
52884
- })) {
52885
- cloumnsTranslateData[code] += _adjustTranslation(optionColumn.width);
52886
- if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
52887
- cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(width);
52888
- } else {
52889
- cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(getColumnWidth(columns[index]));
52890
- moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width));
52891
- }
52892
- columnMoved = true;
52893
- }
52894
- index++;
52895
- }
52896
- } else if (startIndex < replaceIndex) {
52897
- // 右移
52898
- while (startIndex < index) {
52899
- var _columns$index2 = columns[index],
52900
- _code = _columns$index2.code,
52901
- _lock = _columns$index2.lock,
52902
- _width = _columns$index2.width,
52903
- _children = _columns$index2.children;
52904
- if (enableMove({
52905
- code: _code,
52906
- lock: _lock
52907
- })) {
52908
- cloumnsTranslateData[_code] -= _adjustTranslation(optionColumn.width);
52909
- if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
52910
- cloumnsTranslateData[optionColumn.code] += _adjustTranslation(_width);
52911
- } else {
52912
- cloumnsTranslateData[optionColumn.code] += _adjustTranslation(getColumnWidth(columns[index]));
52913
- moveAllChildren(_children, cloumnsTranslateData, _adjustTranslation(optionColumn.width), true);
52914
- }
52915
- columnMoved = true;
52916
- }
52917
- index--;
53115
+ handlePointerDown(e.nativeEvent, false, e.currentTarget);
53116
+ },
53117
+ onTouchStart: function onTouchStart(e) {
53118
+ // 阻止触摸事件的默认行为
53119
+ if (e.cancelable) {
53120
+ e.preventDefault();
53121
+ }
53122
+ handlePointerDown(e.nativeEvent, true, e.currentTarget);
53123
+ }
53124
+ } : {}), {
53125
+ style: style
53126
+ }))
53127
+ });
53128
+ // 统一的拖拽处理函数
53129
+ function handlePointerDown(startEvent, isTouch, currentTarget) {
53130
+ var _a;
53131
+ window.addEventListener('selectstart', disableSelect);
53132
+ var columnMoved = false;
53133
+ var columns = pipeline.getColumns();
53134
+ var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
53135
+ cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
53136
+ var cloumnsSortData = {};
53137
+ columns.forEach(function (item, index) {
53138
+ cloumnsSortData[item.code] = index;
53139
+ });
53140
+ var rect = (_a = currentTarget.parentElement) === null || _a === void 0 ? void 0 : _a.getClientRects()[0];
53141
+ if (!rect) return;
53142
+ var startX = direction === 'rtl' ? rect.right : rect.left;
53143
+ var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(startEvent);
53144
+ var mouseDownClientX = startCoordinates.clientX;
53145
+ var mouseDownClientY = startCoordinates.clientY;
53146
+ var moveData = [];
53147
+ var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["collectNodes"])(columns);
53148
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
53149
+ var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
53150
+ var updateScrollPosition = function updateScrollPosition(client) {
53151
+ var clientX = client.clientX;
53152
+ var left = tableBodyClientRect.left,
53153
+ width = tableBodyClientRect.width;
53154
+ if (clientX + SCROLL_SIZE >= left + width) {
53155
+ pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
53156
+ }
53157
+ if (clientX - SCROLL_SIZE <= left) {
53158
+ pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
53159
+ }
53160
+ };
53161
+ function handlePointerMove(e) {
53162
+ // 触摸事件需要阻止默认行为,防止页面滚动
53163
+ if (isTouch && e.cancelable) {
53164
+ e.preventDefault();
53165
+ }
53166
+ var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(e);
53167
+ var client = {
53168
+ clientX: coordinates.clientX,
53169
+ clientY: coordinates.clientY
53170
+ };
53171
+ var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
53172
+ var startPosition = startX - scrollDistance; // 表头最左边起点
53173
+ var offsetDistance = direction === 'rtl' ? startPosition - coordinates.clientX : coordinates.clientX - startPosition;
53174
+ updateScrollPosition(client);
53175
+ if (offsetDistance < 20) {
53176
+ return;
53177
+ } else {
53178
+ e.stopPropagation();
53179
+ }
53180
+ document.body.style.userSelect = 'none';
53181
+ currentTarget.style.cursor = 'move';
53182
+ // 重置位置信息
53183
+ cloumnsTranslateData = {};
53184
+ allColumns.forEach(function (item) {
53185
+ cloumnsTranslateData[item.code] = 0;
53186
+ });
53187
+ // 计算平移位置
53188
+ var replaceIndex = 0;
53189
+ var totalWitdth = getColumnWidth(columns[replaceIndex]);
53190
+ while (totalWitdth < offsetDistance && replaceIndex < columns.length - 1) {
53191
+ replaceIndex++;
53192
+ totalWitdth += getColumnWidth(columns[replaceIndex]);
53193
+ }
53194
+ // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
53195
+ var startIndex;
53196
+ columns.forEach(function (column, index) {
53197
+ if (column.code === col.code) {
53198
+ startIndex = index;
53199
+ }
53200
+ });
53201
+ var optionColumn = columns[startIndex];
53202
+ var index = replaceIndex;
53203
+ if (startIndex > replaceIndex) {
53204
+ // 左移
53205
+ while (index < startIndex) {
53206
+ var _columns$index = columns[index],
53207
+ code = _columns$index.code,
53208
+ lock = _columns$index.lock,
53209
+ width = _columns$index.width,
53210
+ children = _columns$index.children;
53211
+ if (enableMove({
53212
+ code: code,
53213
+ lock: lock
53214
+ })) {
53215
+ cloumnsTranslateData[code] += _adjustTranslation(optionColumn.width);
53216
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
53217
+ cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(width);
53218
+ } else {
53219
+ cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(getColumnWidth(columns[index]));
53220
+ moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width));
52918
53221
  }
53222
+ columnMoved = true;
52919
53223
  }
52920
- window.requestAnimationFrame(function () {
52921
- pipeline.setStateAtKey(stateKey, {
52922
- cloumnsTranslateData: cloumnsTranslateData
52923
- });
52924
- moveData = [startIndex, replaceIndex];
52925
- });
53224
+ index++;
52926
53225
  }
52927
- function handleMouseUp(e) {
52928
- document.body.removeEventListener('mousemove', handleMouseMove);
52929
- document.body.removeEventListener('mouseup', handleMouseUp);
52930
- window.removeEventListener('selectstart', disableSelect);
52931
- if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
52932
- e.stopPropagation(); // 存在移动就阻止冒泡
52933
- currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
53226
+ } else if (startIndex < replaceIndex) {
53227
+ // 右移
53228
+ while (startIndex < index) {
53229
+ var _columns$index2 = columns[index],
53230
+ _code = _columns$index2.code,
53231
+ _lock = _columns$index2.lock,
53232
+ _width = _columns$index2.width,
53233
+ _children = _columns$index2.children;
53234
+ if (enableMove({
53235
+ code: _code,
53236
+ lock: _lock
53237
+ })) {
53238
+ cloumnsTranslateData[_code] -= _adjustTranslation(optionColumn.width);
53239
+ if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
53240
+ cloumnsTranslateData[optionColumn.code] += _adjustTranslation(_width);
53241
+ } else {
53242
+ cloumnsTranslateData[optionColumn.code] += _adjustTranslation(getColumnWidth(columns[index]));
53243
+ moveAllChildren(_children, cloumnsTranslateData, _adjustTranslation(optionColumn.width), true);
53244
+ }
53245
+ columnMoved = true;
52934
53246
  }
53247
+ index--;
53248
+ }
53249
+ }
53250
+ window.requestAnimationFrame(function () {
53251
+ pipeline.setStateAtKey(stateKey, {
53252
+ cloumnsTranslateData: cloumnsTranslateData
53253
+ });
53254
+ moveData = [startIndex, replaceIndex];
53255
+ });
53256
+ }
53257
+ function handlePointerUp(e) {
53258
+ Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["removePointerEventListeners"])(document.body, {
53259
+ onPointerMove: handlePointerMove,
53260
+ onPointerUp: handlePointerUp
53261
+ }, isTouch);
53262
+ window.removeEventListener('selectstart', disableSelect);
53263
+ var endCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(e);
53264
+ if (Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["hasMovedEnough"])(mouseDownClientX, mouseDownClientY, endCoordinates.clientX, endCoordinates.clientY)) {
53265
+ e.stopPropagation(); // 存在移动就阻止冒泡
53266
+ currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
53267
+ }
52935
53268
 
52936
- window.requestAnimationFrame(function () {
52937
- // 取消阻止列头点击事件
52938
- currentTarget.removeEventListener('click', stopClickPropagation);
52939
- currentTarget = null;
52940
- var _moveData = moveData,
52941
- _moveData2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_moveData, 2),
52942
- startIndex = _moveData2[0],
52943
- replaceIndex = _moveData2[1];
52944
- var optionColumn = columns[startIndex];
52945
- // const move = startIndex > replaceIndex ? 1 : -1
52946
- // let index = Math.min(startIndex, replaceIndex)
52947
- // while (index < Math.max(startIndex, replaceIndex) && index > 0) {
52948
- // const code = columns[index].code
52949
- // cloumnsSortData[optionColumn.code] -= move
52950
- // cloumnsSortData[code] += move
52951
- // index += move
52952
- // }
52953
- var index = replaceIndex;
52954
- if (startIndex > replaceIndex) {
52955
- // 左移
52956
- while (index < startIndex) {
52957
- var _columns$index3 = columns[index],
52958
- code = _columns$index3.code,
52959
- lock = _columns$index3.lock;
52960
- if (enableMove({
52961
- code: code,
52962
- lock: lock
52963
- })) {
52964
- cloumnsSortData[code] += 1;
52965
- cloumnsSortData[optionColumn.code] -= 1;
52966
- columnMoved = true;
52967
- }
52968
- index++;
52969
- }
52970
- } else if (startIndex < replaceIndex) {
52971
- // 右移
52972
- while (index > startIndex) {
52973
- var _columns$index4 = columns[index],
52974
- _code2 = _columns$index4.code,
52975
- _lock2 = _columns$index4.lock;
52976
- if (enableMove({
52977
- code: _code2,
52978
- lock: _lock2
52979
- })) {
52980
- cloumnsSortData[_code2] -= 1;
52981
- cloumnsSortData[optionColumn.code] += 1;
52982
- columnMoved = true;
52983
- }
52984
- index--;
52985
- }
53269
+ window.requestAnimationFrame(function () {
53270
+ // 取消阻止列头点击事件
53271
+ currentTarget.removeEventListener('click', stopClickPropagation);
53272
+ currentTarget = null;
53273
+ var _moveData = moveData,
53274
+ _moveData2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_moveData, 2),
53275
+ startIndex = _moveData2[0],
53276
+ replaceIndex = _moveData2[1];
53277
+ var optionColumn = columns[startIndex];
53278
+ var index = replaceIndex;
53279
+ if (startIndex > replaceIndex) {
53280
+ // 左移
53281
+ while (index < startIndex) {
53282
+ var _columns$index3 = columns[index],
53283
+ code = _columns$index3.code,
53284
+ lock = _columns$index3.lock;
53285
+ if (enableMove({
53286
+ code: code,
53287
+ lock: lock
53288
+ })) {
53289
+ cloumnsSortData[code] += 1;
53290
+ cloumnsSortData[optionColumn.code] -= 1;
53291
+ columnMoved = true;
52986
53292
  }
52987
- var onColumnDragStopped = opts.onColumnDragStopped;
52988
- // 拖拽结束返回列顺序
52989
- if (onColumnDragStopped) {
52990
- var _context;
52991
- var isRowDragColumn = function isRowDragColumn(code) {
52992
- var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
52993
- return code === rowDragColumnKey;
52994
- };
52995
- var newColumns = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default()(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
52996
- return column.code !== _autoFill__WEBPACK_IMPORTED_MODULE_5__["FILL_COLUMN_CODE"] && !isRowDragColumn(column.code) && !Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isSelectColumn"])(column);
52997
- });
52998
- // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
52999
- onColumnDragStopped(columnMoved, newColumns);
53293
+ index++;
53294
+ }
53295
+ } else if (startIndex < replaceIndex) {
53296
+ // 右移
53297
+ while (index > startIndex) {
53298
+ var _columns$index4 = columns[index],
53299
+ _code2 = _columns$index4.code,
53300
+ _lock2 = _columns$index4.lock;
53301
+ if (enableMove({
53302
+ code: _code2,
53303
+ lock: _lock2
53304
+ })) {
53305
+ cloumnsSortData[_code2] -= 1;
53306
+ cloumnsSortData[optionColumn.code] += 1;
53307
+ columnMoved = true;
53000
53308
  }
53001
- pipeline.setStateAtKey(stateKey, {
53002
- cloumnsTranslateData: null
53003
- });
53309
+ index--;
53310
+ }
53311
+ }
53312
+ var onColumnDragStopped = opts.onColumnDragStopped;
53313
+ // 拖拽结束返回列顺序
53314
+ if (onColumnDragStopped) {
53315
+ var _context;
53316
+ var isRowDragColumn = function isRowDragColumn(code) {
53317
+ var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
53318
+ return code === rowDragColumnKey;
53319
+ };
53320
+ var newColumns = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default()(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
53321
+ return column.code !== _autoFill__WEBPACK_IMPORTED_MODULE_5__["FILL_COLUMN_CODE"] && !isRowDragColumn(column.code) && !Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isSelectColumn"])(column);
53004
53322
  });
53005
- document.body.style.userSelect = '';
53006
- currentTarget.style.opacity = '';
53007
- currentTarget.style.cursor = '';
53323
+ // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
53324
+ onColumnDragStopped(columnMoved, newColumns);
53008
53325
  }
53009
- var onColumnDragStart = opts.onColumnDragStart;
53010
- onColumnDragStart && onColumnDragStart(col);
53011
- document.body.addEventListener('mousemove', handleMouseMove);
53012
- document.body.addEventListener('mouseup', handleMouseUp);
53013
- },
53014
- style: style
53015
- })
53016
- });
53326
+ pipeline.setStateAtKey(stateKey, {
53327
+ cloumnsTranslateData: null
53328
+ });
53329
+ });
53330
+ document.body.style.userSelect = '';
53331
+ currentTarget.style.opacity = '';
53332
+ currentTarget.style.cursor = '';
53333
+ }
53334
+ var onColumnDragStart = opts.onColumnDragStart;
53335
+ onColumnDragStart && onColumnDragStart(col);
53336
+ Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["addPointerEventListeners"])(document.body, {
53337
+ onPointerMove: handlePointerMove,
53338
+ onPointerUp: handlePointerUp
53339
+ }, isTouch);
53340
+ }
53017
53341
  }));
53018
53342
  };
53019
53343
  }
@@ -53042,15 +53366,6 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
53042
53366
  }
53043
53367
  });
53044
53368
  }
53045
- function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
53046
- var xDiff = mouseUpClientX - mouseDownClientX;
53047
- var yDiff = mouseUpClientY - mouseDownClientY;
53048
- // 鼠标点按和松开的偏移量大于5px,认为存在移动
53049
- if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
53050
- return true;
53051
- }
53052
- return false;
53053
- }
53054
53369
 
53055
53370
  /***/ }),
53056
53371
 
@@ -53452,6 +53767,7 @@ __webpack_require__.r(__webpack_exports__);
53452
53767
  /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../internals */ "./node_modules/@kdcloudjs/table/es/table/internals.js");
53453
53768
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../base/styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
53454
53769
  /* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../base/utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
53770
+ /* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
53455
53771
 
53456
53772
 
53457
53773
  var _templateObject, _templateObject2;
@@ -53466,6 +53782,7 @@ var _templateObject, _templateObject2;
53466
53782
 
53467
53783
 
53468
53784
 
53785
+
53469
53786
  var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].div(_templateObject || (_templateObject = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n position: absolute;\n top: 0;\n ", ": -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n ", ": calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])), function (props) {
53470
53787
  return Object(_base_utils__WEBPACK_IMPORTED_MODULE_12__["swapRTLDirection"])(props.direction, 'right');
53471
53788
  }, function (props) {
@@ -53519,10 +53836,12 @@ function columnResize() {
53519
53836
  var _a;
53520
53837
  (_a = opts.doubleClickCallback) === null || _a === void 0 ? void 0 : _a.call(opts, e, col);
53521
53838
  };
53522
- var handleMouseDown = function handleMouseDown(e, col) {
53839
+ // 通用的拖拽处理逻辑
53840
+ var handleResize = function handleResize(startEvent, col, eventType) {
53523
53841
  window.addEventListener('selectstart', disableSelect);
53524
53842
  var changedColumnSize = {};
53525
- var startX = e.clientX;
53843
+ var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__["getEventCoordinates"])(startEvent);
53844
+ var startX = startCoordinates.clientX;
53526
53845
  var children = col.children,
53527
53846
  code = col.code,
53528
53847
  _col$features = col.features,
@@ -53533,9 +53852,22 @@ function columnResize() {
53533
53852
  var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
53534
53853
  var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
53535
53854
  var recordColumnSize = columnSize;
53536
- e.stopPropagation();
53537
- var nextSize$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, 'mousemove').pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["takeUntil"](Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, 'mouseup')), rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["map"](function (e) {
53538
- var movingX = e.clientX;
53855
+ // 根据事件类型选择不同的事件监听器
53856
+ var moveEventName = eventType === 'mouse' ? 'mousemove' : 'touchmove';
53857
+ var endEventName = eventType === 'mouse' ? 'mouseup' : 'touchend';
53858
+ var moveEventOptions = eventType === 'touch' ? {
53859
+ passive: false
53860
+ } : undefined;
53861
+ var endEventOptions = eventType === 'touch' ? {
53862
+ passive: false
53863
+ } : undefined;
53864
+ var nextSize$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, moveEventName, moveEventOptions).pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["takeUntil"](Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, endEventName, endEventOptions)), rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["map"](function (e) {
53865
+ // 触摸事件需要阻止默认行为,防止页面滚动
53866
+ if (eventType === 'touch' && e.cancelable) {
53867
+ e.preventDefault();
53868
+ }
53869
+ var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__["getEventCoordinates"])(e);
53870
+ var movingX = coordinates.clientX;
53539
53871
  var nextColumnSize = _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, columnSize);
53540
53872
  var deltaSum = pipeline.ctx.direction === 'rtl' ? startX - movingX : movingX - startX;
53541
53873
  var deltaRemaining = deltaSum;
@@ -53593,6 +53925,19 @@ function columnResize() {
53593
53925
  }
53594
53926
  });
53595
53927
  };
53928
+ var handleMouseDown = function handleMouseDown(e, col) {
53929
+ e.stopPropagation();
53930
+ handleResize(e.nativeEvent, col, 'mouse');
53931
+ };
53932
+ // 触摸事件处理函数
53933
+ var handleTouchStart = function handleTouchStart(e, col) {
53934
+ // 阻止触摸事件的默认行为
53935
+ if (e.cancelable) {
53936
+ e.preventDefault();
53937
+ }
53938
+ e.stopPropagation();
53939
+ handleResize(e.nativeEvent, col, 'touch');
53940
+ };
53596
53941
  var isGroup = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["isGroupColumn"])(pipeline.getColumns());
53597
53942
  return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["makeRecursiveMapper"])(function (col) {
53598
53943
  var _a;
@@ -53610,6 +53955,9 @@ function columnResize() {
53610
53955
  },
53611
53956
  onMouseDown: function onMouseDown(e) {
53612
53957
  return handleMouseDown(e, col);
53958
+ },
53959
+ onTouchStart: function onTouchStart(e) {
53960
+ return handleTouchStart(e, col);
53613
53961
  }
53614
53962
  }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(TableHeaderCellResize, {
53615
53963
  direction: pipeline.ctx.direction,
@@ -53619,6 +53967,9 @@ function columnResize() {
53619
53967
  },
53620
53968
  onMouseDown: function onMouseDown(e) {
53621
53969
  return handleMouseDown(e, col);
53970
+ },
53971
+ onTouchStart: function onTouchStart(e) {
53972
+ return handleTouchStart(e, col);
53622
53973
  }
53623
53974
  }))),
53624
53975
  headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_9__["mergeCellProps"])(col.headerCellProps, {
@@ -55958,6 +56309,8 @@ __webpack_require__.r(__webpack_exports__);
55958
56309
  /* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../base/styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
55959
56310
  /* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../const */ "./node_modules/@kdcloudjs/table/es/table/pipeline/const.js");
55960
56311
  /* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../internals */ "./node_modules/@kdcloudjs/table/es/table/internals.js");
56312
+ /* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
56313
+
55961
56314
 
55962
56315
 
55963
56316
 
@@ -55989,15 +56342,14 @@ var defaultRowDragColumn = {
55989
56342
  },
55990
56343
  render: function render(value, row, rowIndex) {
55991
56344
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("svg", {
55992
- viewBox: '0 0 1024 1024',
55993
- version: '1.1',
55994
- xmlns: 'http://www.w3.org/1999/xlink',
55995
- "data-icon": 'drag',
55996
- width: '16',
55997
- height: '16'
56345
+ viewBox: "0 0 1024 1024",
56346
+ version: "1.1",
56347
+ xmlns: "http://www.w3.org/1999/xlink",
56348
+ "data-icon": "drag",
56349
+ width: "16",
56350
+ height: "16"
55998
56351
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("path", {
55999
- 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',
56000
- "p-id": '4278'
56352
+ 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"
56001
56353
  }));
56002
56354
  }
56003
56355
  };
@@ -56027,19 +56379,19 @@ function rowDrag(opt) {
56027
56379
  var treeModeOptions = getTreeModeOptions();
56028
56380
  var rowDragOptions = getRowDragOptions();
56029
56381
  var allowDragIntoRow = !!treeModeOptions && (rowDragOptions === null || rowDragOptions === void 0 ? void 0 : rowDragOptions.allowDragIntoRow);
56030
- var isLeave = !isMouseOnDropTarget(event, dropZoneTarget);
56382
+ var isLeave = !isPointerOnDropTarget(event, dropZoneTarget);
56031
56383
  var overIndex = -1;
56032
56384
  var direction = 'bottom';
56033
56385
  if (!isLeave && dataSource.length > 0) {
56034
- var overDragItem = getDragRowItem(event.target, dropZoneTarget, dataSource);
56386
+ var overDragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), dropZoneTarget, dataSource);
56035
56387
  if (overDragItem) {
56036
56388
  var rowIndex = overDragItem.rowIndex,
56037
56389
  cell = overDragItem.cell;
56038
56390
  overIndex = rowIndex;
56039
- direction = getDirection(cell, event.clientY, allowDragIntoRow);
56391
+ direction = getDirection(cell, Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event).clientY, allowDragIntoRow);
56040
56392
  }
56041
56393
  }
56042
- if (overIndex === -1 && dataSource.length > 0 && dropZoneTarget.contains(event.target)) {
56394
+ if (overIndex === -1 && dataSource.length > 0 && dropZoneTarget.contains(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event))) {
56043
56395
  overIndex = dataSource.length - 1;
56044
56396
  direction = 'bottom';
56045
56397
  }
@@ -56115,9 +56467,25 @@ function rowDrag(opt) {
56115
56467
  }
56116
56468
  };
56117
56469
  var onMouseDown = function onMouseDown(event) {
56470
+ handlePointerDown(event.nativeEvent);
56471
+ };
56472
+ // PC 单据移动端显示,兼容移动端的拖拽事件
56473
+ var onTouchStart = function onTouchStart(event) {
56474
+ // 尝试阻止触摸事件的默认行为,防止页面滚动
56475
+ try {
56476
+ if (event.cancelable) {
56477
+ event.preventDefault();
56478
+ }
56479
+ } catch (error) {
56480
+ // 忽略passive event listener错误
56481
+ console.warn('preventDefault failed in passive touch event listener');
56482
+ }
56483
+ handlePointerDown(event.nativeEvent);
56484
+ };
56485
+ // 统一的拖拽处理函数
56486
+ var handlePointerDown = function handlePointerDown(startEvent) {
56118
56487
  var _a;
56119
- var mouseDownEvent = event.nativeEvent;
56120
- var startDataItem = getDragRowItem(mouseDownEvent.target, tableBody, dataSource);
56488
+ var startDataItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(startEvent), tableBody, dataSource);
56121
56489
  if (!startDataItem || startDataItem.code !== rowDragColumn.code) return;
56122
56490
  if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex)) return;
56123
56491
  var isValidDrag = false;
@@ -56129,7 +56497,7 @@ function rowDrag(opt) {
56129
56497
  var intervalId = null;
56130
56498
  var expandRowTimeoutId = null;
56131
56499
  var expandRowCallBackList = [];
56132
- var updateScrollPosition = function updateScrollPosition(tableBody, mouseMoveEvent) {
56500
+ var updateScrollPosition = function updateScrollPosition(tableBody, moveEvent) {
56133
56501
  if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
56134
56502
  if (timeoutId) {
56135
56503
  clearTimeout(timeoutId);
@@ -56138,7 +56506,7 @@ function rowDrag(opt) {
56138
56506
  clearInterval(intervalId);
56139
56507
  }
56140
56508
  if (!tableBody) return;
56141
- var moveOffset = getScrollMoveOffset(tableBody, mouseMoveEvent);
56509
+ var moveOffset = getScrollMoveOffset(tableBody, moveEvent);
56142
56510
  if (moveOffset === 0) {
56143
56511
  return;
56144
56512
  }
@@ -56148,30 +56516,53 @@ function rowDrag(opt) {
56148
56516
  }, 50);
56149
56517
  }, 500);
56150
56518
  };
56151
- var handleDragStart = function handleDragStart(mouseDownEvent) {
56519
+ var handleDragStart = function handleDragStart(event) {
56152
56520
  var _a;
56153
- dragElement = createDragElement(mouseDownEvent, tableBody); // 创建拖拽悬浮框
56521
+ // 屏蔽默认事件,防止文本选择、框选等
56522
+ try {
56523
+ if (event.cancelable) {
56524
+ event.preventDefault();
56525
+ }
56526
+ } catch (error) {
56527
+ // 忽略passive event listener错误
56528
+ console.warn('preventDefault failed in passive event listener');
56529
+ }
56530
+ // 禁用页面的文本选择
56531
+ document.body.style.userSelect = 'none';
56532
+ document.body.style.webkitUserSelect = 'none';
56533
+ // 添加拖拽状态的CSS类,可以在样式中进一步控制
56534
+ document.body.classList.add('row-dragging');
56535
+ dragElement = createDragElement(event, tableBody); // 创建拖拽悬浮框
56154
56536
  var isTreeTable = !!pipeline.getFeatureOptions('treeModeOptions');
56155
56537
  dragLine = createDragLine(isTreeTable); // 创建拖拽插入指示线
56156
56538
  var dragText = (opt === null || opt === void 0 ? void 0 : opt.rowDragText) ? (_a = opt === null || opt === void 0 ? void 0 : opt.rowDragText) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex) : "\u7B2C".concat(startDataItem.rowIndex, "\u884C\u5185\u5BB9");
56157
56539
  setDragText(dragElement, dragText); // 设置悬浮框显示文本
56158
56540
  artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_8___default()(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragging));
56159
56541
  rowDragApi.setDragStatus('start');
56160
- var dragEvent = createDropTargetEvent(currentDropZone, mouseDownEvent, startDataItem, currentDropZone);
56542
+ var dragEvent = createDropTargetEvent(currentDropZone, event, startDataItem, currentDropZone);
56161
56543
  onDragStart(dragEvent);
56162
56544
  };
56163
- var handleDragMove = function handleDragMove(mouseMoveEvent) {
56545
+ var handleDragMove = function handleDragMove(moveEvent) {
56164
56546
  var _a;
56547
+ // 尝试屏蔽默认事件,在passive监听器中可能会失败
56548
+ try {
56549
+ if (moveEvent.cancelable) {
56550
+ moveEvent.preventDefault();
56551
+ }
56552
+ } catch (error) {
56553
+ // 忽略passive event listener错误
56554
+ console.warn('preventDefault failed in passive event listener');
56555
+ }
56165
56556
  var isRTL = pipeline.ctx.direction === 'rtl';
56166
- positionDragElemment(dragElement, mouseMoveEvent, isRTL); // 更新拖拽悬浮框位置
56557
+ positionDragElemment(dragElement, moveEvent, isRTL); // 更新拖拽悬浮框位置
56167
56558
  rowDragApi.setDragStatus('dragging');
56168
56559
  setDragElementIcon(dragElement, 'move');
56169
56560
  var rowDropZones = rowDragApi.getRowDropZone();
56170
56561
  var validDropZones = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(rowDropZones).call(rowDropZones, currentDropZone); // 可放置区域加上自身
56171
56562
  var dropTarget = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default()(validDropZones).call(validDropZones, function (zone) {
56172
- return isMouseOnDropTarget(mouseMoveEvent, zone.getContainer());
56563
+ return isPointerOnDropTarget(moveEvent, zone.getContainer());
56173
56564
  }) || null;
56174
- updateScrollPosition(dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.getContainer(), mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
56565
+ updateScrollPosition(dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.getContainer(), moveEvent); // 拖拽到底时让滚动条可以滚动
56175
56566
  if (dropTarget !== lastDropTarget) {
56176
56567
  // 拖拽离开表格
56177
56568
  if (lastDropTarget !== null && dropTarget === null) {
@@ -56179,7 +56570,7 @@ function rowDrag(opt) {
56179
56570
  setDragElementIcon(dragElement, 'notAllowed');
56180
56571
  hiddenDragLine(dragLine);
56181
56572
  lastDropTarget.getContainer().classList.remove(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragNoData);
56182
- var dragEvent = createDropTargetEvent(lastDropTarget, mouseMoveEvent, startDataItem, currentDropZone);
56573
+ var dragEvent = createDropTargetEvent(lastDropTarget, moveEvent, startDataItem, currentDropZone);
56183
56574
  lastDropTarget.onDragLeave(dragEvent);
56184
56575
  }
56185
56576
  }
@@ -56199,7 +56590,7 @@ function rowDrag(opt) {
56199
56590
  dragLine.classList.remove(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].treeTableRowDragLine);
56200
56591
  }
56201
56592
  }
56202
- var _dragEvent = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, currentDropZone);
56593
+ var _dragEvent = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone);
56203
56594
  dropTarget.onDragEnter(_dragEvent);
56204
56595
  }
56205
56596
  }
@@ -56211,7 +56602,7 @@ function rowDrag(opt) {
56211
56602
  positionDragLine({
56212
56603
  lineElement: dragLine,
56213
56604
  dragZone: dropTarget,
56214
- event: mouseMoveEvent,
56605
+ event: moveEvent,
56215
56606
  isRTL: isRTL
56216
56607
  });
56217
56608
  }
@@ -56228,7 +56619,7 @@ function rowDrag(opt) {
56228
56619
  onCollapse = treeModeOptions.onCollapse;
56229
56620
  // 鼠标悬停所在的拖拽行信息
56230
56621
  var dataSource = dropTarget.tableParams.getDataSource();
56231
- var dragItem = getDragRowItem(mouseMoveEvent.target, dropTarget.getContainer(), dataSource);
56622
+ var dragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(moveEvent), dropTarget.getContainer(), dataSource);
56232
56623
  if (!dragItem) return;
56233
56624
  var row = dragItem.row;
56234
56625
  var _row$treeMetaKey = row[treeMetaKey],
@@ -56243,15 +56634,20 @@ function rowDrag(opt) {
56243
56634
  }, 1000);
56244
56635
  }
56245
56636
  if (dropTarget.onDragging) {
56246
- var _dragEvent2 = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, currentDropZone);
56637
+ var _dragEvent2 = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone);
56247
56638
  dropTarget.onDragging(_dragEvent2);
56248
56639
  }
56249
56640
  }
56250
56641
  };
56251
- var handleDragStop = function handleDragStop(mouseUpEvent) {
56642
+ var handleDragStop = function handleDragStop(endEvent) {
56252
56643
  if (!isValidDrag) {
56253
56644
  return;
56254
56645
  }
56646
+ // 恢复默认的文本选择功能
56647
+ document.body.style.userSelect = '';
56648
+ document.body.style.webkitUserSelect = '';
56649
+ // 移除拖拽状态的CSS类
56650
+ document.body.classList.remove('row-dragging');
56255
56651
  removeElement(dragElement);
56256
56652
  removeElement(dragLine);
56257
56653
  artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_8___default()(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragging));
@@ -56266,10 +56662,10 @@ function rowDrag(opt) {
56266
56662
  });
56267
56663
  var validDropZones = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(rowDropZones).call(rowDropZones, currentDropZone);
56268
56664
  var dropTarget = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default()(validDropZones).call(validDropZones, function (zone) {
56269
- return isMouseOnDropTarget(mouseUpEvent, zone.getContainer());
56665
+ return isPointerOnDropTarget(endEvent, zone.getContainer());
56270
56666
  });
56271
56667
  if (dropTarget && dropTarget.onDragStop) {
56272
- var dragEvent = createDropTargetEvent(dropTarget, mouseUpEvent, startDataItem, currentDropZone);
56668
+ var dragEvent = createDropTargetEvent(dropTarget, endEvent, startDataItem, currentDropZone);
56273
56669
  dropTarget.onDragStop(dragEvent);
56274
56670
  }
56275
56671
  while (expandRowCallBackList.length > 0) {
@@ -56277,32 +56673,73 @@ function rowDrag(opt) {
56277
56673
  callback();
56278
56674
  }
56279
56675
  };
56280
- var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mousemove');
56281
- var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mouseup');
56282
- var rowDragMove$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["filter"])(function (mouseMoveEvent) {
56283
- var mouseMoveClientY = mouseMoveEvent.clientY;
56284
- var mouseDownClientY = mouseDownEvent.clientY;
56285
- // 上下移动偏移量大于5才是有效的拖拽
56286
- if (Math.abs(mouseMoveClientY - mouseDownClientY) > 5) {
56287
- isValidDrag = true;
56288
- }
56289
- return isValidDrag;
56290
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (mouseMoveEvent) {
56291
- if (!isDragging) {
56292
- isDragging = true;
56293
- handleDragStart(mouseDownEvent);
56294
- handleDragMove(mouseDownEvent);
56295
- }
56296
- handleDragMove(mouseMoveEvent);
56297
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["takeUntil"])(mouseup$));
56298
- rowDragMove$.subscribe();
56299
- var rowDragEnd$ = mouseup$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (mouseUpEvent) {
56300
- handleDragStop(mouseUpEvent);
56301
- })).subscribe({
56302
- next: function next() {
56303
- rowDragEnd$.unsubscribe();
56304
- }
56305
- });
56676
+ // 判断是鼠标事件还是触摸事件,分别监听对应的移动和结束事件
56677
+ var isTouchEvent = ('touches' in startEvent);
56678
+ if (isTouchEvent) {
56679
+ // 触摸事件处理
56680
+ var touchmove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'touchmove', {
56681
+ passive: false
56682
+ });
56683
+ var touchend$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'touchend', {
56684
+ passive: false
56685
+ });
56686
+ var touchDragMove$ = touchmove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["filter"])(function (moveEvent) {
56687
+ var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent);
56688
+ var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(startEvent);
56689
+ var moveClientY = coordinates.clientY;
56690
+ var startClientY = startCoordinates.clientY;
56691
+ // 上下移动偏移量大于5才是有效的拖拽
56692
+ if (Math.abs(moveClientY - startClientY) > 5) {
56693
+ isValidDrag = true;
56694
+ }
56695
+ return isValidDrag;
56696
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (moveEvent) {
56697
+ if (!isDragging) {
56698
+ isDragging = true;
56699
+ handleDragStart(startEvent);
56700
+ handleDragMove(startEvent);
56701
+ }
56702
+ handleDragMove(moveEvent);
56703
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["takeUntil"])(touchend$));
56704
+ touchDragMove$.subscribe();
56705
+ var touchDragEnd$ = touchend$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (endEvent) {
56706
+ handleDragStop(endEvent);
56707
+ })).subscribe({
56708
+ next: function next() {
56709
+ touchDragEnd$.unsubscribe();
56710
+ }
56711
+ });
56712
+ } else {
56713
+ // 鼠标事件处理
56714
+ var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mousemove');
56715
+ var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mouseup');
56716
+ var rowDragMove$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["filter"])(function (moveEvent) {
56717
+ var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent);
56718
+ var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(startEvent);
56719
+ var moveClientY = coordinates.clientY;
56720
+ var startClientY = startCoordinates.clientY;
56721
+ // 上下移动偏移量大于5才是有效的拖拽
56722
+ if (Math.abs(moveClientY - startClientY) > 5) {
56723
+ isValidDrag = true;
56724
+ }
56725
+ return isValidDrag;
56726
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (moveEvent) {
56727
+ if (!isDragging) {
56728
+ isDragging = true;
56729
+ handleDragStart(startEvent);
56730
+ handleDragMove(startEvent);
56731
+ }
56732
+ handleDragMove(moveEvent);
56733
+ }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["takeUntil"])(mouseup$));
56734
+ rowDragMove$.subscribe();
56735
+ var rowDragEnd$ = mouseup$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (endEvent) {
56736
+ handleDragStop(endEvent);
56737
+ })).subscribe({
56738
+ next: function next() {
56739
+ rowDragEnd$.unsubscribe();
56740
+ }
56741
+ });
56742
+ }
56306
56743
  };
56307
56744
  var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
56308
56745
  pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
@@ -56311,7 +56748,8 @@ function rowDrag(opt) {
56311
56748
  nextColumns.unshift(rowDragColumn);
56312
56749
  pipeline.columns(nextColumns);
56313
56750
  pipeline.addTableProps({
56314
- onMouseDown: onMouseDown
56751
+ onMouseDown: onMouseDown,
56752
+ onTouchStart: onTouchStart
56315
56753
  });
56316
56754
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
56317
56755
  var _cx;
@@ -56381,13 +56819,13 @@ function isEleInFooter(target) {
56381
56819
  }
56382
56820
  return false;
56383
56821
  }
56384
- function createDragElement(mouseDownEvent, tableBody) {
56822
+ function createDragElement(event, tableBody) {
56385
56823
  var _context3, _context4;
56386
56824
  var ELEMENT_TEMPLATE = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context3 = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context4 = "<div class='".concat(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElement, "'>\n <span class='")).call(_context4, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElementIcon, "'></span>\n <div class='")).call(_context3, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElementLabel, "'></div>\n </div>");
56387
56825
  var element = document.createElement('div');
56388
56826
  element.innerHTML = ELEMENT_TEMPLATE;
56389
56827
  var dragElement = element.firstChild;
56390
- var targetRow = findTargetRow(mouseDownEvent.target, tableBody);
56828
+ var targetRow = findTargetRow(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), tableBody);
56391
56829
  if (targetRow) {
56392
56830
  var rect = targetRow.getBoundingClientRect();
56393
56831
  dragElement.style.height = rect.height + 'px';
@@ -56432,9 +56870,9 @@ function positionDragLine(_ref) {
56432
56870
  lineElement.style.display = 'block';
56433
56871
  }
56434
56872
  // 鼠标悬停所在的拖拽行信息
56435
- var dragItem = getDragRowItem(event.target, tableContainer, dataSource);
56873
+ var dragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), tableContainer, dataSource);
56436
56874
  if (!dragItem) {
56437
- if (dataSource.length > 0 && tableContainer.contains(event.target)) {
56875
+ if (dataSource.length > 0 && tableContainer.contains(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event))) {
56438
56876
  var _context5, _context6;
56439
56877
  var _rowIndex = dataSource.length - 1;
56440
56878
  var _row = dataSource[_rowIndex];
@@ -56463,7 +56901,7 @@ function positionDragLine(_ref) {
56463
56901
  rowIndex = dragItem.rowIndex,
56464
56902
  row = dragItem.row;
56465
56903
  var allowDragInto = isTreeTable && allowDragIntoRow;
56466
- var direction = getDirection(cell, event.clientY, allowDragInto);
56904
+ var direction = getDirection(cell, Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event).clientY, allowDragInto);
56467
56905
  var targetCell = isTreeTable ? tableContainer.querySelector(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context7 = "tr[data-rowindex=\"".concat(rowIndex, "\"] .")).call(_context7, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].tableExtendCell)) : cell;
56468
56906
  if (!targetCell) return;
56469
56907
  var _getLinePosition2 = getLinePosition({
@@ -56501,8 +56939,9 @@ function positionDragElemment(element, event, isRTL) {
56501
56939
  var browserWidth = (_b = (_a = document.body) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : window.innerHeight || ((_c = document.documentElement) === null || _c === void 0 ? void 0 : _c.clientWidth) || 0;
56502
56940
  var browserHeight = (_e = (_d = document.body) === null || _d === void 0 ? void 0 : _d.clientHeight) !== null && _e !== void 0 ? _e : window.innerHeight || ((_f = document.documentElement) === null || _f === void 0 ? void 0 : _f.clientHeight) || 0;
56503
56941
  var offsetParentSize = getElementRectWithOffset(element.offsetParent);
56504
- var clientX = event.clientX,
56505
- clientY = event.clientY;
56942
+ var _getEventCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event),
56943
+ clientX = _getEventCoordinates.clientX,
56944
+ clientY = _getEventCoordinates.clientY;
56506
56945
  var top = clientY - offsetParentSize.top - eleHeight / 2;
56507
56946
  var left = clientX - offsetParentSize.left;
56508
56947
  var right = Math.max(browserWidth - clientX, 0);
@@ -56518,12 +56957,11 @@ function positionDragElemment(element, event, isRTL) {
56518
56957
  right = Math.max(browserWidth + windowScrollX - element.clientWidth, 0);
56519
56958
  }
56520
56959
  if (isRTL) {
56521
- var _context8;
56522
- element.style.cssText += _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context8 = ";right: ".concat(right, "px; top: ")).call(_context8, top, "px;");
56523
- return;
56960
+ element.style.right = right + 'px';
56961
+ } else {
56962
+ element.style.left = left + 'px';
56524
56963
  }
56525
- element.style.left = "".concat(left, "px");
56526
- element.style.top = "".concat(top, "px");
56964
+ element.style.top = top + 'px';
56527
56965
  }
56528
56966
  function getElementRectWithOffset(el) {
56529
56967
  var offsetElementRect = el.getBoundingClientRect();
@@ -56590,12 +57028,13 @@ function setDragElementIcon(element, iconName) {
56590
57028
  elementIcon.appendChild(iconElement);
56591
57029
  }
56592
57030
  function clearElementChildren(element) {
56593
- while (element && element.firstChild) {
57031
+ while (element === null || element === void 0 ? void 0 : element.firstChild) {
56594
57032
  element.removeChild(element.firstChild);
56595
57033
  }
56596
57034
  }
56597
- function getScrollMoveOffset(tableBody, mouseMoveEvent) {
56598
- var clientY = mouseMoveEvent.clientY;
57035
+ function getScrollMoveOffset(tableBody, moveEvent) {
57036
+ var _getEventCoordinates2 = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent),
57037
+ clientY = _getEventCoordinates2.clientY;
56599
57038
  var tableBodyClientRect = tableBody.getBoundingClientRect();
56600
57039
  var top = tableBodyClientRect.top,
56601
57040
  height = tableBodyClientRect.height;
@@ -56613,15 +57052,19 @@ function setDragText(element, dragText) {
56613
57052
  var stringNode = document.createTextNode(dragTextString);
56614
57053
  elementIcon.appendChild(stringNode);
56615
57054
  }
56616
- function isMouseOnDropTarget(mouseEvent, target) {
56617
- return target.contains(mouseEvent.target);
57055
+ function isPointerOnDropTarget(pointerEvent, target) {
57056
+ var eventTarget = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(pointerEvent);
57057
+ return target.contains(eventTarget);
56618
57058
  }
56619
57059
  function createDropTargetEvent(dropZone, event, dragItem, startDropZone) {
56620
57060
  var dropZoneTarget = dropZone.getContainer();
56621
57061
  var startDropZoneTagret = startDropZone.getContainer();
56622
57062
  var rect = dropZoneTarget.getBoundingClientRect();
56623
- var x = event.clientX - rect.left;
56624
- var y = event.clientY - rect.top;
57063
+ var _getEventCoordinates3 = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event),
57064
+ clientX = _getEventCoordinates3.clientX,
57065
+ clientY = _getEventCoordinates3.clientY;
57066
+ var x = clientX - rect.left;
57067
+ var y = clientY - rect.top;
56625
57068
  var startDropZoneOptions = startDropZone.tableParams.getRowDragOptions();
56626
57069
  var startCommonParams = startDropZoneOptions === null || startDropZoneOptions === void 0 ? void 0 : startDropZoneOptions.commonParams;
56627
57070
  var targetEvent = {
@@ -56678,10 +57121,8 @@ var getLinePosition = function getLinePosition(_ref2) {
56678
57121
  paddingRight = _getElementSize3.paddingRight;
56679
57122
  var expandCellRect = cell.getBoundingClientRect();
56680
57123
  var _row$treeMetaKey2 = row[treeMetaKey],
56681
- rowKey = _row$treeMetaKey2.rowKey,
56682
57124
  depth = _row$treeMetaKey2.depth,
56683
- isLeaf = _row$treeMetaKey2.isLeaf,
56684
- expanded = _row$treeMetaKey2.expanded;
57125
+ isLeaf = _row$treeMetaKey2.isLeaf;
56685
57126
  var addWidth = isLeaf ? iconWidth + iconGap : 0;
56686
57127
  var indent = iconIndent + depth * indentSize + addWidth;
56687
57128
  var x = expandCellRect.x,
@@ -57917,6 +58358,89 @@ function treeSelect(opts) {
57917
58358
 
57918
58359
  /***/ }),
57919
58360
 
58361
+ /***/ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js":
58362
+ /*!*******************************************************************************************!*\
58363
+ !*** ./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js ***!
58364
+ \*******************************************************************************************/
58365
+ /*! exports provided: getEventCoordinates, getEventTarget, isTouchEvent, addPointerEventListeners, removePointerEventListeners, hasMovedEnough */
58366
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
58367
+
58368
+ "use strict";
58369
+ __webpack_require__.r(__webpack_exports__);
58370
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEventCoordinates", function() { return getEventCoordinates; });
58371
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEventTarget", function() { return getEventTarget; });
58372
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTouchEvent", function() { return isTouchEvent; });
58373
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addPointerEventListeners", function() { return addPointerEventListeners; });
58374
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removePointerEventListeners", function() { return removePointerEventListeners; });
58375
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasMovedEnough", function() { return hasMovedEnough; });
58376
+ // 统一获取事件坐标的函数
58377
+ function getEventCoordinates(event) {
58378
+ if ('touches' in event && event.touches.length > 0) {
58379
+ return {
58380
+ clientX: event.touches[0].clientX,
58381
+ clientY: event.touches[0].clientY
58382
+ };
58383
+ } else if ('changedTouches' in event && event.changedTouches.length > 0) {
58384
+ return {
58385
+ clientX: event.changedTouches[0].clientX,
58386
+ clientY: event.changedTouches[0].clientY
58387
+ };
58388
+ } else {
58389
+ return {
58390
+ clientX: event.clientX,
58391
+ clientY: event.clientY
58392
+ };
58393
+ }
58394
+ }
58395
+ // 获取事件目标元素
58396
+ function getEventTarget(event) {
58397
+ if ('touches' in event && event.touches.length > 0) {
58398
+ return document.elementFromPoint(event.touches[0].clientX, event.touches[0].clientY);
58399
+ }
58400
+ // 处理touchend事件,此时touches为空,需要使用changedTouches
58401
+ if ('changedTouches' in event && event.changedTouches.length > 0) {
58402
+ return document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY);
58403
+ }
58404
+ return event.target;
58405
+ }
58406
+ // 判断是否为触摸事件
58407
+ function isTouchEvent(event) {
58408
+ return 'touches' in event;
58409
+ }
58410
+ // 为元素添加统一的指针事件监听器
58411
+ function addPointerEventListeners(element, handlers, isTouchStart) {
58412
+ if (isTouchStart) {
58413
+ element.addEventListener('touchmove', handlers.onPointerMove, {
58414
+ passive: false
58415
+ });
58416
+ element.addEventListener('touchend', handlers.onPointerUp, {
58417
+ passive: false
58418
+ });
58419
+ } else {
58420
+ element.addEventListener('mousemove', handlers.onPointerMove);
58421
+ element.addEventListener('mouseup', handlers.onPointerUp);
58422
+ }
58423
+ }
58424
+ // 移除统一的指针事件监听器
58425
+ function removePointerEventListeners(element, handlers, isTouchStart) {
58426
+ if (isTouchStart) {
58427
+ element.removeEventListener('touchmove', handlers.onPointerMove);
58428
+ element.removeEventListener('touchend', handlers.onPointerUp);
58429
+ } else {
58430
+ element.removeEventListener('mousemove', handlers.onPointerMove);
58431
+ element.removeEventListener('mouseup', handlers.onPointerUp);
58432
+ }
58433
+ }
58434
+ // 检查是否移动了足够的距离(用于区分点击和拖拽)
58435
+ function hasMovedEnough(startX, startY, endX, endY) {
58436
+ var threshold = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 5;
58437
+ var xDiff = endX - startX;
58438
+ var yDiff = endY - startY;
58439
+ return Math.sqrt(xDiff * xDiff + yDiff * yDiff) > threshold;
58440
+ }
58441
+
58442
+ /***/ }),
58443
+
57920
58444
  /***/ "./node_modules/@kdcloudjs/table/es/table/pipeline/index.js":
57921
58445
  /*!******************************************************************!*\
57922
58446
  !*** ./node_modules/@kdcloudjs/table/es/table/pipeline/index.js ***!