@kdcloudjs/kdesign 1.8.48 → 1.8.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kdesign.css +1 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +1043 -481
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +1 -1
- 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/table/table.js +7 -3
- package/es/tabs/tabs.d.ts +2 -0
- package/es/tabs/tabs.js +54 -16
- package/lib/config-provider/ConfigContext.d.ts +2 -0
- package/lib/table/table.js +7 -3
- package/lib/tabs/tabs.d.ts +2 -0
- package/lib/tabs/tabs.js +56 -18
- 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.50
|
|
4
4
|
*
|
|
5
5
|
* Copyright 2020-present, Kingdee, Inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -38090,7 +38090,8 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
|
|
|
38090
38090
|
getPrefixCls = _useContext.getPrefixCls,
|
|
38091
38091
|
prefixCls = _useContext.prefixCls,
|
|
38092
38092
|
locale = _useContext.locale,
|
|
38093
|
-
direction = _useContext.direction
|
|
38093
|
+
direction = _useContext.direction,
|
|
38094
|
+
isMobile = _useContext.isMobile;
|
|
38094
38095
|
var tablePrefixCls = getPrefixCls(prefixCls, customPrefixcls);
|
|
38095
38096
|
var tableCls = classnames__WEBPACK_IMPORTED_MODULE_16___default()(tablePrefixCls, className);
|
|
38096
38097
|
var localeText = locale.getCompLangMsg({
|
|
@@ -38102,7 +38103,8 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
|
|
|
38102
38103
|
Radio: (components === null || components === void 0 ? void 0 : components.Radio) || _radio_index__WEBPACK_IMPORTED_MODULE_9__["default"]
|
|
38103
38104
|
},
|
|
38104
38105
|
localeText: localeText,
|
|
38105
|
-
direction: direction
|
|
38106
|
+
direction: direction,
|
|
38107
|
+
isMobile: isMobile
|
|
38106
38108
|
}).primaryKey(primaryKey === undefined ? '' : primaryKey).input({
|
|
38107
38109
|
columns: columns,
|
|
38108
38110
|
dataSource: dataSource
|
|
@@ -38182,6 +38184,11 @@ var Table = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_5__["forwardRef"]
|
|
|
38182
38184
|
// @ts-ignore
|
|
38183
38185
|
,
|
|
38184
38186
|
direction: direction
|
|
38187
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
38188
|
+
// @ts-ignore
|
|
38189
|
+
,
|
|
38190
|
+
isMobile: isMobile,
|
|
38191
|
+
prefixCls: prefixCls
|
|
38185
38192
|
}, others));
|
|
38186
38193
|
});
|
|
38187
38194
|
Table.displayName = 'Table';
|
|
@@ -38587,8 +38594,10 @@ var Tabs = function Tabs(props) {
|
|
|
38587
38594
|
showScrollArrow = tabsProps.showScrollArrow,
|
|
38588
38595
|
_tabsProps$effect = tabsProps.effect,
|
|
38589
38596
|
effect = _tabsProps$effect === void 0 ? 'none' : _tabsProps$effect,
|
|
38597
|
+
tabsDropdownClassName = tabsProps.tabsDropdownClassName,
|
|
38590
38598
|
children = tabsProps.children,
|
|
38591
|
-
onChange = tabsProps.onChange
|
|
38599
|
+
onChange = tabsProps.onChange,
|
|
38600
|
+
needPanelOpration = tabsProps.needPanelOpration;
|
|
38592
38601
|
var tabsPrefixCls = getPrefixCls(prefixCls, 'tabs', customPrefixcls);
|
|
38593
38602
|
var rtlCls = direction === 'rtl' ? "".concat(tabsPrefixCls, "-rtl") : null;
|
|
38594
38603
|
var activeKey;
|
|
@@ -38631,6 +38640,13 @@ var Tabs = function Tabs(props) {
|
|
|
38631
38640
|
var tabRef = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(null);
|
|
38632
38641
|
var tabListRef = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(null);
|
|
38633
38642
|
var carouselRef = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(null);
|
|
38643
|
+
var touchStartX = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(0);
|
|
38644
|
+
var lastListPosition = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(0);
|
|
38645
|
+
var isDragging = Object(react__WEBPACK_IMPORTED_MODULE_9__["useRef"])(false);
|
|
38646
|
+
var _useState15 = Object(react__WEBPACK_IMPORTED_MODULE_9__["useState"])(false),
|
|
38647
|
+
_useState16 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState15, 2),
|
|
38648
|
+
triggerState = _useState16[0],
|
|
38649
|
+
setTriggerState = _useState16[1];
|
|
38634
38650
|
var handleActive = function handleActive(id, e) {
|
|
38635
38651
|
setCurActiveKey(id);
|
|
38636
38652
|
onChange && onChange(id, e);
|
|
@@ -38642,6 +38658,30 @@ var Tabs = function Tabs(props) {
|
|
|
38642
38658
|
var getTriggerKey = function getTriggerKey(key) {
|
|
38643
38659
|
setTriggerKey(key);
|
|
38644
38660
|
};
|
|
38661
|
+
var handleTouchStart = function handleTouchStart(e) {
|
|
38662
|
+
if (ListWidth <= boxWidth) return;
|
|
38663
|
+
touchStartX.current = e.touches[0].clientX;
|
|
38664
|
+
lastListPosition.current = ListPostion;
|
|
38665
|
+
isDragging.current = true;
|
|
38666
|
+
};
|
|
38667
|
+
var handleTouchMove = function handleTouchMove(e) {
|
|
38668
|
+
if (!isDragging.current || ListWidth <= boxWidth) return;
|
|
38669
|
+
var currentX = e.touches[0].clientX;
|
|
38670
|
+
var deltaX = currentX - touchStartX.current;
|
|
38671
|
+
var newPosition = lastListPosition.current + deltaX;
|
|
38672
|
+
var maxLeft = 0;
|
|
38673
|
+
var maxRight = boxWidth - ListWidth;
|
|
38674
|
+
if (newPosition > maxLeft) newPosition = maxLeft;
|
|
38675
|
+
if (newPosition < maxRight) newPosition = maxRight;
|
|
38676
|
+
setListPosition(newPosition);
|
|
38677
|
+
};
|
|
38678
|
+
var handleTouchEnd = function handleTouchEnd() {
|
|
38679
|
+
if (ListWidth <= boxWidth) return;
|
|
38680
|
+
isDragging.current = false;
|
|
38681
|
+
};
|
|
38682
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
38683
|
+
setTriggerState(visible);
|
|
38684
|
+
};
|
|
38645
38685
|
Object(react__WEBPACK_IMPORTED_MODULE_9__["useEffect"])(function () {
|
|
38646
38686
|
setCurActiveKey(activeKey);
|
|
38647
38687
|
}, [activeKey]);
|
|
@@ -38747,17 +38787,15 @@ var Tabs = function Tabs(props) {
|
|
|
38747
38787
|
var _classNames4;
|
|
38748
38788
|
if (ListWidth < boxWidth || !ListWidth || !boxWidth || ['left', 'right'].includes(position)) return null;
|
|
38749
38789
|
var rightClasses = classnames__WEBPACK_IMPORTED_MODULE_10___default()("".concat(tabsPrefixCls, "-right-arrows"), (_classNames4 = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames4, "".concat(tabsPrefixCls, "-right-arrows-").concat(type), type), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames4, "".concat(tabsPrefixCls, "-right-arrows-noshadow"), ListWidth + ListPostion === boxWidth), _classNames4));
|
|
38750
|
-
var menu =
|
|
38751
|
-
|
|
38752
|
-
|
|
38753
|
-
|
|
38754
|
-
|
|
38755
|
-
|
|
38756
|
-
|
|
38757
|
-
|
|
38758
|
-
|
|
38759
|
-
return tmp;
|
|
38760
|
-
});
|
|
38790
|
+
var menu = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(_dropdown__WEBPACK_IMPORTED_MODULE_20__["default"].Menu, {
|
|
38791
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_10___default()(tabsDropdownClassName, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, "".concat(tabsPrefixCls, "-right-arrows-menu"), needPanelOpration))
|
|
38792
|
+
}, nodes.map(function (node) {
|
|
38793
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(_dropdown__WEBPACK_IMPORTED_MODULE_20__["default"].Item, {
|
|
38794
|
+
key: node.props.id,
|
|
38795
|
+
disabled: node.props.disabled,
|
|
38796
|
+
className: node.props.id === curActiveKey ? "".concat(tabsPrefixCls, "-right-arrows-menu-active") : undefined
|
|
38797
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement("span", null, node.props.tab));
|
|
38798
|
+
}));
|
|
38761
38799
|
var handleRight = function handleRight() {
|
|
38762
38800
|
if (ListPostion === boxWidth - ListWidth) return;
|
|
38763
38801
|
var offset = ListPostion - boxWidth > boxWidth - ListWidth ? ListPostion - boxWidth : boxWidth - ListWidth;
|
|
@@ -38788,9 +38826,10 @@ var Tabs = function Tabs(props) {
|
|
|
38788
38826
|
}) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(_dropdown__WEBPACK_IMPORTED_MODULE_20__["default"], {
|
|
38789
38827
|
menu: menu,
|
|
38790
38828
|
trigger: ['click'],
|
|
38791
|
-
onItemClick: handleSelectItem
|
|
38829
|
+
onItemClick: handleSelectItem,
|
|
38830
|
+
onVisibleChange: handleVisibleChange
|
|
38792
38831
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement("span", {
|
|
38793
|
-
className: "".concat(tabsPrefixCls, "-more-btn")
|
|
38832
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_10___default()("".concat(tabsPrefixCls, "-more-btn"), "".concat(tabsPrefixCls, "-trigger-").concat(triggerState))
|
|
38794
38833
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_18__["default"], {
|
|
38795
38834
|
type: "arrow-down"
|
|
38796
38835
|
}))));
|
|
@@ -38881,7 +38920,13 @@ var Tabs = function Tabs(props) {
|
|
|
38881
38920
|
}, renderWrap);
|
|
38882
38921
|
};
|
|
38883
38922
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement("div", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, Object(_utils_omit__WEBPACK_IMPORTED_MODULE_14__["omit"])(tabsProps, ['activeKey', 'defaultActiveKey', 'showScrollArrow', 'noContainer']), {
|
|
38884
|
-
className: tabNavsClasses
|
|
38923
|
+
className: tabNavsClasses,
|
|
38924
|
+
onTouchStart: handleTouchStart,
|
|
38925
|
+
onTouchMove: handleTouchMove,
|
|
38926
|
+
onTouchEnd: handleTouchEnd,
|
|
38927
|
+
style: {
|
|
38928
|
+
touchAction: 'pan-y'
|
|
38929
|
+
} // 防止滚动被浏览器阻止
|
|
38885
38930
|
}), renderLeftOperations(), renderLeftArrow(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement("div", {
|
|
38886
38931
|
ref: tabRef,
|
|
38887
38932
|
className: "".concat(tabsPrefixCls, "-tab-wrap")
|
|
@@ -48526,6 +48571,88 @@ var locale = {
|
|
|
48526
48571
|
|
|
48527
48572
|
/***/ }),
|
|
48528
48573
|
|
|
48574
|
+
/***/ "./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js":
|
|
48575
|
+
/*!***********************************************************************!*\
|
|
48576
|
+
!*** ./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js ***!
|
|
48577
|
+
\***********************************************************************/
|
|
48578
|
+
/*! exports provided: TopBlank, BottomBlank */
|
|
48579
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48580
|
+
|
|
48581
|
+
"use strict";
|
|
48582
|
+
__webpack_require__.r(__webpack_exports__);
|
|
48583
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopBlank", function() { return TopBlank; });
|
|
48584
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BottomBlank", function() { return BottomBlank; });
|
|
48585
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/slicedToArray */ "./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js");
|
|
48586
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
|
|
48587
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
|
|
48588
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
48589
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
|
|
48590
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
|
|
48591
|
+
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
|
|
48592
|
+
|
|
48593
|
+
|
|
48594
|
+
|
|
48595
|
+
|
|
48596
|
+
var TopBlankComponent = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(function (_ref, ref) {
|
|
48597
|
+
var initialHeight = _ref.height;
|
|
48598
|
+
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialHeight),
|
|
48599
|
+
_useState2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),
|
|
48600
|
+
height = _useState2[0],
|
|
48601
|
+
setHeight = _useState2[1];
|
|
48602
|
+
Object(react__WEBPACK_IMPORTED_MODULE_1__["useImperativeHandle"])(ref, function () {
|
|
48603
|
+
return {
|
|
48604
|
+
updateHeight: function updateHeight(newHeight) {
|
|
48605
|
+
if (height !== newHeight) {
|
|
48606
|
+
setHeight(newHeight);
|
|
48607
|
+
}
|
|
48608
|
+
}
|
|
48609
|
+
};
|
|
48610
|
+
}, [height]);
|
|
48611
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
|
|
48612
|
+
style: {
|
|
48613
|
+
height: height
|
|
48614
|
+
}
|
|
48615
|
+
});
|
|
48616
|
+
});
|
|
48617
|
+
TopBlankComponent.displayName = 'TopBlank';
|
|
48618
|
+
var BottomBlankComponent = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(function (_ref2, ref) {
|
|
48619
|
+
var initialHeight = _ref2.height,
|
|
48620
|
+
className = _ref2.className;
|
|
48621
|
+
var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialHeight),
|
|
48622
|
+
_useState4 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState3, 2),
|
|
48623
|
+
height = _useState4[0],
|
|
48624
|
+
setHeight = _useState4[1];
|
|
48625
|
+
Object(react__WEBPACK_IMPORTED_MODULE_1__["useImperativeHandle"])(ref, function () {
|
|
48626
|
+
return {
|
|
48627
|
+
updateHeight: function updateHeight(newHeight) {
|
|
48628
|
+
if (height !== newHeight) {
|
|
48629
|
+
setHeight(newHeight);
|
|
48630
|
+
}
|
|
48631
|
+
}
|
|
48632
|
+
};
|
|
48633
|
+
}, [height]);
|
|
48634
|
+
if (height <= 0) {
|
|
48635
|
+
return null;
|
|
48636
|
+
}
|
|
48637
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
|
|
48638
|
+
key: "bottom-blank",
|
|
48639
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_styles__WEBPACK_IMPORTED_MODULE_3__["Classes"].virtualBlank, 'bottom', className),
|
|
48640
|
+
style: {
|
|
48641
|
+
height: height
|
|
48642
|
+
}
|
|
48643
|
+
});
|
|
48644
|
+
});
|
|
48645
|
+
BottomBlankComponent.displayName = 'BottomBlank';
|
|
48646
|
+
// 使用 memo 优化,只有当 height 或 className 改变时才重新渲染
|
|
48647
|
+
var TopBlank = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["memo"])(TopBlankComponent, function (prevProps, nextProps) {
|
|
48648
|
+
return prevProps.height === nextProps.height && prevProps.className === nextProps.className;
|
|
48649
|
+
});
|
|
48650
|
+
var BottomBlank = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__["memo"])(BottomBlankComponent, function (prevProps, nextProps) {
|
|
48651
|
+
return prevProps.height === nextProps.height && prevProps.className === nextProps.className;
|
|
48652
|
+
});
|
|
48653
|
+
|
|
48654
|
+
/***/ }),
|
|
48655
|
+
|
|
48529
48656
|
/***/ "./node_modules/@kdcloudjs/table/es/table/base/calculations.js":
|
|
48530
48657
|
/*!*********************************************************************!*\
|
|
48531
48658
|
!*** ./node_modules/@kdcloudjs/table/es/table/base/calculations.js ***!
|
|
@@ -49370,6 +49497,192 @@ function TableHeader(_ref2) {
|
|
|
49370
49497
|
|
|
49371
49498
|
/***/ }),
|
|
49372
49499
|
|
|
49500
|
+
/***/ "./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js":
|
|
49501
|
+
/*!**********************************************************************************!*\
|
|
49502
|
+
!*** ./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js ***!
|
|
49503
|
+
\**********************************************************************************/
|
|
49504
|
+
/*! exports provided: FastScrollManager */
|
|
49505
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
49506
|
+
|
|
49507
|
+
"use strict";
|
|
49508
|
+
__webpack_require__.r(__webpack_exports__);
|
|
49509
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FastScrollManager", function() { return FastScrollManager; });
|
|
49510
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/extends */ "./node_modules/@babel/runtime-corejs3/helpers/extends.js");
|
|
49511
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
|
|
49512
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/classCallCheck */ "./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js");
|
|
49513
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
|
|
49514
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/createClass */ "./node_modules/@babel/runtime-corejs3/helpers/createClass.js");
|
|
49515
|
+
/* harmony import */ var _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
|
|
49516
|
+
|
|
49517
|
+
|
|
49518
|
+
|
|
49519
|
+
/**
|
|
49520
|
+
* 快速滚动管理器
|
|
49521
|
+
* 抽取 BaseTable 中的快速滚动相关逻辑
|
|
49522
|
+
*/
|
|
49523
|
+
var FastScrollManager = /*#__PURE__*/function () {
|
|
49524
|
+
function FastScrollManager(callbacks) {
|
|
49525
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
49526
|
+
_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, FastScrollManager);
|
|
49527
|
+
// 快速滚动状态
|
|
49528
|
+
this.state = {
|
|
49529
|
+
lastScrollTime: 0,
|
|
49530
|
+
scrollVelocity: 0,
|
|
49531
|
+
lastOffsetY: 0
|
|
49532
|
+
};
|
|
49533
|
+
// 快速滚动标志 - 作为私有属性立即更新
|
|
49534
|
+
this.isFastScrolling = false;
|
|
49535
|
+
this.callbacks = callbacks;
|
|
49536
|
+
// 合并默认配置
|
|
49537
|
+
this.config = _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
49538
|
+
overscanSize: 100,
|
|
49539
|
+
velocityThreshold: 3,
|
|
49540
|
+
distanceMultiplier: 3,
|
|
49541
|
+
fastScrollEndDelayHigh: 200,
|
|
49542
|
+
fastScrollEndDelayNormal: 150,
|
|
49543
|
+
highVelocityThreshold: 5
|
|
49544
|
+
}, config);
|
|
49545
|
+
}
|
|
49546
|
+
/**
|
|
49547
|
+
* 检测是否接近底部(剩余滚动距离少于两屏)
|
|
49548
|
+
*/
|
|
49549
|
+
_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(FastScrollManager, [{
|
|
49550
|
+
key: "isNearBottom",
|
|
49551
|
+
value: function isNearBottom(currentScrollTop, maxRenderHeight, totalScrollHeight) {
|
|
49552
|
+
var remainingScrollDistance = totalScrollHeight - currentScrollTop - maxRenderHeight;
|
|
49553
|
+
return remainingScrollDistance < maxRenderHeight;
|
|
49554
|
+
}
|
|
49555
|
+
/**
|
|
49556
|
+
* 处理滚动事件 - 检测和处理快速滚动
|
|
49557
|
+
*/
|
|
49558
|
+
}, {
|
|
49559
|
+
key: "handleScrollEvent",
|
|
49560
|
+
value: function handleScrollEvent(sizeAndOffset, currentState, dataLength, totalScrollHeight) {
|
|
49561
|
+
var currentTime = performance.now();
|
|
49562
|
+
var deltaY = Math.abs(sizeAndOffset.offsetY - this.state.lastOffsetY);
|
|
49563
|
+
var deltaTime = currentTime - this.state.lastScrollTime;
|
|
49564
|
+
// 计算滚动速度 (像素/毫秒)
|
|
49565
|
+
this.state.scrollVelocity = deltaTime > 0 ? deltaY / deltaTime : 0;
|
|
49566
|
+
// 检测是否接近底部
|
|
49567
|
+
var isNearBottom = this.isNearBottom(sizeAndOffset.offsetY, sizeAndOffset.maxRenderHeight, totalScrollHeight);
|
|
49568
|
+
// 如果正在快速滚动但接近底部,提前结束快速滚动
|
|
49569
|
+
if (this.isFastScrolling && isNearBottom) {
|
|
49570
|
+
this.endFastScrolling(sizeAndOffset);
|
|
49571
|
+
return; // 让正常渲染逻辑接管
|
|
49572
|
+
}
|
|
49573
|
+
// 快速滚动判断条件:
|
|
49574
|
+
// 1. 滚动距离超过阈值 && 滚动速度超过阈值
|
|
49575
|
+
// 2. 当前未在快速滚动状态
|
|
49576
|
+
// 3. 未接近底部边界
|
|
49577
|
+
var isSignificantChange = deltaY > this.config.overscanSize * this.config.distanceMultiplier;
|
|
49578
|
+
var isHighVelocity = this.state.scrollVelocity > this.config.velocityThreshold;
|
|
49579
|
+
var shouldStartFastScroll = (isSignificantChange || isHighVelocity) && !this.isFastScrolling && !isNearBottom; // 接近底部时不启动快速滚动
|
|
49580
|
+
if (shouldStartFastScroll) {
|
|
49581
|
+
this.startFastScrolling(currentState, dataLength);
|
|
49582
|
+
}
|
|
49583
|
+
// 重置快速滚动结束定时器
|
|
49584
|
+
if (this.isFastScrolling) {
|
|
49585
|
+
this.resetFastScrollEndTimer(sizeAndOffset);
|
|
49586
|
+
}
|
|
49587
|
+
// 更新记录
|
|
49588
|
+
this.state.lastOffsetY = sizeAndOffset.offsetY;
|
|
49589
|
+
this.state.lastScrollTime = currentTime;
|
|
49590
|
+
}
|
|
49591
|
+
/**
|
|
49592
|
+
* 开始快速滚动
|
|
49593
|
+
*/
|
|
49594
|
+
}, {
|
|
49595
|
+
key: "startFastScrolling",
|
|
49596
|
+
value: function startFastScrolling(currentState, dataLength) {
|
|
49597
|
+
this.isFastScrolling = true;
|
|
49598
|
+
// 获取当前渲染范围作为缓存
|
|
49599
|
+
var currentVerticalRange = this.callbacks.getCurrentRenderRange(currentState.offsetY, currentState.maxRenderHeight, dataLength);
|
|
49600
|
+
// 通知外部开始快速滚动
|
|
49601
|
+
this.callbacks.onFastScrollStart({
|
|
49602
|
+
offsetY: currentState.offsetY,
|
|
49603
|
+
maxRenderHeight: currentState.maxRenderHeight,
|
|
49604
|
+
maxRenderWidth: currentState.maxRenderWidth,
|
|
49605
|
+
verticalRenderRange: currentVerticalRange
|
|
49606
|
+
});
|
|
49607
|
+
}
|
|
49608
|
+
/**
|
|
49609
|
+
* 重置快速滚动结束定时器
|
|
49610
|
+
*/
|
|
49611
|
+
}, {
|
|
49612
|
+
key: "resetFastScrollEndTimer",
|
|
49613
|
+
value: function resetFastScrollEndTimer(sizeAndOffset) {
|
|
49614
|
+
var _this = this;
|
|
49615
|
+
if (this.fastScrollEndTimer) {
|
|
49616
|
+
clearTimeout(this.fastScrollEndTimer);
|
|
49617
|
+
}
|
|
49618
|
+
var waitTime = this.state.scrollVelocity > this.config.highVelocityThreshold ? this.config.fastScrollEndDelayHigh : this.config.fastScrollEndDelayNormal;
|
|
49619
|
+
this.fastScrollEndTimer = window.setTimeout(function () {
|
|
49620
|
+
_this.endFastScrolling(sizeAndOffset);
|
|
49621
|
+
}, waitTime);
|
|
49622
|
+
}
|
|
49623
|
+
/**
|
|
49624
|
+
* 结束快速滚动
|
|
49625
|
+
*/
|
|
49626
|
+
}, {
|
|
49627
|
+
key: "endFastScrolling",
|
|
49628
|
+
value: function endFastScrolling(sizeAndOffset) {
|
|
49629
|
+
this.isFastScrolling = false;
|
|
49630
|
+
this.fastScrollEndTimer = undefined;
|
|
49631
|
+
// 通知外部结束快速滚动
|
|
49632
|
+
this.callbacks.onFastScrollEnd(sizeAndOffset);
|
|
49633
|
+
}
|
|
49634
|
+
/**
|
|
49635
|
+
* 清理资源
|
|
49636
|
+
*/
|
|
49637
|
+
}, {
|
|
49638
|
+
key: "cleanup",
|
|
49639
|
+
value: function cleanup() {
|
|
49640
|
+
if (this.fastScrollEndTimer) {
|
|
49641
|
+
clearTimeout(this.fastScrollEndTimer);
|
|
49642
|
+
}
|
|
49643
|
+
}
|
|
49644
|
+
/**
|
|
49645
|
+
* 获取当前是否处于快速滚动状态
|
|
49646
|
+
*/
|
|
49647
|
+
}, {
|
|
49648
|
+
key: "getIsFastScrolling",
|
|
49649
|
+
value: function getIsFastScrolling() {
|
|
49650
|
+
return this.isFastScrolling;
|
|
49651
|
+
}
|
|
49652
|
+
/**
|
|
49653
|
+
* 获取当前滚动速度
|
|
49654
|
+
*/
|
|
49655
|
+
}, {
|
|
49656
|
+
key: "getScrollVelocity",
|
|
49657
|
+
value: function getScrollVelocity() {
|
|
49658
|
+
return this.state.scrollVelocity;
|
|
49659
|
+
}
|
|
49660
|
+
/**
|
|
49661
|
+
* 清理资源
|
|
49662
|
+
*/
|
|
49663
|
+
}, {
|
|
49664
|
+
key: "destroy",
|
|
49665
|
+
value: function destroy() {
|
|
49666
|
+
if (this.fastScrollEndTimer) {
|
|
49667
|
+
clearTimeout(this.fastScrollEndTimer);
|
|
49668
|
+
this.fastScrollEndTimer = undefined;
|
|
49669
|
+
}
|
|
49670
|
+
this.isFastScrolling = false;
|
|
49671
|
+
}
|
|
49672
|
+
/**
|
|
49673
|
+
* 获取当前配置
|
|
49674
|
+
*/
|
|
49675
|
+
}, {
|
|
49676
|
+
key: "getConfig",
|
|
49677
|
+
value: function getConfig() {
|
|
49678
|
+
return _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.config);
|
|
49679
|
+
}
|
|
49680
|
+
}]);
|
|
49681
|
+
return FastScrollManager;
|
|
49682
|
+
}();
|
|
49683
|
+
|
|
49684
|
+
/***/ }),
|
|
49685
|
+
|
|
49373
49686
|
/***/ "./node_modules/@kdcloudjs/table/es/table/base/helpers/SpanManager.js":
|
|
49374
49687
|
/*!****************************************************************************!*\
|
|
49375
49688
|
!*** ./node_modules/@kdcloudjs/table/es/table/base/helpers/SpanManager.js ***!
|
|
@@ -50611,10 +50924,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
50611
50924
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonCSS", function() { return ButtonCSS; });
|
|
50612
50925
|
/* harmony import */ var _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/taggedTemplateLiteral */ "./node_modules/@babel/runtime-corejs3/helpers/taggedTemplateLiteral.js");
|
|
50613
50926
|
/* harmony import */ var _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0__);
|
|
50614
|
-
/* harmony import */ var
|
|
50615
|
-
/* harmony import */ var
|
|
50616
|
-
/* harmony import */ var
|
|
50617
|
-
/* harmony import */ var
|
|
50927
|
+
/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/concat */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js");
|
|
50928
|
+
/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1__);
|
|
50929
|
+
/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/keys */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js");
|
|
50930
|
+
/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2__);
|
|
50618
50931
|
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
|
|
50619
50932
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
|
|
50620
50933
|
|
|
@@ -50775,7 +51088,11 @@ var defaultCSSVariables = {
|
|
|
50775
51088
|
var variableConst = getCssVariableText(defaultCSSVariables);
|
|
50776
51089
|
var notBorderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
|
|
50777
51090
|
var borderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject4 || (_templateObject4 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n //th\u9690\u85CF\u5217\u5BBD\u62D6\u62FD\u7684\u80CC\u666F\u8272\uFF0C\u4F7F\u7528th\u7684\u53F3\u8FB9\u6846\u4EE3\u66FF\n .", "::after{\n background-color: inherit;\n }\n"])), Classes.tableHeaderCellResize);
|
|
50778
|
-
var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject5 || (_templateObject5 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\n ", "\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", "{\n flex-grow:1;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 1px solid #0E5FD8 !important;\n }\n }\n\n .", " {\n user-select:none;\n }\n\n .", " {\n user-select:none;\n // .", " .", " >td{\n // cursor:move;\n // }\n\n // .", " .", " >td{\n // cursor:no-drop;\n // }\n \n }\n\n .", "{\n opacity: 0.5;\n }\n .", "{\n border: 1px solid var(--primary-color)\n }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n \n }\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n\n\n // .", " td{\n // border-top: 1px solid var(--primary-color) !important;\n // }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n }\n\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n // .", " td{\n // border-bottom: 1px solid var(--primary-color) !important;\n // }\n\n .", " {\n cursor:pointer;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: ", ";\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-", ": var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-", ": var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-", ": var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-", ": var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-", ": var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-", ": var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-", ": ", "px;\n \n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-", ": ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region sticky\u517C\u5BB9\n &.sticky-polyfill-wrapper{\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n display: flex;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n display: flex;\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n ", ":0;\n }\n .", "{\n rig", "ht:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion sticky\u517C\u5BB9\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", "{\n display:flex;\n background: var(--bgcolor);\n }\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n &:focus {\n outline: none\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n // visibility: hidden;\n background: var(--header-bgcolor);\n position:sticky;\n z-index:5;\n ", ":0px;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n\n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n ", ": 0;\n width: 5px;\n &::after{\n ", ": 4px;\n }\n }\n"])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, function (props) {
|
|
51091
|
+
var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject5 || (_templateObject5 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\n ", "\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", "{\n flex-grow:1;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-", ": 1px solid #0E5FD8 !important;\n }\n }\n\n .", " {\n user-select:none;\n }\n\n .", " {\n user-select:none;\n // .", " .", " >td{\n // cursor:move;\n // }\n\n // .", " .", " >td{\n // cursor:no-drop;\n // }\n \n }\n\n .", "{\n opacity: 0.5;\n }\n .", "{\n border: 1px solid var(--primary-color)\n }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n \n }\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n \n }\n\n\n // .", " td{\n // border-top: 1px solid var(--primary-color) !important;\n // }\n\n .", " td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n }\n\n .", " td:first-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n .", " td:last-child{\n border-", ": 1px solid var(--primary-color) !important;\n }\n\n // .", " td{\n // border-bottom: 1px solid var(--primary-color) !important;\n // }\n\n .", " {\n cursor:pointer;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: ", ";\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-", ": var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-", ": var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-", ": var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-", ": var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-", ": var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-", ": var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-", ": ", "px;\n \n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-", ": ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-", ": var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region sticky\u517C\u5BB9\n &.sticky-polyfill-wrapper{\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n display: flex;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n display: flex;\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n ", ":0;\n }\n .", "{\n rig", "ht:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion sticky\u517C\u5BB9\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", "{\n display:flex;\n background: var(--bgcolor);\n }\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n &:focus {\n outline: none\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n // visibility: hidden;\n background: var(--header-bgcolor);\n position:sticky;\n z-index:5;\n ", ":0px;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n\n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n ", ": 0;\n width: 5px;\n &::after{\n ", ": 4px;\n }\n }\n"])), function (_ref) {
|
|
51092
|
+
var _context, _context2, _context3;
|
|
51093
|
+
var prefixCls = _ref.prefixCls;
|
|
51094
|
+
return prefixCls ? _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context2 = "&.".concat(prefixCls, "-table {:root {")).call(_context2, variableConst, "} ")).call(_context, variableConst, "}") : _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context3 = ":root {".concat(variableConst, "} ")).call(_context3, variableConst);
|
|
51095
|
+
}, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, function (props) {
|
|
50779
51096
|
return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["swapRTLDirection"])(props.direction, 'left');
|
|
50780
51097
|
}, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, function (props) {
|
|
50781
51098
|
return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["swapRTLDirection"])(props.direction, 'right');
|
|
@@ -50822,9 +51139,9 @@ var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_3__["defa
|
|
|
50822
51139
|
});
|
|
50823
51140
|
var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["css"])(_templateObject6 || (_templateObject6 = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\n .", "{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .", " {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n"])), variableConst, Classes.button, Classes.buttonPrimary);
|
|
50824
51141
|
function getCssVariableText(obj) {
|
|
50825
|
-
return
|
|
50826
|
-
var
|
|
50827
|
-
acc +=
|
|
51142
|
+
return _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_2___default()(obj).reduce(function (acc, key) {
|
|
51143
|
+
var _context4;
|
|
51144
|
+
acc += _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context4 = "".concat(key, ":")).call(_context4, obj[key], ";");
|
|
50828
51145
|
return acc;
|
|
50829
51146
|
}, '');
|
|
50830
51147
|
}
|
|
@@ -50883,13 +51200,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
50883
51200
|
/* harmony import */ var _helpers_getRichVisibleRectsStream__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./helpers/getRichVisibleRectsStream */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/getRichVisibleRectsStream.js");
|
|
50884
51201
|
/* harmony import */ var _helpers_rowHeightManager__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./helpers/rowHeightManager */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/rowHeightManager.js");
|
|
50885
51202
|
/* harmony import */ var _helpers_TableDOMUtils__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./helpers/TableDOMUtils */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/TableDOMUtils.js");
|
|
50886
|
-
/* harmony import */ var
|
|
50887
|
-
/* harmony import */ var
|
|
50888
|
-
/* harmony import */ var
|
|
50889
|
-
/* harmony import */ var
|
|
50890
|
-
/* harmony import */ var
|
|
50891
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*!
|
|
50892
|
-
/* harmony import */ var
|
|
51203
|
+
/* harmony import */ var _helpers_FastScrollManager__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./helpers/FastScrollManager */ "./node_modules/@kdcloudjs/table/es/table/base/helpers/FastScrollManager.js");
|
|
51204
|
+
/* harmony import */ var _html_table__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./html-table */ "./node_modules/@kdcloudjs/table/es/table/base/html-table.js");
|
|
51205
|
+
/* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./loading */ "./node_modules/@kdcloudjs/table/es/table/base/loading.js");
|
|
51206
|
+
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
|
|
51207
|
+
/* harmony import */ var _globalStyleComponent__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./globalStyleComponent */ "./node_modules/@kdcloudjs/table/es/table/base/globalStyleComponent.js");
|
|
51208
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
|
|
51209
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../utils */ "./node_modules/@kdcloudjs/table/es/table/utils/index.js");
|
|
51210
|
+
/* harmony import */ var _renderTemplates__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./renderTemplates */ "./node_modules/@kdcloudjs/table/es/table/base/renderTemplates.js");
|
|
51211
|
+
/* harmony import */ var _BlankComponent__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./BlankComponent */ "./node_modules/@kdcloudjs/table/es/table/base/BlankComponent.js");
|
|
50893
51212
|
|
|
50894
51213
|
|
|
50895
51214
|
|
|
@@ -50927,11 +51246,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_b
|
|
|
50927
51246
|
|
|
50928
51247
|
|
|
50929
51248
|
|
|
51249
|
+
|
|
51250
|
+
|
|
50930
51251
|
var propsDotEmptyContentDeprecatedWarned = false;
|
|
50931
51252
|
function warnPropsDotEmptyContentIsDeprecated() {
|
|
50932
51253
|
if (!propsDotEmptyContentDeprecatedWarned) {
|
|
50933
51254
|
propsDotEmptyContentDeprecatedWarned = true;
|
|
50934
|
-
|
|
51255
|
+
_utils__WEBPACK_IMPORTED_MODULE_31__["console"].warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
|
|
50935
51256
|
}
|
|
50936
51257
|
}
|
|
50937
51258
|
var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
@@ -50945,6 +51266,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
50945
51266
|
_this.artTableWrapperRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
|
|
50946
51267
|
_this.hasScrollY = false;
|
|
50947
51268
|
_this.offsetY = 0;
|
|
51269
|
+
// Blank组件的引用,用于快速滚动时直接更新
|
|
51270
|
+
_this.topBlankRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
|
|
51271
|
+
_this.bottomBlankRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createRef();
|
|
50948
51272
|
_this.handleRowMouseEnter = function (e) {
|
|
50949
51273
|
var nodeList = _this.domHelper.getRowNodeListByEvent(e);
|
|
50950
51274
|
nodeList && nodeList.forEach(function (node) {
|
|
@@ -50964,11 +51288,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
50964
51288
|
getRowProps = _this$props.getRowProps,
|
|
50965
51289
|
primaryKey = _this$props.primaryKey,
|
|
50966
51290
|
isLoading = _this$props.isLoading,
|
|
50967
|
-
emptyCellHeight = _this$props.emptyCellHeight
|
|
50968
|
-
|
|
50969
|
-
var tableBodyClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_27__["Classes"].horizontalScrollContainer);
|
|
51291
|
+
emptyCellHeight = _this$props.emptyCellHeight;
|
|
51292
|
+
var tableBodyClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableBody, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer);
|
|
50970
51293
|
// 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能
|
|
50971
|
-
var virtualStyle =
|
|
51294
|
+
var virtualStyle = _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isIE || _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isEdge ? {
|
|
50972
51295
|
overflow: 'hidden'
|
|
50973
51296
|
} : {};
|
|
50974
51297
|
if (dataSource.length === 0) {
|
|
@@ -50985,7 +51308,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
50985
51308
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
50986
51309
|
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(tableBodyClassName, 'empty')
|
|
50987
51310
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
50988
|
-
className:
|
|
51311
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].virtual,
|
|
50989
51312
|
tabIndex: -1,
|
|
50990
51313
|
style: virtualStyle
|
|
50991
51314
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_empty__WEBPACK_IMPORTED_MODULE_20__["EmptyHtmlTable"], {
|
|
@@ -51000,7 +51323,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51000
51323
|
bottomBlank = _info$verticalRenderR.bottomBlank,
|
|
51001
51324
|
topBlank = _info$verticalRenderR.topBlank,
|
|
51002
51325
|
bottomIndex = _info$verticalRenderR.bottomIndex;
|
|
51003
|
-
var renderBody = Object(
|
|
51326
|
+
var renderBody = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('body');
|
|
51004
51327
|
if (typeof renderBody === 'function') {
|
|
51005
51328
|
return renderBody(info, _this.props, {
|
|
51006
51329
|
rowProps: {
|
|
@@ -51012,16 +51335,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51012
51335
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51013
51336
|
className: tableBodyClassName
|
|
51014
51337
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51015
|
-
className:
|
|
51338
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].virtual,
|
|
51016
51339
|
tabIndex: -1,
|
|
51017
51340
|
style: virtualStyle
|
|
51018
|
-
},
|
|
51019
|
-
|
|
51020
|
-
|
|
51021
|
-
|
|
51022
|
-
height: topBlank
|
|
51023
|
-
}
|
|
51024
|
-
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_25__["HtmlTable"], {
|
|
51341
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_BlankComponent__WEBPACK_IMPORTED_MODULE_33__["TopBlank"], {
|
|
51342
|
+
ref: _this.topBlankRef,
|
|
51343
|
+
height: topBlank
|
|
51344
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_26__["HtmlTable"], {
|
|
51025
51345
|
tbodyHtmlTag: "tbody",
|
|
51026
51346
|
getRowProps: getRowProps,
|
|
51027
51347
|
primaryKey: primaryKey,
|
|
@@ -51033,12 +51353,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51033
51353
|
limit: bottomIndex,
|
|
51034
51354
|
last: dataSource.length - 1
|
|
51035
51355
|
}
|
|
51036
|
-
}),
|
|
51037
|
-
|
|
51038
|
-
|
|
51039
|
-
style: {
|
|
51040
|
-
height: bottomBlank
|
|
51041
|
-
}
|
|
51356
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_BlankComponent__WEBPACK_IMPORTED_MODULE_33__["BottomBlank"], {
|
|
51357
|
+
ref: _this.bottomBlankRef,
|
|
51358
|
+
height: bottomBlank
|
|
51042
51359
|
})));
|
|
51043
51360
|
};
|
|
51044
51361
|
_this.state = {
|
|
@@ -51053,13 +51370,33 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51053
51370
|
maxRenderHeight: 600,
|
|
51054
51371
|
maxRenderWidth: 800
|
|
51055
51372
|
};
|
|
51373
|
+
// 初始化快速滚动管理器
|
|
51374
|
+
var fastScrollCallbacks = {
|
|
51375
|
+
onFastScrollStart: function onFastScrollStart(renderData) {
|
|
51376
|
+
_this.setState({
|
|
51377
|
+
previousRenderData: renderData
|
|
51378
|
+
});
|
|
51379
|
+
},
|
|
51380
|
+
onFastScrollEnd: function onFastScrollEnd(scrollData) {
|
|
51381
|
+
_this.setState({
|
|
51382
|
+
previousRenderData: undefined,
|
|
51383
|
+
offsetY: scrollData.offsetY,
|
|
51384
|
+
maxRenderHeight: scrollData.maxRenderHeight,
|
|
51385
|
+
maxRenderWidth: scrollData.maxRenderWidth
|
|
51386
|
+
});
|
|
51387
|
+
},
|
|
51388
|
+
getCurrentRenderRange: function getCurrentRenderRange(offsetY, maxRenderHeight, dataLength) {
|
|
51389
|
+
return _this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, dataLength);
|
|
51390
|
+
}
|
|
51391
|
+
};
|
|
51392
|
+
_this.fastScrollManager = new _helpers_FastScrollManager__WEBPACK_IMPORTED_MODULE_25__["FastScrollManager"](fastScrollCallbacks);
|
|
51056
51393
|
return _this;
|
|
51057
51394
|
}
|
|
51058
51395
|
/** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
|
|
51059
51396
|
_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_8___default()(BaseTable, [{
|
|
51060
51397
|
key: "getDoms",
|
|
51061
51398
|
value: function getDoms() {
|
|
51062
|
-
|
|
51399
|
+
_utils__WEBPACK_IMPORTED_MODULE_31__["console"].warn('[kd-table] BaseTable.getDoms() 已经过时');
|
|
51063
51400
|
return this.domHelper;
|
|
51064
51401
|
}
|
|
51065
51402
|
/** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
|
|
@@ -51131,7 +51468,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51131
51468
|
var _this$props3 = this.props,
|
|
51132
51469
|
stickyTop = _this$props3.stickyTop,
|
|
51133
51470
|
hasHeader = _this$props3.hasHeader;
|
|
51134
|
-
var renderHeader = Object(
|
|
51471
|
+
var renderHeader = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('header');
|
|
51135
51472
|
var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
|
|
51136
51473
|
if (typeof renderHeader === 'function') {
|
|
51137
51474
|
return renderHeader(info, this.props, {
|
|
@@ -51139,7 +51476,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51139
51476
|
});
|
|
51140
51477
|
}
|
|
51141
51478
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51142
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51479
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableHeader, 'no-scrollbar'),
|
|
51143
51480
|
style: {
|
|
51144
51481
|
top: stickyTop === 0 ? undefined : stickyTop,
|
|
51145
51482
|
display: hasHeader ? undefined : 'none'
|
|
@@ -51148,7 +51485,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51148
51485
|
info: info,
|
|
51149
51486
|
stickyRightOffset: stickyRightOffset
|
|
51150
51487
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51151
|
-
className:
|
|
51488
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].verticalScrollPlaceholder,
|
|
51152
51489
|
style: this.hasScrollY ? {
|
|
51153
51490
|
width: this.getScrollBarWidth()
|
|
51154
51491
|
} : undefined
|
|
@@ -51158,7 +51495,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51158
51495
|
key: "updateOffsetX",
|
|
51159
51496
|
value: function updateOffsetX(nextOffsetX) {
|
|
51160
51497
|
if (this.lastInfo.useVirtual.horizontal) {
|
|
51161
|
-
if (Math.abs(nextOffsetX - this.state.offsetX) >=
|
|
51498
|
+
if (Math.abs(nextOffsetX - this.state.offsetX) >= _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2) {
|
|
51162
51499
|
this.setState({
|
|
51163
51500
|
offsetX: nextOffsetX
|
|
51164
51501
|
});
|
|
@@ -51174,7 +51511,6 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51174
51511
|
}, {
|
|
51175
51512
|
key: "syncHorizontalScroll",
|
|
51176
51513
|
value: function syncHorizontalScroll(x) {
|
|
51177
|
-
var direction = this.props.direction;
|
|
51178
51514
|
var _x = Math.abs(x);
|
|
51179
51515
|
this.updateOffsetX(_x);
|
|
51180
51516
|
var flat = _babel_runtime_corejs3_core_js_stable_instance_flat__WEBPACK_IMPORTED_MODULE_13___default()(this.lastInfo);
|
|
@@ -51202,11 +51538,18 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51202
51538
|
}, {
|
|
51203
51539
|
key: "getVerticalRenderRange",
|
|
51204
51540
|
value: function getVerticalRenderRange(useVirtual) {
|
|
51205
|
-
var
|
|
51541
|
+
var _this$props4 = this.props,
|
|
51542
|
+
dataSource = _this$props4.dataSource,
|
|
51543
|
+
isLowPerformance = _this$props4.isLowPerformance;
|
|
51206
51544
|
var _this$state = this.state,
|
|
51207
51545
|
offsetY = _this$state.offsetY,
|
|
51208
|
-
maxRenderHeight = _this$state.maxRenderHeight
|
|
51546
|
+
maxRenderHeight = _this$state.maxRenderHeight,
|
|
51547
|
+
previousRenderData = _this$state.previousRenderData;
|
|
51209
51548
|
var rowCount = dataSource.length;
|
|
51549
|
+
// 只有在启用快速滚动时才使用 FastScrollManager 的判断
|
|
51550
|
+
if (isLowPerformance && this.fastScrollManager.getIsFastScrolling() && (previousRenderData === null || previousRenderData === void 0 ? void 0 : previousRenderData.verticalRenderRange)) {
|
|
51551
|
+
return previousRenderData.verticalRenderRange;
|
|
51552
|
+
}
|
|
51210
51553
|
if (useVirtual.vertical) {
|
|
51211
51554
|
return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
|
|
51212
51555
|
} else {
|
|
@@ -51217,14 +51560,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51217
51560
|
key: "renderTableFooter",
|
|
51218
51561
|
value: function renderTableFooter(info) {
|
|
51219
51562
|
// console.log('render footer')
|
|
51220
|
-
var _this$
|
|
51221
|
-
_this$
|
|
51222
|
-
footerDataSource = _this$
|
|
51223
|
-
getRowProps = _this$
|
|
51224
|
-
primaryKey = _this$
|
|
51225
|
-
stickyBottom = _this$
|
|
51563
|
+
var _this$props5 = this.props,
|
|
51564
|
+
_this$props5$footerDa = _this$props5.footerDataSource,
|
|
51565
|
+
footerDataSource = _this$props5$footerDa === void 0 ? [] : _this$props5$footerDa,
|
|
51566
|
+
getRowProps = _this$props5.getRowProps,
|
|
51567
|
+
primaryKey = _this$props5.primaryKey,
|
|
51568
|
+
stickyBottom = _this$props5.stickyBottom;
|
|
51226
51569
|
var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
|
|
51227
|
-
var renderFooter = Object(
|
|
51570
|
+
var renderFooter = Object(_renderTemplates__WEBPACK_IMPORTED_MODULE_32__["default"])('footer');
|
|
51228
51571
|
if (typeof renderFooter === 'function') {
|
|
51229
51572
|
return renderFooter(info, this.props, {
|
|
51230
51573
|
rowProps: {
|
|
@@ -51235,11 +51578,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51235
51578
|
});
|
|
51236
51579
|
}
|
|
51237
51580
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51238
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51581
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].tableFooter, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer),
|
|
51239
51582
|
style: {
|
|
51240
51583
|
bottom: stickyBottom === 0 ? undefined : stickyBottom
|
|
51241
51584
|
}
|
|
51242
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(
|
|
51585
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_html_table__WEBPACK_IMPORTED_MODULE_26__["HtmlTable"], {
|
|
51243
51586
|
tbodyHtmlTag: "tfoot",
|
|
51244
51587
|
data: footerDataSource,
|
|
51245
51588
|
horizontalRenderInfo: info,
|
|
@@ -51253,7 +51596,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51253
51596
|
limit: Infinity
|
|
51254
51597
|
}
|
|
51255
51598
|
}), footerDataSource.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51256
|
-
className:
|
|
51599
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].verticalScrollPlaceholder,
|
|
51257
51600
|
style: this.hasScrollY ? {
|
|
51258
51601
|
width: this.getScrollBarWidth(),
|
|
51259
51602
|
visibility: 'initial'
|
|
@@ -51266,49 +51609,49 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51266
51609
|
var _style, _style2;
|
|
51267
51610
|
var stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0;
|
|
51268
51611
|
// console.log('render LockShadows')
|
|
51269
|
-
var leftLockShadowWidth = info.leftLockTotalWidth +
|
|
51270
|
-
var rightLockShadownWidth = info.rightLockTotalWidth +
|
|
51612
|
+
var leftLockShadowWidth = info.leftLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_28__["LOCK_SHADOW_PADDING"];
|
|
51613
|
+
var rightLockShadownWidth = info.rightLockTotalWidth + _styles__WEBPACK_IMPORTED_MODULE_28__["LOCK_SHADOW_PADDING"] + stickyRightOffset;
|
|
51271
51614
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51272
|
-
className:
|
|
51273
|
-
style: (_style = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, Object(
|
|
51615
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadowMask,
|
|
51616
|
+
style: (_style = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["swapRTLDirection"])(info.direction, 'left'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style, "width", leftLockShadowWidth), _style)
|
|
51274
51617
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51275
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51618
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].leftLockShadow)
|
|
51276
51619
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51277
|
-
className:
|
|
51278
|
-
style: (_style2 = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, Object(
|
|
51620
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadowMask,
|
|
51621
|
+
style: (_style2 = {}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["swapRTLDirection"])(info.direction, 'right'), 0), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_style2, "width", rightLockShadownWidth), _style2)
|
|
51279
51622
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51280
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51623
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].lockShadow, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].rightLockShadow)
|
|
51281
51624
|
})));
|
|
51282
51625
|
}
|
|
51283
51626
|
}, {
|
|
51284
51627
|
key: "renderStickyScroll",
|
|
51285
51628
|
value: function renderStickyScroll(info) {
|
|
51286
51629
|
// console.log('render stickyscroll')
|
|
51287
|
-
var _this$
|
|
51288
|
-
hasStickyScroll = _this$
|
|
51289
|
-
stickyBottom = _this$
|
|
51630
|
+
var _this$props6 = this.props,
|
|
51631
|
+
hasStickyScroll = _this$props6.hasStickyScroll,
|
|
51632
|
+
stickyBottom = _this$props6.stickyBottom;
|
|
51290
51633
|
var hasScroll = this.state.hasScroll;
|
|
51291
51634
|
var isScroll = hasStickyScroll && hasScroll;
|
|
51292
51635
|
var stickyScrollContainerStyle = this.getStickyScrollContainerStyle();
|
|
51293
51636
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51294
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51637
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalStickyScrollContainer),
|
|
51295
51638
|
style: stickyScrollContainerStyle
|
|
51296
51639
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51297
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51640
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollLeftSpacer),
|
|
51298
51641
|
style: {
|
|
51299
51642
|
width: info.leftLockTotalWidth,
|
|
51300
51643
|
display: isScroll ? 'block' : 'none'
|
|
51301
51644
|
}
|
|
51302
51645
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51303
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51646
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].stickyScroll),
|
|
51304
51647
|
style: {
|
|
51305
51648
|
display: isScroll ? 'block' : 'none',
|
|
51306
51649
|
bottom: stickyBottom
|
|
51307
51650
|
}
|
|
51308
51651
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51309
|
-
className:
|
|
51652
|
+
className: _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].stickyScrollItem
|
|
51310
51653
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
|
|
51311
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51654
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].horizontalScrollRightSpacer),
|
|
51312
51655
|
style: {
|
|
51313
51656
|
width: info.rightLockTotalWidth,
|
|
51314
51657
|
display: isScroll ? 'block' : 'none'
|
|
@@ -51318,14 +51661,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51318
51661
|
}, {
|
|
51319
51662
|
key: "getScrollBarWidth",
|
|
51320
51663
|
value: function getScrollBarWidth() {
|
|
51321
|
-
return this.props.scrollbarWidth || Object(
|
|
51664
|
+
return this.props.scrollbarWidth || Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getScrollbarSize"])().width;
|
|
51322
51665
|
}
|
|
51323
51666
|
}, {
|
|
51324
51667
|
key: "getStickyScrollContainerStyle",
|
|
51325
51668
|
value: function getStickyScrollContainerStyle() {
|
|
51326
|
-
var _this$
|
|
51327
|
-
hasStickyScroll = _this$
|
|
51328
|
-
stickyScrollHeight = _this$
|
|
51669
|
+
var _this$props7 = this.props,
|
|
51670
|
+
hasStickyScroll = _this$props7.hasStickyScroll,
|
|
51671
|
+
stickyScrollHeight = _this$props7.stickyScrollHeight;
|
|
51329
51672
|
var hasScroll = this.state.hasScroll;
|
|
51330
51673
|
var isScroll = hasStickyScroll && hasScroll;
|
|
51331
51674
|
var height = stickyScrollHeight === 'auto' ? this.getScrollBarWidth() : stickyScrollHeight;
|
|
@@ -51343,23 +51686,24 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51343
51686
|
// console.log('render table')
|
|
51344
51687
|
var info = Object(_calculations__WEBPACK_IMPORTED_MODULE_19__["calculateRenderInfo"])(this);
|
|
51345
51688
|
this.lastInfo = info;
|
|
51346
|
-
var _this$
|
|
51347
|
-
dataSource = _this$
|
|
51348
|
-
className = _this$
|
|
51349
|
-
style = _this$
|
|
51350
|
-
hasHeader = _this$
|
|
51351
|
-
useOuterBorder = _this$
|
|
51352
|
-
isStickyHead = _this$
|
|
51353
|
-
isStickyHeader = _this$
|
|
51354
|
-
isStickyFooter = _this$
|
|
51355
|
-
isLoading = _this$
|
|
51356
|
-
getTableProps = _this$
|
|
51357
|
-
footerDataSource = _this$
|
|
51358
|
-
components = _this$
|
|
51359
|
-
bordered = _this$
|
|
51360
|
-
direction = _this$
|
|
51689
|
+
var _this$props8 = this.props,
|
|
51690
|
+
dataSource = _this$props8.dataSource,
|
|
51691
|
+
className = _this$props8.className,
|
|
51692
|
+
style = _this$props8.style,
|
|
51693
|
+
hasHeader = _this$props8.hasHeader,
|
|
51694
|
+
useOuterBorder = _this$props8.useOuterBorder,
|
|
51695
|
+
isStickyHead = _this$props8.isStickyHead,
|
|
51696
|
+
isStickyHeader = _this$props8.isStickyHeader,
|
|
51697
|
+
isStickyFooter = _this$props8.isStickyFooter,
|
|
51698
|
+
isLoading = _this$props8.isLoading,
|
|
51699
|
+
getTableProps = _this$props8.getTableProps,
|
|
51700
|
+
footerDataSource = _this$props8.footerDataSource,
|
|
51701
|
+
components = _this$props8.components,
|
|
51702
|
+
bordered = _this$props8.bordered,
|
|
51703
|
+
direction = _this$props8.direction,
|
|
51704
|
+
prefixCls = _this$props8.prefixCls;
|
|
51361
51705
|
info.direction = direction;
|
|
51362
|
-
var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51706
|
+
var artTableWrapperClassName = classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTableWrapper, (_cx = {
|
|
51363
51707
|
'use-outer-border': useOuterBorder,
|
|
51364
51708
|
empty: dataSource.length === 0,
|
|
51365
51709
|
lock: info.hasLockColumn,
|
|
@@ -51367,24 +51711,25 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51367
51711
|
'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
|
|
51368
51712
|
'has-footer': footerDataSource.length > 0,
|
|
51369
51713
|
'sticky-footer': isStickyFooter
|
|
51370
|
-
}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx,
|
|
51714
|
+
}, _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTableBordered, bordered), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'ie-polyfill-wrapper', _utils__WEBPACK_IMPORTED_MODULE_31__["browserType"].isIE), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, 'sticky-polyfill-wrapper', Object(_utils__WEBPACK_IMPORTED_MODULE_31__["isStickyUIDegrade"])()), _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, "".concat(prefixCls, "-table"), prefixCls), _cx), className);
|
|
51371
51715
|
var artTableWrapperProps = _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()({
|
|
51372
51716
|
className: artTableWrapperClassName,
|
|
51373
51717
|
style: _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, style), {
|
|
51374
51718
|
direction: direction
|
|
51375
51719
|
})
|
|
51376
|
-
},
|
|
51720
|
+
}, _utils__WEBPACK_IMPORTED_MODULE_30__["STYLED_REF_PROP"], this.artTableWrapperRef);
|
|
51377
51721
|
var tableProps = getTableProps() || {};
|
|
51378
|
-
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(
|
|
51722
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_globalStyleComponent__WEBPACK_IMPORTED_MODULE_29__["default"], {
|
|
51379
51723
|
direction: info.direction
|
|
51380
|
-
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(
|
|
51381
|
-
direction: info.direction
|
|
51382
|
-
|
|
51724
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_styles__WEBPACK_IMPORTED_MODULE_28__["StyledArtTableWrapper"], _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, artTableWrapperProps, {
|
|
51725
|
+
direction: info.direction,
|
|
51726
|
+
prefixCls: this.props.prefixCls
|
|
51727
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(_loading__WEBPACK_IMPORTED_MODULE_27__["default"], {
|
|
51383
51728
|
visible: isLoading,
|
|
51384
51729
|
LoadingIcon: components.LoadingIcon,
|
|
51385
51730
|
LoadingContentWrapper: components.LoadingContentWrapper
|
|
51386
51731
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, tableProps, {
|
|
51387
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(
|
|
51732
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_15___default()(_styles__WEBPACK_IMPORTED_MODULE_28__["Classes"].artTable, tableProps.className)
|
|
51388
51733
|
}), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info))));
|
|
51389
51734
|
}
|
|
51390
51735
|
}, {
|
|
@@ -51398,11 +51743,11 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51398
51743
|
this.initSubscriptions();
|
|
51399
51744
|
this.didMountOrUpdate();
|
|
51400
51745
|
// console.log('did mount end')
|
|
51401
|
-
var _this$
|
|
51402
|
-
cssVariables = _this$
|
|
51403
|
-
enableCSSVariables = _this$
|
|
51404
|
-
bordered = _this$
|
|
51405
|
-
Object(
|
|
51746
|
+
var _this$props9 = this.props,
|
|
51747
|
+
cssVariables = _this$props9.cssVariables,
|
|
51748
|
+
enableCSSVariables = _this$props9.enableCSSVariables,
|
|
51749
|
+
bordered = _this$props9.bordered;
|
|
51750
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_30__["cssPolifill"])({
|
|
51406
51751
|
variables: cssVariables || {},
|
|
51407
51752
|
enableCSSVariables: enableCSSVariables,
|
|
51408
51753
|
bordered: bordered
|
|
@@ -51416,12 +51761,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51416
51761
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
51417
51762
|
var _a;
|
|
51418
51763
|
// console.log('did update start')
|
|
51419
|
-
var _this$
|
|
51420
|
-
cssVariables = _this$
|
|
51421
|
-
enableCSSVariables = _this$
|
|
51422
|
-
bordered = _this$
|
|
51423
|
-
if (!Object(
|
|
51424
|
-
Object(
|
|
51764
|
+
var _this$props10 = this.props,
|
|
51765
|
+
cssVariables = _this$props10.cssVariables,
|
|
51766
|
+
enableCSSVariables = _this$props10.enableCSSVariables,
|
|
51767
|
+
bordered = _this$props10.bordered;
|
|
51768
|
+
if (!Object(_utils__WEBPACK_IMPORTED_MODULE_30__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_a = this.props) === null || _a === void 0 ? void 0 : _a.cssVariables)) {
|
|
51769
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_30__["cssPolifill"])({
|
|
51425
51770
|
variables: cssVariables || {},
|
|
51426
51771
|
enableCSSVariables: enableCSSVariables,
|
|
51427
51772
|
bordered: bordered
|
|
@@ -51435,10 +51780,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51435
51780
|
}, {
|
|
51436
51781
|
key: "didMountOrUpdate",
|
|
51437
51782
|
value: function didMountOrUpdate(prevProps, prevState) {
|
|
51438
|
-
this
|
|
51439
|
-
|
|
51440
|
-
|
|
51441
|
-
|
|
51783
|
+
var _this2 = this;
|
|
51784
|
+
window.requestAnimationFrame(function () {
|
|
51785
|
+
_this2.syncHorizontalScrollFromTableBody();
|
|
51786
|
+
_this2.updateStickyScroll();
|
|
51787
|
+
_this2.adjustNeedRenderLock();
|
|
51788
|
+
_this2.updateRowHeightManager();
|
|
51789
|
+
});
|
|
51442
51790
|
this.updateScrollLeftWhenLayoutChanged(prevProps, prevState);
|
|
51443
51791
|
}
|
|
51444
51792
|
}, {
|
|
@@ -51453,38 +51801,38 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51453
51801
|
var prevHasFooter = prevProps.footerDataSource.length > 0;
|
|
51454
51802
|
var currentHasFooter = this.props.footerDataSource.length > 0;
|
|
51455
51803
|
if (!prevHasFooter && currentHasFooter) {
|
|
51456
|
-
Object(
|
|
51804
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollFooterDOM"])(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft;
|
|
51457
51805
|
}
|
|
51458
51806
|
}
|
|
51459
51807
|
}
|
|
51460
51808
|
}, {
|
|
51461
51809
|
key: "initSubscriptions",
|
|
51462
51810
|
value: function initSubscriptions() {
|
|
51463
|
-
var
|
|
51811
|
+
var _this3 = this;
|
|
51464
51812
|
var _this$domHelper2 = this.domHelper,
|
|
51465
51813
|
virtual = _this$domHelper2.virtual,
|
|
51466
51814
|
stickyScroll = _this$domHelper2.stickyScroll;
|
|
51467
|
-
this.rootSubscription.add(
|
|
51468
|
-
|
|
51469
|
-
|
|
51815
|
+
this.rootSubscription.add(_utils__WEBPACK_IMPORTED_MODULE_30__["throttledWindowResize$"].subscribe(function () {
|
|
51816
|
+
_this3.updateStickyScroll();
|
|
51817
|
+
_this3.adjustNeedRenderLock();
|
|
51470
51818
|
}));
|
|
51471
51819
|
this.resizeSubject.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["debounceTime"](100)).subscribe(function () {
|
|
51472
51820
|
var _a, _b;
|
|
51473
|
-
(_b = (_a =
|
|
51821
|
+
(_b = (_a = _this3.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, _this3.domHelper.tableBody.clientWidth);
|
|
51474
51822
|
});
|
|
51475
51823
|
var handleTableWrapperResize = function handleTableWrapperResize() {
|
|
51476
|
-
|
|
51824
|
+
_this3.resizeSubject.next();
|
|
51477
51825
|
};
|
|
51478
|
-
this.resizeObserver = Object(
|
|
51826
|
+
this.resizeObserver = Object(_utils__WEBPACK_IMPORTED_MODULE_30__["addResizeObserver"])(this.domHelper.artTableWrapper, handleTableWrapperResize);
|
|
51479
51827
|
// 滚动同步
|
|
51480
|
-
this.rootSubscription.add(Object(
|
|
51481
|
-
|
|
51828
|
+
this.rootSubscription.add(Object(_utils__WEBPACK_IMPORTED_MODULE_30__["syncScrollLeft"])([Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollHeaderDOM"])(this.domHelper), virtual, Object(_utils__WEBPACK_IMPORTED_MODULE_30__["getTableScrollFooterDOM"])(this.domHelper), stickyScroll], function (scrollLeft) {
|
|
51829
|
+
_this3.syncHorizontalScroll(scrollLeft);
|
|
51482
51830
|
}));
|
|
51483
51831
|
var richVisibleRects$ = Object(_helpers_getRichVisibleRectsStream__WEBPACK_IMPORTED_MODULE_22__["getRichVisibleRectsStream"])(this.domHelper.virtual, this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["skip"](1), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["mapTo"]('structure-may-change')), this.props.virtualDebugLabel).pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["shareReplay"]());
|
|
51484
51832
|
// 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)
|
|
51485
51833
|
this.rootSubscription.add(Object(rxjs__WEBPACK_IMPORTED_MODULE_17__["combineLatest"])([richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (p) {
|
|
51486
51834
|
return p.clipRect;
|
|
51487
|
-
}), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](
|
|
51835
|
+
}), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"](_utils__WEBPACK_IMPORTED_MODULE_30__["shallowEqual"])), this.props$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["startWith"](null), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["pairwise"](), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["filter"](function (_ref) {
|
|
51488
51836
|
var _ref2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_ref, 2),
|
|
51489
51837
|
prevProps = _ref2[0],
|
|
51490
51838
|
props = _ref2[1];
|
|
@@ -51492,7 +51840,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51492
51840
|
}))]).subscribe(function (_ref3) {
|
|
51493
51841
|
var _ref4 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_ref3, 1),
|
|
51494
51842
|
clipRect = _ref4[0];
|
|
51495
|
-
var loadingIndicator =
|
|
51843
|
+
var loadingIndicator = _this3.domHelper.getLoadingIndicator();
|
|
51496
51844
|
if (!loadingIndicator) {
|
|
51497
51845
|
return;
|
|
51498
51846
|
}
|
|
@@ -51503,9 +51851,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51503
51851
|
}));
|
|
51504
51852
|
// 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render
|
|
51505
51853
|
this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["filter"](function () {
|
|
51506
|
-
var
|
|
51507
|
-
horizontal =
|
|
51508
|
-
vertical =
|
|
51854
|
+
var _this3$lastInfo$useVi = _this3.lastInfo.useVirtual,
|
|
51855
|
+
horizontal = _this3$lastInfo$useVi.horizontal,
|
|
51856
|
+
vertical = _this3$lastInfo$useVi.vertical;
|
|
51509
51857
|
return horizontal || vertical;
|
|
51510
51858
|
}), rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (_ref5) {
|
|
51511
51859
|
var clipRect = _ref5.clipRect,
|
|
@@ -51521,9 +51869,30 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51521
51869
|
return true;
|
|
51522
51870
|
}
|
|
51523
51871
|
// 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
|
|
51524
|
-
return Math.abs(x.maxRenderWidth - y.maxRenderWidth) <
|
|
51872
|
+
return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2 && Math.abs(x.offsetY - y.offsetY) < _utils__WEBPACK_IMPORTED_MODULE_30__["OVERSCAN_SIZE"] / 2;
|
|
51873
|
+
}),
|
|
51874
|
+
// 快速滚动检测和处理
|
|
51875
|
+
rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["tap"](function (sizeAndOffset) {
|
|
51876
|
+
// 只有在启用快速滚动时才使用 FastScrollManager 处理滚动事件
|
|
51877
|
+
if (_this3.props.isLowPerformance) {
|
|
51878
|
+
_this3.fastScrollManager.handleScrollEvent(sizeAndOffset, {
|
|
51879
|
+
offsetY: _this3.state.offsetY,
|
|
51880
|
+
maxRenderHeight: _this3.state.maxRenderHeight,
|
|
51881
|
+
maxRenderWidth: _this3.state.maxRenderWidth
|
|
51882
|
+
}, _this3.props.dataSource.length, _this3.domHelper.virtual.scrollHeight);
|
|
51883
|
+
}
|
|
51525
51884
|
})).subscribe(function (sizeAndOffset) {
|
|
51526
|
-
|
|
51885
|
+
var _a, _b;
|
|
51886
|
+
// 正常滚动时也需要实时更新 blank 高度,确保缓慢滚动时的视觉连续性
|
|
51887
|
+
var currentRange = _this3.rowHeightManager.getRenderRange(sizeAndOffset.offsetY, sizeAndOffset.maxRenderHeight, _this3.props.dataSource.length);
|
|
51888
|
+
// 直接更新 DOM,避免等待下次渲染
|
|
51889
|
+
(_a = _this3.topBlankRef.current) === null || _a === void 0 ? void 0 : _a.updateHeight(currentRange.topBlank);
|
|
51890
|
+
(_b = _this3.bottomBlankRef.current) === null || _b === void 0 ? void 0 : _b.updateHeight(currentRange.bottomBlank);
|
|
51891
|
+
// 只有在启用快速滚动时才检查快速滚动状态
|
|
51892
|
+
if (_this3.props.isLowPerformance && _this3.fastScrollManager.getIsFastScrolling()) {
|
|
51893
|
+
return;
|
|
51894
|
+
}
|
|
51895
|
+
_this3.setState(sizeAndOffset);
|
|
51527
51896
|
}));
|
|
51528
51897
|
this.rootSubscription.add(richVisibleRects$.pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["map"](function (_ref6) {
|
|
51529
51898
|
var clipRect = _ref6.clipRect,
|
|
@@ -51541,13 +51910,13 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51541
51910
|
var _a;
|
|
51542
51911
|
var offsetY = sizeAndOffset.offsetY,
|
|
51543
51912
|
maxRenderHeight = sizeAndOffset.maxRenderHeight;
|
|
51544
|
-
var scrollDirection = offsetY -
|
|
51545
|
-
|
|
51546
|
-
var rowCount =
|
|
51547
|
-
var vertical =
|
|
51913
|
+
var scrollDirection = offsetY - _this3.offsetY >= 0 ? 'down' : 'up';
|
|
51914
|
+
_this3.offsetY = offsetY;
|
|
51915
|
+
var rowCount = _this3.props.dataSource.length;
|
|
51916
|
+
var vertical = _this3.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
|
|
51548
51917
|
var topIndex = vertical.topIndex,
|
|
51549
51918
|
bottomIndex = vertical.bottomIndex;
|
|
51550
|
-
var blockSize = ((_a =
|
|
51919
|
+
var blockSize = ((_a = _this3.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.blockSize) || 200;
|
|
51551
51920
|
var topBlockStartIndex = Math.floor(Math.max(topIndex - 1, 0) / blockSize) * blockSize;
|
|
51552
51921
|
var bottomBlockStartIndex = Math.floor((bottomIndex + 1) / blockSize) * blockSize;
|
|
51553
51922
|
return scrollDirection === 'down' ? [topBlockStartIndex, bottomBlockStartIndex] : [bottomBlockStartIndex, topBlockStartIndex];
|
|
@@ -51562,7 +51931,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51562
51931
|
// 过滤掉重复掉值
|
|
51563
51932
|
rxjs_operators__WEBPACK_IMPORTED_MODULE_18__["distinctUntilChanged"]()).subscribe(function (startIndex) {
|
|
51564
51933
|
var _a;
|
|
51565
|
-
(_a =
|
|
51934
|
+
(_a = _this3.props.scrollLoad) === null || _a === void 0 ? void 0 : _a.callback(startIndex);
|
|
51566
51935
|
}));
|
|
51567
51936
|
}
|
|
51568
51937
|
}, {
|
|
@@ -51572,6 +51941,10 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51572
51941
|
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
51573
51942
|
this.rootSubscription.unsubscribe();
|
|
51574
51943
|
this.resizeSubject.unsubscribe();
|
|
51944
|
+
// 只有在启用快速滚动时才清理快速滚动管理器
|
|
51945
|
+
if (this.props.isLowPerformance) {
|
|
51946
|
+
this.fastScrollManager.cleanup();
|
|
51947
|
+
}
|
|
51575
51948
|
}
|
|
51576
51949
|
/** 更新 DOM 节点的引用,方便其他方法直接操作 DOM */
|
|
51577
51950
|
}, {
|
|
@@ -51635,7 +52008,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
51635
52008
|
hasLockColumn = _this$lastInfo2.hasLockColumn;
|
|
51636
52009
|
if (hasLockColumn) {
|
|
51637
52010
|
var _context;
|
|
51638
|
-
var sumOfColWidth = Object(
|
|
52011
|
+
var sumOfColWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_30__["sum"])(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_14___default()(_context = flat.full).call(_context, function (col) {
|
|
51639
52012
|
return col.width;
|
|
51640
52013
|
}));
|
|
51641
52014
|
var nextNeedRenderLock = sumOfColWidth > this.domHelper.artTable.clientWidth;
|
|
@@ -51666,6 +52039,7 @@ BaseTable.defaultProps = {
|
|
|
51666
52039
|
stickyScrollHeight: 'auto',
|
|
51667
52040
|
useVirtual: 'auto',
|
|
51668
52041
|
estimatedRowHeight: 48,
|
|
52042
|
+
isLowPerformance: false,
|
|
51669
52043
|
isLoading: false,
|
|
51670
52044
|
components: {},
|
|
51671
52045
|
getTableProps: rxjs__WEBPACK_IMPORTED_MODULE_17__["noop"],
|
|
@@ -52668,6 +53042,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
52668
53042
|
/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3__);
|
|
52669
53043
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./node_modules/@kdcloudjs/table/es/table/utils/index.js");
|
|
52670
53044
|
/* harmony import */ var _autoFill__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./autoFill */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/autoFill.js");
|
|
53045
|
+
/* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
|
|
53046
|
+
|
|
52671
53047
|
|
|
52672
53048
|
|
|
52673
53049
|
|
|
@@ -52731,251 +53107,237 @@ function columnDrag() {
|
|
|
52731
53107
|
style: style
|
|
52732
53108
|
});
|
|
52733
53109
|
},
|
|
52734
|
-
headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_4__["mergeCellProps"])(col.headerCellProps, {
|
|
52735
|
-
onMouseDown:
|
|
53110
|
+
headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_4__["mergeCellProps"])(col.headerCellProps, _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, isLeaf && path.length === 1 ? {
|
|
53111
|
+
onMouseDown: function onMouseDown(e) {
|
|
52736
53112
|
if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
|
|
52737
53113
|
return;
|
|
52738
53114
|
}
|
|
52739
|
-
|
|
52740
|
-
|
|
52741
|
-
|
|
52742
|
-
//
|
|
52743
|
-
|
|
52744
|
-
|
|
52745
|
-
|
|
52746
|
-
|
|
52747
|
-
|
|
52748
|
-
|
|
52749
|
-
|
|
52750
|
-
|
|
52751
|
-
|
|
52752
|
-
|
|
52753
|
-
|
|
52754
|
-
|
|
52755
|
-
|
|
52756
|
-
|
|
52757
|
-
|
|
52758
|
-
|
|
52759
|
-
|
|
52760
|
-
|
|
52761
|
-
|
|
52762
|
-
|
|
52763
|
-
|
|
52764
|
-
|
|
52765
|
-
|
|
52766
|
-
|
|
52767
|
-
|
|
52768
|
-
|
|
52769
|
-
|
|
52770
|
-
|
|
52771
|
-
|
|
52772
|
-
|
|
52773
|
-
|
|
52774
|
-
|
|
52775
|
-
|
|
52776
|
-
|
|
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
|
-
if (
|
|
52836
|
-
|
|
52837
|
-
|
|
52838
|
-
|
|
52839
|
-
|
|
52840
|
-
|
|
52841
|
-
|
|
52842
|
-
|
|
52843
|
-
|
|
52844
|
-
|
|
52845
|
-
lock: lock
|
|
52846
|
-
})) {
|
|
52847
|
-
cloumnsTranslateData[code] += _adjustTranslation(optionColumn.width);
|
|
52848
|
-
if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
|
|
52849
|
-
cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(width);
|
|
52850
|
-
} else {
|
|
52851
|
-
cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(getColumnWidth(columns[index]));
|
|
52852
|
-
moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width));
|
|
52853
|
-
}
|
|
52854
|
-
columnMoved = true;
|
|
52855
|
-
}
|
|
52856
|
-
index++;
|
|
52857
|
-
}
|
|
52858
|
-
} else if (startIndex < replaceIndex) {
|
|
52859
|
-
// 右移
|
|
52860
|
-
while (startIndex < index) {
|
|
52861
|
-
var _columns$index2 = columns[index],
|
|
52862
|
-
_code = _columns$index2.code,
|
|
52863
|
-
_lock = _columns$index2.lock,
|
|
52864
|
-
_width = _columns$index2.width,
|
|
52865
|
-
_children = _columns$index2.children;
|
|
52866
|
-
if (enableMove({
|
|
52867
|
-
code: _code,
|
|
52868
|
-
lock: _lock
|
|
52869
|
-
})) {
|
|
52870
|
-
cloumnsTranslateData[_code] -= _adjustTranslation(optionColumn.width);
|
|
52871
|
-
if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
|
|
52872
|
-
cloumnsTranslateData[optionColumn.code] += _adjustTranslation(_width);
|
|
52873
|
-
} else {
|
|
52874
|
-
cloumnsTranslateData[optionColumn.code] += _adjustTranslation(getColumnWidth(columns[index]));
|
|
52875
|
-
moveAllChildren(_children, cloumnsTranslateData, _adjustTranslation(optionColumn.width), true);
|
|
52876
|
-
}
|
|
52877
|
-
columnMoved = true;
|
|
52878
|
-
}
|
|
52879
|
-
index--;
|
|
53115
|
+
handlePointerDown(e.nativeEvent, false, e.currentTarget);
|
|
53116
|
+
},
|
|
53117
|
+
onTouchStart: function onTouchStart(e) {
|
|
53118
|
+
// 阻止触摸事件的默认行为
|
|
53119
|
+
if (e.cancelable) {
|
|
53120
|
+
e.preventDefault();
|
|
53121
|
+
}
|
|
53122
|
+
handlePointerDown(e.nativeEvent, true, e.currentTarget);
|
|
53123
|
+
}
|
|
53124
|
+
} : {}), {
|
|
53125
|
+
style: style
|
|
53126
|
+
}))
|
|
53127
|
+
});
|
|
53128
|
+
// 统一的拖拽处理函数
|
|
53129
|
+
function handlePointerDown(startEvent, isTouch, currentTarget) {
|
|
53130
|
+
var _a;
|
|
53131
|
+
window.addEventListener('selectstart', disableSelect);
|
|
53132
|
+
var columnMoved = false;
|
|
53133
|
+
var columns = pipeline.getColumns();
|
|
53134
|
+
var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
|
|
53135
|
+
cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
|
|
53136
|
+
var cloumnsSortData = {};
|
|
53137
|
+
columns.forEach(function (item, index) {
|
|
53138
|
+
cloumnsSortData[item.code] = index;
|
|
53139
|
+
});
|
|
53140
|
+
var rect = (_a = currentTarget.parentElement) === null || _a === void 0 ? void 0 : _a.getClientRects()[0];
|
|
53141
|
+
if (!rect) return;
|
|
53142
|
+
var startX = direction === 'rtl' ? rect.right : rect.left;
|
|
53143
|
+
var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(startEvent);
|
|
53144
|
+
var mouseDownClientX = startCoordinates.clientX;
|
|
53145
|
+
var mouseDownClientY = startCoordinates.clientY;
|
|
53146
|
+
var moveData = [];
|
|
53147
|
+
var allColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["collectNodes"])(columns);
|
|
53148
|
+
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
53149
|
+
var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
|
|
53150
|
+
var updateScrollPosition = function updateScrollPosition(client) {
|
|
53151
|
+
var clientX = client.clientX;
|
|
53152
|
+
var left = tableBodyClientRect.left,
|
|
53153
|
+
width = tableBodyClientRect.width;
|
|
53154
|
+
if (clientX + SCROLL_SIZE >= left + width) {
|
|
53155
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
|
|
53156
|
+
}
|
|
53157
|
+
if (clientX - SCROLL_SIZE <= left) {
|
|
53158
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
|
|
53159
|
+
}
|
|
53160
|
+
};
|
|
53161
|
+
function handlePointerMove(e) {
|
|
53162
|
+
// 触摸事件需要阻止默认行为,防止页面滚动
|
|
53163
|
+
if (isTouch && e.cancelable) {
|
|
53164
|
+
e.preventDefault();
|
|
53165
|
+
}
|
|
53166
|
+
var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(e);
|
|
53167
|
+
var client = {
|
|
53168
|
+
clientX: coordinates.clientX,
|
|
53169
|
+
clientY: coordinates.clientY
|
|
53170
|
+
};
|
|
53171
|
+
var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
|
|
53172
|
+
var startPosition = startX - scrollDistance; // 表头最左边起点
|
|
53173
|
+
var offsetDistance = direction === 'rtl' ? startPosition - coordinates.clientX : coordinates.clientX - startPosition;
|
|
53174
|
+
updateScrollPosition(client);
|
|
53175
|
+
if (offsetDistance < 20) {
|
|
53176
|
+
return;
|
|
53177
|
+
} else {
|
|
53178
|
+
e.stopPropagation();
|
|
53179
|
+
}
|
|
53180
|
+
document.body.style.userSelect = 'none';
|
|
53181
|
+
currentTarget.style.cursor = 'move';
|
|
53182
|
+
// 重置位置信息
|
|
53183
|
+
cloumnsTranslateData = {};
|
|
53184
|
+
allColumns.forEach(function (item) {
|
|
53185
|
+
cloumnsTranslateData[item.code] = 0;
|
|
53186
|
+
});
|
|
53187
|
+
// 计算平移位置
|
|
53188
|
+
var replaceIndex = 0;
|
|
53189
|
+
var totalWitdth = getColumnWidth(columns[replaceIndex]);
|
|
53190
|
+
while (totalWitdth < offsetDistance && replaceIndex < columns.length - 1) {
|
|
53191
|
+
replaceIndex++;
|
|
53192
|
+
totalWitdth += getColumnWidth(columns[replaceIndex]);
|
|
53193
|
+
}
|
|
53194
|
+
// 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
|
|
53195
|
+
var startIndex;
|
|
53196
|
+
columns.forEach(function (column, index) {
|
|
53197
|
+
if (column.code === col.code) {
|
|
53198
|
+
startIndex = index;
|
|
53199
|
+
}
|
|
53200
|
+
});
|
|
53201
|
+
var optionColumn = columns[startIndex];
|
|
53202
|
+
var index = replaceIndex;
|
|
53203
|
+
if (startIndex > replaceIndex) {
|
|
53204
|
+
// 左移
|
|
53205
|
+
while (index < startIndex) {
|
|
53206
|
+
var _columns$index = columns[index],
|
|
53207
|
+
code = _columns$index.code,
|
|
53208
|
+
lock = _columns$index.lock,
|
|
53209
|
+
width = _columns$index.width,
|
|
53210
|
+
children = _columns$index.children;
|
|
53211
|
+
if (enableMove({
|
|
53212
|
+
code: code,
|
|
53213
|
+
lock: lock
|
|
53214
|
+
})) {
|
|
53215
|
+
cloumnsTranslateData[code] += _adjustTranslation(optionColumn.width);
|
|
53216
|
+
if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
|
|
53217
|
+
cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(width);
|
|
53218
|
+
} else {
|
|
53219
|
+
cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(getColumnWidth(columns[index]));
|
|
53220
|
+
moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width));
|
|
52880
53221
|
}
|
|
53222
|
+
columnMoved = true;
|
|
52881
53223
|
}
|
|
52882
|
-
|
|
52883
|
-
pipeline.setStateAtKey(stateKey, {
|
|
52884
|
-
cloumnsTranslateData: cloumnsTranslateData
|
|
52885
|
-
});
|
|
52886
|
-
moveData = [startIndex, replaceIndex];
|
|
52887
|
-
});
|
|
53224
|
+
index++;
|
|
52888
53225
|
}
|
|
52889
|
-
|
|
52890
|
-
|
|
52891
|
-
|
|
52892
|
-
|
|
52893
|
-
|
|
52894
|
-
|
|
52895
|
-
|
|
53226
|
+
} else if (startIndex < replaceIndex) {
|
|
53227
|
+
// 右移
|
|
53228
|
+
while (startIndex < index) {
|
|
53229
|
+
var _columns$index2 = columns[index],
|
|
53230
|
+
_code = _columns$index2.code,
|
|
53231
|
+
_lock = _columns$index2.lock,
|
|
53232
|
+
_width = _columns$index2.width,
|
|
53233
|
+
_children = _columns$index2.children;
|
|
53234
|
+
if (enableMove({
|
|
53235
|
+
code: _code,
|
|
53236
|
+
lock: _lock
|
|
53237
|
+
})) {
|
|
53238
|
+
cloumnsTranslateData[_code] -= _adjustTranslation(optionColumn.width);
|
|
53239
|
+
if (Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isLeafNode"])(columns[index])) {
|
|
53240
|
+
cloumnsTranslateData[optionColumn.code] += _adjustTranslation(_width);
|
|
53241
|
+
} else {
|
|
53242
|
+
cloumnsTranslateData[optionColumn.code] += _adjustTranslation(getColumnWidth(columns[index]));
|
|
53243
|
+
moveAllChildren(_children, cloumnsTranslateData, _adjustTranslation(optionColumn.width), true);
|
|
53244
|
+
}
|
|
53245
|
+
columnMoved = true;
|
|
52896
53246
|
}
|
|
53247
|
+
index--;
|
|
53248
|
+
}
|
|
53249
|
+
}
|
|
53250
|
+
window.requestAnimationFrame(function () {
|
|
53251
|
+
pipeline.setStateAtKey(stateKey, {
|
|
53252
|
+
cloumnsTranslateData: cloumnsTranslateData
|
|
53253
|
+
});
|
|
53254
|
+
moveData = [startIndex, replaceIndex];
|
|
53255
|
+
});
|
|
53256
|
+
}
|
|
53257
|
+
function handlePointerUp(e) {
|
|
53258
|
+
Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["removePointerEventListeners"])(document.body, {
|
|
53259
|
+
onPointerMove: handlePointerMove,
|
|
53260
|
+
onPointerUp: handlePointerUp
|
|
53261
|
+
}, isTouch);
|
|
53262
|
+
window.removeEventListener('selectstart', disableSelect);
|
|
53263
|
+
var endCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["getEventCoordinates"])(e);
|
|
53264
|
+
if (Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["hasMovedEnough"])(mouseDownClientX, mouseDownClientY, endCoordinates.clientX, endCoordinates.clientY)) {
|
|
53265
|
+
e.stopPropagation(); // 存在移动就阻止冒泡
|
|
53266
|
+
currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
53267
|
+
}
|
|
52897
53268
|
|
|
52898
|
-
|
|
52899
|
-
|
|
52900
|
-
|
|
52901
|
-
|
|
52902
|
-
|
|
52903
|
-
|
|
52904
|
-
|
|
52905
|
-
|
|
52906
|
-
|
|
52907
|
-
|
|
52908
|
-
|
|
52909
|
-
|
|
52910
|
-
|
|
52911
|
-
|
|
52912
|
-
|
|
52913
|
-
|
|
52914
|
-
|
|
52915
|
-
|
|
52916
|
-
|
|
52917
|
-
|
|
52918
|
-
|
|
52919
|
-
|
|
52920
|
-
|
|
52921
|
-
lock = _columns$index3.lock;
|
|
52922
|
-
if (enableMove({
|
|
52923
|
-
code: code,
|
|
52924
|
-
lock: lock
|
|
52925
|
-
})) {
|
|
52926
|
-
cloumnsSortData[code] += 1;
|
|
52927
|
-
cloumnsSortData[optionColumn.code] -= 1;
|
|
52928
|
-
columnMoved = true;
|
|
52929
|
-
}
|
|
52930
|
-
index++;
|
|
52931
|
-
}
|
|
52932
|
-
} else if (startIndex < replaceIndex) {
|
|
52933
|
-
// 右移
|
|
52934
|
-
while (index > startIndex) {
|
|
52935
|
-
var _columns$index4 = columns[index],
|
|
52936
|
-
_code2 = _columns$index4.code,
|
|
52937
|
-
_lock2 = _columns$index4.lock;
|
|
52938
|
-
if (enableMove({
|
|
52939
|
-
code: _code2,
|
|
52940
|
-
lock: _lock2
|
|
52941
|
-
})) {
|
|
52942
|
-
cloumnsSortData[_code2] -= 1;
|
|
52943
|
-
cloumnsSortData[optionColumn.code] += 1;
|
|
52944
|
-
columnMoved = true;
|
|
52945
|
-
}
|
|
52946
|
-
index--;
|
|
52947
|
-
}
|
|
53269
|
+
window.requestAnimationFrame(function () {
|
|
53270
|
+
// 取消阻止列头点击事件
|
|
53271
|
+
currentTarget.removeEventListener('click', stopClickPropagation);
|
|
53272
|
+
currentTarget = null;
|
|
53273
|
+
var _moveData = moveData,
|
|
53274
|
+
_moveData2 = _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_moveData, 2),
|
|
53275
|
+
startIndex = _moveData2[0],
|
|
53276
|
+
replaceIndex = _moveData2[1];
|
|
53277
|
+
var optionColumn = columns[startIndex];
|
|
53278
|
+
var index = replaceIndex;
|
|
53279
|
+
if (startIndex > replaceIndex) {
|
|
53280
|
+
// 左移
|
|
53281
|
+
while (index < startIndex) {
|
|
53282
|
+
var _columns$index3 = columns[index],
|
|
53283
|
+
code = _columns$index3.code,
|
|
53284
|
+
lock = _columns$index3.lock;
|
|
53285
|
+
if (enableMove({
|
|
53286
|
+
code: code,
|
|
53287
|
+
lock: lock
|
|
53288
|
+
})) {
|
|
53289
|
+
cloumnsSortData[code] += 1;
|
|
53290
|
+
cloumnsSortData[optionColumn.code] -= 1;
|
|
53291
|
+
columnMoved = true;
|
|
52948
53292
|
}
|
|
52949
|
-
|
|
52950
|
-
|
|
52951
|
-
|
|
52952
|
-
|
|
52953
|
-
|
|
52954
|
-
|
|
52955
|
-
|
|
52956
|
-
|
|
52957
|
-
|
|
52958
|
-
|
|
52959
|
-
|
|
52960
|
-
|
|
52961
|
-
|
|
53293
|
+
index++;
|
|
53294
|
+
}
|
|
53295
|
+
} else if (startIndex < replaceIndex) {
|
|
53296
|
+
// 右移
|
|
53297
|
+
while (index > startIndex) {
|
|
53298
|
+
var _columns$index4 = columns[index],
|
|
53299
|
+
_code2 = _columns$index4.code,
|
|
53300
|
+
_lock2 = _columns$index4.lock;
|
|
53301
|
+
if (enableMove({
|
|
53302
|
+
code: _code2,
|
|
53303
|
+
lock: _lock2
|
|
53304
|
+
})) {
|
|
53305
|
+
cloumnsSortData[_code2] -= 1;
|
|
53306
|
+
cloumnsSortData[optionColumn.code] += 1;
|
|
53307
|
+
columnMoved = true;
|
|
52962
53308
|
}
|
|
52963
|
-
|
|
52964
|
-
|
|
52965
|
-
|
|
53309
|
+
index--;
|
|
53310
|
+
}
|
|
53311
|
+
}
|
|
53312
|
+
var onColumnDragStopped = opts.onColumnDragStopped;
|
|
53313
|
+
// 拖拽结束返回列顺序
|
|
53314
|
+
if (onColumnDragStopped) {
|
|
53315
|
+
var _context;
|
|
53316
|
+
var isRowDragColumn = function isRowDragColumn(code) {
|
|
53317
|
+
var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
|
|
53318
|
+
return code === rowDragColumnKey;
|
|
53319
|
+
};
|
|
53320
|
+
var newColumns = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default()(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
|
|
53321
|
+
return column.code !== _autoFill__WEBPACK_IMPORTED_MODULE_5__["FILL_COLUMN_CODE"] && !isRowDragColumn(column.code) && !Object(_utils__WEBPACK_IMPORTED_MODULE_4__["isSelectColumn"])(column);
|
|
52966
53322
|
});
|
|
52967
|
-
|
|
52968
|
-
|
|
52969
|
-
currentTarget.style.cursor = '';
|
|
53323
|
+
// TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
|
|
53324
|
+
onColumnDragStopped(columnMoved, newColumns);
|
|
52970
53325
|
}
|
|
52971
|
-
|
|
52972
|
-
|
|
52973
|
-
|
|
52974
|
-
|
|
52975
|
-
|
|
52976
|
-
style
|
|
52977
|
-
|
|
52978
|
-
|
|
53326
|
+
pipeline.setStateAtKey(stateKey, {
|
|
53327
|
+
cloumnsTranslateData: null
|
|
53328
|
+
});
|
|
53329
|
+
});
|
|
53330
|
+
document.body.style.userSelect = '';
|
|
53331
|
+
currentTarget.style.opacity = '';
|
|
53332
|
+
currentTarget.style.cursor = '';
|
|
53333
|
+
}
|
|
53334
|
+
var onColumnDragStart = opts.onColumnDragStart;
|
|
53335
|
+
onColumnDragStart && onColumnDragStart(col);
|
|
53336
|
+
Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_6__["addPointerEventListeners"])(document.body, {
|
|
53337
|
+
onPointerMove: handlePointerMove,
|
|
53338
|
+
onPointerUp: handlePointerUp
|
|
53339
|
+
}, isTouch);
|
|
53340
|
+
}
|
|
52979
53341
|
}));
|
|
52980
53342
|
};
|
|
52981
53343
|
}
|
|
@@ -53004,15 +53366,6 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
|
|
|
53004
53366
|
}
|
|
53005
53367
|
});
|
|
53006
53368
|
}
|
|
53007
|
-
function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
|
|
53008
|
-
var xDiff = mouseUpClientX - mouseDownClientX;
|
|
53009
|
-
var yDiff = mouseUpClientY - mouseDownClientY;
|
|
53010
|
-
// 鼠标点按和松开的偏移量大于5px,认为存在移动
|
|
53011
|
-
if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
|
|
53012
|
-
return true;
|
|
53013
|
-
}
|
|
53014
|
-
return false;
|
|
53015
|
-
}
|
|
53016
53369
|
|
|
53017
53370
|
/***/ }),
|
|
53018
53371
|
|
|
@@ -53414,6 +53767,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
53414
53767
|
/* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../internals */ "./node_modules/@kdcloudjs/table/es/table/internals.js");
|
|
53415
53768
|
/* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../base/styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
|
|
53416
53769
|
/* harmony import */ var _base_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../base/utils */ "./node_modules/@kdcloudjs/table/es/table/base/utils.js");
|
|
53770
|
+
/* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
|
|
53417
53771
|
|
|
53418
53772
|
|
|
53419
53773
|
var _templateObject, _templateObject2;
|
|
@@ -53428,6 +53782,7 @@ var _templateObject, _templateObject2;
|
|
|
53428
53782
|
|
|
53429
53783
|
|
|
53430
53784
|
|
|
53785
|
+
|
|
53431
53786
|
var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_6__["default"].div(_templateObject || (_templateObject = _babel_runtime_corejs3_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n position: absolute;\n top: 0;\n ", ": -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n ", ": calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])), function (props) {
|
|
53432
53787
|
return Object(_base_utils__WEBPACK_IMPORTED_MODULE_12__["swapRTLDirection"])(props.direction, 'right');
|
|
53433
53788
|
}, function (props) {
|
|
@@ -53481,10 +53836,12 @@ function columnResize() {
|
|
|
53481
53836
|
var _a;
|
|
53482
53837
|
(_a = opts.doubleClickCallback) === null || _a === void 0 ? void 0 : _a.call(opts, e, col);
|
|
53483
53838
|
};
|
|
53484
|
-
|
|
53839
|
+
// 通用的拖拽处理逻辑
|
|
53840
|
+
var handleResize = function handleResize(startEvent, col, eventType) {
|
|
53485
53841
|
window.addEventListener('selectstart', disableSelect);
|
|
53486
53842
|
var changedColumnSize = {};
|
|
53487
|
-
var
|
|
53843
|
+
var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__["getEventCoordinates"])(startEvent);
|
|
53844
|
+
var startX = startCoordinates.clientX;
|
|
53488
53845
|
var children = col.children,
|
|
53489
53846
|
code = col.code,
|
|
53490
53847
|
_col$features = col.features,
|
|
@@ -53495,9 +53852,22 @@ function columnResize() {
|
|
|
53495
53852
|
var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
|
|
53496
53853
|
var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
|
|
53497
53854
|
var recordColumnSize = columnSize;
|
|
53498
|
-
|
|
53499
|
-
var
|
|
53500
|
-
|
|
53855
|
+
// 根据事件类型选择不同的事件监听器
|
|
53856
|
+
var moveEventName = eventType === 'mouse' ? 'mousemove' : 'touchmove';
|
|
53857
|
+
var endEventName = eventType === 'mouse' ? 'mouseup' : 'touchend';
|
|
53858
|
+
var moveEventOptions = eventType === 'touch' ? {
|
|
53859
|
+
passive: false
|
|
53860
|
+
} : undefined;
|
|
53861
|
+
var endEventOptions = eventType === 'touch' ? {
|
|
53862
|
+
passive: false
|
|
53863
|
+
} : undefined;
|
|
53864
|
+
var nextSize$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, moveEventName, moveEventOptions).pipe(rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["takeUntil"](Object(rxjs__WEBPACK_IMPORTED_MODULE_7__["fromEvent"])(window, endEventName, endEventOptions)), rxjs_operators__WEBPACK_IMPORTED_MODULE_8__["map"](function (e) {
|
|
53865
|
+
// 触摸事件需要阻止默认行为,防止页面滚动
|
|
53866
|
+
if (eventType === 'touch' && e.cancelable) {
|
|
53867
|
+
e.preventDefault();
|
|
53868
|
+
}
|
|
53869
|
+
var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_13__["getEventCoordinates"])(e);
|
|
53870
|
+
var movingX = coordinates.clientX;
|
|
53501
53871
|
var nextColumnSize = _babel_runtime_corejs3_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, columnSize);
|
|
53502
53872
|
var deltaSum = pipeline.ctx.direction === 'rtl' ? startX - movingX : movingX - startX;
|
|
53503
53873
|
var deltaRemaining = deltaSum;
|
|
@@ -53555,6 +53925,19 @@ function columnResize() {
|
|
|
53555
53925
|
}
|
|
53556
53926
|
});
|
|
53557
53927
|
};
|
|
53928
|
+
var handleMouseDown = function handleMouseDown(e, col) {
|
|
53929
|
+
e.stopPropagation();
|
|
53930
|
+
handleResize(e.nativeEvent, col, 'mouse');
|
|
53931
|
+
};
|
|
53932
|
+
// 触摸事件处理函数
|
|
53933
|
+
var handleTouchStart = function handleTouchStart(e, col) {
|
|
53934
|
+
// 阻止触摸事件的默认行为
|
|
53935
|
+
if (e.cancelable) {
|
|
53936
|
+
e.preventDefault();
|
|
53937
|
+
}
|
|
53938
|
+
e.stopPropagation();
|
|
53939
|
+
handleResize(e.nativeEvent, col, 'touch');
|
|
53940
|
+
};
|
|
53558
53941
|
var isGroup = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["isGroupColumn"])(pipeline.getColumns());
|
|
53559
53942
|
return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_9__["makeRecursiveMapper"])(function (col) {
|
|
53560
53943
|
var _a;
|
|
@@ -53572,6 +53955,9 @@ function columnResize() {
|
|
|
53572
53955
|
},
|
|
53573
53956
|
onMouseDown: function onMouseDown(e) {
|
|
53574
53957
|
return handleMouseDown(e, col);
|
|
53958
|
+
},
|
|
53959
|
+
onTouchStart: function onTouchStart(e) {
|
|
53960
|
+
return handleTouchStart(e, col);
|
|
53575
53961
|
}
|
|
53576
53962
|
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(TableHeaderCellResize, {
|
|
53577
53963
|
direction: pipeline.ctx.direction,
|
|
@@ -53581,6 +53967,9 @@ function columnResize() {
|
|
|
53581
53967
|
},
|
|
53582
53968
|
onMouseDown: function onMouseDown(e) {
|
|
53583
53969
|
return handleMouseDown(e, col);
|
|
53970
|
+
},
|
|
53971
|
+
onTouchStart: function onTouchStart(e) {
|
|
53972
|
+
return handleTouchStart(e, col);
|
|
53584
53973
|
}
|
|
53585
53974
|
}))),
|
|
53586
53975
|
headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_9__["mergeCellProps"])(col.headerCellProps, {
|
|
@@ -55920,6 +56309,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
55920
56309
|
/* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../base/styles */ "./node_modules/@kdcloudjs/table/es/table/base/styles.js");
|
|
55921
56310
|
/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../const */ "./node_modules/@kdcloudjs/table/es/table/pipeline/const.js");
|
|
55922
56311
|
/* harmony import */ var _internals__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../internals */ "./node_modules/@kdcloudjs/table/es/table/internals.js");
|
|
56312
|
+
/* harmony import */ var _utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/touchEventUtils */ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js");
|
|
56313
|
+
|
|
55923
56314
|
|
|
55924
56315
|
|
|
55925
56316
|
|
|
@@ -55951,15 +56342,14 @@ var defaultRowDragColumn = {
|
|
|
55951
56342
|
},
|
|
55952
56343
|
render: function render(value, row, rowIndex) {
|
|
55953
56344
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("svg", {
|
|
55954
|
-
viewBox:
|
|
55955
|
-
version:
|
|
55956
|
-
xmlns:
|
|
55957
|
-
"data-icon":
|
|
55958
|
-
width:
|
|
55959
|
-
height:
|
|
56345
|
+
viewBox: "0 0 1024 1024",
|
|
56346
|
+
version: "1.1",
|
|
56347
|
+
xmlns: "http://www.w3.org/1999/xlink",
|
|
56348
|
+
"data-icon": "drag",
|
|
56349
|
+
width: "16",
|
|
56350
|
+
height: "16"
|
|
55960
56351
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement("path", {
|
|
55961
|
-
d:
|
|
55962
|
-
"p-id": '4278'
|
|
56352
|
+
d: "M298.688 192a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0zM298.688 512a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m-298.624 320a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z"
|
|
55963
56353
|
}));
|
|
55964
56354
|
}
|
|
55965
56355
|
};
|
|
@@ -55989,19 +56379,19 @@ function rowDrag(opt) {
|
|
|
55989
56379
|
var treeModeOptions = getTreeModeOptions();
|
|
55990
56380
|
var rowDragOptions = getRowDragOptions();
|
|
55991
56381
|
var allowDragIntoRow = !!treeModeOptions && (rowDragOptions === null || rowDragOptions === void 0 ? void 0 : rowDragOptions.allowDragIntoRow);
|
|
55992
|
-
var isLeave = !
|
|
56382
|
+
var isLeave = !isPointerOnDropTarget(event, dropZoneTarget);
|
|
55993
56383
|
var overIndex = -1;
|
|
55994
56384
|
var direction = 'bottom';
|
|
55995
56385
|
if (!isLeave && dataSource.length > 0) {
|
|
55996
|
-
var overDragItem = getDragRowItem(event
|
|
56386
|
+
var overDragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), dropZoneTarget, dataSource);
|
|
55997
56387
|
if (overDragItem) {
|
|
55998
56388
|
var rowIndex = overDragItem.rowIndex,
|
|
55999
56389
|
cell = overDragItem.cell;
|
|
56000
56390
|
overIndex = rowIndex;
|
|
56001
|
-
direction = getDirection(cell, event.clientY, allowDragIntoRow);
|
|
56391
|
+
direction = getDirection(cell, Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event).clientY, allowDragIntoRow);
|
|
56002
56392
|
}
|
|
56003
56393
|
}
|
|
56004
|
-
if (overIndex === -1 && dataSource.length > 0 && dropZoneTarget.contains(event
|
|
56394
|
+
if (overIndex === -1 && dataSource.length > 0 && dropZoneTarget.contains(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event))) {
|
|
56005
56395
|
overIndex = dataSource.length - 1;
|
|
56006
56396
|
direction = 'bottom';
|
|
56007
56397
|
}
|
|
@@ -56077,9 +56467,25 @@ function rowDrag(opt) {
|
|
|
56077
56467
|
}
|
|
56078
56468
|
};
|
|
56079
56469
|
var onMouseDown = function onMouseDown(event) {
|
|
56470
|
+
handlePointerDown(event.nativeEvent);
|
|
56471
|
+
};
|
|
56472
|
+
// PC 单据移动端显示,兼容移动端的拖拽事件
|
|
56473
|
+
var onTouchStart = function onTouchStart(event) {
|
|
56474
|
+
// 尝试阻止触摸事件的默认行为,防止页面滚动
|
|
56475
|
+
try {
|
|
56476
|
+
if (event.cancelable) {
|
|
56477
|
+
event.preventDefault();
|
|
56478
|
+
}
|
|
56479
|
+
} catch (error) {
|
|
56480
|
+
// 忽略passive event listener错误
|
|
56481
|
+
console.warn('preventDefault failed in passive touch event listener');
|
|
56482
|
+
}
|
|
56483
|
+
handlePointerDown(event.nativeEvent);
|
|
56484
|
+
};
|
|
56485
|
+
// 统一的拖拽处理函数
|
|
56486
|
+
var handlePointerDown = function handlePointerDown(startEvent) {
|
|
56080
56487
|
var _a;
|
|
56081
|
-
var
|
|
56082
|
-
var startDataItem = getDragRowItem(mouseDownEvent.target, tableBody, dataSource);
|
|
56488
|
+
var startDataItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(startEvent), tableBody, dataSource);
|
|
56083
56489
|
if (!startDataItem || startDataItem.code !== rowDragColumn.code) return;
|
|
56084
56490
|
if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex)) return;
|
|
56085
56491
|
var isValidDrag = false;
|
|
@@ -56091,7 +56497,7 @@ function rowDrag(opt) {
|
|
|
56091
56497
|
var intervalId = null;
|
|
56092
56498
|
var expandRowTimeoutId = null;
|
|
56093
56499
|
var expandRowCallBackList = [];
|
|
56094
|
-
var updateScrollPosition = function updateScrollPosition(tableBody,
|
|
56500
|
+
var updateScrollPosition = function updateScrollPosition(tableBody, moveEvent) {
|
|
56095
56501
|
if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
|
|
56096
56502
|
if (timeoutId) {
|
|
56097
56503
|
clearTimeout(timeoutId);
|
|
@@ -56100,7 +56506,7 @@ function rowDrag(opt) {
|
|
|
56100
56506
|
clearInterval(intervalId);
|
|
56101
56507
|
}
|
|
56102
56508
|
if (!tableBody) return;
|
|
56103
|
-
var moveOffset = getScrollMoveOffset(tableBody,
|
|
56509
|
+
var moveOffset = getScrollMoveOffset(tableBody, moveEvent);
|
|
56104
56510
|
if (moveOffset === 0) {
|
|
56105
56511
|
return;
|
|
56106
56512
|
}
|
|
@@ -56110,30 +56516,53 @@ function rowDrag(opt) {
|
|
|
56110
56516
|
}, 50);
|
|
56111
56517
|
}, 500);
|
|
56112
56518
|
};
|
|
56113
|
-
var handleDragStart = function handleDragStart(
|
|
56519
|
+
var handleDragStart = function handleDragStart(event) {
|
|
56114
56520
|
var _a;
|
|
56115
|
-
|
|
56521
|
+
// 屏蔽默认事件,防止文本选择、框选等
|
|
56522
|
+
try {
|
|
56523
|
+
if (event.cancelable) {
|
|
56524
|
+
event.preventDefault();
|
|
56525
|
+
}
|
|
56526
|
+
} catch (error) {
|
|
56527
|
+
// 忽略passive event listener错误
|
|
56528
|
+
console.warn('preventDefault failed in passive event listener');
|
|
56529
|
+
}
|
|
56530
|
+
// 禁用页面的文本选择
|
|
56531
|
+
document.body.style.userSelect = 'none';
|
|
56532
|
+
document.body.style.webkitUserSelect = 'none';
|
|
56533
|
+
// 添加拖拽状态的CSS类,可以在样式中进一步控制
|
|
56534
|
+
document.body.classList.add('row-dragging');
|
|
56535
|
+
dragElement = createDragElement(event, tableBody); // 创建拖拽悬浮框
|
|
56116
56536
|
var isTreeTable = !!pipeline.getFeatureOptions('treeModeOptions');
|
|
56117
56537
|
dragLine = createDragLine(isTreeTable); // 创建拖拽插入指示线
|
|
56118
56538
|
var dragText = (opt === null || opt === void 0 ? void 0 : opt.rowDragText) ? (_a = opt === null || opt === void 0 ? void 0 : opt.rowDragText) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex) : "\u7B2C".concat(startDataItem.rowIndex, "\u884C\u5185\u5BB9");
|
|
56119
56539
|
setDragText(dragElement, dragText); // 设置悬浮框显示文本
|
|
56120
56540
|
artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_8___default()(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragging));
|
|
56121
56541
|
rowDragApi.setDragStatus('start');
|
|
56122
|
-
var dragEvent = createDropTargetEvent(currentDropZone,
|
|
56542
|
+
var dragEvent = createDropTargetEvent(currentDropZone, event, startDataItem, currentDropZone);
|
|
56123
56543
|
onDragStart(dragEvent);
|
|
56124
56544
|
};
|
|
56125
|
-
var handleDragMove = function handleDragMove(
|
|
56545
|
+
var handleDragMove = function handleDragMove(moveEvent) {
|
|
56126
56546
|
var _a;
|
|
56547
|
+
// 尝试屏蔽默认事件,在passive监听器中可能会失败
|
|
56548
|
+
try {
|
|
56549
|
+
if (moveEvent.cancelable) {
|
|
56550
|
+
moveEvent.preventDefault();
|
|
56551
|
+
}
|
|
56552
|
+
} catch (error) {
|
|
56553
|
+
// 忽略passive event listener错误
|
|
56554
|
+
console.warn('preventDefault failed in passive event listener');
|
|
56555
|
+
}
|
|
56127
56556
|
var isRTL = pipeline.ctx.direction === 'rtl';
|
|
56128
|
-
positionDragElemment(dragElement,
|
|
56557
|
+
positionDragElemment(dragElement, moveEvent, isRTL); // 更新拖拽悬浮框位置
|
|
56129
56558
|
rowDragApi.setDragStatus('dragging');
|
|
56130
56559
|
setDragElementIcon(dragElement, 'move');
|
|
56131
56560
|
var rowDropZones = rowDragApi.getRowDropZone();
|
|
56132
56561
|
var validDropZones = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(rowDropZones).call(rowDropZones, currentDropZone); // 可放置区域加上自身
|
|
56133
56562
|
var dropTarget = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default()(validDropZones).call(validDropZones, function (zone) {
|
|
56134
|
-
return
|
|
56563
|
+
return isPointerOnDropTarget(moveEvent, zone.getContainer());
|
|
56135
56564
|
}) || null;
|
|
56136
|
-
updateScrollPosition(dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.getContainer(),
|
|
56565
|
+
updateScrollPosition(dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.getContainer(), moveEvent); // 拖拽到底时让滚动条可以滚动
|
|
56137
56566
|
if (dropTarget !== lastDropTarget) {
|
|
56138
56567
|
// 拖拽离开表格
|
|
56139
56568
|
if (lastDropTarget !== null && dropTarget === null) {
|
|
@@ -56141,7 +56570,7 @@ function rowDrag(opt) {
|
|
|
56141
56570
|
setDragElementIcon(dragElement, 'notAllowed');
|
|
56142
56571
|
hiddenDragLine(dragLine);
|
|
56143
56572
|
lastDropTarget.getContainer().classList.remove(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragNoData);
|
|
56144
|
-
var dragEvent = createDropTargetEvent(lastDropTarget,
|
|
56573
|
+
var dragEvent = createDropTargetEvent(lastDropTarget, moveEvent, startDataItem, currentDropZone);
|
|
56145
56574
|
lastDropTarget.onDragLeave(dragEvent);
|
|
56146
56575
|
}
|
|
56147
56576
|
}
|
|
@@ -56161,7 +56590,7 @@ function rowDrag(opt) {
|
|
|
56161
56590
|
dragLine.classList.remove(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].treeTableRowDragLine);
|
|
56162
56591
|
}
|
|
56163
56592
|
}
|
|
56164
|
-
var _dragEvent = createDropTargetEvent(dropTarget,
|
|
56593
|
+
var _dragEvent = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone);
|
|
56165
56594
|
dropTarget.onDragEnter(_dragEvent);
|
|
56166
56595
|
}
|
|
56167
56596
|
}
|
|
@@ -56173,7 +56602,7 @@ function rowDrag(opt) {
|
|
|
56173
56602
|
positionDragLine({
|
|
56174
56603
|
lineElement: dragLine,
|
|
56175
56604
|
dragZone: dropTarget,
|
|
56176
|
-
event:
|
|
56605
|
+
event: moveEvent,
|
|
56177
56606
|
isRTL: isRTL
|
|
56178
56607
|
});
|
|
56179
56608
|
}
|
|
@@ -56190,7 +56619,7 @@ function rowDrag(opt) {
|
|
|
56190
56619
|
onCollapse = treeModeOptions.onCollapse;
|
|
56191
56620
|
// 鼠标悬停所在的拖拽行信息
|
|
56192
56621
|
var dataSource = dropTarget.tableParams.getDataSource();
|
|
56193
|
-
var dragItem = getDragRowItem(
|
|
56622
|
+
var dragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(moveEvent), dropTarget.getContainer(), dataSource);
|
|
56194
56623
|
if (!dragItem) return;
|
|
56195
56624
|
var row = dragItem.row;
|
|
56196
56625
|
var _row$treeMetaKey = row[treeMetaKey],
|
|
@@ -56205,15 +56634,20 @@ function rowDrag(opt) {
|
|
|
56205
56634
|
}, 1000);
|
|
56206
56635
|
}
|
|
56207
56636
|
if (dropTarget.onDragging) {
|
|
56208
|
-
var _dragEvent2 = createDropTargetEvent(dropTarget,
|
|
56637
|
+
var _dragEvent2 = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone);
|
|
56209
56638
|
dropTarget.onDragging(_dragEvent2);
|
|
56210
56639
|
}
|
|
56211
56640
|
}
|
|
56212
56641
|
};
|
|
56213
|
-
var handleDragStop = function handleDragStop(
|
|
56642
|
+
var handleDragStop = function handleDragStop(endEvent) {
|
|
56214
56643
|
if (!isValidDrag) {
|
|
56215
56644
|
return;
|
|
56216
56645
|
}
|
|
56646
|
+
// 恢复默认的文本选择功能
|
|
56647
|
+
document.body.style.userSelect = '';
|
|
56648
|
+
document.body.style.webkitUserSelect = '';
|
|
56649
|
+
// 移除拖拽状态的CSS类
|
|
56650
|
+
document.body.classList.remove('row-dragging');
|
|
56217
56651
|
removeElement(dragElement);
|
|
56218
56652
|
removeElement(dragLine);
|
|
56219
56653
|
artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_8___default()(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragging));
|
|
@@ -56228,10 +56662,10 @@ function rowDrag(opt) {
|
|
|
56228
56662
|
});
|
|
56229
56663
|
var validDropZones = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(rowDropZones).call(rowDropZones, currentDropZone);
|
|
56230
56664
|
var dropTarget = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default()(validDropZones).call(validDropZones, function (zone) {
|
|
56231
|
-
return
|
|
56665
|
+
return isPointerOnDropTarget(endEvent, zone.getContainer());
|
|
56232
56666
|
});
|
|
56233
56667
|
if (dropTarget && dropTarget.onDragStop) {
|
|
56234
|
-
var dragEvent = createDropTargetEvent(dropTarget,
|
|
56668
|
+
var dragEvent = createDropTargetEvent(dropTarget, endEvent, startDataItem, currentDropZone);
|
|
56235
56669
|
dropTarget.onDragStop(dragEvent);
|
|
56236
56670
|
}
|
|
56237
56671
|
while (expandRowCallBackList.length > 0) {
|
|
@@ -56239,32 +56673,73 @@ function rowDrag(opt) {
|
|
|
56239
56673
|
callback();
|
|
56240
56674
|
}
|
|
56241
56675
|
};
|
|
56242
|
-
|
|
56243
|
-
var
|
|
56244
|
-
|
|
56245
|
-
|
|
56246
|
-
var
|
|
56247
|
-
|
|
56248
|
-
|
|
56249
|
-
|
|
56250
|
-
|
|
56251
|
-
|
|
56252
|
-
|
|
56253
|
-
|
|
56254
|
-
|
|
56255
|
-
|
|
56256
|
-
|
|
56257
|
-
|
|
56258
|
-
|
|
56259
|
-
|
|
56260
|
-
|
|
56261
|
-
|
|
56262
|
-
|
|
56263
|
-
|
|
56264
|
-
|
|
56265
|
-
|
|
56266
|
-
|
|
56267
|
-
|
|
56676
|
+
// 判断是鼠标事件还是触摸事件,分别监听对应的移动和结束事件
|
|
56677
|
+
var isTouchEvent = ('touches' in startEvent);
|
|
56678
|
+
if (isTouchEvent) {
|
|
56679
|
+
// 触摸事件处理
|
|
56680
|
+
var touchmove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'touchmove', {
|
|
56681
|
+
passive: false
|
|
56682
|
+
});
|
|
56683
|
+
var touchend$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'touchend', {
|
|
56684
|
+
passive: false
|
|
56685
|
+
});
|
|
56686
|
+
var touchDragMove$ = touchmove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["filter"])(function (moveEvent) {
|
|
56687
|
+
var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent);
|
|
56688
|
+
var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(startEvent);
|
|
56689
|
+
var moveClientY = coordinates.clientY;
|
|
56690
|
+
var startClientY = startCoordinates.clientY;
|
|
56691
|
+
// 上下移动偏移量大于5才是有效的拖拽
|
|
56692
|
+
if (Math.abs(moveClientY - startClientY) > 5) {
|
|
56693
|
+
isValidDrag = true;
|
|
56694
|
+
}
|
|
56695
|
+
return isValidDrag;
|
|
56696
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (moveEvent) {
|
|
56697
|
+
if (!isDragging) {
|
|
56698
|
+
isDragging = true;
|
|
56699
|
+
handleDragStart(startEvent);
|
|
56700
|
+
handleDragMove(startEvent);
|
|
56701
|
+
}
|
|
56702
|
+
handleDragMove(moveEvent);
|
|
56703
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["takeUntil"])(touchend$));
|
|
56704
|
+
touchDragMove$.subscribe();
|
|
56705
|
+
var touchDragEnd$ = touchend$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (endEvent) {
|
|
56706
|
+
handleDragStop(endEvent);
|
|
56707
|
+
})).subscribe({
|
|
56708
|
+
next: function next() {
|
|
56709
|
+
touchDragEnd$.unsubscribe();
|
|
56710
|
+
}
|
|
56711
|
+
});
|
|
56712
|
+
} else {
|
|
56713
|
+
// 鼠标事件处理
|
|
56714
|
+
var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mousemove');
|
|
56715
|
+
var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_6__["fromEvent"])(window, 'mouseup');
|
|
56716
|
+
var rowDragMove$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["filter"])(function (moveEvent) {
|
|
56717
|
+
var coordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent);
|
|
56718
|
+
var startCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(startEvent);
|
|
56719
|
+
var moveClientY = coordinates.clientY;
|
|
56720
|
+
var startClientY = startCoordinates.clientY;
|
|
56721
|
+
// 上下移动偏移量大于5才是有效的拖拽
|
|
56722
|
+
if (Math.abs(moveClientY - startClientY) > 5) {
|
|
56723
|
+
isValidDrag = true;
|
|
56724
|
+
}
|
|
56725
|
+
return isValidDrag;
|
|
56726
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (moveEvent) {
|
|
56727
|
+
if (!isDragging) {
|
|
56728
|
+
isDragging = true;
|
|
56729
|
+
handleDragStart(startEvent);
|
|
56730
|
+
handleDragMove(startEvent);
|
|
56731
|
+
}
|
|
56732
|
+
handleDragMove(moveEvent);
|
|
56733
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["takeUntil"])(mouseup$));
|
|
56734
|
+
rowDragMove$.subscribe();
|
|
56735
|
+
var rowDragEnd$ = mouseup$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_7__["map"])(function (endEvent) {
|
|
56736
|
+
handleDragStop(endEvent);
|
|
56737
|
+
})).subscribe({
|
|
56738
|
+
next: function next() {
|
|
56739
|
+
rowDragEnd$.unsubscribe();
|
|
56740
|
+
}
|
|
56741
|
+
});
|
|
56742
|
+
}
|
|
56268
56743
|
};
|
|
56269
56744
|
var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
|
|
56270
56745
|
pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
|
|
@@ -56273,7 +56748,8 @@ function rowDrag(opt) {
|
|
|
56273
56748
|
nextColumns.unshift(rowDragColumn);
|
|
56274
56749
|
pipeline.columns(nextColumns);
|
|
56275
56750
|
pipeline.addTableProps({
|
|
56276
|
-
onMouseDown: onMouseDown
|
|
56751
|
+
onMouseDown: onMouseDown,
|
|
56752
|
+
onTouchStart: onTouchStart
|
|
56277
56753
|
});
|
|
56278
56754
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
56279
56755
|
var _cx;
|
|
@@ -56343,13 +56819,13 @@ function isEleInFooter(target) {
|
|
|
56343
56819
|
}
|
|
56344
56820
|
return false;
|
|
56345
56821
|
}
|
|
56346
|
-
function createDragElement(
|
|
56822
|
+
function createDragElement(event, tableBody) {
|
|
56347
56823
|
var _context3, _context4;
|
|
56348
56824
|
var ELEMENT_TEMPLATE = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context3 = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context4 = "<div class='".concat(_base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElement, "'>\n <span class='")).call(_context4, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElementIcon, "'></span>\n <div class='")).call(_context3, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].rowDragElementLabel, "'></div>\n </div>");
|
|
56349
56825
|
var element = document.createElement('div');
|
|
56350
56826
|
element.innerHTML = ELEMENT_TEMPLATE;
|
|
56351
56827
|
var dragElement = element.firstChild;
|
|
56352
|
-
var targetRow = findTargetRow(
|
|
56828
|
+
var targetRow = findTargetRow(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), tableBody);
|
|
56353
56829
|
if (targetRow) {
|
|
56354
56830
|
var rect = targetRow.getBoundingClientRect();
|
|
56355
56831
|
dragElement.style.height = rect.height + 'px';
|
|
@@ -56394,9 +56870,9 @@ function positionDragLine(_ref) {
|
|
|
56394
56870
|
lineElement.style.display = 'block';
|
|
56395
56871
|
}
|
|
56396
56872
|
// 鼠标悬停所在的拖拽行信息
|
|
56397
|
-
var dragItem = getDragRowItem(event
|
|
56873
|
+
var dragItem = getDragRowItem(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event), tableContainer, dataSource);
|
|
56398
56874
|
if (!dragItem) {
|
|
56399
|
-
if (dataSource.length > 0 && tableContainer.contains(event
|
|
56875
|
+
if (dataSource.length > 0 && tableContainer.contains(Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(event))) {
|
|
56400
56876
|
var _context5, _context6;
|
|
56401
56877
|
var _rowIndex = dataSource.length - 1;
|
|
56402
56878
|
var _row = dataSource[_rowIndex];
|
|
@@ -56425,7 +56901,7 @@ function positionDragLine(_ref) {
|
|
|
56425
56901
|
rowIndex = dragItem.rowIndex,
|
|
56426
56902
|
row = dragItem.row;
|
|
56427
56903
|
var allowDragInto = isTreeTable && allowDragIntoRow;
|
|
56428
|
-
var direction = getDirection(cell, event.clientY, allowDragInto);
|
|
56904
|
+
var direction = getDirection(cell, Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event).clientY, allowDragInto);
|
|
56429
56905
|
var targetCell = isTreeTable ? tableContainer.querySelector(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_1___default()(_context7 = "tr[data-rowindex=\"".concat(rowIndex, "\"] .")).call(_context7, _base_styles__WEBPACK_IMPORTED_MODULE_9__["Classes"].tableExtendCell)) : cell;
|
|
56430
56906
|
if (!targetCell) return;
|
|
56431
56907
|
var _getLinePosition2 = getLinePosition({
|
|
@@ -56463,8 +56939,9 @@ function positionDragElemment(element, event, isRTL) {
|
|
|
56463
56939
|
var browserWidth = (_b = (_a = document.body) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : window.innerHeight || ((_c = document.documentElement) === null || _c === void 0 ? void 0 : _c.clientWidth) || 0;
|
|
56464
56940
|
var browserHeight = (_e = (_d = document.body) === null || _d === void 0 ? void 0 : _d.clientHeight) !== null && _e !== void 0 ? _e : window.innerHeight || ((_f = document.documentElement) === null || _f === void 0 ? void 0 : _f.clientHeight) || 0;
|
|
56465
56941
|
var offsetParentSize = getElementRectWithOffset(element.offsetParent);
|
|
56466
|
-
var
|
|
56467
|
-
|
|
56942
|
+
var _getEventCoordinates = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event),
|
|
56943
|
+
clientX = _getEventCoordinates.clientX,
|
|
56944
|
+
clientY = _getEventCoordinates.clientY;
|
|
56468
56945
|
var top = clientY - offsetParentSize.top - eleHeight / 2;
|
|
56469
56946
|
var left = clientX - offsetParentSize.left;
|
|
56470
56947
|
var right = Math.max(browserWidth - clientX, 0);
|
|
@@ -56480,12 +56957,11 @@ function positionDragElemment(element, event, isRTL) {
|
|
|
56480
56957
|
right = Math.max(browserWidth + windowScrollX - element.clientWidth, 0);
|
|
56481
56958
|
}
|
|
56482
56959
|
if (isRTL) {
|
|
56483
|
-
|
|
56484
|
-
|
|
56485
|
-
|
|
56960
|
+
element.style.right = right + 'px';
|
|
56961
|
+
} else {
|
|
56962
|
+
element.style.left = left + 'px';
|
|
56486
56963
|
}
|
|
56487
|
-
element.style.
|
|
56488
|
-
element.style.top = "".concat(top, "px");
|
|
56964
|
+
element.style.top = top + 'px';
|
|
56489
56965
|
}
|
|
56490
56966
|
function getElementRectWithOffset(el) {
|
|
56491
56967
|
var offsetElementRect = el.getBoundingClientRect();
|
|
@@ -56552,12 +57028,13 @@ function setDragElementIcon(element, iconName) {
|
|
|
56552
57028
|
elementIcon.appendChild(iconElement);
|
|
56553
57029
|
}
|
|
56554
57030
|
function clearElementChildren(element) {
|
|
56555
|
-
while (element
|
|
57031
|
+
while (element === null || element === void 0 ? void 0 : element.firstChild) {
|
|
56556
57032
|
element.removeChild(element.firstChild);
|
|
56557
57033
|
}
|
|
56558
57034
|
}
|
|
56559
|
-
function getScrollMoveOffset(tableBody,
|
|
56560
|
-
var
|
|
57035
|
+
function getScrollMoveOffset(tableBody, moveEvent) {
|
|
57036
|
+
var _getEventCoordinates2 = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(moveEvent),
|
|
57037
|
+
clientY = _getEventCoordinates2.clientY;
|
|
56561
57038
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
56562
57039
|
var top = tableBodyClientRect.top,
|
|
56563
57040
|
height = tableBodyClientRect.height;
|
|
@@ -56575,15 +57052,19 @@ function setDragText(element, dragText) {
|
|
|
56575
57052
|
var stringNode = document.createTextNode(dragTextString);
|
|
56576
57053
|
elementIcon.appendChild(stringNode);
|
|
56577
57054
|
}
|
|
56578
|
-
function
|
|
56579
|
-
|
|
57055
|
+
function isPointerOnDropTarget(pointerEvent, target) {
|
|
57056
|
+
var eventTarget = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventTarget"])(pointerEvent);
|
|
57057
|
+
return target.contains(eventTarget);
|
|
56580
57058
|
}
|
|
56581
57059
|
function createDropTargetEvent(dropZone, event, dragItem, startDropZone) {
|
|
56582
57060
|
var dropZoneTarget = dropZone.getContainer();
|
|
56583
57061
|
var startDropZoneTagret = startDropZone.getContainer();
|
|
56584
57062
|
var rect = dropZoneTarget.getBoundingClientRect();
|
|
56585
|
-
var
|
|
56586
|
-
|
|
57063
|
+
var _getEventCoordinates3 = Object(_utils_touchEventUtils__WEBPACK_IMPORTED_MODULE_12__["getEventCoordinates"])(event),
|
|
57064
|
+
clientX = _getEventCoordinates3.clientX,
|
|
57065
|
+
clientY = _getEventCoordinates3.clientY;
|
|
57066
|
+
var x = clientX - rect.left;
|
|
57067
|
+
var y = clientY - rect.top;
|
|
56587
57068
|
var startDropZoneOptions = startDropZone.tableParams.getRowDragOptions();
|
|
56588
57069
|
var startCommonParams = startDropZoneOptions === null || startDropZoneOptions === void 0 ? void 0 : startDropZoneOptions.commonParams;
|
|
56589
57070
|
var targetEvent = {
|
|
@@ -56640,10 +57121,8 @@ var getLinePosition = function getLinePosition(_ref2) {
|
|
|
56640
57121
|
paddingRight = _getElementSize3.paddingRight;
|
|
56641
57122
|
var expandCellRect = cell.getBoundingClientRect();
|
|
56642
57123
|
var _row$treeMetaKey2 = row[treeMetaKey],
|
|
56643
|
-
rowKey = _row$treeMetaKey2.rowKey,
|
|
56644
57124
|
depth = _row$treeMetaKey2.depth,
|
|
56645
|
-
isLeaf = _row$treeMetaKey2.isLeaf
|
|
56646
|
-
expanded = _row$treeMetaKey2.expanded;
|
|
57125
|
+
isLeaf = _row$treeMetaKey2.isLeaf;
|
|
56647
57126
|
var addWidth = isLeaf ? iconWidth + iconGap : 0;
|
|
56648
57127
|
var indent = iconIndent + depth * indentSize + addWidth;
|
|
56649
57128
|
var x = expandCellRect.x,
|
|
@@ -57879,6 +58358,89 @@ function treeSelect(opts) {
|
|
|
57879
58358
|
|
|
57880
58359
|
/***/ }),
|
|
57881
58360
|
|
|
58361
|
+
/***/ "./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js":
|
|
58362
|
+
/*!*******************************************************************************************!*\
|
|
58363
|
+
!*** ./node_modules/@kdcloudjs/table/es/table/pipeline/features/utils/touchEventUtils.js ***!
|
|
58364
|
+
\*******************************************************************************************/
|
|
58365
|
+
/*! exports provided: getEventCoordinates, getEventTarget, isTouchEvent, addPointerEventListeners, removePointerEventListeners, hasMovedEnough */
|
|
58366
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
58367
|
+
|
|
58368
|
+
"use strict";
|
|
58369
|
+
__webpack_require__.r(__webpack_exports__);
|
|
58370
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEventCoordinates", function() { return getEventCoordinates; });
|
|
58371
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEventTarget", function() { return getEventTarget; });
|
|
58372
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTouchEvent", function() { return isTouchEvent; });
|
|
58373
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addPointerEventListeners", function() { return addPointerEventListeners; });
|
|
58374
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removePointerEventListeners", function() { return removePointerEventListeners; });
|
|
58375
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasMovedEnough", function() { return hasMovedEnough; });
|
|
58376
|
+
// 统一获取事件坐标的函数
|
|
58377
|
+
function getEventCoordinates(event) {
|
|
58378
|
+
if ('touches' in event && event.touches.length > 0) {
|
|
58379
|
+
return {
|
|
58380
|
+
clientX: event.touches[0].clientX,
|
|
58381
|
+
clientY: event.touches[0].clientY
|
|
58382
|
+
};
|
|
58383
|
+
} else if ('changedTouches' in event && event.changedTouches.length > 0) {
|
|
58384
|
+
return {
|
|
58385
|
+
clientX: event.changedTouches[0].clientX,
|
|
58386
|
+
clientY: event.changedTouches[0].clientY
|
|
58387
|
+
};
|
|
58388
|
+
} else {
|
|
58389
|
+
return {
|
|
58390
|
+
clientX: event.clientX,
|
|
58391
|
+
clientY: event.clientY
|
|
58392
|
+
};
|
|
58393
|
+
}
|
|
58394
|
+
}
|
|
58395
|
+
// 获取事件目标元素
|
|
58396
|
+
function getEventTarget(event) {
|
|
58397
|
+
if ('touches' in event && event.touches.length > 0) {
|
|
58398
|
+
return document.elementFromPoint(event.touches[0].clientX, event.touches[0].clientY);
|
|
58399
|
+
}
|
|
58400
|
+
// 处理touchend事件,此时touches为空,需要使用changedTouches
|
|
58401
|
+
if ('changedTouches' in event && event.changedTouches.length > 0) {
|
|
58402
|
+
return document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY);
|
|
58403
|
+
}
|
|
58404
|
+
return event.target;
|
|
58405
|
+
}
|
|
58406
|
+
// 判断是否为触摸事件
|
|
58407
|
+
function isTouchEvent(event) {
|
|
58408
|
+
return 'touches' in event;
|
|
58409
|
+
}
|
|
58410
|
+
// 为元素添加统一的指针事件监听器
|
|
58411
|
+
function addPointerEventListeners(element, handlers, isTouchStart) {
|
|
58412
|
+
if (isTouchStart) {
|
|
58413
|
+
element.addEventListener('touchmove', handlers.onPointerMove, {
|
|
58414
|
+
passive: false
|
|
58415
|
+
});
|
|
58416
|
+
element.addEventListener('touchend', handlers.onPointerUp, {
|
|
58417
|
+
passive: false
|
|
58418
|
+
});
|
|
58419
|
+
} else {
|
|
58420
|
+
element.addEventListener('mousemove', handlers.onPointerMove);
|
|
58421
|
+
element.addEventListener('mouseup', handlers.onPointerUp);
|
|
58422
|
+
}
|
|
58423
|
+
}
|
|
58424
|
+
// 移除统一的指针事件监听器
|
|
58425
|
+
function removePointerEventListeners(element, handlers, isTouchStart) {
|
|
58426
|
+
if (isTouchStart) {
|
|
58427
|
+
element.removeEventListener('touchmove', handlers.onPointerMove);
|
|
58428
|
+
element.removeEventListener('touchend', handlers.onPointerUp);
|
|
58429
|
+
} else {
|
|
58430
|
+
element.removeEventListener('mousemove', handlers.onPointerMove);
|
|
58431
|
+
element.removeEventListener('mouseup', handlers.onPointerUp);
|
|
58432
|
+
}
|
|
58433
|
+
}
|
|
58434
|
+
// 检查是否移动了足够的距离(用于区分点击和拖拽)
|
|
58435
|
+
function hasMovedEnough(startX, startY, endX, endY) {
|
|
58436
|
+
var threshold = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 5;
|
|
58437
|
+
var xDiff = endX - startX;
|
|
58438
|
+
var yDiff = endY - startY;
|
|
58439
|
+
return Math.sqrt(xDiff * xDiff + yDiff * yDiff) > threshold;
|
|
58440
|
+
}
|
|
58441
|
+
|
|
58442
|
+
/***/ }),
|
|
58443
|
+
|
|
57882
58444
|
/***/ "./node_modules/@kdcloudjs/table/es/table/pipeline/index.js":
|
|
57883
58445
|
/*!******************************************************************!*\
|
|
57884
58446
|
!*** ./node_modules/@kdcloudjs/table/es/table/pipeline/index.js ***!
|