@kdcloudjs/table 1.1.6 → 1.2.0-canary.10
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/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +835 -187
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +8 -8
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/locale/locale.d.ts +8 -4
- package/es/locale/zh-CN.d.ts +8 -4
- package/es/locale/zh-CN.js +10 -4
- package/es/table/base/helpers/TableDOMUtils.js +17 -14
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +12 -2
- package/es/table/base/table.js +38 -7
- package/es/table/common-views.js +3 -1
- package/es/table/interfaces.d.ts +5 -0
- package/es/table/pipeline/features/autoFill.js +7 -3
- package/es/table/pipeline/features/columnFilter.js +17 -5
- package/es/table/pipeline/features/columnResizeWidth.js +3 -1
- package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
- package/es/table/pipeline/features/filter/Filter.d.ts +4 -1
- package/es/table/pipeline/features/filter/Filter.js +4 -2
- package/es/table/pipeline/features/index.d.ts +1 -0
- package/es/table/pipeline/features/index.js +2 -1
- package/es/table/pipeline/features/multiSelect.js +31 -12
- package/es/table/pipeline/features/rangeSelection.d.ts +22 -1
- package/es/table/pipeline/features/rangeSelection.js +274 -100
- package/es/table/pipeline/features/rowDrag.d.ts +28 -0
- package/es/table/pipeline/features/rowDrag.js +325 -0
- package/es/table/pipeline/features/sort.js +22 -3
- package/lib/locale/locale.d.ts +8 -4
- package/lib/locale/zh-CN.d.ts +8 -4
- package/lib/locale/zh-CN.js +10 -4
- package/lib/table/base/helpers/TableDOMUtils.js +17 -14
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +12 -2
- package/lib/table/base/table.js +38 -7
- package/lib/table/common-views.js +3 -1
- package/lib/table/interfaces.d.ts +5 -0
- package/lib/table/pipeline/features/autoFill.js +7 -3
- package/lib/table/pipeline/features/columnFilter.js +18 -6
- package/lib/table/pipeline/features/columnResizeWidth.js +3 -1
- package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
- package/lib/table/pipeline/features/filter/Filter.d.ts +4 -1
- package/lib/table/pipeline/features/filter/Filter.js +4 -2
- package/lib/table/pipeline/features/index.d.ts +1 -0
- package/lib/table/pipeline/features/index.js +9 -1
- package/lib/table/pipeline/features/multiSelect.js +33 -12
- package/lib/table/pipeline/features/rangeSelection.d.ts +22 -1
- package/lib/table/pipeline/features/rangeSelection.js +282 -104
- package/lib/table/pipeline/features/rowDrag.d.ts +28 -0
- package/lib/table/pipeline/features/rowDrag.js +347 -0
- package/lib/table/pipeline/features/sort.js +22 -3
- package/package.json +3 -3
package/dist/@kdcloudjs/table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* @kdcloudjs/table v1.
|
|
3
|
+
* @kdcloudjs/table v1.2.0-canary.9
|
|
4
4
|
*
|
|
5
5
|
* Copyright 2020-present, Kingdee, Inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -813,10 +813,16 @@ var getCompLangMsg = function getCompLangMsg(compLangMsgParams, customGetLangMsg
|
|
|
813
813
|
__webpack_require__.r(__webpack_exports__);
|
|
814
814
|
var locale = {
|
|
815
815
|
locale: 'zh-CN',
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
816
|
+
// Text Filter
|
|
817
|
+
contain: '包含',
|
|
818
|
+
notContain: '不包含',
|
|
819
|
+
equal: '等于',
|
|
820
|
+
notEqual: '不等于',
|
|
821
|
+
isNull: '为空',
|
|
822
|
+
notIsNull: '不为空',
|
|
823
|
+
// filter button
|
|
824
|
+
resetFilter: '重置',
|
|
825
|
+
confirmFilter: '确定'
|
|
820
826
|
};
|
|
821
827
|
/* harmony default export */ __webpack_exports__["default"] = (locale);
|
|
822
828
|
|
|
@@ -1984,7 +1990,7 @@ var TableDOMHelper = /*#__PURE__*/function () {
|
|
|
1984
1990
|
this.tableElement = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableBody, " table"));
|
|
1985
1991
|
this.tableFooter = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter));
|
|
1986
1992
|
this.tableFooterMain = this.artTable.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooterMain));
|
|
1987
|
-
var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScroll);
|
|
1993
|
+
var stickyScrollSelector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable, " + .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].horizontalStickyScrollContainer, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScroll);
|
|
1988
1994
|
this.stickyScroll = artTableWrapper.querySelector(stickyScrollSelector);
|
|
1989
1995
|
this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].stickyScrollItem));
|
|
1990
1996
|
}
|
|
@@ -2009,13 +2015,15 @@ var TableDOMHelper = /*#__PURE__*/function () {
|
|
|
2009
2015
|
key: "getLeftLockShadow",
|
|
2010
2016
|
value: function getLeftLockShadow() {
|
|
2011
2017
|
var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].leftLockShadow);
|
|
2012
|
-
|
|
2018
|
+
var allLeftLockShadow = this.artTable.querySelectorAll(selector);
|
|
2019
|
+
return allLeftLockShadow[allLeftLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
|
|
2013
2020
|
}
|
|
2014
2021
|
}, {
|
|
2015
2022
|
key: "getRightLockShadow",
|
|
2016
2023
|
value: function getRightLockShadow() {
|
|
2017
2024
|
var selector = ".".concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].lockShadowMask, " .").concat(_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rightLockShadow);
|
|
2018
|
-
|
|
2025
|
+
var allRightLockShadow = this.artTable.querySelectorAll(selector);
|
|
2026
|
+
return allRightLockShadow[allRightLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
|
|
2019
2027
|
}
|
|
2020
2028
|
}, {
|
|
2021
2029
|
key: "getLoadingIndicator",
|
|
@@ -3273,6 +3281,9 @@ var Classes = {
|
|
|
3273
3281
|
stickyScrollItem: "".concat(prefix, "sticky-scroll-item"),
|
|
3274
3282
|
horizontalScrollContainer: "".concat(prefix, "horizontal-scroll-container"),
|
|
3275
3283
|
verticalScrollPlaceholder: "".concat(prefix, "vertical-scroll-placeholder"),
|
|
3284
|
+
horizontalStickyScrollContainer: "".concat(prefix, "horizontal-sticky-scroll-container"),
|
|
3285
|
+
horizontalScrollLeftSpacer: "".concat(prefix, "horizontal-scroll-left-spacer"),
|
|
3286
|
+
horizontalScrollRightSpacer: "".concat(prefix, "horizontal-scroll-right-spacer"),
|
|
3276
3287
|
lockShadowMask: "".concat(prefix, "lock-shadow-mask"),
|
|
3277
3288
|
lockShadow: "".concat(prefix, "lock-shadow"),
|
|
3278
3289
|
leftLockShadow: "".concat(prefix, "left-lock-shadow"),
|
|
@@ -3315,7 +3326,14 @@ var Classes = {
|
|
|
3315
3326
|
collapsed: "".concat(prefix, "collapsed"),
|
|
3316
3327
|
popup: "".concat(prefix, "popup"),
|
|
3317
3328
|
popupHeader: "".concat(prefix, "popup-header"),
|
|
3318
|
-
popupBody: "".concat(prefix, "popup-body")
|
|
3329
|
+
popupBody: "".concat(prefix, "popup-body"),
|
|
3330
|
+
rowDragging: "".concat(prefix, "row-dragging"),
|
|
3331
|
+
rowDragStart: "".concat(prefix, "row-drag-start"),
|
|
3332
|
+
rowDragEnd: "".concat(prefix, "row-drag-end"),
|
|
3333
|
+
rowDragEndToTop: "".concat(prefix, "row-drag-end-to-top"),
|
|
3334
|
+
rowDragEndToBottom: "".concat(prefix, "row-drag-end-to-bottom"),
|
|
3335
|
+
rowDragElement: "".concat(prefix, "row-drag-element"),
|
|
3336
|
+
rowDragCell: "".concat(prefix, "row-drag-cell")
|
|
3319
3337
|
};
|
|
3320
3338
|
var MenuClasses = {
|
|
3321
3339
|
menu: "".concat(prefix, "table-menu"),
|
|
@@ -3367,7 +3385,7 @@ var defaultCSSVariables = {
|
|
|
3367
3385
|
var variableConst = getCssVariableText(defaultCSSVariables);
|
|
3368
3386
|
var notBorderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
|
|
3369
3387
|
var borderedStyleMixin = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject3 || (_templateObject3 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n //th\u9690\u85CF\u5217\u5BBD\u62D6\u62FD\u7684\u80CC\u666F\u8272\uFF0C\u4F7F\u7528th\u7684\u53F3\u8FB9\u6846\u4EE3\u66FF\n .", "::after{\n background-color: inherit;\n }\n"])), Classes.tableHeaderCellResize);
|
|
3370
|
-
var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject4 || (_templateObject4 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\n ", "\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n\n .", " {\n user-select:none;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right: var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-right: var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n &:focus {\n outline: none\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n\n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n right: 0;\n width: 5px;\n &::after{\n left: 4px;\n }\n }\n //#endregion\n\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.rangeSelection, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.tableExtendIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize, Classes.tableHeaderRow, Classes.last, Classes.tableHeaderCellResize);
|
|
3388
|
+
var StyledArtTableWrapper = styled_components__WEBPACK_IMPORTED_MODULE_4__["default"].div(_templateObject4 || (_templateObject4 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\n ", "\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n\n .", " {\n user-select:none;\n }\n\n .", " {\n user-select:none;\n .", " .", " >td{\n cursor:move;\n }\n\n .", " .", " >td{\n cursor:no-drop;\n }\n \n }\n\n .", "{\n opacity: 0.5;\n }\n\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n top:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n bottom:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", " {\n cursor:pointer;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right: var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-right: var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", "{\n display:flex;\n background: var(--bgcolor);\n }\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n &:focus {\n outline: none\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n\n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n right: 0;\n width: 5px;\n &::after{\n left: 4px;\n }\n }\n //#endregion\n\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.rangeSelection, Classes.rowDragging, Classes.tableBody, Classes.tableRow, Classes.tableFooter, Classes.tableRow, Classes.rowDragStart, Classes.rowDragEndToTop, Classes.rowDragEndToBottom, Classes.rowDragCell, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.horizontalStickyScrollContainer, Classes.horizontalScrollLeftSpacer, Classes.horizontalScrollRightSpacer, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.tableExtendIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize, Classes.tableHeaderRow, Classes.last, Classes.tableHeaderCellResize);
|
|
3371
3389
|
var ButtonCSS = Object(styled_components__WEBPACK_IMPORTED_MODULE_4__["css"])(_templateObject5 || (_templateObject5 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_0___default()(["\n ", "\n //#region \u6309\u94AE\n .", "{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .", " {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n//#endregion\n"])), variableConst, Classes.button, Classes.buttonPrimary);
|
|
3372
3390
|
|
|
3373
3391
|
function getCssVariableText(obj) {
|
|
@@ -3747,10 +3765,14 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
3747
3765
|
var _this$props$setTableW, _this$props3;
|
|
3748
3766
|
|
|
3749
3767
|
(_this$props$setTableW = (_this$props3 = this.props).setTableWidth) === null || _this$props$setTableW === void 0 ? void 0 : _this$props$setTableW.call(_this$props3, this.domHelper.tableBody.clientWidth);
|
|
3750
|
-
}
|
|
3768
|
+
}
|
|
3751
3769
|
|
|
3770
|
+
var _this$lastInfo = this.lastInfo,
|
|
3771
|
+
leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
|
|
3772
|
+
rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
|
|
3773
|
+
var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth; // 设置子节点宽度
|
|
3752
3774
|
|
|
3753
|
-
stickyScrollItem.style.width = "".concat(innerTableWidth, "px");
|
|
3775
|
+
stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth, "px");
|
|
3754
3776
|
}
|
|
3755
3777
|
}, {
|
|
3756
3778
|
key: "renderTableHeader",
|
|
@@ -3918,13 +3940,25 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
3918
3940
|
stickyBottom = _this$props6.stickyBottom;
|
|
3919
3941
|
var hasScroll = this.state.hasScroll;
|
|
3920
3942
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
|
|
3921
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].
|
|
3943
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollContainer, _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalStickyScrollContainer)
|
|
3944
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
|
|
3945
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollLeftSpacer),
|
|
3946
|
+
style: {
|
|
3947
|
+
width: info.leftLockTotalWidth
|
|
3948
|
+
}
|
|
3949
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
|
|
3950
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScroll),
|
|
3922
3951
|
style: {
|
|
3923
3952
|
display: hasStickyScroll && hasScroll ? 'block' : 'none',
|
|
3924
3953
|
bottom: stickyBottom
|
|
3925
3954
|
}
|
|
3926
3955
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
|
|
3927
3956
|
className: _styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].stickyScrollItem
|
|
3957
|
+
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_27___default.a.createElement("div", {
|
|
3958
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_26___default()(_styles__WEBPACK_IMPORTED_MODULE_38__["Classes"].horizontalScrollRightSpacer),
|
|
3959
|
+
style: {
|
|
3960
|
+
width: info.rightLockTotalWidth
|
|
3961
|
+
}
|
|
3928
3962
|
}));
|
|
3929
3963
|
}
|
|
3930
3964
|
}, {
|
|
@@ -4007,7 +4041,22 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
4007
4041
|
}, {
|
|
4008
4042
|
key: "componentDidUpdate",
|
|
4009
4043
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
4044
|
+
var _this$props13;
|
|
4045
|
+
|
|
4010
4046
|
// console.log('did update start')
|
|
4047
|
+
var _this$props12 = this.props,
|
|
4048
|
+
cssVariables = _this$props12.cssVariables,
|
|
4049
|
+
enableCSSVariables = _this$props12.enableCSSVariables,
|
|
4050
|
+
bordered = _this$props12.bordered;
|
|
4051
|
+
|
|
4052
|
+
if (!Object(_utils__WEBPACK_IMPORTED_MODULE_39__["shallowEqual"])(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_this$props13 = this.props) === null || _this$props13 === void 0 ? void 0 : _this$props13.cssVariables)) {
|
|
4053
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_39__["cssPolifill"])({
|
|
4054
|
+
variables: cssVariables || {},
|
|
4055
|
+
enableCSSVariables: enableCSSVariables,
|
|
4056
|
+
bordered: bordered
|
|
4057
|
+
});
|
|
4058
|
+
}
|
|
4059
|
+
|
|
4011
4060
|
this.updateDOMHelper();
|
|
4012
4061
|
this.props$.next(this.props);
|
|
4013
4062
|
this.didMountOrUpdate(prevProps, prevState); // console.log('did update end')
|
|
@@ -4237,9 +4286,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
4237
4286
|
key: "adjustNeedRenderLock",
|
|
4238
4287
|
value: function adjustNeedRenderLock() {
|
|
4239
4288
|
var needRenderLock = this.state.needRenderLock;
|
|
4240
|
-
var _this$
|
|
4241
|
-
flat = _this$
|
|
4242
|
-
hasLockColumn = _this$
|
|
4289
|
+
var _this$lastInfo2 = this.lastInfo,
|
|
4290
|
+
flat = _this$lastInfo2.flat,
|
|
4291
|
+
hasLockColumn = _this$lastInfo2.hasLockColumn;
|
|
4243
4292
|
|
|
4244
4293
|
if (hasLockColumn) {
|
|
4245
4294
|
var sumOfColWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_39__["sum"])(flat.full.map(function (col) {
|
|
@@ -4640,7 +4689,9 @@ var _templateObject, _templateObject2, _templateObject3;
|
|
|
4640
4689
|
|
|
4641
4690
|
|
|
4642
4691
|
var InlineFlexCell = styled_components__WEBPACK_IMPORTED_MODULE_3__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n display: inline-flex;\n align-items: center;\n"])));
|
|
4643
|
-
var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
|
4692
|
+
var ExpansionCell = Object(styled_components__WEBPACK_IMPORTED_MODULE_3__["default"])(function (props) {
|
|
4693
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(InlineFlexCell, props);
|
|
4694
|
+
})(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_1___default()(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].leaf, _base_styles__WEBPACK_IMPORTED_MODULE_4__["Classes"].expanded);
|
|
4644
4695
|
|
|
4645
4696
|
function CaretDownIcon(props) {
|
|
4646
4697
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("svg", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
@@ -5010,7 +5061,8 @@ var autoFillTableWidth = function autoFillTableWidth() {
|
|
|
5010
5061
|
// 保存剩余的flex总和和剩余宽度总和宽度
|
|
5011
5062
|
var residualFlexCount = flexCount;
|
|
5012
5063
|
var residualFlexWidth = remainingWidth;
|
|
5013
|
-
var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"])
|
|
5064
|
+
var columnSize = pipeline.getFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"]);
|
|
5065
|
+
var enableColumnResizeWidthFeature = !!columnSize;
|
|
5014
5066
|
pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_15__["makeRecursiveMapper"])(function (col, recursiveFlatMapInfo) {
|
|
5015
5067
|
var isLeaf = recursiveFlatMapInfo.isLeaf;
|
|
5016
5068
|
|
|
@@ -5029,12 +5081,15 @@ var autoFillTableWidth = function autoFillTableWidth() {
|
|
|
5029
5081
|
col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth);
|
|
5030
5082
|
residualFlexCount -= flex;
|
|
5031
5083
|
residualFlexWidth -= col.width - preColWidth;
|
|
5032
|
-
|
|
5084
|
+
|
|
5085
|
+
if (enableColumnResizeWidthFeature) {
|
|
5086
|
+
columnSize[code] = col.width;
|
|
5087
|
+
}
|
|
5033
5088
|
}
|
|
5034
5089
|
|
|
5035
5090
|
return col;
|
|
5036
5091
|
}));
|
|
5037
|
-
pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"], columnSize);
|
|
5092
|
+
enableColumnResizeWidthFeature && pipeline.setFeatureOptions(_columnResizeWidth__WEBPACK_IMPORTED_MODULE_17__["COLUMN_SIZE_KEY"], columnSize);
|
|
5038
5093
|
}
|
|
5039
5094
|
} else {
|
|
5040
5095
|
// 未设置了flex宽度,创建占位列
|
|
@@ -5970,6 +6025,7 @@ function filter() {
|
|
|
5970
6025
|
var inputFiltersMap = new Map(inputFilters.map(function (filterItem) {
|
|
5971
6026
|
return [filterItem.code, _objectSpread({}, filterItem)];
|
|
5972
6027
|
}));
|
|
6028
|
+
var localeText = pipeline.ctx.localeText;
|
|
5973
6029
|
|
|
5974
6030
|
function processColumns(columns) {
|
|
5975
6031
|
return columns.map(dfs);
|
|
@@ -5983,7 +6039,7 @@ function filter() {
|
|
|
5983
6039
|
var filterActive = filterable && (inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : (_inputFiltersMap$get = inputFiltersMap.get(col.code)) === null || _inputFiltersMap$get === void 0 ? void 0 : (_inputFiltersMap$get$ = _inputFiltersMap$get.filter) === null || _inputFiltersMap$get$ === void 0 ? void 0 : _inputFiltersMap$get$.length) > 0;
|
|
5984
6040
|
|
|
5985
6041
|
if (filterable) {
|
|
5986
|
-
var _col$features2, _col$features$filterI, _col$features3,
|
|
6042
|
+
var _col$features2, _col$features$filterI, _col$features3, _cx;
|
|
5987
6043
|
|
|
5988
6044
|
var handleFilterChanged = function handleFilterChanged(filterItem) {
|
|
5989
6045
|
var nextFiltersMap = new Map(inputFiltersMap);
|
|
@@ -6017,7 +6073,8 @@ function filter() {
|
|
|
6017
6073
|
|
|
6018
6074
|
var filterPanel = (_col$features2 = col.features) === null || _col$features2 === void 0 ? void 0 : _col$features2.filterPanel;
|
|
6019
6075
|
var colFilterIcon = (_col$features$filterI = (_col$features3 = col.features) === null || _col$features3 === void 0 ? void 0 : _col$features3.filterIcon) !== null && _col$features$filterI !== void 0 ? _col$features$filterI : filterIcon;
|
|
6020
|
-
|
|
6076
|
+
|
|
6077
|
+
var _Filter = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_17___default.a.createElement(_filter__WEBPACK_IMPORTED_MODULE_21__["Filter"], {
|
|
6021
6078
|
key: "filter",
|
|
6022
6079
|
FilterPanelContent: filterPanel,
|
|
6023
6080
|
filterIcon: colFilterIcon,
|
|
@@ -6029,12 +6086,22 @@ function filter() {
|
|
|
6029
6086
|
stopClickEventPropagation: stopClickEventPropagation,
|
|
6030
6087
|
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
6031
6088
|
hideFilterPopupHeader: hideFilterPopupHeader,
|
|
6032
|
-
getPopupParent: getPopupParent
|
|
6033
|
-
|
|
6089
|
+
getPopupParent: getPopupParent,
|
|
6090
|
+
localeText: localeText
|
|
6091
|
+
});
|
|
6092
|
+
|
|
6093
|
+
if (col.renderHeader) {
|
|
6094
|
+
result.title = col.renderHeader(result.title, _Filter);
|
|
6095
|
+
} else {
|
|
6096
|
+
var _result$title;
|
|
6097
|
+
|
|
6098
|
+
result.title = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_4___default()([].concat((_result$title = result.title) !== null && _result$title !== void 0 ? _result$title : [_internals__WEBPACK_IMPORTED_MODULE_19__["internals"].safeRenderHeader(_objectSpread({}, col))])), [_Filter]);
|
|
6099
|
+
} // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
6034
6100
|
// style: {
|
|
6035
6101
|
// paddingRight: '18px'
|
|
6036
6102
|
// }
|
|
6037
6103
|
// })
|
|
6104
|
+
|
|
6038
6105
|
}
|
|
6039
6106
|
|
|
6040
6107
|
if (!Object(_utils__WEBPACK_IMPORTED_MODULE_20__["isLeafNode"])(col)) {
|
|
@@ -6419,7 +6486,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6419
6486
|
|
|
6420
6487
|
|
|
6421
6488
|
var TableHeaderCellResize = styled_components__WEBPACK_IMPORTED_MODULE_15__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n position: absolute;\n top: 0;\n right: -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 left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
|
|
6422
|
-
var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(
|
|
6489
|
+
var TableHeaderGroupCellResize = Object(styled_components__WEBPACK_IMPORTED_MODULE_15__["default"])(function (props) {
|
|
6490
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(TableHeaderCellResize, props);
|
|
6491
|
+
})(_templateObject2 || (_templateObject2 = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_5___default()(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
|
|
6423
6492
|
|
|
6424
6493
|
function clamp(min, x, max) {
|
|
6425
6494
|
return Math.max(min, Math.min(max, x));
|
|
@@ -7088,11 +7157,13 @@ var _templateObject;
|
|
|
7088
7157
|
var DefaultFilterContentStyle = styled_components__WEBPACK_IMPORTED_MODULE_7__["default"].div(_templateObject || (_templateObject = _babel_runtime_helpers_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_2___default()(["\n display: flex;\n flex-direction: column;\n background-color: #ffffff;\n border-radius: 2px;\n width: 100%;\n\n ", "\n .filter-option-list {\n display: flex;\n flex-direction: column;\n margin-top: 8px;\n ul {\n margin: 0;\n padding: 0;\n li {\n display: flex;\n position: relative;\n flex-shrink: 0;\n height: 32px;\n align-items: center;\n border-radius: 2px;\n font-size: 12px;\n color: var(--color);\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n &:hover{\n background-color: var(--primary-color-level1);\n }\n }\n li.active{\n background-color: var(--primary-color-level1);\n }\n }\n }\n\n .filter-search {\n display: flex;\n padding: 6px 12px;\n\n .filter-search-inner {\n width: 100%;\n font-size: 12px;\n color: #333333;\n height: 28px;\n line-height: 28px;\n padding: 0 8px;\n outline: none;\n background-color: #FAFAFA;\n border-radius: 2px;\n border: 1px solid var(--strong-border-color);\n &:hover{\n border-color: var(--primary-color)\n } \n &:focus{\n border-color: var(--primary-color)\n } \n }\n }\n\n .filter-footer {\n display: flex;\n flex-direction: row;\n padding: 8px 12px;\n justify-content: space-between;\n\n .filter-btn {\n text-align: center;\n font-size: 12px;\n width: 60px;\n height: 24px;\n line-height: 24px;\n }\n \n }\n"])), _base_styles__WEBPACK_IMPORTED_MODULE_10__["ButtonCSS"]);
|
|
7089
7158
|
|
|
7090
7159
|
function DefaultFilterContent(_ref) {
|
|
7091
|
-
var _cx2;
|
|
7160
|
+
var _localeText$resetFilt, _cx2, _localeText$confirmFi;
|
|
7092
7161
|
|
|
7093
7162
|
var setFilterModel = _ref.setFilterModel,
|
|
7094
7163
|
filterModel = _ref.filterModel,
|
|
7095
|
-
hidePanel = _ref.hidePanel
|
|
7164
|
+
hidePanel = _ref.hidePanel,
|
|
7165
|
+
_ref$localeText = _ref.localeText,
|
|
7166
|
+
localeText = _ref$localeText === void 0 ? {} : _ref$localeText;
|
|
7096
7167
|
|
|
7097
7168
|
var _React$useState = react__WEBPACK_IMPORTED_MODULE_6___default.a.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain'),
|
|
7098
7169
|
_React$useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState, 2),
|
|
@@ -7145,16 +7216,18 @@ function DefaultFilterContent(_ref) {
|
|
|
7145
7216
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
|
|
7146
7217
|
className: "filter-option-list"
|
|
7147
7218
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("ul", null, _util__WEBPACK_IMPORTED_MODULE_9__["DEFAULT_FILTER_OPTIONS"].map(function (option, index) {
|
|
7219
|
+
var _localeText$option$ke;
|
|
7220
|
+
|
|
7148
7221
|
return (
|
|
7149
7222
|
/*#__PURE__*/
|
|
7150
7223
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
7151
7224
|
react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("li", {
|
|
7152
|
-
key:
|
|
7225
|
+
key: option.key,
|
|
7153
7226
|
className: option.key === selectedValue ? 'active' : '',
|
|
7154
7227
|
onClick: function onClick() {
|
|
7155
7228
|
return handleClick(option);
|
|
7156
7229
|
}
|
|
7157
|
-
}, option.title)
|
|
7230
|
+
}, (_localeText$option$ke = localeText[option.key]) !== null && _localeText$option$ke !== void 0 ? _localeText$option$ke : option.title)
|
|
7158
7231
|
);
|
|
7159
7232
|
}))), selectedValue !== 'notIsNull' && selectedValue !== 'isNull' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
|
|
7160
7233
|
className: "filter-search"
|
|
@@ -7173,12 +7246,12 @@ function DefaultFilterContent(_ref) {
|
|
|
7173
7246
|
'filter-btn': true
|
|
7174
7247
|
}, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].button, true)),
|
|
7175
7248
|
onClick: reset
|
|
7176
|
-
},
|
|
7249
|
+
}, (_localeText$resetFilt = localeText.resetFilter) !== null && _localeText$resetFilt !== void 0 ? _localeText$resetFilt : '重置'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("button", {
|
|
7177
7250
|
className: classnames__WEBPACK_IMPORTED_MODULE_8___default()((_cx2 = {
|
|
7178
7251
|
'filter-btn': true
|
|
7179
7252
|
}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx2, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].button, true), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx2, _base_styles__WEBPACK_IMPORTED_MODULE_10__["Classes"].buttonPrimary, true), _cx2)),
|
|
7180
7253
|
onClick: confirm
|
|
7181
|
-
},
|
|
7254
|
+
}, (_localeText$confirmFi = localeText.confirmFilter) !== null && _localeText$confirmFi !== void 0 ? _localeText$confirmFi : '确定')));
|
|
7182
7255
|
}
|
|
7183
7256
|
|
|
7184
7257
|
/* harmony default export */ __webpack_exports__["default"] = (DefaultFilterContent);
|
|
@@ -7328,7 +7401,8 @@ function Filter(_ref2) {
|
|
|
7328
7401
|
stopClickEventPropagation = _ref2.stopClickEventPropagation,
|
|
7329
7402
|
stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
|
|
7330
7403
|
hideFilterPopupHeader = _ref2.hideFilterPopupHeader,
|
|
7331
|
-
getPopupParent = _ref2.getPopupParent
|
|
7404
|
+
getPopupParent = _ref2.getPopupParent,
|
|
7405
|
+
localeText = _ref2.localeText;
|
|
7332
7406
|
|
|
7333
7407
|
var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(false),
|
|
7334
7408
|
_React$useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_React$useState3, 2),
|
|
@@ -7355,7 +7429,8 @@ function Filter(_ref2) {
|
|
|
7355
7429
|
setFilterModel: setFilterModel,
|
|
7356
7430
|
filterModel: filterModel,
|
|
7357
7431
|
isFilterActive: isFilterActive,
|
|
7358
|
-
hidePanel: hidePanel
|
|
7432
|
+
hidePanel: hidePanel,
|
|
7433
|
+
localeText: localeText
|
|
7359
7434
|
});
|
|
7360
7435
|
}
|
|
7361
7436
|
};
|
|
@@ -7765,7 +7840,7 @@ function footerDataSource() {
|
|
|
7765
7840
|
/*!*****************************************************!*\
|
|
7766
7841
|
!*** ./components/table/pipeline/features/index.ts ***!
|
|
7767
7842
|
\*****************************************************/
|
|
7768
|
-
/*! exports provided: autoRowSpan, buildTree, columnHover, ColumnHoverFeatureOptions, columnRangeHover, ColumnRangeHoverFeatureOptions, multiSelect, MultiSelectFeatureOptions, rowDetail, RowDetailFeatureOptions, rowGrouping, RowGroupingFeatureOptions, singleSelect, SingleSelectFeatureOptions, sort, SortFeatureOptions, tips, treeMode, TreeModeFeatureOptions, treeMetaSymbol, treeSelect, TreeSelectFeatureOptions, columnDrag, ColumnDragOptions, columnResize, ColumnResizeOptions, contextMenu, ContextMenuFeatureOptions, filter, FilterFeatureOptions, rangeSelection, RangeSelectionFeatureOptions, mergeCellHover, footerDataSource, FooterDataSourceFeatureOptions, footerRowMetaSymbol, colGroupExtendable, colGroupExtendOption */
|
|
7843
|
+
/*! exports provided: autoRowSpan, buildTree, columnHover, ColumnHoverFeatureOptions, columnRangeHover, ColumnRangeHoverFeatureOptions, multiSelect, MultiSelectFeatureOptions, rowDetail, RowDetailFeatureOptions, rowGrouping, RowGroupingFeatureOptions, singleSelect, SingleSelectFeatureOptions, sort, SortFeatureOptions, tips, treeMode, TreeModeFeatureOptions, treeMetaSymbol, treeSelect, TreeSelectFeatureOptions, columnDrag, ColumnDragOptions, columnResize, ColumnResizeOptions, contextMenu, ContextMenuFeatureOptions, filter, FilterFeatureOptions, rangeSelection, RangeSelectionFeatureOptions, mergeCellHover, footerDataSource, FooterDataSourceFeatureOptions, footerRowMetaSymbol, colGroupExtendable, colGroupExtendOption, rowDrag, RowDragFeatureOptions */
|
|
7769
7844
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7770
7845
|
|
|
7771
7846
|
"use strict";
|
|
@@ -7866,6 +7941,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7866
7941
|
|
|
7867
7942
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colGroupExtendOption", function() { return _colGroupExtendable__WEBPACK_IMPORTED_MODULE_19__["colGroupExtendOption"]; });
|
|
7868
7943
|
|
|
7944
|
+
/* harmony import */ var _rowDrag__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./rowDrag */ "./components/table/pipeline/features/rowDrag.tsx");
|
|
7945
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["rowDrag"]; });
|
|
7946
|
+
|
|
7947
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RowDragFeatureOptions", function() { return _rowDrag__WEBPACK_IMPORTED_MODULE_20__["RowDragFeatureOptions"]; });
|
|
7948
|
+
|
|
7949
|
+
|
|
7869
7950
|
|
|
7870
7951
|
|
|
7871
7952
|
|
|
@@ -8029,6 +8110,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
8029
8110
|
|
|
8030
8111
|
|
|
8031
8112
|
|
|
8113
|
+
var fullRowsSetKey = 'fullRowsSetKey';
|
|
8114
|
+
var allEnableKeys = 'allEnableKeys';
|
|
8115
|
+
var selectValueSetKey = 'selectValueSetKey';
|
|
8032
8116
|
function multiSelect() {
|
|
8033
8117
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8034
8118
|
return function multiSelectStep(pipeline) {
|
|
@@ -8059,10 +8143,9 @@ function multiSelect() {
|
|
|
8059
8143
|
action: action
|
|
8060
8144
|
});
|
|
8061
8145
|
};
|
|
8062
|
-
|
|
8063
|
-
var dataSource = pipeline.getDataSource();
|
|
8064
8146
|
/** dataSource 中包含的所有 keys */
|
|
8065
8147
|
|
|
8148
|
+
|
|
8066
8149
|
var fullKeySet = new Set();
|
|
8067
8150
|
/** 所有有效的 keys(disable 状态为 false) */
|
|
8068
8151
|
|
|
@@ -8071,7 +8154,7 @@ function multiSelect() {
|
|
|
8071
8154
|
var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
|
|
8072
8155
|
|
|
8073
8156
|
var isAnyChecked = false;
|
|
8074
|
-
var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(
|
|
8157
|
+
var flatDataSource = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["collectNodes"])(pipeline.getDataSource());
|
|
8075
8158
|
flatDataSource.forEach(function (row, rowIndex) {
|
|
8076
8159
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8077
8160
|
fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
|
|
@@ -8099,6 +8182,8 @@ function multiSelect() {
|
|
|
8099
8182
|
checked: isAllChecked,
|
|
8100
8183
|
indeterminate: !isAllChecked && isAnyChecked,
|
|
8101
8184
|
onChange: function onChange(_) {
|
|
8185
|
+
var allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
8186
|
+
|
|
8102
8187
|
if (isAllChecked) {
|
|
8103
8188
|
_onChange(_utils_others__WEBPACK_IMPORTED_MODULE_16__["arrayUtils"].diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
8104
8189
|
} else {
|
|
@@ -8119,9 +8204,11 @@ function multiSelect() {
|
|
|
8119
8204
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8120
8205
|
var checkboxCellProps = {};
|
|
8121
8206
|
var preCellProps = (_opts$checkboxColumn = opts.checkboxColumn) === null || _opts$checkboxColumn === void 0 ? void 0 : (_opts$checkboxColumn$ = _opts$checkboxColumn.getCellProps) === null || _opts$checkboxColumn$ === void 0 ? void 0 : _opts$checkboxColumn$.call(_opts$checkboxColumn, value, row, rowIndex);
|
|
8207
|
+
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
|
|
8208
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8122
8209
|
|
|
8123
|
-
if (
|
|
8124
|
-
var prevChecked =
|
|
8210
|
+
if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
|
|
8211
|
+
var prevChecked = selectValueSet.has(rowKey);
|
|
8125
8212
|
var disabled = isDisabled(row, rowIndex);
|
|
8126
8213
|
checkboxCellProps = {
|
|
8127
8214
|
style: {
|
|
@@ -8145,7 +8232,8 @@ function multiSelect() {
|
|
|
8145
8232
|
}
|
|
8146
8233
|
|
|
8147
8234
|
var key = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8148
|
-
var
|
|
8235
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8236
|
+
var checked = selectValueSet.has(key);
|
|
8149
8237
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement(Checkbox, {
|
|
8150
8238
|
checked: checked,
|
|
8151
8239
|
disabled: isDisabled(row, rowIndex),
|
|
@@ -8183,8 +8271,9 @@ function multiSelect() {
|
|
|
8183
8271
|
|
|
8184
8272
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
8185
8273
|
var rowKey = _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, row, rowIndex);
|
|
8274
|
+
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set();
|
|
8186
8275
|
|
|
8187
|
-
if (!
|
|
8276
|
+
if (!fullRowsSet.has(rowKey)) {
|
|
8188
8277
|
// rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
|
|
8189
8278
|
return;
|
|
8190
8279
|
}
|
|
@@ -8192,7 +8281,8 @@ function multiSelect() {
|
|
|
8192
8281
|
var style = {};
|
|
8193
8282
|
var className;
|
|
8194
8283
|
var onClick;
|
|
8195
|
-
var
|
|
8284
|
+
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set();
|
|
8285
|
+
var checked = selectValueSet.has(rowKey);
|
|
8196
8286
|
|
|
8197
8287
|
if (opts.highlightRowWhenSelected && checked) {
|
|
8198
8288
|
className = 'highlight';
|
|
@@ -8219,22 +8309,32 @@ function multiSelect() {
|
|
|
8219
8309
|
style: style,
|
|
8220
8310
|
onClick: onClick
|
|
8221
8311
|
};
|
|
8222
|
-
});
|
|
8312
|
+
}); // 只保留一份到pipeline, 避免行数据过多时内容被握住
|
|
8313
|
+
|
|
8314
|
+
pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
|
|
8315
|
+
pipeline.setFeatureOptions(allEnableKeys, allKeys);
|
|
8316
|
+
pipeline.setFeatureOptions(selectValueSetKey, set);
|
|
8317
|
+
fullKeySet = null;
|
|
8318
|
+
allKeys = null;
|
|
8319
|
+
set = null;
|
|
8223
8320
|
return pipeline;
|
|
8224
8321
|
|
|
8225
8322
|
function onCheckboxChange(prevChecked, key, batch) {
|
|
8226
8323
|
var batchKeys = [key];
|
|
8227
8324
|
|
|
8228
8325
|
if (batch && lastKey) {
|
|
8229
|
-
var
|
|
8230
|
-
|
|
8326
|
+
var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
8327
|
+
|
|
8328
|
+
var lastIdx = _allKeys.indexOf(lastKey);
|
|
8329
|
+
|
|
8330
|
+
var cntIdx = _allKeys.indexOf(key);
|
|
8231
8331
|
|
|
8232
8332
|
var _ref5 = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
|
|
8233
8333
|
_ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_5___default()(_ref5, 2),
|
|
8234
8334
|
start = _ref6[0],
|
|
8235
8335
|
end = _ref6[1];
|
|
8236
8336
|
|
|
8237
|
-
batchKeys =
|
|
8337
|
+
batchKeys = _allKeys.slice(start, end + 1);
|
|
8238
8338
|
}
|
|
8239
8339
|
|
|
8240
8340
|
if (prevChecked) {
|
|
@@ -8252,7 +8352,7 @@ function multiSelect() {
|
|
|
8252
8352
|
/*!***************************************************************!*\
|
|
8253
8353
|
!*** ./components/table/pipeline/features/rangeSelection.tsx ***!
|
|
8254
8354
|
\***************************************************************/
|
|
8255
|
-
/*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection */
|
|
8355
|
+
/*! exports provided: rangeSelectionKey, lastClickCellKey, rangeSelection, getCellRangeId */
|
|
8256
8356
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8257
8357
|
|
|
8258
8358
|
"use strict";
|
|
@@ -8260,38 +8360,40 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8260
8360
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelectionKey", function() { return rangeSelectionKey; });
|
|
8261
8361
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lastClickCellKey", function() { return lastClickCellKey; });
|
|
8262
8362
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rangeSelection", function() { return rangeSelection; });
|
|
8363
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCellRangeId", function() { return getCellRangeId; });
|
|
8263
8364
|
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
|
|
8264
8365
|
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
8265
8366
|
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
|
|
8266
8367
|
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
8267
|
-
/* harmony import */ var
|
|
8268
|
-
/* harmony import */ var
|
|
8269
|
-
/* harmony import */ var
|
|
8270
|
-
/* harmony import */ var
|
|
8271
|
-
/* harmony import */ var
|
|
8272
|
-
/* harmony import */ var
|
|
8273
|
-
/* harmony import */ var
|
|
8274
|
-
/* harmony import */ var
|
|
8275
|
-
/* harmony import */ var
|
|
8276
|
-
/* harmony import */ var
|
|
8277
|
-
/* harmony import */ var
|
|
8278
|
-
/* harmony import */ var
|
|
8279
|
-
/* harmony import */ var
|
|
8280
|
-
/* harmony import */ var
|
|
8281
|
-
/* harmony import */ var
|
|
8282
|
-
/* harmony import */ var
|
|
8283
|
-
/* harmony import */ var
|
|
8284
|
-
/* harmony import */ var
|
|
8285
|
-
/* harmony import */ var
|
|
8286
|
-
/* harmony import */ var
|
|
8287
|
-
/* harmony import */ var
|
|
8288
|
-
/* harmony import */ var
|
|
8289
|
-
/* harmony import */ var
|
|
8290
|
-
/* harmony import */ var
|
|
8291
|
-
/* harmony import */ var
|
|
8292
|
-
/* harmony import */ var
|
|
8293
|
-
/* harmony import */ var
|
|
8294
|
-
|
|
8368
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
|
|
8369
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
8370
|
+
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
|
|
8371
|
+
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
8372
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
|
|
8373
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
8374
|
+
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
8375
|
+
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__);
|
|
8376
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
|
|
8377
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);
|
|
8378
|
+
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
|
|
8379
|
+
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_7__);
|
|
8380
|
+
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
|
|
8381
|
+
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__);
|
|
8382
|
+
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
|
|
8383
|
+
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__);
|
|
8384
|
+
/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js");
|
|
8385
|
+
/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_10__);
|
|
8386
|
+
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
|
|
8387
|
+
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11__);
|
|
8388
|
+
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
|
|
8389
|
+
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_12__);
|
|
8390
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
|
|
8391
|
+
/* harmony import */ var _utils_others__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/others */ "./components/table/utils/others.ts");
|
|
8392
|
+
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
|
|
8393
|
+
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
|
|
8394
|
+
/* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
|
|
8395
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
|
|
8396
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_18__);
|
|
8295
8397
|
|
|
8296
8398
|
|
|
8297
8399
|
|
|
@@ -8303,7 +8405,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8303
8405
|
|
|
8304
8406
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8305
8407
|
|
|
8306
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
8408
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8409
|
+
|
|
8410
|
+
|
|
8307
8411
|
|
|
8308
8412
|
|
|
8309
8413
|
|
|
@@ -8316,9 +8420,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
8316
8420
|
|
|
8317
8421
|
var rangeSelectionKey = 'rangeSelection';
|
|
8318
8422
|
var lastClickCellKey = 'lastClickCell';
|
|
8423
|
+
var startSelectedCellRangesKey = 'startSelectedCellRanges';
|
|
8424
|
+
var SCROLL_OFFSET = 30;
|
|
8319
8425
|
function rangeSelection(opts) {
|
|
8320
8426
|
return function step(pipeline) {
|
|
8321
|
-
var SCROLL_SIZE = 30;
|
|
8322
8427
|
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
8323
8428
|
var tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter;
|
|
8324
8429
|
var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
|
|
@@ -8330,14 +8435,18 @@ function rangeSelection(opts) {
|
|
|
8330
8435
|
var columns = pipeline.getColumns();
|
|
8331
8436
|
var dataSource = pipeline.getDataSource();
|
|
8332
8437
|
|
|
8333
|
-
var rangeSelectedChange = function rangeSelectedChange(rangeSelection) {
|
|
8438
|
+
var rangeSelectedChange = function rangeSelectedChange(rangeSelection, isFinished) {
|
|
8334
8439
|
var _opts$rangeSelectedCh;
|
|
8335
8440
|
|
|
8441
|
+
if (isFinished) {
|
|
8442
|
+
pipeline.setFeatureOptions(startSelectedCellRangesKey, rangeSelection);
|
|
8443
|
+
}
|
|
8444
|
+
|
|
8336
8445
|
pipeline.setStateAtKey(rangeSelectionKey, rangeSelection);
|
|
8337
|
-
opts === null || opts === void 0 ? void 0 : (_opts$rangeSelectedCh = opts.rangeSelectedChange) === null || _opts$rangeSelectedCh === void 0 ? void 0 : _opts$rangeSelectedCh.call(opts, rangeSelection);
|
|
8446
|
+
opts === null || opts === void 0 ? void 0 : (_opts$rangeSelectedCh = opts.rangeSelectedChange) === null || _opts$rangeSelectedCh === void 0 ? void 0 : _opts$rangeSelectedCh.call(opts, rangeSelection, isFinished);
|
|
8338
8447
|
};
|
|
8339
8448
|
|
|
8340
|
-
var setRangeSelection = function setRangeSelection(startDragCell, draggingCell) {
|
|
8449
|
+
var setRangeSelection = function setRangeSelection(startDragCell, draggingCell, isFinished) {
|
|
8341
8450
|
if (!startDragCell || !draggingCell) return;
|
|
8342
8451
|
var rangeColumns = getRangeColumns(startDragCell, draggingCell, columns);
|
|
8343
8452
|
|
|
@@ -8346,21 +8455,31 @@ function rangeSelection(opts) {
|
|
|
8346
8455
|
endRow = _getRangeSelectionRow.endRow,
|
|
8347
8456
|
footerRowRange = _getRangeSelectionRow.footerRowRange;
|
|
8348
8457
|
|
|
8349
|
-
var
|
|
8458
|
+
var cellRange = {
|
|
8350
8459
|
startRow: startRow,
|
|
8351
8460
|
endRow: endRow,
|
|
8352
8461
|
columns: rangeColumns,
|
|
8353
8462
|
startColumn: startDragCell.column,
|
|
8354
8463
|
footerRowRange: footerRowRange
|
|
8355
8464
|
};
|
|
8465
|
+
var cellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_7___default()(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
|
|
8466
|
+
|
|
8467
|
+
if (isCellRangeSingleCell([cellRange])) {
|
|
8468
|
+
var singleCellRangeId = getCellRangeId(cellRange);
|
|
8469
|
+
cellRanges = cellRanges.filter(function (item) {
|
|
8470
|
+
return getCellRangeId(item) !== singleCellRangeId;
|
|
8471
|
+
});
|
|
8472
|
+
}
|
|
8473
|
+
|
|
8474
|
+
cellRanges.push(cellRange);
|
|
8356
8475
|
|
|
8357
|
-
if (isCellRangeSingleCell(
|
|
8358
|
-
artTable.classList.remove(
|
|
8476
|
+
if (isCellRangeSingleCell(cellRanges)) {
|
|
8477
|
+
artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_18___default()(_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].rangeSelection));
|
|
8359
8478
|
} else {
|
|
8360
|
-
artTable.classList.add(
|
|
8479
|
+
artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_18___default()(_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].rangeSelection));
|
|
8361
8480
|
}
|
|
8362
8481
|
|
|
8363
|
-
rangeSelectedChange(
|
|
8482
|
+
rangeSelectedChange(cellRanges, isFinished);
|
|
8364
8483
|
};
|
|
8365
8484
|
|
|
8366
8485
|
var shiftKeySelect = function shiftKeySelect(event) {
|
|
@@ -8368,81 +8487,117 @@ function rangeSelection(opts) {
|
|
|
8368
8487
|
var clickCell = getTargetCell(target, columns);
|
|
8369
8488
|
|
|
8370
8489
|
if (clickCell) {
|
|
8371
|
-
|
|
8372
|
-
var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
|
|
8490
|
+
var _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey);
|
|
8373
8491
|
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
} else {
|
|
8377
|
-
// 第一次进来就按住shift键,这时候要记住点击的单元格
|
|
8378
|
-
pipeline.setFeatureOptions(lastClickCellKey, clickCell);
|
|
8379
|
-
}
|
|
8492
|
+
if (_lastClickCell) {
|
|
8493
|
+
setRangeSelection(_lastClickCell, clickCell, true);
|
|
8380
8494
|
} else {
|
|
8495
|
+
// 第一次进来就按住shift键,这时候要记住点击的单元格
|
|
8381
8496
|
pipeline.setFeatureOptions(lastClickCellKey, clickCell);
|
|
8382
|
-
setRangeSelection(clickCell, clickCell);
|
|
8383
8497
|
}
|
|
8384
8498
|
}
|
|
8385
8499
|
};
|
|
8386
8500
|
|
|
8387
|
-
var
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
shiftKeySelect(mouseDownEvent);
|
|
8392
|
-
if (mouseDownEvent.shiftKey) return;
|
|
8393
|
-
var target = mouseDownEvent.target;
|
|
8394
|
-
var startDragCell = getTargetCell(target, columns);
|
|
8395
|
-
var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_14__["fromEvent"])(window, 'mousemove');
|
|
8396
|
-
var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_14__["fromEvent"])(window, 'mouseup');
|
|
8501
|
+
var updateScrollPosition = function updateScrollPosition(client) {
|
|
8502
|
+
var clientX = client.clientX,
|
|
8503
|
+
clientY = client.clientY;
|
|
8397
8504
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
8505
|
+
var left = tableBodyClientRect.left,
|
|
8506
|
+
top = tableBodyClientRect.top,
|
|
8507
|
+
height = tableBodyClientRect.height,
|
|
8508
|
+
width = tableBodyClientRect.width;
|
|
8398
8509
|
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
var left = tableBodyClientRect.left,
|
|
8403
|
-
top = tableBodyClientRect.top,
|
|
8404
|
-
height = tableBodyClientRect.height,
|
|
8405
|
-
width = tableBodyClientRect.width;
|
|
8510
|
+
if (clientX + SCROLL_OFFSET >= left + width) {
|
|
8511
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_OFFSET;
|
|
8512
|
+
}
|
|
8406
8513
|
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8514
|
+
if (clientX - SCROLL_OFFSET <= left) {
|
|
8515
|
+
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_OFFSET;
|
|
8516
|
+
}
|
|
8410
8517
|
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8518
|
+
if (clientY + SCROLL_OFFSET >= top + height) {
|
|
8519
|
+
pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
|
|
8520
|
+
}
|
|
8414
8521
|
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8522
|
+
if (clientY + SCROLL_OFFSET <= top) {
|
|
8523
|
+
pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
|
|
8524
|
+
}
|
|
8525
|
+
};
|
|
8418
8526
|
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8527
|
+
var setStartSelectedCellRanges = function setStartSelectedCellRanges(isCtrlKey, isShiftKey) {
|
|
8528
|
+
if (opts !== null && opts !== void 0 && opts.suppressMultiRangeSelection) {
|
|
8529
|
+
pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
|
|
8530
|
+
return;
|
|
8531
|
+
} // ctrl 和shift 同时按时,优先生效shift
|
|
8532
|
+
// 没有点击ctrl 或者shift时,每次点击开始时都清空选中范围
|
|
8533
|
+
|
|
8534
|
+
|
|
8535
|
+
if (!isCtrlKey && !isShiftKey) {
|
|
8536
|
+
pipeline.setFeatureOptions(startSelectedCellRangesKey, []);
|
|
8537
|
+
} // shift 点击框选,要保留之前的选中结果。最新的框选范围覆盖最后一次的框选范围
|
|
8538
|
+
|
|
8539
|
+
|
|
8540
|
+
if (isShiftKey) {
|
|
8541
|
+
var _startDragCellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_7___default()(pipeline.getFeatureOptions(startSelectedCellRangesKey)) : [];
|
|
8542
|
+
|
|
8543
|
+
_startDragCellRanges.pop();
|
|
8544
|
+
|
|
8545
|
+
pipeline.setFeatureOptions(startSelectedCellRangesKey, _startDragCellRanges);
|
|
8546
|
+
}
|
|
8547
|
+
};
|
|
8548
|
+
|
|
8549
|
+
var onMouseDown = function onMouseDown(mouseDownEvent) {
|
|
8550
|
+
if (mouseDownEvent.button !== 0 || !(Object(_utils__WEBPACK_IMPORTED_MODULE_13__["isElementInEventPath"])(tableBody, mouseDownEvent.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_13__["isElementInEventPath"])(tableFooter, mouseDownEvent.nativeEvent))) return; // mouseDownEvent.preventDefault()
|
|
8551
|
+
|
|
8552
|
+
var isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey;
|
|
8553
|
+
var isShiftKey = mouseDownEvent.shiftKey;
|
|
8554
|
+
var target = mouseDownEvent.target; // 每次点击时先确认初始生效的框选范围
|
|
8555
|
+
|
|
8556
|
+
setStartSelectedCellRanges(isCtrlKey, isShiftKey);
|
|
8557
|
+
|
|
8558
|
+
if (isShiftKey) {
|
|
8559
|
+
shiftKeySelect(mouseDownEvent);
|
|
8560
|
+
return;
|
|
8561
|
+
}
|
|
8562
|
+
|
|
8563
|
+
var startDragCell = getTargetCell(target, columns);
|
|
8564
|
+
pipeline.setFeatureOptions(lastClickCellKey, startDragCell);
|
|
8565
|
+
var draggingCell = startDragCell;
|
|
8566
|
+
var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_15__["fromEvent"])(window, 'mousemove');
|
|
8567
|
+
var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_15__["fromEvent"])(window, 'mouseup');
|
|
8568
|
+
var rangeSelected$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_16__["map"])(function (mouseMoveEvent) {
|
|
8569
|
+
var _draggingCell;
|
|
8423
8570
|
|
|
8424
|
-
var rangeSelected$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_15__["map"])(function (mouseMoveEvent) {
|
|
8425
8571
|
var target = mouseMoveEvent.target || mouseMoveEvent.srcElement;
|
|
8426
|
-
|
|
8572
|
+
draggingCell = getTargetCell(target, columns);
|
|
8427
8573
|
var client = {
|
|
8428
8574
|
clientX: mouseMoveEvent.clientX,
|
|
8429
8575
|
clientY: mouseMoveEvent.clientY
|
|
8430
8576
|
};
|
|
8431
|
-
|
|
8577
|
+
|
|
8578
|
+
if (!((_draggingCell = draggingCell) !== null && _draggingCell !== void 0 && _draggingCell.isFooterCell)) {
|
|
8579
|
+
updateScrollPosition(client);
|
|
8580
|
+
}
|
|
8581
|
+
|
|
8432
8582
|
return {
|
|
8433
8583
|
startDragCell: startDragCell,
|
|
8434
8584
|
draggingCell: draggingCell
|
|
8435
8585
|
};
|
|
8436
|
-
}), Object(
|
|
8437
|
-
rangeSelected$.subscribe(
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8586
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_16__["takeUntil"])(mouseup$));
|
|
8587
|
+
rangeSelected$.subscribe({
|
|
8588
|
+
next: function next(_ref) {
|
|
8589
|
+
var startDragCell = _ref.startDragCell,
|
|
8590
|
+
draggingCell = _ref.draggingCell;
|
|
8591
|
+
setRangeSelection(startDragCell, draggingCell, false);
|
|
8592
|
+
},
|
|
8593
|
+
complete: function complete() {
|
|
8594
|
+
setRangeSelection(startDragCell, draggingCell, true);
|
|
8595
|
+
}
|
|
8441
8596
|
});
|
|
8442
8597
|
};
|
|
8443
8598
|
|
|
8444
8599
|
var onKeyDown = function onKeyDown(e) {
|
|
8445
|
-
if (!(Object(
|
|
8600
|
+
if (!(Object(_utils__WEBPACK_IMPORTED_MODULE_13__["isElementInEventPath"])(tableBody, e.nativeEvent) || Object(_utils__WEBPACK_IMPORTED_MODULE_13__["isElementInEventPath"])(tableFooter, e.nativeEvent))) return;
|
|
8446
8601
|
|
|
8447
8602
|
if ((e.ctrlKey || e.metaKey) && e.key === 'a') {
|
|
8448
8603
|
var rowLen = pipeline.getDataSource().length;
|
|
@@ -8450,17 +8605,17 @@ function rangeSelection(opts) {
|
|
|
8450
8605
|
|
|
8451
8606
|
if (columns.length && rowLen && !getElementEditable(e.target)) {
|
|
8452
8607
|
opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault();
|
|
8453
|
-
artTable.classList.add(
|
|
8454
|
-
rangeSelectedChange({
|
|
8608
|
+
artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_18___default()(_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].rangeSelection));
|
|
8609
|
+
rangeSelectedChange([{
|
|
8455
8610
|
startRow: 0,
|
|
8456
8611
|
endRow: rowLen - 1,
|
|
8457
|
-
columns: Object(
|
|
8612
|
+
columns: Object(_utils__WEBPACK_IMPORTED_MODULE_13__["collectNodes"])(columns, 'leaf-only'),
|
|
8458
8613
|
startColumn: columns[0],
|
|
8459
8614
|
footerRowRange: footerDataSource.length > 0 ? {
|
|
8460
8615
|
startRow: 0,
|
|
8461
8616
|
endRow: footerDataSource.length - 1
|
|
8462
8617
|
} : null
|
|
8463
|
-
});
|
|
8618
|
+
}], true);
|
|
8464
8619
|
}
|
|
8465
8620
|
}
|
|
8466
8621
|
};
|
|
@@ -8469,44 +8624,26 @@ function rangeSelection(opts) {
|
|
|
8469
8624
|
onMouseDown: onMouseDown,
|
|
8470
8625
|
onKeyDown: onKeyDown,
|
|
8471
8626
|
tabIndex: -1,
|
|
8472
|
-
className:
|
|
8627
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_18___default()([_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].rangeSelection])
|
|
8473
8628
|
}); // todo: 后面可以把mousedown放到一个流里面
|
|
8474
8629
|
|
|
8475
|
-
return pipeline.mapColumns(Object(
|
|
8476
|
-
var
|
|
8477
|
-
if (!rangeSelection || rangeSelection.columns.findIndex(function (selectedCol) {
|
|
8478
|
-
return selectedCol.code === col.code;
|
|
8479
|
-
}) === -1) return col;
|
|
8630
|
+
return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_13__["makeRecursiveMapper"])(function (col) {
|
|
8631
|
+
var cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || [];
|
|
8480
8632
|
var prevGetCellProps = col.getCellProps;
|
|
8481
8633
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
8482
8634
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
8483
|
-
var _cx;
|
|
8484
|
-
|
|
8485
8635
|
var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
|
|
8486
|
-
var
|
|
8487
|
-
|
|
8488
|
-
|
|
8489
|
-
|
|
8490
|
-
|
|
8491
|
-
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
|
|
8495
|
-
|
|
8496
|
-
|
|
8497
|
-
footerStartRowIndex = _getFooterRowIndex.startRowIndex,
|
|
8498
|
-
footerEndRowIndex = _getFooterRowIndex.endRowIndex;
|
|
8499
|
-
|
|
8500
|
-
var startCol = columns[0];
|
|
8501
|
-
var endCol = columns[columns.length - 1];
|
|
8502
|
-
var bodyMatch = !isInFooter && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
|
|
8503
|
-
var footerMatch = isInFooter && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
|
|
8504
|
-
var match = footerMatch || bodyMatch;
|
|
8505
|
-
var matchSingleCell = match && isCellRangeSingleCell(rangeSelection); // 单个范围选中单元格不显示样式
|
|
8506
|
-
|
|
8507
|
-
var showCellRangeStyle = match && !matchSingleCell;
|
|
8508
|
-
var className = classnames__WEBPACK_IMPORTED_MODULE_17___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeSingleCell, matchSingleCell), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeSelected, showCellRangeStyle), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeTop, showCellRangeStyle && (isInFooter ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex)), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeLeft, showCellRangeStyle && col.code === startCol.code), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeBottom, showCellRangeStyle && (isInFooter ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex)), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_16__["Classes"].tableCellRangeRight, showCellRangeStyle && col.code === endCol.code), _cx));
|
|
8509
|
-
return Object(_utils__WEBPACK_IMPORTED_MODULE_12__["mergeCellProps"])(prevCellProps, {
|
|
8636
|
+
var isFooterCell = record[pipeline.getFeatureOptions('footerRowMetaKey')];
|
|
8637
|
+
if (!cellRanges.some(function (cellRange) {
|
|
8638
|
+
return isCellInRange(cellRange, rowIndex, col, isFooterCell);
|
|
8639
|
+
})) return prevCellProps;
|
|
8640
|
+
var className = getCellRangesClassName(cellRanges, {
|
|
8641
|
+
isFooterCell: isFooterCell,
|
|
8642
|
+
rowIndex: rowIndex,
|
|
8643
|
+
col: col,
|
|
8644
|
+
record: record
|
|
8645
|
+
});
|
|
8646
|
+
return Object(_utils__WEBPACK_IMPORTED_MODULE_13__["mergeCellProps"])(prevCellProps, {
|
|
8510
8647
|
className: className
|
|
8511
8648
|
});
|
|
8512
8649
|
}
|
|
@@ -8520,7 +8657,7 @@ function getTargetCell(target, columns) {
|
|
|
8520
8657
|
if (target.getAttribute('data-role') === 'table-cell') {
|
|
8521
8658
|
var _ret = function () {
|
|
8522
8659
|
var columnCode = target.getAttribute('data-code');
|
|
8523
|
-
var column = Object(
|
|
8660
|
+
var column = Object(_utils_others__WEBPACK_IMPORTED_MODULE_14__["findByTree"])(columns, function (item, index) {
|
|
8524
8661
|
return item.code === columnCode;
|
|
8525
8662
|
});
|
|
8526
8663
|
if (!column) return {
|
|
@@ -8532,12 +8669,12 @@ function getTargetCell(target, columns) {
|
|
|
8532
8669
|
rowSpan: parseInt(target.getAttribute('rowspan') || 1),
|
|
8533
8670
|
code: columnCode,
|
|
8534
8671
|
column: column,
|
|
8535
|
-
|
|
8672
|
+
isFooterCell: isEleInFooter(target)
|
|
8536
8673
|
}
|
|
8537
8674
|
};
|
|
8538
8675
|
}();
|
|
8539
8676
|
|
|
8540
|
-
if (
|
|
8677
|
+
if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5___default()(_ret) === "object") return _ret.v;
|
|
8541
8678
|
}
|
|
8542
8679
|
|
|
8543
8680
|
target = target.parentElement;
|
|
@@ -8547,12 +8684,12 @@ function getTargetCell(target, columns) {
|
|
|
8547
8684
|
}
|
|
8548
8685
|
|
|
8549
8686
|
function isSameCell(cell1, cell2) {
|
|
8550
|
-
return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.
|
|
8687
|
+
return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isFooterCell === cell2.isFooterCell;
|
|
8551
8688
|
}
|
|
8552
8689
|
|
|
8553
8690
|
function isEleInFooter(target) {
|
|
8554
|
-
while (target && !target.classList.contains(
|
|
8555
|
-
if (target.classList.contains(
|
|
8691
|
+
while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].artTable)) {
|
|
8692
|
+
if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableFooter)) {
|
|
8556
8693
|
return true;
|
|
8557
8694
|
}
|
|
8558
8695
|
|
|
@@ -8563,7 +8700,7 @@ function isEleInFooter(target) {
|
|
|
8563
8700
|
}
|
|
8564
8701
|
|
|
8565
8702
|
function getRangeColumns(startCell, endCell, columns) {
|
|
8566
|
-
var flatColumns = Object(
|
|
8703
|
+
var flatColumns = Object(_utils__WEBPACK_IMPORTED_MODULE_13__["collectNodes"])(columns, 'leaf-only');
|
|
8567
8704
|
var startIndex = flatColumns.findIndex(function (col) {
|
|
8568
8705
|
return col.code === startCell.code;
|
|
8569
8706
|
});
|
|
@@ -8588,10 +8725,10 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
8588
8725
|
_endRow = _getCellRangeRow.endRow; // 两个单元格都在表体
|
|
8589
8726
|
|
|
8590
8727
|
|
|
8591
|
-
if (!startCell.
|
|
8728
|
+
if (!startCell.isFooterCell && !endCell.isFooterCell) {
|
|
8592
8729
|
startRow = _startRow;
|
|
8593
8730
|
endRow = _endRow;
|
|
8594
|
-
} else if (startCell.
|
|
8731
|
+
} else if (startCell.isFooterCell && endCell.isFooterCell) {
|
|
8595
8732
|
// 两个单元格都在表底
|
|
8596
8733
|
footerRowRange = {
|
|
8597
8734
|
startRow: _startRow,
|
|
@@ -8599,7 +8736,7 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
8599
8736
|
};
|
|
8600
8737
|
} else {
|
|
8601
8738
|
// 一个单元格在表体,一个在表底
|
|
8602
|
-
if (startCell.
|
|
8739
|
+
if (startCell.isFooterCell) {
|
|
8603
8740
|
startRow = dataSource.length - 1;
|
|
8604
8741
|
endRow = endCell.rowIndex;
|
|
8605
8742
|
footerRowRange = {
|
|
@@ -8622,6 +8759,13 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
8622
8759
|
footerRowRange: footerRowRange
|
|
8623
8760
|
};
|
|
8624
8761
|
}
|
|
8762
|
+
/**
|
|
8763
|
+
* 获取框选范围的起始结束行
|
|
8764
|
+
* @param startCell 起始单元格
|
|
8765
|
+
* @param endCell 结束单元格
|
|
8766
|
+
* @returns
|
|
8767
|
+
*/
|
|
8768
|
+
|
|
8625
8769
|
|
|
8626
8770
|
function getCellRangeRow(startCell, endCell) {
|
|
8627
8771
|
if (isSameCell(startCell, endCell)) {
|
|
@@ -8639,12 +8783,20 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
8639
8783
|
endRow: endRow
|
|
8640
8784
|
};
|
|
8641
8785
|
}
|
|
8786
|
+
/**
|
|
8787
|
+
* 框选范围是否只包含单个单元格
|
|
8788
|
+
* @param cellRanges
|
|
8789
|
+
* @returns
|
|
8790
|
+
*/
|
|
8791
|
+
|
|
8642
8792
|
|
|
8643
|
-
function isCellRangeSingleCell(
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8793
|
+
function isCellRangeSingleCell(cellRanges) {
|
|
8794
|
+
if (cellRanges.length !== 1) return false;
|
|
8795
|
+
var _cellRanges$ = cellRanges[0],
|
|
8796
|
+
startRow = _cellRanges$.startRow,
|
|
8797
|
+
endRow = _cellRanges$.endRow,
|
|
8798
|
+
columns = _cellRanges$.columns,
|
|
8799
|
+
footerRowRange = _cellRanges$.footerRowRange;
|
|
8648
8800
|
var isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1;
|
|
8649
8801
|
var isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1;
|
|
8650
8802
|
return isBodySingleCell || isFooterSingleCell;
|
|
@@ -8679,6 +8831,134 @@ function getElementEditable(target) {
|
|
|
8679
8831
|
return !target.disabled && !target.readOnly;
|
|
8680
8832
|
}
|
|
8681
8833
|
}
|
|
8834
|
+
/**
|
|
8835
|
+
* 判断单元格是否在框选范围内
|
|
8836
|
+
* @param cellRange
|
|
8837
|
+
* @param rowIndex
|
|
8838
|
+
* @param col
|
|
8839
|
+
* @param isFooterCell
|
|
8840
|
+
* @returns
|
|
8841
|
+
*/
|
|
8842
|
+
|
|
8843
|
+
|
|
8844
|
+
function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
8845
|
+
var startRow = cellRange.startRow,
|
|
8846
|
+
endRow = cellRange.endRow,
|
|
8847
|
+
columns = cellRange.columns,
|
|
8848
|
+
footerRowRange = cellRange.footerRowRange;
|
|
8849
|
+
var isColInRanges = columns.findIndex(function (item) {
|
|
8850
|
+
return item.code === col.code;
|
|
8851
|
+
}) !== -1;
|
|
8852
|
+
if (!isColInRanges) return false;
|
|
8853
|
+
|
|
8854
|
+
var _getRowIndex = getRowIndex(startRow, endRow),
|
|
8855
|
+
startRowIndex = _getRowIndex.startRowIndex,
|
|
8856
|
+
endRowIndex = _getRowIndex.endRowIndex;
|
|
8857
|
+
|
|
8858
|
+
var _getFooterRowIndex = getFooterRowIndex(footerRowRange),
|
|
8859
|
+
footerStartRowIndex = _getFooterRowIndex.startRowIndex,
|
|
8860
|
+
footerEndRowIndex = _getFooterRowIndex.endRowIndex;
|
|
8861
|
+
|
|
8862
|
+
var bodyMatch = !isFooterCell && rowIndex >= startRowIndex && rowIndex <= endRowIndex;
|
|
8863
|
+
var footerMatch = isFooterCell && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex;
|
|
8864
|
+
var isRowInRange = footerMatch || bodyMatch;
|
|
8865
|
+
return isRowInRange;
|
|
8866
|
+
}
|
|
8867
|
+
/**
|
|
8868
|
+
* 获取框选范围唯一标识
|
|
8869
|
+
* @param {*} cellRange
|
|
8870
|
+
* @returns
|
|
8871
|
+
*/
|
|
8872
|
+
|
|
8873
|
+
|
|
8874
|
+
function getCellRangeId(cellRange) {
|
|
8875
|
+
var startRow = cellRange.startRow,
|
|
8876
|
+
endRow = cellRange.endRow,
|
|
8877
|
+
footerRowRange = cellRange.footerRowRange,
|
|
8878
|
+
columns = cellRange.columns;
|
|
8879
|
+
|
|
8880
|
+
var _getRowIndex2 = getRowIndex(startRow, endRow),
|
|
8881
|
+
startRowIndex = _getRowIndex2.startRowIndex,
|
|
8882
|
+
endRowIndex = _getRowIndex2.endRowIndex;
|
|
8883
|
+
|
|
8884
|
+
var _getFooterRowIndex2 = getFooterRowIndex(footerRowRange),
|
|
8885
|
+
footerStartRowIndex = _getFooterRowIndex2.startRowIndex,
|
|
8886
|
+
footerEndRowIndex = _getFooterRowIndex2.endRowIndex;
|
|
8887
|
+
|
|
8888
|
+
var firstColId = columns[0].code;
|
|
8889
|
+
var endColId = columns[columns.length - 1].code;
|
|
8890
|
+
return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId;
|
|
8891
|
+
}
|
|
8892
|
+
/**
|
|
8893
|
+
* 获取框选范围中单元格的样式
|
|
8894
|
+
* @param cellRanges
|
|
8895
|
+
* @param param1
|
|
8896
|
+
* @returns
|
|
8897
|
+
*/
|
|
8898
|
+
|
|
8899
|
+
function getCellRangesClassName(cellRanges, _ref2) {
|
|
8900
|
+
var _cx;
|
|
8901
|
+
|
|
8902
|
+
var isFooterCell = _ref2.isFooterCell,
|
|
8903
|
+
rowIndex = _ref2.rowIndex,
|
|
8904
|
+
col = _ref2.col,
|
|
8905
|
+
record = _ref2.record;
|
|
8906
|
+
|
|
8907
|
+
var _getMatchBorderStyle = getMatchBorderStyle(cellRanges, {
|
|
8908
|
+
isFooterCell: isFooterCell,
|
|
8909
|
+
rowIndex: rowIndex,
|
|
8910
|
+
col: col,
|
|
8911
|
+
record: record
|
|
8912
|
+
}),
|
|
8913
|
+
matchCellRangeTop = _getMatchBorderStyle.matchCellRangeTop,
|
|
8914
|
+
matchCellRangeLeft = _getMatchBorderStyle.matchCellRangeLeft,
|
|
8915
|
+
matchCellRangeBottom = _getMatchBorderStyle.matchCellRangeBottom,
|
|
8916
|
+
matchCellRangeRight = _getMatchBorderStyle.matchCellRangeRight;
|
|
8917
|
+
|
|
8918
|
+
var isSingleCell = isCellRangeSingleCell(cellRanges);
|
|
8919
|
+
var className = classnames__WEBPACK_IMPORTED_MODULE_18___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeSingleCell, isSingleCell), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeSelected, !isSingleCell), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeTop, !isSingleCell && matchCellRangeTop), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeLeft, !isSingleCell && matchCellRangeLeft), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeBottom, !isSingleCell && matchCellRangeBottom), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_17__["Classes"].tableCellRangeRight, !isSingleCell && matchCellRangeRight), _cx));
|
|
8920
|
+
return className;
|
|
8921
|
+
}
|
|
8922
|
+
|
|
8923
|
+
function getMatchBorderStyle(cellRanges, _ref3) {
|
|
8924
|
+
var isFooterCell = _ref3.isFooterCell,
|
|
8925
|
+
rowIndex = _ref3.rowIndex,
|
|
8926
|
+
col = _ref3.col,
|
|
8927
|
+
record = _ref3.record;
|
|
8928
|
+
return cellRanges.reduce(function (obj, cellRange) {
|
|
8929
|
+
if (!isCellInRange(cellRange, rowIndex, col, isFooterCell)) return obj;
|
|
8930
|
+
var startRow = cellRange.startRow,
|
|
8931
|
+
endRow = cellRange.endRow,
|
|
8932
|
+
columns = cellRange.columns,
|
|
8933
|
+
footerRowRange = cellRange.footerRowRange;
|
|
8934
|
+
|
|
8935
|
+
var _getRowIndex3 = getRowIndex(startRow, endRow),
|
|
8936
|
+
startRowIndex = _getRowIndex3.startRowIndex,
|
|
8937
|
+
endRowIndex = _getRowIndex3.endRowIndex;
|
|
8938
|
+
|
|
8939
|
+
var _getFooterRowIndex3 = getFooterRowIndex(footerRowRange),
|
|
8940
|
+
footerStartRowIndex = _getFooterRowIndex3.startRowIndex,
|
|
8941
|
+
footerEndRowIndex = _getFooterRowIndex3.endRowIndex;
|
|
8942
|
+
|
|
8943
|
+
var startCol = columns[0];
|
|
8944
|
+
var endCol = columns[columns.length - 1];
|
|
8945
|
+
var matchCellRangeTop = isFooterCell ? startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex : rowIndex === startRowIndex;
|
|
8946
|
+
var matchCellRangeLeft = col.code === startCol.code;
|
|
8947
|
+
var matchCellRangeBottom = isFooterCell ? rowIndex === footerEndRowIndex : footerRowRange ? false : rowIndex === endRowIndex;
|
|
8948
|
+
var matchCellRangeRight = col.code === endCol.code; // 如果样式已经匹配上了,就不需要再取计算的样式
|
|
8949
|
+
|
|
8950
|
+
obj.matchCellRangeTop = obj.matchCellRangeTop || matchCellRangeTop;
|
|
8951
|
+
obj.matchCellRangeLeft = obj.matchCellRangeLeft || matchCellRangeLeft;
|
|
8952
|
+
obj.matchCellRangeBottom = obj.matchCellRangeBottom || matchCellRangeBottom;
|
|
8953
|
+
obj.matchCellRangeRight = obj.matchCellRangeRight || matchCellRangeRight;
|
|
8954
|
+
return obj;
|
|
8955
|
+
}, {
|
|
8956
|
+
matchCellRangeTop: false,
|
|
8957
|
+
matchCellRangeLeft: false,
|
|
8958
|
+
matchCellRangeBottom: false,
|
|
8959
|
+
matchCellRangeRight: false
|
|
8960
|
+
});
|
|
8961
|
+
}
|
|
8682
8962
|
|
|
8683
8963
|
/***/ }),
|
|
8684
8964
|
|
|
@@ -9032,6 +9312,355 @@ function rowDetail() {
|
|
|
9032
9312
|
|
|
9033
9313
|
/***/ }),
|
|
9034
9314
|
|
|
9315
|
+
/***/ "./components/table/pipeline/features/rowDrag.tsx":
|
|
9316
|
+
/*!********************************************************!*\
|
|
9317
|
+
!*** ./components/table/pipeline/features/rowDrag.tsx ***!
|
|
9318
|
+
\********************************************************/
|
|
9319
|
+
/*! exports provided: ROW_DRAG_COLUMN_CODE, rowDragKey, rowDrag */
|
|
9320
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9321
|
+
|
|
9322
|
+
"use strict";
|
|
9323
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9324
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ROW_DRAG_COLUMN_CODE", function() { return ROW_DRAG_COLUMN_CODE; });
|
|
9325
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDragKey", function() { return rowDragKey; });
|
|
9326
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rowDrag", function() { return rowDrag; });
|
|
9327
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
|
|
9328
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
|
|
9329
|
+
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
|
|
9330
|
+
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
9331
|
+
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
|
|
9332
|
+
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
9333
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
|
|
9334
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
|
|
9335
|
+
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js");
|
|
9336
|
+
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js");
|
|
9337
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
|
|
9338
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
|
|
9339
|
+
/* harmony import */ var _base_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../base/styles */ "./components/table/base/styles.ts");
|
|
9340
|
+
|
|
9341
|
+
|
|
9342
|
+
|
|
9343
|
+
|
|
9344
|
+
|
|
9345
|
+
|
|
9346
|
+
|
|
9347
|
+
|
|
9348
|
+
var ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
|
|
9349
|
+
var rowDragKey = 'rowDragKey';
|
|
9350
|
+
var SCROLL_OFFSET = 30;
|
|
9351
|
+
var defaultRowDragColumn = {
|
|
9352
|
+
name: '拖拽列',
|
|
9353
|
+
code: ROW_DRAG_COLUMN_CODE,
|
|
9354
|
+
lock: true,
|
|
9355
|
+
title: '',
|
|
9356
|
+
width: 40,
|
|
9357
|
+
align: 'center',
|
|
9358
|
+
getCellProps: function getCellProps(value, row, rowIndex) {
|
|
9359
|
+
return {
|
|
9360
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragCell)
|
|
9361
|
+
};
|
|
9362
|
+
},
|
|
9363
|
+
render: function render(value, row, rowIndex) {
|
|
9364
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("svg", {
|
|
9365
|
+
viewBox: "0 0 1024 1024",
|
|
9366
|
+
version: "1.1",
|
|
9367
|
+
xmlns: "http://www.w3.org/1999/xlink",
|
|
9368
|
+
"data-icon": "drag",
|
|
9369
|
+
width: "16",
|
|
9370
|
+
height: "16"
|
|
9371
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("path", {
|
|
9372
|
+
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",
|
|
9373
|
+
"p-id": "4278"
|
|
9374
|
+
}));
|
|
9375
|
+
}
|
|
9376
|
+
};
|
|
9377
|
+
function rowDrag(opt) {
|
|
9378
|
+
return function rowDragStep(pipeline) {
|
|
9379
|
+
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
9380
|
+
var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
|
|
9381
|
+
if (!tableBody) return pipeline;
|
|
9382
|
+
var dataSource = pipeline.getDataSource();
|
|
9383
|
+
var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
|
|
9384
|
+
|
|
9385
|
+
var handleDragStrat = function handleDragStrat(event) {
|
|
9386
|
+
var _opt$onDragStart;
|
|
9387
|
+
|
|
9388
|
+
// 开始拖拽
|
|
9389
|
+
artTable.classList.add(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
|
|
9390
|
+
opt === null || opt === void 0 ? void 0 : (_opt$onDragStart = opt.onDragStart) === null || _opt$onDragStart === void 0 ? void 0 : _opt$onDragStart.call(opt, event);
|
|
9391
|
+
};
|
|
9392
|
+
|
|
9393
|
+
var handleDragMove = function handleDragMove(event) {
|
|
9394
|
+
var _opt$onDragMove;
|
|
9395
|
+
|
|
9396
|
+
opt === null || opt === void 0 ? void 0 : (_opt$onDragMove = opt.onDragMove) === null || _opt$onDragMove === void 0 ? void 0 : _opt$onDragMove.call(opt, event);
|
|
9397
|
+
pipeline.setStateAtKey(rowDragKey, event);
|
|
9398
|
+
};
|
|
9399
|
+
|
|
9400
|
+
var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
|
|
9401
|
+
artTable.classList.remove(classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragging));
|
|
9402
|
+
pipeline.setStateAtKey(rowDragKey, event); // 超出拖拽范围不触发dragend事件
|
|
9403
|
+
|
|
9404
|
+
if (!isOutOfRange) {
|
|
9405
|
+
var _opt$onDragEnd;
|
|
9406
|
+
|
|
9407
|
+
opt === null || opt === void 0 ? void 0 : (_opt$onDragEnd = opt.onDragEnd) === null || _opt$onDragEnd === void 0 ? void 0 : _opt$onDragEnd.call(opt, event);
|
|
9408
|
+
}
|
|
9409
|
+
};
|
|
9410
|
+
|
|
9411
|
+
var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
|
|
9412
|
+
var isFinished = _ref.isFinished,
|
|
9413
|
+
_ref$dragPosition = _ref.dragPosition,
|
|
9414
|
+
dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
|
|
9415
|
+
return {
|
|
9416
|
+
startRowIndex: startRowInfo.rowIndex,
|
|
9417
|
+
startRow: startRowInfo.row,
|
|
9418
|
+
endRowIndex: endRowInfo.rowIndex,
|
|
9419
|
+
endRow: endRowInfo.row,
|
|
9420
|
+
dragPosition: dragPosition,
|
|
9421
|
+
isFinished: isFinished
|
|
9422
|
+
};
|
|
9423
|
+
};
|
|
9424
|
+
|
|
9425
|
+
var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
|
|
9426
|
+
var clientY = mouseMoveEvent.clientY;
|
|
9427
|
+
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
9428
|
+
var top = tableBodyClientRect.top,
|
|
9429
|
+
height = tableBodyClientRect.height;
|
|
9430
|
+
|
|
9431
|
+
if (clientY + SCROLL_OFFSET >= top + height) {
|
|
9432
|
+
pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
|
|
9433
|
+
}
|
|
9434
|
+
|
|
9435
|
+
if (clientY + SCROLL_OFFSET <= top) {
|
|
9436
|
+
pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
|
|
9437
|
+
}
|
|
9438
|
+
};
|
|
9439
|
+
|
|
9440
|
+
var onMouseDown = function onMouseDown(mouseDownEvent) {
|
|
9441
|
+
var _opt$isDisabled;
|
|
9442
|
+
|
|
9443
|
+
var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
|
|
9444
|
+
var endRowInfo = startRowInfo;
|
|
9445
|
+
if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
|
|
9446
|
+
if (opt !== null && opt !== void 0 && (_opt$isDisabled = opt.isDisabled) !== null && _opt$isDisabled !== void 0 && _opt$isDisabled.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return; // 默认拖拽插入的位置是向下
|
|
9447
|
+
|
|
9448
|
+
var dragPosition = 'bottom';
|
|
9449
|
+
var isOutOfRange = false;
|
|
9450
|
+
var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
9451
|
+
isFinished: false,
|
|
9452
|
+
dragPosition: 'bottom'
|
|
9453
|
+
});
|
|
9454
|
+
handleDragStrat(dragStartEvent);
|
|
9455
|
+
var tableWidth = tableBody.clientWidth;
|
|
9456
|
+
var startRowRects = startRowInfo.cell.getBoundingClientRect(); // 光标位置距离初始拖拽行的偏移量
|
|
9457
|
+
|
|
9458
|
+
var startOffset = mouseDownEvent.clientY - startRowRects.y;
|
|
9459
|
+
var dragElement = createDragElement(startRowRects, tableWidth, rowHeight); // 可拖拽的范围
|
|
9460
|
+
|
|
9461
|
+
var dragRange = getDragRange(tableBody, {
|
|
9462
|
+
startOffset: startOffset,
|
|
9463
|
+
rowHeight: startRowRects.height
|
|
9464
|
+
});
|
|
9465
|
+
var mousemove$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mousemove');
|
|
9466
|
+
var mouseup$ = Object(rxjs__WEBPACK_IMPORTED_MODULE_4__["fromEvent"])(window, 'mouseup');
|
|
9467
|
+
var rowDrag$ = mousemove$.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["map"])(function (mouseMoveEvent) {
|
|
9468
|
+
var clientX = mouseMoveEvent.clientX,
|
|
9469
|
+
clientY = mouseMoveEvent.clientY;
|
|
9470
|
+
var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
|
|
9471
|
+
|
|
9472
|
+
if (tagretRow) {
|
|
9473
|
+
endRowInfo = tagretRow;
|
|
9474
|
+
}
|
|
9475
|
+
|
|
9476
|
+
var targetRowRects = endRowInfo.cell.getBoundingClientRect(); // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
|
|
9477
|
+
|
|
9478
|
+
var isMoveToTop = clientY - startOffset < targetRowRects.y;
|
|
9479
|
+
dragPosition = isMoveToTop ? 'top' : 'bottom';
|
|
9480
|
+
isOutOfRange = isOutOfDragRange({
|
|
9481
|
+
x: clientX,
|
|
9482
|
+
y: clientY
|
|
9483
|
+
}, dragRange);
|
|
9484
|
+
updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
|
|
9485
|
+
|
|
9486
|
+
updateDragElementPosition(dragElement, dragRange, {
|
|
9487
|
+
x: clientX,
|
|
9488
|
+
y: clientY,
|
|
9489
|
+
startOffset: startOffset
|
|
9490
|
+
});
|
|
9491
|
+
updateCurSorStyle(isOutOfRange);
|
|
9492
|
+
return {
|
|
9493
|
+
startRowInfo: startRowInfo,
|
|
9494
|
+
endRowInfo: endRowInfo,
|
|
9495
|
+
dragPosition: dragPosition
|
|
9496
|
+
};
|
|
9497
|
+
}), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["takeUntil"])(mouseup$));
|
|
9498
|
+
rowDrag$.subscribe({
|
|
9499
|
+
next: function next(_ref2) {
|
|
9500
|
+
var startRowInfo = _ref2.startRowInfo,
|
|
9501
|
+
endRowInfo = _ref2.endRowInfo,
|
|
9502
|
+
dragPosition = _ref2.dragPosition;
|
|
9503
|
+
var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
9504
|
+
isFinished: false,
|
|
9505
|
+
dragPosition: dragPosition
|
|
9506
|
+
});
|
|
9507
|
+
handleDragMove(dragMoveEvent);
|
|
9508
|
+
},
|
|
9509
|
+
complete: function complete() {
|
|
9510
|
+
var dragEndEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
9511
|
+
isFinished: true,
|
|
9512
|
+
dragPosition: dragPosition
|
|
9513
|
+
});
|
|
9514
|
+
handleDragEnd(dragEndEvent, isOutOfRange);
|
|
9515
|
+
removeDragElement(dragElement);
|
|
9516
|
+
removeCurSorStyle();
|
|
9517
|
+
}
|
|
9518
|
+
});
|
|
9519
|
+
};
|
|
9520
|
+
|
|
9521
|
+
var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
|
|
9522
|
+
var nextColumns = pipeline.getColumns().slice();
|
|
9523
|
+
nextColumns.unshift(rowDragColumn);
|
|
9524
|
+
pipeline.columns(nextColumns);
|
|
9525
|
+
pipeline.addTableProps({
|
|
9526
|
+
onMouseDown: onMouseDown
|
|
9527
|
+
});
|
|
9528
|
+
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
9529
|
+
var _cx;
|
|
9530
|
+
|
|
9531
|
+
var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
|
|
9532
|
+
var startRowIndex = rowDragEvent.startRowIndex,
|
|
9533
|
+
endRowIndex = rowDragEvent.endRowIndex,
|
|
9534
|
+
isFinished = rowDragEvent.isFinished,
|
|
9535
|
+
dragPosition = rowDragEvent.dragPosition;
|
|
9536
|
+
var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
|
|
9537
|
+
if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
|
|
9538
|
+
var className = classnames__WEBPACK_IMPORTED_MODULE_6___default()((_cx = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragStart, rowIndex === startRowIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEnd, rowIndex === endRowIndex), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_cx, _base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'), _cx));
|
|
9539
|
+
return {
|
|
9540
|
+
className: className
|
|
9541
|
+
};
|
|
9542
|
+
});
|
|
9543
|
+
return pipeline;
|
|
9544
|
+
};
|
|
9545
|
+
}
|
|
9546
|
+
|
|
9547
|
+
function getTargetRowInfo(target, tableBody, record) {
|
|
9548
|
+
while (target && tableBody.contains(target)) {
|
|
9549
|
+
if (target.getAttribute('data-role') === 'table-cell') {
|
|
9550
|
+
var code = target.getAttribute('data-code');
|
|
9551
|
+
|
|
9552
|
+
var _rowIndex = parseInt(target.getAttribute('data-rowindex'));
|
|
9553
|
+
|
|
9554
|
+
var _row = record[_rowIndex];
|
|
9555
|
+
var isFooterCell = isEleInFooter(target);
|
|
9556
|
+
if (!_row || isFooterCell) return null;
|
|
9557
|
+
return {
|
|
9558
|
+
rowIndex: _rowIndex,
|
|
9559
|
+
row: _row,
|
|
9560
|
+
code: code,
|
|
9561
|
+
cell: target
|
|
9562
|
+
};
|
|
9563
|
+
}
|
|
9564
|
+
|
|
9565
|
+
target = target.parentElement;
|
|
9566
|
+
}
|
|
9567
|
+
|
|
9568
|
+
return null;
|
|
9569
|
+
}
|
|
9570
|
+
|
|
9571
|
+
function isEleInFooter(target) {
|
|
9572
|
+
while (target && !target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].artTable)) {
|
|
9573
|
+
if (target.classList.contains(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].tableFooter)) {
|
|
9574
|
+
return true;
|
|
9575
|
+
}
|
|
9576
|
+
|
|
9577
|
+
target = target.parentElement;
|
|
9578
|
+
}
|
|
9579
|
+
|
|
9580
|
+
return false;
|
|
9581
|
+
}
|
|
9582
|
+
|
|
9583
|
+
function createDragElement(rects, tableWidth, rowHeight) {
|
|
9584
|
+
var x = rects.x,
|
|
9585
|
+
y = rects.y;
|
|
9586
|
+
var dragMoveElement = document.createElement('div');
|
|
9587
|
+
dragMoveElement.className = classnames__WEBPACK_IMPORTED_MODULE_6___default()(_base_styles__WEBPACK_IMPORTED_MODULE_7__["Classes"].rowDragElement);
|
|
9588
|
+
dragMoveElement.style.cssText = "position:fixed;z-index:9999;left:".concat(x, "px;top:").concat(y, "px;pointer-events:none;width:").concat(tableWidth, "px;height:").concat(rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
|
|
9589
|
+
document.body.appendChild(dragMoveElement);
|
|
9590
|
+
return dragMoveElement;
|
|
9591
|
+
}
|
|
9592
|
+
|
|
9593
|
+
function updateDragElementPosition(element, dragRange, _ref3) {
|
|
9594
|
+
var x = _ref3.x,
|
|
9595
|
+
y = _ref3.y,
|
|
9596
|
+
startOffset = _ref3.startOffset;
|
|
9597
|
+
var validPosition = getValidPosition({
|
|
9598
|
+
x: x,
|
|
9599
|
+
y: y
|
|
9600
|
+
}, dragRange);
|
|
9601
|
+
element.style.top = validPosition.y - startOffset + 'px';
|
|
9602
|
+
return element;
|
|
9603
|
+
}
|
|
9604
|
+
|
|
9605
|
+
function removeDragElement(element) {
|
|
9606
|
+
document.body.removeChild(element);
|
|
9607
|
+
}
|
|
9608
|
+
|
|
9609
|
+
function updateCurSorStyle(isOutOfRange) {
|
|
9610
|
+
if (isOutOfRange) {
|
|
9611
|
+
document.body.style.cursor = 'no-drop';
|
|
9612
|
+
} else {
|
|
9613
|
+
document.body.style.cursor = 'move';
|
|
9614
|
+
}
|
|
9615
|
+
}
|
|
9616
|
+
|
|
9617
|
+
function removeCurSorStyle() {
|
|
9618
|
+
document.body.style.cursor = 'default';
|
|
9619
|
+
}
|
|
9620
|
+
|
|
9621
|
+
function getDragRange(tableBody, _ref4) {
|
|
9622
|
+
var startOffset = _ref4.startOffset,
|
|
9623
|
+
rowHeight = _ref4.rowHeight;
|
|
9624
|
+
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
9625
|
+
var height = tableBodyClientRect.height,
|
|
9626
|
+
width = tableBodyClientRect.width,
|
|
9627
|
+
x = tableBodyClientRect.x,
|
|
9628
|
+
y = tableBodyClientRect.y;
|
|
9629
|
+
return {
|
|
9630
|
+
minX: x,
|
|
9631
|
+
maxX: x + width,
|
|
9632
|
+
minY: y - rowHeight + startOffset,
|
|
9633
|
+
maxY: y + height + startOffset
|
|
9634
|
+
};
|
|
9635
|
+
}
|
|
9636
|
+
|
|
9637
|
+
function getValidPosition(position, dragRange) {
|
|
9638
|
+
var x = position.x,
|
|
9639
|
+
y = position.y;
|
|
9640
|
+
var minX = dragRange.minX,
|
|
9641
|
+
maxX = dragRange.maxX,
|
|
9642
|
+
minY = dragRange.minY,
|
|
9643
|
+
maxY = dragRange.maxY;
|
|
9644
|
+
var newX = x < minX ? minX : x > maxX ? maxX : x;
|
|
9645
|
+
var newY = y < minY ? minY : y > maxY ? maxY : y;
|
|
9646
|
+
return {
|
|
9647
|
+
x: newX,
|
|
9648
|
+
y: newY
|
|
9649
|
+
};
|
|
9650
|
+
}
|
|
9651
|
+
|
|
9652
|
+
function isOutOfDragRange(position, dragRange) {
|
|
9653
|
+
var x = position.x,
|
|
9654
|
+
y = position.y;
|
|
9655
|
+
var minX = dragRange.minX,
|
|
9656
|
+
maxX = dragRange.maxX,
|
|
9657
|
+
minY = dragRange.minY,
|
|
9658
|
+
maxY = dragRange.maxY;
|
|
9659
|
+
return x > maxX || x < minX || y > maxY || y < minY;
|
|
9660
|
+
}
|
|
9661
|
+
|
|
9662
|
+
/***/ }),
|
|
9663
|
+
|
|
9035
9664
|
/***/ "./components/table/pipeline/features/rowGrouping.tsx":
|
|
9036
9665
|
/*!************************************************************!*\
|
|
9037
9666
|
!*** ./components/table/pipeline/features/rowGrouping.tsx ***!
|
|
@@ -9860,10 +10489,29 @@ function sort() {
|
|
|
9860
10489
|
title: col.title && col.title[0] ? col.title[0] : col.title
|
|
9861
10490
|
})));
|
|
9862
10491
|
|
|
9863
|
-
|
|
9864
|
-
|
|
10492
|
+
var _sortNodeWithoutTitle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_23___default.a.createElement(SortHeaderCell, {
|
|
10493
|
+
onToggle: function onToggle(e) {
|
|
10494
|
+
if (stopClickEventPropagation) {
|
|
10495
|
+
e.stopPropagation();
|
|
10496
|
+
}
|
|
10497
|
+
|
|
10498
|
+
toggle(col.code);
|
|
10499
|
+
},
|
|
10500
|
+
sortOrder: sortOrder,
|
|
10501
|
+
column: col,
|
|
10502
|
+
sortIndex: sortIndex,
|
|
10503
|
+
sortOptions: sortOptions
|
|
10504
|
+
}); // 开启标题行高自适应后,修改表头的渲染结构
|
|
10505
|
+
|
|
10506
|
+
|
|
10507
|
+
if (col.renderHeader) {
|
|
10508
|
+
result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
|
|
9865
10509
|
} else {
|
|
9866
|
-
result.title
|
|
10510
|
+
if (result.title && result.title[0]) {
|
|
10511
|
+
result.title[0] = sortNode;
|
|
10512
|
+
} else {
|
|
10513
|
+
result.title = sortNode;
|
|
10514
|
+
}
|
|
9867
10515
|
}
|
|
9868
10516
|
}
|
|
9869
10517
|
|