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