vxe-table 4.18.9 → 4.18.11
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/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +69 -6
- package/es/table/module/custom/panel.js +19 -14
- package/es/table/module/keyboard/hook.js +1 -2
- package/es/table/src/body.js +14 -13
- package/es/table/src/table.js +75 -39
- package/es/table/src/util.js +7 -3
- package/es/table/style.css +14 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +14 -0
- package/es/vxe-table/style.min.css +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +143 -59
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +76 -6
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +21 -13
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +1 -3
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/body.js +14 -9
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +20 -22
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +7 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +14 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +14 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/module/custom/hook.ts +70 -7
- package/packages/table/module/custom/panel.ts +20 -15
- package/packages/table/module/keyboard/hook.ts +1 -2
- package/packages/table/src/body.ts +16 -13
- package/packages/table/src/table.ts +76 -39
- package/packages/table/src/util.ts +9 -3
- package/packages/ui/index.ts +2 -1
- package/styles/components/table-module/custom.scss +14 -0
- /package/es/{iconfont.1774420952727.ttf → iconfont.1775652066125.ttf} +0 -0
- /package/es/{iconfont.1774420952727.woff → iconfont.1775652066125.woff} +0 -0
- /package/es/{iconfont.1774420952727.woff2 → iconfont.1775652066125.woff2} +0 -0
- /package/lib/{iconfont.1774420952727.ttf → iconfont.1775652066125.ttf} +0 -0
- /package/lib/{iconfont.1774420952727.woff → iconfont.1775652066125.woff} +0 -0
- /package/lib/{iconfont.1774420952727.woff2 → iconfont.1775652066125.woff2} +0 -0
|
@@ -4,6 +4,7 @@ var _vue = require("vue");
|
|
|
4
4
|
var _ui = require("../../../ui");
|
|
5
5
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
6
6
|
var _util = require("../../src/util");
|
|
7
|
+
var _dom = require("../../../ui/src/dom");
|
|
7
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
9
|
const tableCustomMethodKeys = ['openCustom', 'closeCustom', 'getCustomVisible', 'toggleCustom', 'saveCustom', 'cancelCustom', 'resetCustom', 'toggleCustomAllCheckbox', 'setCustomAllCheckbox'];
|
|
9
10
|
_ui.VxeUI.hooks.add('tableCustomModule', {
|
|
@@ -28,17 +29,23 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
28
29
|
customStore
|
|
29
30
|
} = reactData;
|
|
30
31
|
const customOpts = computeCustomOpts.value;
|
|
31
|
-
const customSimpleMode = computeCustomSimpleMode.value;
|
|
32
|
-
const showCustomSimpleOutside = customSimpleMode === 'outside';
|
|
33
32
|
const {
|
|
33
|
+
mode,
|
|
34
|
+
placement,
|
|
34
35
|
popupOptions
|
|
35
36
|
} = customOpts;
|
|
37
|
+
const showSimple = !(mode === 'modal' || mode === 'drawer');
|
|
36
38
|
const {
|
|
39
|
+
transfer,
|
|
37
40
|
maxHeight
|
|
38
41
|
} = popupOptions || {};
|
|
42
|
+
const customSimpleMode = computeCustomSimpleMode.value;
|
|
43
|
+
const showCustomSimpleOutside = customSimpleMode === 'outside';
|
|
44
|
+
const bodyEl = document.documentElement;
|
|
39
45
|
let wrapperEl = refElem.value;
|
|
40
46
|
let popupTop = 0;
|
|
41
47
|
let popupMaxHeight = 0;
|
|
48
|
+
const popupStys = {};
|
|
42
49
|
if ($xeGantt) {
|
|
43
50
|
const {
|
|
44
51
|
refGanttContainerElem
|
|
@@ -48,7 +55,12 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
48
55
|
wrapperEl = ganttContainerElem;
|
|
49
56
|
}
|
|
50
57
|
}
|
|
51
|
-
|
|
58
|
+
const tableRect = wrapperEl.getBoundingClientRect();
|
|
59
|
+
// 多种模式,指定元素插入
|
|
60
|
+
if (showSimple && transfer) {
|
|
61
|
+
popupTop = tableRect.top + bodyEl.scrollTop;
|
|
62
|
+
popupMaxHeight = _xeUtils.default.eqNull(maxHeight) ? 360 : maxHeight;
|
|
63
|
+
} else if (showCustomSimpleOutside) {
|
|
52
64
|
if ($xeGGWrapper && wrapperEl) {
|
|
53
65
|
popupTop = wrapperEl.offsetTop;
|
|
54
66
|
}
|
|
@@ -60,14 +72,67 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
60
72
|
}
|
|
61
73
|
popupMaxHeight = Math.max(88, popupMaxHeight);
|
|
62
74
|
}
|
|
63
|
-
|
|
64
|
-
|
|
75
|
+
let popupMxHeight = 0;
|
|
76
|
+
if (!(placement === 'left' || placement === 'right')) {
|
|
77
|
+
popupMxHeight = _xeUtils.default.eqNull(maxHeight) ? popupMaxHeight : maxHeight;
|
|
78
|
+
}
|
|
79
|
+
if (!placement || !['left', 'right', 'bottom-left', 'bottom-right'].includes(placement)) {
|
|
80
|
+
if (popupTop) {
|
|
81
|
+
popupStys.top = (0, _dom.toCssUnit)(popupTop);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (showSimple && transfer) {
|
|
85
|
+
if (placement === 'bottom-left' || placement === 'bottom-right') {
|
|
86
|
+
popupStys.bottom = (0, _dom.toCssUnit)(bodyEl.scrollHeight - tableRect.top - tableRect.height + 1);
|
|
87
|
+
}
|
|
88
|
+
if (placement === 'top-left' || placement === 'bottom-left') {
|
|
89
|
+
popupStys.left = (0, _dom.toCssUnit)(tableRect.left);
|
|
90
|
+
} else if (!placement || placement === 'top-right' || placement === 'bottom-right') {
|
|
91
|
+
popupStys.right = (0, _dom.toCssUnit)(bodyEl.scrollWidth - tableRect.left - tableRect.width + 1);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (popupMxHeight) {
|
|
95
|
+
popupStys.maxHeight = (0, _dom.toCssUnit)(popupMxHeight);
|
|
96
|
+
}
|
|
97
|
+
customStore.popupStyle = popupStys;
|
|
98
|
+
customStore.maxHeight = popupMxHeight;
|
|
99
|
+
return (0, _vue.nextTick)();
|
|
65
100
|
};
|
|
66
101
|
const openCustom = () => {
|
|
67
102
|
const {
|
|
68
103
|
initStore,
|
|
69
104
|
customStore
|
|
70
105
|
} = reactData;
|
|
106
|
+
const customOpts = computeCustomOpts.value;
|
|
107
|
+
const {
|
|
108
|
+
mode,
|
|
109
|
+
popupOptions
|
|
110
|
+
} = customOpts;
|
|
111
|
+
const showSimple = !(mode === 'modal' || mode === 'drawer');
|
|
112
|
+
const {
|
|
113
|
+
transfer
|
|
114
|
+
} = popupOptions || {};
|
|
115
|
+
const customSimpleMode = computeCustomSimpleMode.value;
|
|
116
|
+
const showCustomSimpleOutside = customSimpleMode === 'outside';
|
|
117
|
+
let cpToElem = null;
|
|
118
|
+
// 多种模式,指定元素插入
|
|
119
|
+
if (showSimple && transfer) {
|
|
120
|
+
cpToElem = document.body;
|
|
121
|
+
} else {
|
|
122
|
+
if (showCustomSimpleOutside && $xeGGWrapper) {
|
|
123
|
+
const {
|
|
124
|
+
refPopupContainerElem
|
|
125
|
+
} = $xeGGWrapper.getRefMaps();
|
|
126
|
+
const popupContainerElem = refPopupContainerElem.value;
|
|
127
|
+
if (popupContainerElem) {
|
|
128
|
+
cpToElem = popupContainerElem;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (internalData.customPopupToElem !== cpToElem) {
|
|
133
|
+
reactData.ctPopupFlag++;
|
|
134
|
+
}
|
|
135
|
+
internalData.customPopupToElem = cpToElem;
|
|
71
136
|
customStore.visible = true;
|
|
72
137
|
initStore.custom = true;
|
|
73
138
|
handleUpdateCustomColumn();
|
|
@@ -437,7 +502,12 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
437
502
|
$xeTable.emitCustomEvent('close', evnt);
|
|
438
503
|
}
|
|
439
504
|
},
|
|
440
|
-
handleUpdateCustomColumn
|
|
505
|
+
handleUpdateCustomColumn,
|
|
506
|
+
handleCustomStyle() {
|
|
507
|
+
const reactData = $xeTable.reactData;
|
|
508
|
+
reactData.isCustomDragStatus = false;
|
|
509
|
+
return updatePopupStyle();
|
|
510
|
+
}
|
|
441
511
|
};
|
|
442
512
|
return Object.assign(Object.assign({}, customMethods), customPrivateMethods);
|
|
443
513
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(m){let{reactData:
|
|
1
|
+
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(m){let{reactData:h,internalData:c}=m,{computeCustomOpts:b,computeRowGroupFields:i,computeCustomSimpleMode:g}=m.getComputeMaps(),v=m.getRefMaps().refElem;var e=m.xeGrid;let p=m.xeGantt,C=e||p,u=()=>{var e=h.customStore,{mode:t,placement:l,popupOptions:o}=b.value,t=!("modal"===t||"drawer"===t),{transfer:o,maxHeight:r}=o||{},s="outside"===g.value,i=document.documentElement;let u=v.value,a=0,n=0;var d={},m=(u=p&&(m=p.getRefMaps().refGanttContainerElem,m=m.value)?m:u).getBoundingClientRect();n=t&&o?(a=m.top+i.scrollTop,_xeUtils.default.eqNull(r)?360:r):s?(C&&u&&(a=u.offsetTop),_xeUtils.default.eqNull(r)?360:r):(u&&(n=u.clientHeight-22),Math.max(88,n));let c=0;return"left"!==l&&"right"!==l&&(c=_xeUtils.default.eqNull(r)?n:r),l&&["left","right","bottom-left","bottom-right"].includes(l)||a&&(d.top=(0,_dom.toCssUnit)(a)),t&&o&&("bottom-left"!==l&&"bottom-right"!==l||(d.bottom=(0,_dom.toCssUnit)(i.scrollHeight-m.top-m.height+1)),"top-left"===l||"bottom-left"===l?d.left=(0,_dom.toCssUnit)(m.left):l&&"top-right"!==l&&"bottom-right"!==l||(d.right=(0,_dom.toCssUnit)(i.scrollWidth-m.left-m.width+1))),c&&(d.maxHeight=(0,_dom.toCssUnit)(c)),e.popupStyle=d,e.maxHeight=c,(0,_vue.nextTick)()},l=()=>{var{initStore:e,customStore:t}=h,{mode:l,popupOptions:o}=b.value,l=!("modal"===l||"drawer"===l),o=(o||{}).transfer,r=g.value;let s=null;return l&&o?s=document.body:"outside"===r&&C&&(l=C.getRefMaps().refPopupContainerElem,o=l.value)&&(s=o),c.customPopupToElem!==s&&h.ctPopupFlag++,c.customPopupToElem=s,t.visible=!0,e.custom=!0,a(),n(),u(),(0,_vue.nextTick)().then(()=>u())},a=()=>{var e=h.customStore,t=c.collectColumn;if(e.visible){let l={},o={},r={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,l[t]=e.renderSortNumber,o[t]=e.fixed,r[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=o,e.oldVisibleMaps=r,h.customColumnList=t.slice(0)}},o=()=>{var e=h.customStore,t=b.value;return e.visible&&(e.visible=!1,t.immediate||m.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=h.customStore,l=h.customColumnList,o=b.value;let{checkMethod:r,visibleMethod:s}=o,i=!!e;return o.immediate?(_xeUtils.default.eachTree(l,e=>{s&&!s({$table:m,column:e})||r&&!r({$table:m,column:e})||(e.visible=i,e.renderVisible=i,e.halfVisible=!1)}),t.isAll=i,h.isCustomStatus=!0,m.handleCustom(),m.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{s&&!s({$table:m,column:e})||r&&!r({$table:m,column:e})||(e.renderVisible=i,e.halfVisible=!1)}),t.isAll=i),m.checkCustomStatus(),(0,_vue.nextTick)()};e={getCustomVisible(){var e=h.customStore;return e.visible},openCustom:l,closeCustom:o,toggleCustom:()=>{var e=h.customStore;return(e.visible?o:l)()},saveCustom:()=>{let{customColumnList:e,aggHandleFields:l,rowGroupList:t}=h;let{allowVisible:s,allowSort:i,allowFixed:u,allowResizable:a,allowGroup:n,allowValues:d}=b.value;return _xeUtils.default.eachTree(e,(e,t,l,o,r)=>{r?e.fixed=r.fixed:(i&&(e.renderSortNumber=t+1),u&&(e.fixed=e.renderFixed)),!a||!e.renderVisible||e.children&&e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),s&&(e.visible=e.renderVisible),n&&d&&(e.aggFunc=e.renderAggFn)}),h.isCustomStatus=!0,n&&m.handlePivotTableAggregateData&&(t.length!==l.length||t.some((e,t)=>e.field!==l[t])?l.length?m.setRowGroups(l):m.clearRowGroups():d&&m.handleUpdateAggData()),i&&(c.collectColumn=e),m.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=h;let{oldSortMaps:r,oldFixedMaps:s,oldVisibleMaps:i}=t,{allowVisible:u,allowSort:a,allowFixed:n,allowResizable:d}=b.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!i[t],o=s[t]||"";u&&(e.renderVisible=l,e.visible=l),n&&(e.renderFixed=o,e.fixed=o),a&&(e.renderSortNumber=r[t]||0),d&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){let t=h.rowGroupList;var l=c.collectColumn;let o=b.value.checkMethod,r=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e},e),s=[];return _xeUtils.default.eachTree(l,e=>{r.resizable&&(e.resizeWidth=0),r.fixed&&(e.fixed=e.defaultFixed),r.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),o&&!o({$table:m,column:e})||(e.visible=e.defaultVisible),r.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,s.push(e)}),r.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(s,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),c.collectColumn=e,c.tableFullColumn=(0,_util.getColumnList)(e)),h.isCustomStatus=!1,m.handleCustom().then(()=>{var e;r.aggFunc&&m.handlePivotTableAggregateData&&(((e=i.value)||t).length?e&&e.length?m.setRowGroups(e):m.clearRowGroups():m.handleUpdateAggData()),m.saveCustomStore("reset")})},toggleCustomAllCheckbox(){var e=h.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let n=()=>{var e=h.customStore,t=c.collectColumn;let l=b.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:m,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:m,column:e}))&&(e.renderVisible||e.halfVisible))},r=(e,t)=>{m.dispatchEvent("custom",{type:e},t)};var s={checkCustomStatus:n,emitCustomEvent:r,triggerCustomEvent(e){var t=m.reactData.customStore;t.visible?(o(),r("close",e)):(t.btnEl=e.target,l(),r("open",e))},customOpenEvent(e){var t=m.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,m.openCustom(),m.emitCustomEvent("open",e))},customCloseEvent(e){var t=m.reactData.customStore;t.visible&&(t.activeBtn=!1,m.closeCustom(),m.emitCustomEvent("close",e))},handleUpdateCustomColumn:a,handleCustomStyle(){return m.reactData.isCustomDragStatus=!1,u()}};return Object.assign(Object.assign({},e),s)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)},setupGantt(e){return e.extendTableMethods(tableCustomMethodKeys)}});
|
|
@@ -25,7 +25,8 @@ function createInternalData() {
|
|
|
25
25
|
// prevDragGroupField: undefined,
|
|
26
26
|
// prevDragAggFnColid: undefined,
|
|
27
27
|
// prevDragToChild: false,
|
|
28
|
-
// prevDragPos: null
|
|
28
|
+
// prevDragPos: null,
|
|
29
|
+
// customDragTime: null
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
@@ -50,6 +51,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
50
51
|
internalData: tableInternalData
|
|
51
52
|
} = $xeTable;
|
|
52
53
|
const {
|
|
54
|
+
computeSize,
|
|
53
55
|
computeCustomOpts,
|
|
54
56
|
computeColumnDragOpts,
|
|
55
57
|
computeColumnOpts,
|
|
@@ -348,9 +350,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
348
350
|
(0, _dom.removeClass)(trEl, 'active--drag-origin');
|
|
349
351
|
};
|
|
350
352
|
const sortDragstartEvent = evnt => {
|
|
353
|
+
const {
|
|
354
|
+
customDragTime
|
|
355
|
+
} = customPanelInternalData;
|
|
351
356
|
if (evnt.dataTransfer) {
|
|
352
357
|
evnt.dataTransfer.setDragImage((0, _dom.getTpImg)(), 0, 0);
|
|
353
358
|
}
|
|
359
|
+
if (customDragTime) {
|
|
360
|
+
clearTimeout(customDragTime);
|
|
361
|
+
}
|
|
362
|
+
tableReactData.isCustomDragStatus = true;
|
|
354
363
|
customPanelInternalData.prevDragGroupField = null;
|
|
355
364
|
customPanelInternalData.prevDragAggFnColid = null;
|
|
356
365
|
};
|
|
@@ -543,6 +552,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
543
552
|
tableReactData.customColumnList = collectColumn.slice(0);
|
|
544
553
|
$xeTable.handleColDragSwapColumn();
|
|
545
554
|
}
|
|
555
|
+
customPanelInternalData.customDragTime = setTimeout(() => {
|
|
556
|
+
tableReactData.isCustomDragStatus = false;
|
|
557
|
+
customPanelInternalData.customDragTime = undefined;
|
|
558
|
+
}, 350);
|
|
546
559
|
}).catch(() => {});
|
|
547
560
|
}
|
|
548
561
|
}
|
|
@@ -636,7 +649,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
636
649
|
} = tableProps;
|
|
637
650
|
const {
|
|
638
651
|
isCustomStatus,
|
|
639
|
-
customColumnList
|
|
652
|
+
customColumnList,
|
|
653
|
+
isCustomDragStatus
|
|
640
654
|
} = tableReactData;
|
|
641
655
|
const customOpts = computeCustomOpts.value;
|
|
642
656
|
const {
|
|
@@ -644,8 +658,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
644
658
|
} = customOpts;
|
|
645
659
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
646
660
|
const {
|
|
647
|
-
|
|
648
|
-
popupTop
|
|
661
|
+
popupStyle
|
|
649
662
|
} = customStore;
|
|
650
663
|
const {
|
|
651
664
|
checkMethod,
|
|
@@ -657,6 +670,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
657
670
|
placement
|
|
658
671
|
} = customOpts;
|
|
659
672
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value;
|
|
673
|
+
const vSize = computeSize.value;
|
|
660
674
|
const {
|
|
661
675
|
isCrossDrag
|
|
662
676
|
} = columnDragOpts;
|
|
@@ -771,20 +785,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
771
785
|
}) : renderEmptyElement($xeTable)]) : renderEmptyElement($xeTable)]));
|
|
772
786
|
}
|
|
773
787
|
});
|
|
774
|
-
const popupStys = {};
|
|
775
|
-
if (maxHeight && !['left', 'right'].includes(placement || '')) {
|
|
776
|
-
if (popupTop) {
|
|
777
|
-
popupStys.top = (0, _dom.toCssUnit)(popupTop);
|
|
778
|
-
}
|
|
779
|
-
popupStys.maxHeight = (0, _dom.toCssUnit)(maxHeight);
|
|
780
|
-
}
|
|
781
788
|
return (0, _vue.h)('div', {
|
|
782
789
|
ref: refElem,
|
|
783
790
|
key: 'simple',
|
|
784
791
|
class: ['vxe-table-custom-wrapper', `placement--${placement}`, {
|
|
792
|
+
[`size--${vSize}`]: vSize,
|
|
785
793
|
'is--active': customStore.visible
|
|
786
794
|
}],
|
|
787
|
-
style:
|
|
795
|
+
style: popupStyle
|
|
788
796
|
}, customStore.visible ? [(0, _vue.h)('div', {
|
|
789
797
|
ref: refBodyWrapperElem,
|
|
790
798
|
class: 'vxe-table-custom-simple--body-wrapper'
|
|
@@ -820,7 +828,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
820
828
|
class: 'vxe-table-custom--panel-body'
|
|
821
829
|
}, $xeTable.callSlot(defaultSlot, params)) : (0, _vue.h)(_vue.TransitionGroup, Object.assign({
|
|
822
830
|
class: 'vxe-table-custom--panel-list',
|
|
823
|
-
name: 'vxe-table-custom--list',
|
|
831
|
+
name: isCustomDragStatus ? 'vxe-table-custom--list' : '',
|
|
824
832
|
tag: 'ul'
|
|
825
833
|
}, customWrapperOns), {
|
|
826
834
|
default: () => colVNs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(R,t){var e=_xeUtils.default.uniqueId();let H=_ui.VxeUI.getComponent("VxeModal"),G=_ui.VxeUI.getComponent("VxeDrawer"),z=_ui.VxeUI.getComponent("VxeButton"),N=_ui.VxeUI.getComponent("VxeNumberInput"),P=_ui.VxeUI.getComponent("VxeRadioGroup"),$=(0,_vue.inject)("$xeTable",{}),{props:W,reactData:K,internalData:r}=$,{computeCustomOpts:X,computeColumnDragOpts:q,computeColumnOpts:de,computeIsMaxFixedColumn:j,computeResizableOpts:ce}=$.getComputeMaps(),B=(0,_vue.ref)(),Y=(0,_vue.ref)(),Z=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),f=createInternalData(),a={refElem:B,refBodyWrapperElem:Y,refCustomBodyElem:Z,refDragLineElem:u,refDragTipElem:d},s={},w=e=>{var t=R.customStore;t.activeWrapper=!0,$.customOpenEvent(e)},U=e=>{let t=R.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||$.customCloseEvent(e)},300)},J=({$event:e})=>{K.isCustomStatus=!0,$.saveCustom(),$.closeCustom(),$.emitCustomEvent("confirm",e),$.emitCustomEvent("close",e)},Q=({$event:e})=>{$.closeCustom(),$.emitCustomEvent("close",e)},ee=({$event:e})=>{$.cancelCustom(),$.closeCustom(),$.emitCustomEvent("cancel",e),$.emitCustomEvent("close",e)},l=e=>{$.resetCustom(!0),$.closeCustom(),$.emitCustomEvent("reset",e),$.emitCustomEvent("close",e)},te=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},le=(e,t)=>{let l=!e.renderVisible;X.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),$.checkCustomStatus(),$.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},me=e=>{X.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:width"))},oe=(e,t,l)=>{var o=j.value;let a=null;X.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&$.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},ae=e=>{var t=K.customStore,t=!t.isAll;$.toggleCustomAllCheckbox(),$.dispatchEvent("custom-visible-all",{checked:t},e)},c=(e,t,l,o)=>{var a,s,i,r,n=Y.value;n&&(r=Z.value)&&(a=f.prevDragToChild,s=n.getBoundingClientRect(),r=r.getBoundingClientRect(),i=u.value,t?i&&(l?(t=t.getBoundingClientRect(),i.style.display="block",i.style.left=Math.max(0,r.x-s.x)+"px",i.style.top=Math.max(1,t.y+n.scrollTop-s.y)+"px",i.style.height=t.height+"px",i.style.width=t.width+"px",i.setAttribute("drag-pos",o),i.setAttribute("drag-to-child",a?"y":"n")):i.style.display=""):i&&(i.style.display="node"),r=d.value)&&(r.style.display="block",r.style.top=Math.min(n.clientHeight+n.scrollTop-r.clientHeight,e.clientY+n.scrollTop-s.y)+"px",r.style.left=Math.min(n.clientWidth+n.scrollLeft-r.clientWidth,e.clientX+n.scrollLeft-s.x)+"px",r.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},n=()=>{var e=E.dragCol,t=q.value.tooltipMethod;let l="";l=t?""+(t({$table:$,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),E.dragTipText=l},i=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},se=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=$.getColumnById(t);e.draggable=!0,E.dragCol=t,E.dragGroupField=null,E.dragAggFnCol=null,n(),(0,_dom.addClass)(e,"active--drag-origin")},ie=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;i(),e.draggable=!1,E.dragCol=null,E.dragGroupField=null,(E.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},re=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),f.prevDragGroupField=null,f.prevDragAggFnColid=null},ne=d=>{let c=W.mouseConfig,m=K.customColumnList,v=r.collectColumn;let p=X.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isSelfToChildDrag:h,isToChildDrag:x,dragEndMethod:t}=q.value;var l=E.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:s,prevDragPos:b,prevDragToChild:_}=f,C="bottom"===b?1:0;if(a||s)$.handlePivotTableAggregatePanelDragendEvent&&$.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let n=l,u=o;Promise.resolve(!t||t({oldColumn:n,newColumn:u,dragColumn:n,dragPos:b,dragToChild:!!_,offsetIndex:C})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&g&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,g&&x&&_?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+C,0,n)),r||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+C,0,n);c&&($.clearSelected&&$.clearSelected(),$.clearCellAreas)&&($.clearCellAreas(),$.clearCopyCellArea());a={oldColumn:n,newColumn:u,dragColumn:n,dragPos:b,offsetIndex:C,_index:{newIndex:t,oldIndex:e}};$.dispatchEvent("custom-sort-change",a,d),$.dispatchEvent("column-dragend",a,d),p&&(K.customColumnList=v.slice(0),$.handleColDragSwapColumn())}}).catch(()=>{})}i(),E.dragCol=null,E.dragGroupField=null,E.dragAggFnCol=null,f.prevDragGroupField=null,f.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ue=e=>{var t,l=X.value.immediate,{isCrossDrag:o,isToChildDrag:a}=q.value,s=e.currentTarget,i=(0,_dom.hasControlKey)(e),r=s.getAttribute("colid"),r=$.getColumnById(r),n=E.dragCol;f.prevDragGroupField=null,f.prevDragAggFnColid=null,r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",!n||n.id===r.id||!o&&1<r.level||!l&&1<r.level?c(e,s,!1,t):(f.prevDragToChild=!!(o&&a&&i&&l),f.prevDragCol=r,f.prevDragPos=t,c(e,s,!0,t)))},ve=()=>{var e=E.dragTipText,t=q.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=X.value.mode;H||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),G||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),z||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),N||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),P||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:R,context:t,reactData:E,internalData:f,xeTable:$,getRefMaps:()=>a,getComputeMaps:()=>s,renderVN:()=>{var e=X.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=$.xeGrid,t=$.xeGantt;let l=R.customStore,{treeConfig:o,rowGroupConfig:a,aggregateConfig:s,resizable:d}=W,{isCustomStatus:i,customColumnList:r}=K,n=X.value,c=n.immediate;var u=q.value;let{mode:m,modalOptions:v,drawerOptions:p,allowVisible:g,allowSort:L,allowFixed:h,allowResizable:x,checkMethod:b,visibleMethod:_}=n,C=de.value,E=C.maxFixedSize,{minWidth:f,maxWidth:T}=ce.value;var I=Object.assign({},v),y=Object.assign({},p);let A=j.value,M=u.isCrossDrag;u=n.slots||{};let D=u.header,S=u.top,k=u.bottom,B=u.default,w=u.footer,U=[],O=l.isAll,F=l.isIndeterminate,V={$table:$,$grid:e,$gantt:t,columns:r,isAllChecked:O,isAllIndeterminate:F,isCustomStatus:i};_xeUtils.default.eachTree(r,(o,a,e,t,s)=>{if(!_||_({$table:$,column:o})){let e=0,t=0;x&&(a={$table:$,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},f&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(f)?f(a):f)),T)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(T)?T(a):T));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!b&&!b({$table:$,column:o});var u=!a;U.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:re,onDragend:ne,onDragover:ue},[g?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||le(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement($),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[L?M&&c||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:se,onMouseup:ie}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement($),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:C.resizable||d)?(0,_vue.h)("span","-"):N?(0,_vue.h)(N,{type:"integer",immediate:!1,disabled:u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){me(o)}}):renderEmptyElement($)]):renderEmptyElement($),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):P?(0,_vue.h)(P,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:u||A},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:u||A}],onChange({label:e,$event:t}){oe(o,e,t)}}):renderEmptyElement($)]):renderEmptyElement($)]))}});u={default:()=>(0,_vue.h)("div",{ref:Y,class:"vxe-table-custom-popup--body-wrapper"},B?$.callSlot(B,V):[!o&&(s||a)&&$.getPivotTableAggregatePopupPanel?(0,_vue.h)($.getPivotTableAggregatePopupPanel(),{customStore:l}):renderEmptyElement($),(0,_vue.h)("div",{ref:Z,class:"vxe-table-custom-popup--handle-wrapper"},[S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},$.callSlot(S,V)):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[g?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement($),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement($),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement($)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[g?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":O,"is--indeterminate":F}],title:getI18n("vxe.table.allTitle"),onClick:ae},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:O?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement($),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement($),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(E?"colFixedMax":"colFixed"),[E])):renderEmptyElement($)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>U})])]),k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},$.callSlot(k,V)):renderEmptyElement($),ve()])]),footer:()=>w?$.callSlot(w,V):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[z?(0,_vue.h)(z,{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!i,onClick:te}):renderEmptyElement($),c?z?(0,_vue.h)(z,{content:n.closeButtonText||getI18n("vxe.table.customClose"),onClick:Q}):renderEmptyElement($):z?(0,_vue.h)(z,{content:n.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ee}):renderEmptyElement($),!c&&z?(0,_vue.h)(z,{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:J}):renderEmptyElement($)])};return D&&(u.header=()=>$.callSlot(D,V)),"drawer"===m?G?(0,_vue.h)(G,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",y.className||""].join(" "),modelValue:l.visible,title:y.title||getI18n("vxe.custom.cstmTitle"),width:y.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:y.position,resize:!!y.resize,escClosable:!!y.escClosable,maskClosable:!!y.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},u):renderEmptyElement($):H?(0,_vue.h)(H,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:l.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,document.documentElement.clientWidth),minWidth:I.minWidth||700,height:I.height||Math.min(680,document.documentElement.clientHeight),minHeight:I.minHeight||400,showZoom:I.showZoom,showMaximize:I.showMaximize,showMinimize:I.showMinimize,mask:I.mask,lockView:I.lockView,resize:I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},u):renderEmptyElement($)}:()=>{var e=$.xeGrid,t=$.xeGantt,l=$.props,o=R.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:s}=l,{isCustomStatus:i,customColumnList:r}=K,n=X.value;let d=n.immediate;var u=q.value,{maxHeight:c,popupTop:m}=o;let{checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:h,allowFixed:x,trigger:b,placement:_}=n,C=j.value,E=u.isCrossDrag;var u=n.slots||{},f=u.header,T=u.top,I=u.bottom,y=u.default,u=u.footer;let A=[];var D={},S=o.isAll,k=o.isIndeterminate,e=("hover"===b&&(D.onMouseenter=w,D.onMouseleave=U),{$table:$,$grid:e,$gantt:t,columns:r,isAllChecked:S,isAllIndeterminate:k,isCustomStatus:i}),t=(_xeUtils.default.eachTree(r,(l,e,t,o,a)=>{if(!p||p({$table:$,column:l})){var s=l.renderVisible,i=l.halfVisible,r=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:$,column:l});var u=!s;A.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":r}],onDragstart:re,onDragend:ne,onDragover:ue},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||le(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[h&&(E&&d||1===l.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:se,onMouseup:ie}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement($),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[z?(0,_vue.h)(z,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||C&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{oe(l,"left",e)}}):renderEmptyElement($),z?(0,_vue.h)(z,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||C&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{oe(l,"right",e)}}):renderEmptyElement($)]):renderEmptyElement($)]))}}),{});return c&&!["left","right"].includes(_||"")&&(m&&(t.top=(0,_dom.toCssUnit)(m)),t.maxHeight=(0,_dom.toCssUnit)(c)),(0,_vue.h)("div",{ref:B,key:"simple",class:["vxe-table-custom-wrapper","placement--"+_,{"is--active":o.visible}],style:t},o.visible?[(0,_vue.h)("div",{ref:Y,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(s||a)&&$.getPivotTableAggregateSimplePanel?(0,_vue.h)($.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement($),(0,_vue.h)("div",{ref:Z,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},f?$.callSlot(f,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":k}],title:getI18n("vxe.table.allTitle"),onClick:ae},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",k?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[T?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},$.callSlot(T,e)):renderEmptyElement($),y?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},$.callSlot(y,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},D),{default:()=>A}),I?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},$.callSlot(I,e)):renderEmptyElement($)]),n.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},u?$.callSlot(u,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[z?(0,_vue.h)(z,{mode:"text",content:n.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!i,onClick:te}):renderEmptyElement($),d?z?(0,_vue.h)(z,{mode:"text",content:n.closeButtonText||getI18n("vxe.table.customClose"),onClick:Q}):renderEmptyElement($):z?(0,_vue.h)(z,{mode:"text",content:n.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ee}):renderEmptyElement($),!d&&z?(0,_vue.h)(z,{mode:"text",status:"primary",content:n.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:J}):renderEmptyElement($)])]):null]),ve()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{f=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(R,t){var e=_xeUtils.default.uniqueId();let H=_ui.VxeUI.getComponent("VxeModal"),G=_ui.VxeUI.getComponent("VxeDrawer"),z=_ui.VxeUI.getComponent("VxeButton"),N=_ui.VxeUI.getComponent("VxeNumberInput"),P=_ui.VxeUI.getComponent("VxeRadioGroup"),$=(0,_vue.inject)("$xeTable",{}),{props:W,reactData:K,internalData:i}=$,{computeSize:O,computeCustomOpts:X,computeColumnDragOpts:q,computeColumnOpts:de,computeIsMaxFixedColumn:j,computeResizableOpts:ce}=$.getComputeMaps(),w=(0,_vue.ref)(),Y=(0,_vue.ref)(),Z=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),f=createInternalData(),a={refElem:w,refBodyWrapperElem:Y,refCustomBodyElem:Z,refDragLineElem:u,refDragTipElem:d},s={},F=e=>{var t=R.customStore;t.activeWrapper=!0,$.customOpenEvent(e)},U=e=>{let t=R.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||$.customCloseEvent(e)},300)},J=({$event:e})=>{K.isCustomStatus=!0,$.saveCustom(),$.closeCustom(),$.emitCustomEvent("confirm",e),$.emitCustomEvent("close",e)},Q=({$event:e})=>{$.closeCustom(),$.emitCustomEvent("close",e)},ee=({$event:e})=>{$.cancelCustom(),$.closeCustom(),$.emitCustomEvent("cancel",e),$.emitCustomEvent("close",e)},l=e=>{$.resetCustom(!0),$.closeCustom(),$.emitCustomEvent("reset",e),$.emitCustomEvent("close",e)},te=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},le=(e,t)=>{let l=!e.renderVisible;X.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),$.checkCustomStatus(),$.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},me=e=>{X.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:width"))},oe=(e,t,l)=>{var o=j.value;let a=null;X.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),K.isCustomStatus=!0,$.handleCustom(),$.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&$.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},ae=e=>{var t=K.customStore,t=!t.isAll;$.toggleCustomAllCheckbox(),$.dispatchEvent("custom-visible-all",{checked:t},e)},c=(e,t,l,o)=>{var a,s,r,i,n=Y.value;n&&(i=Z.value)&&(a=f.prevDragToChild,s=n.getBoundingClientRect(),i=i.getBoundingClientRect(),r=u.value,t?r&&(l?(t=t.getBoundingClientRect(),r.style.display="block",r.style.left=Math.max(0,i.x-s.x)+"px",r.style.top=Math.max(1,t.y+n.scrollTop-s.y)+"px",r.style.height=t.height+"px",r.style.width=t.width+"px",r.setAttribute("drag-pos",o),r.setAttribute("drag-to-child",a?"y":"n")):r.style.display=""):r&&(r.style.display="node"),i=d.value)&&(i.style.display="block",i.style.top=Math.min(n.clientHeight+n.scrollTop-i.clientHeight,e.clientY+n.scrollTop-s.y)+"px",i.style.left=Math.min(n.clientWidth+n.scrollLeft-i.clientWidth,e.clientX+n.scrollLeft-s.x)+"px",i.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},n=()=>{var e=E.dragCol,t=q.value.tooltipMethod;let l="";l=t?""+(t({$table:$,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),E.dragTipText=l},r=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},se=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=$.getColumnById(t);e.draggable=!0,E.dragCol=t,E.dragGroupField=null,E.dragAggFnCol=null,n(),(0,_dom.addClass)(e,"active--drag-origin")},re=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;r(),e.draggable=!1,E.dragCol=null,E.dragGroupField=null,(E.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ie=e=>{var t=f.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),K.isCustomDragStatus=!0,f.prevDragGroupField=null,f.prevDragAggFnColid=null},ne=d=>{let c=W.mouseConfig,m=K.customColumnList,v=i.collectColumn;let p=X.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isSelfToChildDrag:h,isToChildDrag:x,dragEndMethod:t}=q.value;var l=E.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:s,prevDragPos:b,prevDragToChild:_}=f,C="bottom"===b?1:0;if(a||s)$.handlePivotTableAggregatePanelDragendEvent&&$.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let n=l,u=o;Promise.resolve(!t||t({oldColumn:n,newColumn:u,dragColumn:n,dragPos:b,dragToChild:!!_,offsetIndex:C})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,r,i,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&g&&h?a&&({items:s,index:i}=a,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(i,1,...r),n.children=[]):a&&({items:s,index:i,parent:r}=a,s.splice(i,1),r||(e=i)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:r,parent:i}=a,g&&x&&_?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(r+C,0,n)),i||(t=r)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+C,0,n);c&&($.clearSelected&&$.clearSelected(),$.clearCellAreas)&&($.clearCellAreas(),$.clearCopyCellArea());a={oldColumn:n,newColumn:u,dragColumn:n,dragPos:b,offsetIndex:C,_index:{newIndex:t,oldIndex:e}};$.dispatchEvent("custom-sort-change",a,d),$.dispatchEvent("column-dragend",a,d),p&&(K.customColumnList=v.slice(0),$.handleColDragSwapColumn()),f.customDragTime=setTimeout(()=>{K.isCustomDragStatus=!1,f.customDragTime=void 0},350)}}).catch(()=>{})}r(),E.dragCol=null,E.dragGroupField=null,E.dragAggFnCol=null,f.prevDragGroupField=null,f.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ue=e=>{var t,l=X.value.immediate,{isCrossDrag:o,isToChildDrag:a}=q.value,s=e.currentTarget,r=(0,_dom.hasControlKey)(e),i=s.getAttribute("colid"),i=$.getColumnById(i),n=E.dragCol;f.prevDragGroupField=null,f.prevDragAggFnColid=null,i&&(o||1===i.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",!n||n.id===i.id||!o&&1<i.level||!l&&1<i.level?c(e,s,!1,t):(f.prevDragToChild=!!(o&&a&&r&&l),f.prevDragCol=i,f.prevDragPos=t,c(e,s,!0,t)))},ve=()=>{var e=E.dragTipText,t=q.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=X.value.mode;H||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),G||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),z||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),N||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),P||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:R,context:t,reactData:E,internalData:f,xeTable:$,getRefMaps:()=>a,getComputeMaps:()=>s,renderVN:()=>{var e=X.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=$.xeGrid,t=$.xeGantt;let l=R.customStore,{treeConfig:o,rowGroupConfig:a,aggregateConfig:s,resizable:d}=W,{isCustomStatus:r,customColumnList:i}=K,n=X.value,c=n.immediate;var u=q.value;let{mode:m,modalOptions:v,drawerOptions:p,allowVisible:g,allowSort:L,allowFixed:h,allowResizable:x,checkMethod:b,visibleMethod:_}=n,C=de.value,E=C.maxFixedSize,{minWidth:f,maxWidth:T}=ce.value;var I=Object.assign({},v),y=Object.assign({},p);let D=j.value,M=u.isCrossDrag;u=n.slots||{};let A=u.header,S=u.top,k=u.bottom,B=u.default,w=u.footer,O=[],F=l.isAll,U=l.isIndeterminate,V={$table:$,$grid:e,$gantt:t,columns:i,isAllChecked:F,isAllIndeterminate:U,isCustomStatus:r};_xeUtils.default.eachTree(i,(o,a,e,t,s)=>{if(!_||_({$table:$,column:o})){let e=0,t=0;x&&(a={$table:$,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},f&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(f)?f(a):f)),T)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(T)?T(a):T));var a=o.renderVisible,r=o.halfVisible,i=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!b&&!b({$table:$,column:o});var u=!a;O.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:ie,onDragend:ne,onDragover:ue},[g?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||le(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement($),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[L?M&&c||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:se,onMouseup:re}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement($),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:i}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:i},i)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:C.resizable||d)?(0,_vue.h)("span","-"):N?(0,_vue.h)(N,{type:"integer",immediate:!1,disabled:u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){me(o)}}):renderEmptyElement($)]):renderEmptyElement($),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):P?(0,_vue.h)(P,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:u||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:u||D}],onChange({label:e,$event:t}){oe(o,e,t)}}):renderEmptyElement($)]):renderEmptyElement($)]))}});u={default:()=>(0,_vue.h)("div",{ref:Y,class:"vxe-table-custom-popup--body-wrapper"},B?$.callSlot(B,V):[!o&&(s||a)&&$.getPivotTableAggregatePopupPanel?(0,_vue.h)($.getPivotTableAggregatePopupPanel(),{customStore:l}):renderEmptyElement($),(0,_vue.h)("div",{ref:Z,class:"vxe-table-custom-popup--handle-wrapper"},[S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},$.callSlot(S,V)):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[g?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement($),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement($),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement($)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[g?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":F,"is--indeterminate":U}],title:getI18n("vxe.table.allTitle"),onClick:ae},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:F?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement($),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement($),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(E?"colFixedMax":"colFixed"),[E])):renderEmptyElement($)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>O})])]),k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},$.callSlot(k,V)):renderEmptyElement($),ve()])]),footer:()=>w?$.callSlot(w,V):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[z?(0,_vue.h)(z,{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!r,onClick:te}):renderEmptyElement($),c?z?(0,_vue.h)(z,{content:n.closeButtonText||getI18n("vxe.table.customClose"),onClick:Q}):renderEmptyElement($):z?(0,_vue.h)(z,{content:n.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ee}):renderEmptyElement($),!c&&z?(0,_vue.h)(z,{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:J}):renderEmptyElement($)])};return A&&(u.header=()=>$.callSlot(A,V)),"drawer"===m?G?(0,_vue.h)(G,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",y.className||""].join(" "),modelValue:l.visible,title:y.title||getI18n("vxe.custom.cstmTitle"),width:y.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:y.position,resize:!!y.resize,escClosable:!!y.escClosable,maskClosable:!!y.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},u):renderEmptyElement($):H?(0,_vue.h)(H,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:l.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,document.documentElement.clientWidth),minWidth:I.minWidth||700,height:I.height||Math.min(680,document.documentElement.clientHeight),minHeight:I.minHeight||400,showZoom:I.showZoom,showMaximize:I.showMaximize,showMinimize:I.showMinimize,mask:I.mask,lockView:I.lockView,resize:I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},u):renderEmptyElement($)}:()=>{var e=$.xeGrid,t=$.xeGantt,l=$.props,o=R.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:s}=l,{isCustomStatus:r,customColumnList:i,isCustomDragStatus:n}=K,u=X.value;let d=u.immediate;var c=q.value,m=o.popupStyle;let{checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:h,allowFixed:x,trigger:b,placement:_}=u,C=j.value;var E=O.value;let f=c.isCrossDrag;var c=u.slots||{},T=c.header,I=c.top,y=c.bottom,D=c.default,c=c.footer;let A=[];var S={},k=o.isAll,B=o.isIndeterminate,e=("hover"===b&&(S.onMouseenter=F,S.onMouseleave=U),{$table:$,$grid:e,$gantt:t,columns:i,isAllChecked:k,isAllIndeterminate:B,isCustomStatus:r});return _xeUtils.default.eachTree(i,(l,e,t,o,a)=>{if(!p||p({$table:$,column:l})){var s=l.renderVisible,r=l.halfVisible,i=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:$,column:l});var u=!s;A.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":i}],onDragstart:ie,onDragend:ne,onDragover:ue},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||le(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[h&&(f&&d||1===l.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:se,onMouseup:re}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement($),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[z?(0,_vue.h)(z,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||C&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{oe(l,"left",e)}}):renderEmptyElement($),z?(0,_vue.h)(z,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||C&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{oe(l,"right",e)}}):renderEmptyElement($)]):renderEmptyElement($)]))}}),(0,_vue.h)("div",{ref:w,key:"simple",class:["vxe-table-custom-wrapper","placement--"+_,{["size--"+E]:E,"is--active":o.visible}],style:m},o.visible?[(0,_vue.h)("div",{ref:Y,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(s||a)&&$.getPivotTableAggregateSimplePanel?(0,_vue.h)($.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement($),(0,_vue.h)("div",{ref:Z,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},T?$.callSlot(T,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":k,"is--indeterminate":B}],title:getI18n("vxe.table.allTitle"),onClick:ae},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",B?getIcon().TABLE_CHECKBOX_INDETERMINATE:k?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[I?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},$.callSlot(I,e)):renderEmptyElement($),D?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},$.callSlot(D,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:n?"vxe-table-custom--list":"",tag:"ul"},S),{default:()=>A}),y?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},$.callSlot(y,e)):renderEmptyElement($)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},c?$.callSlot(c,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[z?(0,_vue.h)(z,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!r,onClick:te}):renderEmptyElement($),d?z?(0,_vue.h)(z,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:Q}):renderEmptyElement($):z?(0,_vue.h)(z,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ee}):renderEmptyElement($),!d&&z?(0,_vue.h)(z,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:J}):renderEmptyElement($)])]):null]),ve()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{f=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
@@ -436,10 +436,8 @@ hooks.add('tableKeyboardModule', {
|
|
|
436
436
|
treeConfig
|
|
437
437
|
} = props;
|
|
438
438
|
const {
|
|
439
|
+
afterFullData,
|
|
439
440
|
currentRow
|
|
440
|
-
} = reactData;
|
|
441
|
-
const {
|
|
442
|
-
afterFullData
|
|
443
441
|
} = internalData;
|
|
444
442
|
const treeOpts = computeTreeOpts.value;
|
|
445
443
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;hooks.add("tableKeyboardModule",{setupTable(k){let{props:y,reactData:_,internalData:D}=k,{refElem:O,refTableBody:h}=k.getRefMaps(),{computeEditOpts:C,computeCheckboxOpts:a,computeMouseOpts:c,computeTreeOpts:s,computeRowOpts:F,computeColumnOpts:w,computeCellOpts:H,computeDefaultRowHeight:V,computeCurrentRowOpts:f,computeCurrentColumnOpts:p}=k.getComputeMaps();let g=(e,S)=>{var t=D.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=S;if("checkbox"===r.type){let M=l;if(o&&"left"===r.fixed?M=o:t&&"right"===r.fixed&&(M=t),M){l=M.getBoundingClientRect();let t=O.value,i=e.clientX,a=e.clientY,c=M.querySelector(".vxe-table--checkbox-range"),s=n.parentElement,g=k.getCheckboxRecords(),d=[],h=1,m=e.clientY-l.y+M.scrollTop,v=e.clientX-l.x+M.scrollLeft,C=M.scrollTop,u=s.offsetHeight,w=s.getBoundingClientRect(),f=a-w.y,p=null,x=!1,R=1,b=(e,t)=>{k.dispatchEvent("checkbox-range-"+e,{records:()=>k.getCheckboxRecords(),reserves:()=>k.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-a+(M.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,u=v;l<h?(n+=l)<h&&(n=h,o=m):o=Math.min(o,M.scrollHeight-m-h),t<h?(u+=t,r>v&&(u=h,r=v)):r=Math.min(r,M.clientWidth-v-h),c.style.height=o+"px",c.style.width=r+"px",c.style.left=u+"px",c.style.top=n+"px",c.style.display="block";t=((e,t,l,o,r)=>{var n=y.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=D,a=F.value,c=H.value,s=V.value,e=e.row;let g=0,d=[],h=0;var m=0<r,v=_.scrollYLoad,C=D.afterFullData;if(h=m?o+r:l.height-o+Math.abs(r),v){l=k.getVTRowIndex(e);if(!(i||c.height||a.height)&&n)d=m?C.slice(l,l+Math.ceil(h/s)):C.slice(l-Math.floor(h/s),l+1);else if(m)for(let e=l;e<C.length;e++){var w=C[e],f=u[k.getRowid(w)]||{};if(g+=f.resizeHeight||c.height||a.height||f.height||s,d.push(w),g>h)return d}else for(let e=l;0<=e;e--){var p=C[e],x=u[k.getRowid(p)]||{};if(g+=x.resizeHeight||c.height||a.height||x.height||s,d.push(p),g>h)return d}}else for(var R=m?"next":"previous";t&&g<h;){var b=k.getRowNode(t);b&&(d.push(b.item),g+=t.offsetHeight,t=t[R+"ElementSibling"])}return d})(S,s,w,f,l<h?-o:o);10<o&&t.length!==d.length&&(l=(0,_dom.hasControlKey)(e),d=t,l?t.forEach(e=>{k.handleBatchSelectRows([e],-1===g.indexOf(e))}):(k.setAllCheckboxRow(!1),k.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},T=()=>{clearTimeout(p),p=null},E=n=>{T(),p=setTimeout(()=>{var e,t,l,o,r;p&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=M,r=Math.ceil(50*R/u),x?t+l<o?(k.scrollTo(e,t+r),E(n),I(n)):T():t?(k.scrollTo(e,t-r),E(n),I(n)):T())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(M).boundingTop;t<l?(x=!1,R=l-t,p||E(e)):t>l+M.clientHeight?(x=!0,R=t-l-M.clientHeight,p||E(e)):p&&T(),I(e)},document.onmouseup=e=>{T(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}};let d=(e,t,l,o,r,n)=>{var{afterFullData:u,visibleColumn:i}=D;let a=Object.assign({},t);var{row:t,column:c}=a,t=k.getVTRowIndex(t),s=k.getVTColumnIndex(c),g=h.value,g=g?g.$el:null,g=g?g.clientWidth:0;let d=l||r||c.renderWidth<g;return l&&0<=s||r&&s<=i.length-1?d=!1:e.preventDefault(),o&&0<t?(a.rowIndex=t-1,a.row=u[a.rowIndex]):n&&t<u.length-1?(a.rowIndex=t+1,a.row=u[a.rowIndex]):l&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):r&&s<i.length-1&&(a.columnIndex=s+1,a.column=i[a.columnIndex]),k.scrollToRow(a.row,a.column,{colAlign:d}).then(()=>{a.cell=k.getCellElement(a.row,a.column),k.handleSelected(a,e)}),a};return{moveTabSelected(e,t,l){var o=y.editConfig,{afterFullData:r,visibleColumn:n}=D,u=C.value,i=F.value,a=f.value,c=w.value,s=p.value;let g,d,h,m=Object.assign({},e);var e=k.getVTRowIndex(m.row),v=k.getVTColumnIndex(m.column),t=(l.preventDefault(),t?v<=0?0<e&&(d=e-1,g=r[d],h=n.length-1):h=v-1:v>=n.length-1?e<r.length-1&&(d=e+1,g=r[d],h=0):h=v+1,n[h]);t&&(g?(m.rowIndex=d,m.row=g):m.rowIndex=e,m.columnIndex=h,m.column=t,m.cell=k.getCellElement(m.row,m.column),i.isCurrent&&a.isFollowSelected&&k.triggerCurrentRowEvent(l,m),c.isCurrent&&s.isFollowSelected&&k.triggerCurrentColumnEvent(l,m),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?k.handleEdit(m,l):k.scrollToRow(m.row,m.column).then(()=>{k.handleSelected(m,l)})):k.scrollToRow(m.row,m.column).then(()=>{k.handleSelected(m,l)}))},moveCurrentRow(e,t,l){var o=y.treeConfig;let
|
|
1
|
+
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;hooks.add("tableKeyboardModule",{setupTable(k){let{props:y,reactData:_,internalData:D}=k,{refElem:O,refTableBody:h}=k.getRefMaps(),{computeEditOpts:C,computeCheckboxOpts:a,computeMouseOpts:c,computeTreeOpts:s,computeRowOpts:F,computeColumnOpts:w,computeCellOpts:H,computeDefaultRowHeight:V,computeCurrentRowOpts:f,computeCurrentColumnOpts:p}=k.getComputeMaps();let g=(e,S)=>{var t=D.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=S;if("checkbox"===r.type){let M=l;if(o&&"left"===r.fixed?M=o:t&&"right"===r.fixed&&(M=t),M){l=M.getBoundingClientRect();let t=O.value,i=e.clientX,a=e.clientY,c=M.querySelector(".vxe-table--checkbox-range"),s=n.parentElement,g=k.getCheckboxRecords(),d=[],h=1,m=e.clientY-l.y+M.scrollTop,v=e.clientX-l.x+M.scrollLeft,C=M.scrollTop,u=s.offsetHeight,w=s.getBoundingClientRect(),f=a-w.y,p=null,x=!1,R=1,b=(e,t)=>{k.dispatchEvent("checkbox-range-"+e,{records:()=>k.getCheckboxRecords(),reserves:()=>k.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-a+(M.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,u=v;l<h?(n+=l)<h&&(n=h,o=m):o=Math.min(o,M.scrollHeight-m-h),t<h?(u+=t,r>v&&(u=h,r=v)):r=Math.min(r,M.clientWidth-v-h),c.style.height=o+"px",c.style.width=r+"px",c.style.left=u+"px",c.style.top=n+"px",c.style.display="block";t=((e,t,l,o,r)=>{var n=y.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=D,a=F.value,c=H.value,s=V.value,e=e.row;let g=0,d=[],h=0;var m=0<r,v=_.scrollYLoad,C=D.afterFullData;if(h=m?o+r:l.height-o+Math.abs(r),v){l=k.getVTRowIndex(e);if(!(i||c.height||a.height)&&n)d=m?C.slice(l,l+Math.ceil(h/s)):C.slice(l-Math.floor(h/s),l+1);else if(m)for(let e=l;e<C.length;e++){var w=C[e],f=u[k.getRowid(w)]||{};if(g+=f.resizeHeight||c.height||a.height||f.height||s,d.push(w),g>h)return d}else for(let e=l;0<=e;e--){var p=C[e],x=u[k.getRowid(p)]||{};if(g+=x.resizeHeight||c.height||a.height||x.height||s,d.push(p),g>h)return d}}else for(var R=m?"next":"previous";t&&g<h;){var b=k.getRowNode(t);b&&(d.push(b.item),g+=t.offsetHeight,t=t[R+"ElementSibling"])}return d})(S,s,w,f,l<h?-o:o);10<o&&t.length!==d.length&&(l=(0,_dom.hasControlKey)(e),d=t,l?t.forEach(e=>{k.handleBatchSelectRows([e],-1===g.indexOf(e))}):(k.setAllCheckboxRow(!1),k.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},T=()=>{clearTimeout(p),p=null},E=n=>{T(),p=setTimeout(()=>{var e,t,l,o,r;p&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=M,r=Math.ceil(50*R/u),x?t+l<o?(k.scrollTo(e,t+r),E(n),I(n)):T():t?(k.scrollTo(e,t-r),E(n),I(n)):T())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(M).boundingTop;t<l?(x=!1,R=l-t,p||E(e)):t>l+M.clientHeight?(x=!0,R=t-l-M.clientHeight,p||E(e)):p&&T(),I(e)},document.onmouseup=e=>{T(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}};let d=(e,t,l,o,r,n)=>{var{afterFullData:u,visibleColumn:i}=D;let a=Object.assign({},t);var{row:t,column:c}=a,t=k.getVTRowIndex(t),s=k.getVTColumnIndex(c),g=h.value,g=g?g.$el:null,g=g?g.clientWidth:0;let d=l||r||c.renderWidth<g;return l&&0<=s||r&&s<=i.length-1?d=!1:e.preventDefault(),o&&0<t?(a.rowIndex=t-1,a.row=u[a.rowIndex]):n&&t<u.length-1?(a.rowIndex=t+1,a.row=u[a.rowIndex]):l&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):r&&s<i.length-1&&(a.columnIndex=s+1,a.column=i[a.columnIndex]),k.scrollToRow(a.row,a.column,{colAlign:d}).then(()=>{a.cell=k.getCellElement(a.row,a.column),k.handleSelected(a,e)}),a};return{moveTabSelected(e,t,l){var o=y.editConfig,{afterFullData:r,visibleColumn:n}=D,u=C.value,i=F.value,a=f.value,c=w.value,s=p.value;let g,d,h,m=Object.assign({},e);var e=k.getVTRowIndex(m.row),v=k.getVTColumnIndex(m.column),t=(l.preventDefault(),t?v<=0?0<e&&(d=e-1,g=r[d],h=n.length-1):h=v-1:v>=n.length-1?e<r.length-1&&(d=e+1,g=r[d],h=0):h=v+1,n[h]);t&&(g?(m.rowIndex=d,m.row=g):m.rowIndex=e,m.columnIndex=h,m.column=t,m.cell=k.getCellElement(m.row,m.column),i.isCurrent&&a.isFollowSelected&&k.triggerCurrentRowEvent(l,m),c.isCurrent&&s.isFollowSelected&&k.triggerCurrentColumnEvent(l,m),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?k.handleEdit(m,l):k.scrollToRow(m.row,m.column).then(()=>{k.handleSelected(m,l)})):k.scrollToRow(m.row,m.column).then(()=>{k.handleSelected(m,l)}))},moveCurrentRow(e,t,l){var o=y.treeConfig;let{afterFullData:r,currentRow:n}=D;var u=s.value,u=u.children||u.childrenField;let i;if(n?o?({index:o,items:u}=_xeUtils.default.findTree(r,e=>e===n,{children:u}),e&&0<o?i=u[o-1]:t&&o<u.length-1&&(i=u[o+1])):(u=k.getVTRowIndex(n),e&&0<u?i=r[u-1]:t&&u<r.length-1&&(i=r[u+1])):i=r[0],i){l.preventDefault();let e={$table:k,row:i,rowIndex:k.getRowIndex(i),$rowIndex:k.getVMRowIndex(i)};k.scrollToRow(i).then(()=>k.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=_.currentColumn,r=D.visibleColumn;let n=null;if(o?(o=k.getVTColumnIndex(o),e&&0<o?n=r[o-1]:t&&o<r.length-1&&(n=r[o+1])):n=r[0],n){l.preventDefault();let e={$table:k,column:n,columnIndex:k.getColumnIndex(n),$columnIndex:k.getVMColumnIndex(n)};k.scrollToColumn(n).then(()=>k.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var{highlightCurrentRow:u,highlightCurrentColumn:i}=y,a=F.value,c=f.value,s=w.value,g=p.value,e=d(n,e,t,l,o,r);(a.isCurrent||u)&&(c.isFollowSelected?k.triggerCurrentRowEvent(n,e):(l||r)&&(a.isCurrent||u)&&k.moveCurrentRow(l,r,n)),(s.isCurrent||i)&&(g.isFollowSelected?k.triggerCurrentColumnEvent(n,e):(t||o)&&(s.isCurrent||i)&&k.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var{highlightCurrentRow:u,highlightCurrentColumn:i}=y,a=F.value,c=f.value,s=w.value,g=p.value,e=d(n,e,t,l,o,r);(a.isCurrent||u)&&c.isFollowSelected&&k.triggerCurrentRowEvent(n,e),(s.isCurrent||i)&&g.isFollowSelected&&k.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){d(n,e,t,l,o,r)},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=y,n=a.value,u=c.value,i=C.value;if(r&&u.area&&k.triggerClAreaModnEvent)return k.triggerClAreaModnEvent(e,t);o&&n.range&&g(e,t),r&&u.selected&&(l&&"cell"!==i.mode||k.handleSelected(t,e))}}}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -460,6 +460,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
460
460
|
if (treeConfig) {
|
|
461
461
|
tdVNs.push(...renderLine(rowid, cellParams, cellHeight));
|
|
462
462
|
}
|
|
463
|
+
const clVNs = [];
|
|
464
|
+
if (!isVNPreEmptyStatus) {
|
|
465
|
+
clVNs.push((0, _vue.h)('div', {
|
|
466
|
+
colid,
|
|
467
|
+
rowid,
|
|
468
|
+
class: 'vxe-cell--wrapper vxe-body-cell--wrapper'
|
|
469
|
+
}, column.renderCell(cellParams)));
|
|
470
|
+
}
|
|
463
471
|
tdVNs.push((0, _vue.h)('div', {
|
|
464
472
|
key: 'tc',
|
|
465
473
|
class: ['vxe-cell', {
|
|
@@ -469,11 +477,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
469
477
|
}],
|
|
470
478
|
style: tcStyle,
|
|
471
479
|
title: showTitle ? $xeTable.getCellLabel(row, column) : null
|
|
472
|
-
},
|
|
473
|
-
colid,
|
|
474
|
-
rowid,
|
|
475
|
-
class: 'vxe-cell--wrapper vxe-body-cell--wrapper'
|
|
476
|
-
}, column.renderCell(cellParams))]));
|
|
480
|
+
}, clVNs));
|
|
477
481
|
if (showValidTip && errorValidItem) {
|
|
478
482
|
const errRule = errorValidItem.rule;
|
|
479
483
|
const validSlot = slots ? slots.valid : null;
|
|
@@ -557,7 +561,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
557
561
|
const {
|
|
558
562
|
hasFixedColumn,
|
|
559
563
|
treeExpandedFlag,
|
|
560
|
-
scrollXLoad,
|
|
561
564
|
scrollYLoad,
|
|
562
565
|
isAllOverflow,
|
|
563
566
|
rowExpandedFlag,
|
|
@@ -572,7 +575,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
572
575
|
fullColumnIdData,
|
|
573
576
|
treeExpandedMaps,
|
|
574
577
|
pendingRowMaps,
|
|
575
|
-
rowExpandedMaps
|
|
578
|
+
rowExpandedMaps,
|
|
579
|
+
currentRow
|
|
576
580
|
} = tableInternalData;
|
|
577
581
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
578
582
|
const radioOpts = computeRadioOpts.value;
|
|
@@ -668,7 +672,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
668
672
|
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
669
673
|
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
670
674
|
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid],
|
|
671
|
-
'row--group': hasRowGroupAggregate
|
|
675
|
+
'row--group': hasRowGroupAggregate,
|
|
676
|
+
'row--current': currentRow && rowid === (0, _util.getRowid)($xeTable, currentRow)
|
|
672
677
|
}, (0, _dom.getPropClass)(rowClassName, params)];
|
|
673
678
|
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
674
679
|
return renderTdColumn(seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
@@ -677,7 +682,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
677
682
|
class: trClass,
|
|
678
683
|
rowid: rowid,
|
|
679
684
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
|
|
680
|
-
key: rowKey ||
|
|
685
|
+
key: rowKey || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex
|
|
681
686
|
}, trOn), tdVNs));
|
|
682
687
|
// 如果行被展开了
|
|
683
688
|
if (isExpandRow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(C){let Qe=(0,_vue.inject)("$xeTable",{}),{xID:R,props:Ze,context:E,reactData:el,internalData:ll}=Qe,{computeEditOpts:tl,computeMouseOpts:al,computeCellOffsetWidth:rl,computeAreaOpts:ol,computeDefaultRowHeight:il,computeEmptyOpts:D,computeTooltipOpts:sl,computeRadioOpts:e,computeExpandOpts:ae,computeTreeOpts:l,computeCheckboxOpts:nl,computeCellOpts:dl,computeValidOpts:ul,computeRowOpts:cl,computeColumnOpts:pl,computeRowDragOpts:vl,computeResizableOpts:gl,computeVirtualXOpts:xl,computeVirtualYOpts:hl,computeIsBodyRenderOptimize:q}=Qe.getComputeMaps(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),T=(0,_vue.ref)(),k=(0,_vue.ref)(),$=(0,_vue.ref)(),z=(0,_vue.ref)(),ml=()=>{var e=Ze.delayHover,l=el.isDragResize,t=ll.lastSTime;return!!(l||t&&Date.now()<t+e)},wl=(r,o,i)=>{var s=o.column,n=Ze.treeConfig,d=dl.value,u=cl.value,c=il.value,p=l.value,{slots:s,treeNode:v}=s,g=ll.fullAllDataRowIdData;if(n&&v&&(p.showLine||p.line)){if(s&&s.line)return Qe.callSlot(s.line,o);n=g[r];let e=0,l=null,t=null,a="";return(n&&(e=n.level,l=n.items[n.treeIndex-1],t=n.parent),e||p.showRootLine)?(l?(v=g[(0,_util.getRowid)(Qe,l)]||{},a=`${v.lineHeight||0}px`):e&&t&&(s=g[(0,_util.getRowid)(Qe,t)]||{},a=`calc(-1em + ${Math.floor(i/2+(0,_util.getCellRestHeight)(s,d,u,c)/2)}px)`),[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:a,bottom:`-${Math.floor(i/2)}px`,left:`calc(${e*p.indent}px + 1em)`}})])]):[]}return[]},oe=(H,e,l,A,F,t,B,U,a,r,L,N,o)=>{var i=Qe.xeGrid,j=Qe.xeGantt,{columnKey:G,resizable:s,showOverflow:n,border:W,height:d,treeConfig:V,cellClassName:P,cellStyle:X,align:Y,spanMethod:K,mouseConfig:J,editConfig:Q,editRules:u,tooltipConfig:c,padding:p}=Ze,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:ae,currentColumn:re,scrollXLoad:v,scrollYLoad:g,mergeBodyFlag:oe,calcCellHeightFlag:x,resizeHeightFlag:ie,resizeWidthFlag:se,editStore:ne,isAllOverflow:de,validErrorMaps:h}=el,{fullAllDataRowIdData:ue,fullColumnIdData:m,mergeBodyCellMaps:ce,visibleColumn:pe,afterFullData:ve,mergeBodyList:ge,scrollXStore:xe,scrollYStore:he,keepUpdateFieldMaps:me}=ll,w=dl.value,_=ul.value,we=nl.value,_e=tl.value,b=sl.value,be=gl.value,fe=xl.value,ye=hl.value,{isAllColumnDrag:be,isAllRowDrag:Ce}=be,f=cl.value,y=vl.value,Re=il.value,x=x?w.height||f.height:0,{disabledMethod:C,isCrossDrag:Ee,isPeerDrag:De}=y,Ie=pl.value,Oe=al.value,Se=ol.value,Me=rl.value,Se=Se.selectCellToRow,{field:Te,type:ke,cellRender:R,editRender:E,align:$e,showOverflow:ze,className:qe,treeNode:He,rowResize:Ae,padding:D,verticalAlign:I,slots:Fe}=r,O=w.verticalAlign,ne=ne.actived,Be=ue[e]||{},S=r.id,m=m[S]||{},R=E||R,R=R?renderer.get(R.name):null,Ue=R?R.tableCellClassName||R.cellClassName:null,Le=R?R.tableCellStyle||R.cellStyle:"";let Ne=b.showAll;var je=m.index,b=m._index,m=(0,_utils.isEnableConf)(E),E=ie?Be.resizeHeight:0;let M=te&&(l?r.fixed!==l:!!r.fixed);ie=_xeUtils.default.eqNull(D)?null===p?w.padding:p:D,p=_xeUtils.default.eqNull(ze)?n:ze,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;n=de||T||k||D,ze=_xeUtils.default.isBoolean(r.resizable)?r.resizable:Ie.resizable||s,p=!!x,s=0<E;let Ge;x={},E=$e||(R?R.tableCellAlign:"")||Y,$e=_xeUtils.default.eqNull(I)?O:I,R=h[e+":"+S],Y=u&&_.showErrorMessage&&("default"===_.message?d||1<Z.length:"inline"===_.message),O={colid:S};let $={$table:Qe,$grid:i,$gantt:j,isEdit:!1,seq:H,rowid:e,row:t,rowIndex:B,$rowIndex:U,_rowIndex:a,column:r,columnIndex:je,$columnIndex:L,_columnIndex:b,fixed:l,source:sourceType,type:renderType,isHidden:!!M,level:F,visibleData:ve,data:Z,items:o},z=!1,We=!1,q=((z=f.drag?"row"===y.trigger||r.dragSort&&"cell"===y.trigger:z)&&(We=!(!C||!C($))),(T||k||Ne||c)&&(x.onMouseover=e=>{ml()||(T?(0,_dom.updateCellTitle)(e.currentTarget,r):(k||Ne)&&Qe.triggerBodyTooltipEvent(e,$)),Qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e)}),(k||Ne||c)&&(x.onMouseleave=e=>{ml()||(k||Ne)&&Qe.handleTargetLeaveEvent(e),Qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e)}),(z||we.range||J)&&(x.onMousedown=e=>{Qe.triggerCellMousedownEvent(e,$)}),z&&(x.onMouseup=Qe.triggerCellMouseupEvent),x.onClick=e=>{Qe.triggerCellClickEvent(e,$)},!(x.onDblclick=e=>{Qe.triggerCellDblclickEvent(e,$)})),Ve=1,Pe=1;if(oe&&ge.length){I=ce[a+":"+b];if(I){var{rowspan:h,colspan:u}=I;if(!h||!u)return renderEmptyElement(Qe);1<h&&(q=!0,Pe=h,O.rowspan=h),1<u&&(q=!0,Ve=u,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K($)||{};if(!d||!i)return renderEmptyElement(Qe);1<d&&(q=!0,Pe=d,O.rowspan=d),1<i&&(q=!0,Ve=i,O.colspan=i)}!(M=M&&q&&(1<O.colspan||1<O.rowspan)?!1:M)&&Q&&(_e.showStatus||_e.showUpdateStatus)&&me[Te]&&(Ge=Qe.isUpdateByRow(t,Te));j=!n&&(g||v);let Xe=(0,_util.getCellRestHeight)(Be,w,f,Re);H=L===N.length-1,B=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let Ye=!1;q||le&&(0,_util.getRowid)(Qe,le)===e||(ae&&g&&16<Z.length&&!V&&!ye.immediate&&(a<he.visibleStartIndex-he.preloadSize||a>he.visibleEndIndex+he.preloadSize)||te&&v&&10<ee.length&&!fe.immediate&&!r.fixed&&(b<xe.visibleStartIndex-xe.preloadSize||b>xe.visibleEndIndex+xe.preloadSize))&&(Ye=!0),1<Pe&&(U=ve[a+Pe-1])&&(o=ue[(0,_util.getRowid)(Qe,U)])&&(Xe+=o.oTop+(0,_util.getCellRestHeight)(o,w,f,Re)-Be.oTop-(0,_util.getCellRestHeight)(Be,w,f,Re));y={};if(n&&se){let l=0;if(1<Ve)for(let e=1;e<Ve;e++){var Ke=pe[je+e];Ke&&(l+=Ke.renderWidth)}y.width=r.renderWidth+l-Me+"px"}g||v||n||p||s?y.height=Xe+"px":y.minHeight=Xe+"px";C=[];M&&de?C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:y})):(V&&C.push(...wl(e,$,Xe)),C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:y,title:T?Qe.getCellLabel(t,r):null},Ye?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},r.renderCell($))])),Y&&R&&(c=R.rule,we=Fe?Fe.valid:null,oe=Object.assign(Object.assign(Object.assign({},$),R),{rule:R}),C.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,oe)],style:c&&c.maxWidth?{width:c.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[we?Qe.callSlot(we,oe):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let Je=!1;return J&&Oe.area&&!b&&Se&&(Je=!0),!M&&ze&&be&&C.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Qe.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Qe.handleColResizeDblclickEvent(e,$)})),(Ae||Ce)&&f.resizable&&C.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Qe.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Qe.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",S,$e?"col--vertical-"+$e:"",E?"col--"+E:"",ke?"col--"+ke:"",{"col--last":H,"col--tree-node":He,"col--edit":m,"col--ellipsis":n,"col--cs-height":p,"col--rs-height":s,"col--to-row":Je,"col--auto-height":j,"fixed--width":!B,"fixed--hidden":M,"is--padding":ie,"is--progress":M&&de||Ye,"is--drag-cell":z&&(Ee||De||!F),"is--drag-disabled":We,"col--dirty":Ge,"col--active":Q&&m&&ne.row===t&&(ne.column===r||"row"===_e.mode),"col--valid-error":!!R,"show--valid-bg":R&&_.showErrorBackground,"col--current":re===r},(0,_dom.getPropClass)(Ue,$),(0,_dom.getPropClass)(qe,$),(0,_dom.getPropClass)(P,$)],key:G||v||g||Ie.useKey||f.useKey||Ie.drag?S:L},O),{style:Object.assign({},_xeUtils.default.isFunction(Le)?Le($):Le,_xeUtils.default.isFunction(X)?X($):X)}),x),A&&M?[]:C)},re=(h,m,w,_)=>{let b=Qe.xeGrid,f=Qe.xeGantt,{stripe:y,rowKey:C,highlightHoverRow:R,rowClassName:E,rowStyle:D,editConfig:I,treeConfig:O}=Ze,{hasFixedColumn:S,treeExpandedFlag:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:$,rowExpandedFlag:z,expandColumn:q,selectRadioRow:H,pendingRowFlag:A,rowExpandHeightFlag:F,isRowGroupStatus:B}=el,{fullAllDataRowIdData:U,fullColumnIdData:L,treeExpandedMaps:N,pendingRowMaps:j,rowExpandedMaps:G}=ll,W=nl.value,Q=e.value,V=l.value,P=tl.value,X=cl.value,Z=pl.value,{transform:Y,seqMode:K}=V,ee=V.children||V.childrenField,J=[],le=(0,_util.createHandleGetRowId)(Qe).handleGetRowId,te=O||B;return w.forEach((a,r)=>{let o=le(a);var i=U[o]||{};let s=r,n=0,d=-1,u=-1;var c=B&&a.isAggregate,p={},v=((X.isHover||R)&&(p.onMouseover=e=>{ml()||Qe.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{ml()||Qe.clearHoverRow()}),i&&(s=i.index,u=i._index,n=i.level,d=i.seq,c||O&&Y&&"increasing"===K?d=i._index+1:O&&"fixed"===K&&(d=i._tIndex+1)),{$table:Qe,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=q&&!!z&&!!G[o];let e=!1,l=[],t=!1;I&&(t=Qe.isInsertByRow(a)),!O||k||Y||(l=a[ee],e=!!M&&l&&0<l.length&&!!N[o]),!X.drag||B||O&&!Y||(p.onDragstart=Qe.handleRowDragDragstartEvent,p.onDragend=Qe.handleRowDragDragendEvent,p.onDragover=Qe.handleRowDragDragoverEvent);var c=["vxe-body--row",te?"row--level-"+n:"",{"row--stripe":y&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":Q.highlight&&Qe.eqRow(H,a),"row--checked":W.highlight&&Qe.isCheckedByCheckboxRow(a),"row--pending":!!A&&!!j[o],"row--group":c},(0,_dom.getPropClass)(E,v)],x=_.map((e,l)=>oe(d,o,h,m,n,a,s,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:C||T||k||X.useKey||X.drag||Z.drag||B||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=ae.value;if("fixed"===p){x=i.expandHeight;let e=0;F&&(x||c)&&(e=(x||c||0)+1),J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:e+"px"}})]))}else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*V.indent+30+"px"),q||{}).showOverflow,i=q.id,x=L[i]||{},i=_xeUtils.default.eqNull(p)?$:p;let e=-1,l=-1,t=-1;x&&(e=x.index,l=x.$index,t=x._index);p={$table:Qe,$grid:b,$gantt:f,seq:d,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,source:sourceType,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!S,"col--ellipsis":i}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[q.renderData(p)])])]))}}e&&J.push(...re(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=C.fixedType,l=ll.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=I,l[e+"scroll"]=O,l[e+"table"]=S,l[e+"colgroup"]=M,l[e+"list"]=T,l[e+"xSpace"]=k,l[e+"ySpace"]=$,l[e+"emptyBlock"]=z})}),(0,_vue.onUnmounted)(()=>{var e=C.fixedType,l=ll.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=E.slots,l=Qe.xeGrid,t=Qe.xeGantt;let{fixedColumn:a,fixedType:r,tableColumn:o}=C;var i=Ze.mouseConfig,{isGroup:s,tableData:n,isColLoading:d,overflowX:u,scrollXLoad:c,scrollYLoad:p,dragRow:v,dragCol:g}=el,{visibleColumn:x,fullAllDataRowIdData:h,fullColumnIdData:m}=ll,w=D.value,_=al.value;let b=n,f=o;n=q.value;d||!r&&u||(f=x),r&&n&&(f=a||[]),p&&v&&2<b.length&&(d=h[(0,_util.getRowid)(Qe,v)])&&(u=d._index,x=b[0],p=b[b.length-1],d=h[(0,_util.getRowid)(Qe,x)],x=h[(0,_util.getRowid)(Qe,p)],d)&&x&&(h=d._index,p=x._index,u<h?b=[v].concat(b):p<u&&(b=b.concat([v]))),r||s||c&&g&&2<f.length&&(d=m[g.id])&&(x=d._index,h=f[0],p=f[f.length-1],u=m[h.id],v=m[p.id],u)&&v&&(s=u._index,c=v._index,x<s?f=[g].concat(f):c<x&&(f=f.concat([g])));let y;d=e?e.empty:null,h={$table:Qe,$grid:l,$gantt:t};return y=d?Qe.callSlot(d,h):(p=(m=w.name?renderer.get(w.name):null)?m.renderTableEmpty||m.renderTableEmptyView||m.renderEmpty:null)?(0,_vn.getSlotVNs)(p(w,h)):Ze.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",{ref:I,class:["vxe-table--body-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],xid:R},[(0,_vue.h)("div",{ref:O,class:"vxe-table--body-inner-wrapper",onScroll(e){Qe.triggerBodyScrollEvent(e,r)}},[r?renderEmptyElement(Qe):(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:S,class:"vxe-table--body",xid:R,cellspacing:0,cellpadding:0,border:0,xvm:n?"1":null},[(0,_vue.h)("colgroup",{ref:M},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:T},re(r,n,b,f))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&_.area?(0,_vue.h)("div",{class:"vxe-table--cell-area",xid:R},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},_.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Qe.triggerCellAreaExtendMousedownEvent&&Qe.triggerCellAreaExtendMousedownEvent(e,{$table:Qe,fixed:r,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Qe),r?renderEmptyElement(Qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:z},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},y)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(C){let Qe=(0,_vue.inject)("$xeTable",{}),{xID:R,props:Ze,context:E,reactData:el,internalData:ll}=Qe,{computeEditOpts:tl,computeMouseOpts:al,computeCellOffsetWidth:rl,computeAreaOpts:ol,computeDefaultRowHeight:il,computeEmptyOpts:D,computeTooltipOpts:nl,computeRadioOpts:e,computeExpandOpts:ae,computeTreeOpts:l,computeCheckboxOpts:sl,computeCellOpts:dl,computeValidOpts:ul,computeRowOpts:cl,computeColumnOpts:pl,computeRowDragOpts:vl,computeResizableOpts:gl,computeVirtualXOpts:xl,computeVirtualYOpts:hl,computeIsBodyRenderOptimize:q}=Qe.getComputeMaps(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),T=(0,_vue.ref)(),k=(0,_vue.ref)(),$=(0,_vue.ref)(),z=(0,_vue.ref)(),ml=()=>{var e=Ze.delayHover,l=el.isDragResize,t=ll.lastSTime;return!!(l||t&&Date.now()<t+e)},wl=(r,o,i)=>{var n=o.column,s=Ze.treeConfig,d=dl.value,u=cl.value,c=il.value,p=l.value,{slots:n,treeNode:v}=n,g=ll.fullAllDataRowIdData;if(s&&v&&(p.showLine||p.line)){if(n&&n.line)return Qe.callSlot(n.line,o);s=g[r];let e=0,l=null,t=null,a="";return(s&&(e=s.level,l=s.items[s.treeIndex-1],t=s.parent),e||p.showRootLine)?(l?(v=g[(0,_util.getRowid)(Qe,l)]||{},a=`${v.lineHeight||0}px`):e&&t&&(n=g[(0,_util.getRowid)(Qe,t)]||{},a=`calc(-1em + ${Math.floor(i/2+(0,_util.getCellRestHeight)(n,d,u,c)/2)}px)`),[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:a,bottom:`-${Math.floor(i/2)}px`,left:`calc(${e*p.indent}px + 1em)`}})])]):[]}return[]},oe=(H,e,l,A,F,t,B,U,a,r,N,j,o)=>{var i=Qe.xeGrid,L=Qe.xeGantt,{columnKey:G,resizable:n,showOverflow:s,border:W,height:d,treeConfig:V,cellClassName:P,cellStyle:X,align:Y,spanMethod:K,mouseConfig:J,editConfig:Q,editRules:u,tooltipConfig:c,padding:p}=Ze,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:ae,currentColumn:re,scrollXLoad:v,scrollYLoad:oe,mergeBodyFlag:ie,calcCellHeightFlag:g,resizeHeightFlag:ne,resizeWidthFlag:se,editStore:de,isAllOverflow:ue,validErrorMaps:x}=el,{fullAllDataRowIdData:ce,fullColumnIdData:h,mergeBodyCellMaps:pe,visibleColumn:ve,afterFullData:ge,mergeBodyList:xe,scrollXStore:he,scrollYStore:me,keepUpdateFieldMaps:we}=ll,m=dl.value,w=ul.value,_=sl.value,_e=tl.value,b=nl.value,be=gl.value,fe=xl.value,ye=hl.value,{isAllColumnDrag:be,isAllRowDrag:Ce}=be,f=cl.value,y=vl.value,Re=il.value,g=g?m.height||f.height:0,{disabledMethod:C,isCrossDrag:Ee,isPeerDrag:De}=y,Ie=pl.value,Oe=al.value,Se=ol.value,Me=rl.value,Se=Se.selectCellToRow,{field:Te,type:ke,cellRender:R,editRender:E,align:$e,showOverflow:ze,className:qe,treeNode:He,rowResize:Ae,padding:D,verticalAlign:I,slots:Fe}=r,O=m.verticalAlign,de=de.actived,Be=ce[e]||{},S=r.id,h=h[S]||{},R=E||R,R=R?renderer.get(R.name):null,Ue=R?R.tableCellClassName||R.cellClassName:null,Ne=R?R.tableCellStyle||R.cellStyle:"";let je=b.showAll;var Le=h.index,b=h._index,h=(0,_utils.isEnableConf)(E),E=ne?Be.resizeHeight:0;let M=te&&(l?r.fixed!==l:!!r.fixed);ne=_xeUtils.default.eqNull(D)?null===p?m.padding:p:D,p=_xeUtils.default.eqNull(ze)?s:ze,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;s=ue||T||k||D,ze=_xeUtils.default.isBoolean(r.resizable)?r.resizable:Ie.resizable||n,p=!!g,n=0<E;let Ge;g={},E=$e||(R?R.tableCellAlign:"")||Y,$e=_xeUtils.default.eqNull(I)?O:I,R=x[e+":"+S],Y=u&&w.showErrorMessage&&("default"===w.message?d||1<Z.length:"inline"===w.message),O={colid:S};let $={$table:Qe,$grid:i,$gantt:L,isEdit:!1,seq:H,rowid:e,row:t,rowIndex:B,$rowIndex:U,_rowIndex:a,column:r,columnIndex:Le,$columnIndex:N,_columnIndex:b,fixed:l,source:sourceType,type:renderType,isHidden:!!M,level:F,visibleData:ge,data:Z,items:o},z=!1,We=!1,q=((z=f.drag?"row"===y.trigger||r.dragSort&&"cell"===y.trigger:z)&&(We=!(!C||!C($))),(T||k||je||c)&&(g.onMouseover=e=>{ml()||(T?(0,_dom.updateCellTitle)(e.currentTarget,r):(k||je)&&Qe.triggerBodyTooltipEvent(e,$)),Qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e)}),(k||je||c)&&(g.onMouseleave=e=>{ml()||(k||je)&&Qe.handleTargetLeaveEvent(e),Qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e)}),(z||_.range||J)&&(g.onMousedown=e=>{Qe.triggerCellMousedownEvent(e,$)}),z&&(g.onMouseup=Qe.triggerCellMouseupEvent),g.onClick=e=>{Qe.triggerCellClickEvent(e,$)},!(g.onDblclick=e=>{Qe.triggerCellDblclickEvent(e,$)})),Ve=1,Pe=1;if(ie&&xe.length){I=pe[a+":"+b];if(I){var{rowspan:x,colspan:u}=I;if(!x||!u)return renderEmptyElement(Qe);1<x&&(q=!0,Pe=x,O.rowspan=x),1<u&&(q=!0,Ve=u,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K($)||{};if(!d||!i)return renderEmptyElement(Qe);1<d&&(q=!0,Pe=d,O.rowspan=d),1<i&&(q=!0,Ve=i,O.colspan=i)}!(M=M&&q&&(1<O.colspan||1<O.rowspan)?!1:M)&&Q&&(_e.showStatus||_e.showUpdateStatus)&&we[Te]&&(Ge=Qe.isUpdateByRow(t,Te));L=!s&&(oe||v);let Xe=(0,_util.getCellRestHeight)(Be,m,f,Re);H=N===j.length-1,B=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let Ye=!1;q||le&&(0,_util.getRowid)(Qe,le)===e||(ae&&oe&&16<Z.length&&!V&&!ye.immediate&&(a<me.visibleStartIndex-me.preloadSize||a>me.visibleEndIndex+me.preloadSize)||te&&v&&10<ee.length&&!fe.immediate&&!r.fixed&&(b<he.visibleStartIndex-he.preloadSize||b>he.visibleEndIndex+he.preloadSize))&&(Ye=!0),1<Pe&&(U=ge[a+Pe-1])&&(o=ce[(0,_util.getRowid)(Qe,U)])&&(Xe+=o.oTop+(0,_util.getCellRestHeight)(o,m,f,Re)-Be.oTop-(0,_util.getCellRestHeight)(Be,m,f,Re));y={};if(s&&se){let l=0;if(1<Ve)for(let e=1;e<Ve;e++){var Ke=ve[Le+e];Ke&&(l+=Ke.renderWidth)}y.width=r.renderWidth+l-Me+"px"}oe||v||s||p||n?y.height=Xe+"px":y.minHeight=Xe+"px";C=[];M&&ue?C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:y})):(V&&C.push(...wl(e,$,Xe)),c=[],Ye||c.push((0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},r.renderCell($))),C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:y,title:T?Qe.getCellLabel(t,r):null},c)),Y&&R&&(_=R.rule,ie=Fe?Fe.valid:null,xe=Object.assign(Object.assign(Object.assign({},$),R),{rule:R}),C.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(w.className,xe)],style:_&&_.maxWidth?{width:_.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(w.theme||"normal")},[ie?Qe.callSlot(ie,xe):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let Je=!1;return J&&Oe.area&&!b&&Se&&(Je=!0),!M&&ze&&be&&C.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Qe.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Qe.handleColResizeDblclickEvent(e,$)})),(Ae||Ce)&&f.resizable&&C.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Qe.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Qe.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",S,$e?"col--vertical-"+$e:"",E?"col--"+E:"",ke?"col--"+ke:"",{"col--last":H,"col--tree-node":He,"col--edit":h,"col--ellipsis":s,"col--cs-height":p,"col--rs-height":n,"col--to-row":Je,"col--auto-height":L,"fixed--width":!B,"fixed--hidden":M,"is--padding":ne,"is--progress":M&&ue||Ye,"is--drag-cell":z&&(Ee||De||!F),"is--drag-disabled":We,"col--dirty":Ge,"col--active":Q&&h&&de.row===t&&(de.column===r||"row"===_e.mode),"col--valid-error":!!R,"show--valid-bg":R&&w.showErrorBackground,"col--current":re===r},(0,_dom.getPropClass)(Ue,$),(0,_dom.getPropClass)(qe,$),(0,_dom.getPropClass)(P,$)],key:G||v||oe||Ie.useKey||f.useKey||Ie.drag?S:N},O),{style:Object.assign({},_xeUtils.default.isFunction(Ne)?Ne($):Ne,_xeUtils.default.isFunction(X)?X($):X)}),g),A&&M?[]:C)},re=(h,m,w,_)=>{let b=Qe.xeGrid,f=Qe.xeGantt,{stripe:y,rowKey:C,highlightHoverRow:R,rowClassName:E,rowStyle:D,editConfig:I,treeConfig:O}=Ze,{hasFixedColumn:S,treeExpandedFlag:M,scrollYLoad:T,isAllOverflow:k,rowExpandedFlag:$,expandColumn:z,selectRadioRow:q,pendingRowFlag:H,rowExpandHeightFlag:A,isRowGroupStatus:F}=el,{fullAllDataRowIdData:B,fullColumnIdData:U,treeExpandedMaps:N,pendingRowMaps:j,rowExpandedMaps:L,currentRow:G}=ll,W=sl.value,Q=e.value,V=l.value,P=tl.value,X=cl.value,Z=pl.value,{transform:Y,seqMode:K}=V,ee=V.children||V.childrenField,J=[],le=(0,_util.createHandleGetRowId)(Qe).handleGetRowId,te=O||F;return w.forEach((a,r)=>{let o=le(a);var i=B[o]||{};let n=r,s=0,d=-1,u=-1;var c=F&&a.isAggregate,p={},v=((X.isHover||R)&&(p.onMouseover=e=>{ml()||Qe.triggerHoverEvent(e,{row:a,rowIndex:n})},p.onMouseleave=()=>{ml()||Qe.clearHoverRow()}),i&&(n=i.index,u=i._index,s=i.level,d=i.seq,c||O&&Y&&"increasing"===K?d=i._index+1:O&&"fixed"===K&&(d=i._tIndex+1)),{$table:Qe,seq:d,rowid:o,fixed:h,type:renderType,level:s,row:a,rowIndex:n,$rowIndex:r,_rowIndex:u}),g=z&&!!$&&!!L[o];let e=!1,l=[],t=!1;I&&(t=Qe.isInsertByRow(a)),!O||T||Y||(l=a[ee],e=!!M&&l&&0<l.length&&!!N[o]),!X.drag||F||O&&!Y||(p.onDragstart=Qe.handleRowDragDragstartEvent,p.onDragend=Qe.handleRowDragDragendEvent,p.onDragover=Qe.handleRowDragDragoverEvent);var c=["vxe-body--row",te?"row--level-"+s:"",{"row--stripe":y&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":Q.highlight&&Qe.eqRow(q,a),"row--checked":W.highlight&&Qe.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!j[o],"row--group":c,"row--current":G&&o===(0,_util.getRowid)(Qe,G)},(0,_dom.getPropClass)(E,v)],x=_.map((e,l)=>oe(d,o,h,m,s,a,n,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:C||X.useKey||X.drag||Z.drag||F||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=ae.value;if("fixed"===p){x=i.expandHeight;let e=0;A&&(x||c)&&(e=(x||c||0)+1),J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:e+"px"}})]))}else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=s*V.indent+30+"px"),z||{}).showOverflow,i=z.id,x=U[i]||{},i=_xeUtils.default.eqNull(p)?k:p;let e=-1,l=-1,t=-1;x&&(e=x.index,l=x.$index,t=x._index);p={$table:Qe,$grid:b,$gantt:f,seq:d,column:z,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,source:sourceType,type:renderType,level:s,row:a,rowid:o,rowIndex:n,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!S,"col--ellipsis":i}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[z.renderData(p)])])]))}}e&&J.push(...re(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=C.fixedType,l=ll.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=I,l[e+"scroll"]=O,l[e+"table"]=S,l[e+"colgroup"]=M,l[e+"list"]=T,l[e+"xSpace"]=k,l[e+"ySpace"]=$,l[e+"emptyBlock"]=z})}),(0,_vue.onUnmounted)(()=>{var e=C.fixedType,l=ll.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=E.slots,l=Qe.xeGrid,t=Qe.xeGantt;let{fixedColumn:a,fixedType:r,tableColumn:o}=C;var i=Ze.mouseConfig,{isGroup:n,tableData:s,isColLoading:d,overflowX:u,scrollXLoad:c,scrollYLoad:p,dragRow:v,dragCol:g}=el,{visibleColumn:x,fullAllDataRowIdData:h,fullColumnIdData:m}=ll,w=D.value,_=al.value;let b=s,f=o;s=q.value;d||!r&&u||(f=x),r&&s&&(f=a||[]),p&&v&&2<b.length&&(d=h[(0,_util.getRowid)(Qe,v)])&&(u=d._index,x=b[0],p=b[b.length-1],d=h[(0,_util.getRowid)(Qe,x)],x=h[(0,_util.getRowid)(Qe,p)],d)&&x&&(h=d._index,p=x._index,u<h?b=[v].concat(b):p<u&&(b=b.concat([v]))),r||n||c&&g&&2<f.length&&(d=m[g.id])&&(x=d._index,h=f[0],p=f[f.length-1],u=m[h.id],v=m[p.id],u)&&v&&(n=u._index,c=v._index,x<n?f=[g].concat(f):c<x&&(f=f.concat([g])));let y;d=e?e.empty:null,h={$table:Qe,$grid:l,$gantt:t};return y=d?Qe.callSlot(d,h):(p=(m=w.name?renderer.get(w.name):null)?m.renderTableEmpty||m.renderTableEmptyView||m.renderEmpty:null)?(0,_vn.getSlotVNs)(p(w,h)):Ze.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",{ref:I,class:["vxe-table--body-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],xid:R},[(0,_vue.h)("div",{ref:O,class:"vxe-table--body-inner-wrapper",onScroll(e){Qe.triggerBodyScrollEvent(e,r)}},[r?renderEmptyElement(Qe):(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:S,class:"vxe-table--body",xid:R,cellspacing:0,cellpadding:0,border:0,xvm:s?"1":null},[(0,_vue.h)("colgroup",{ref:M},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:T},re(r,s,b,f))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&_.area?(0,_vue.h)("div",{class:"vxe-table--cell-area",xid:R},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},_.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Qe.triggerCellAreaExtendMousedownEvent&&Qe.triggerCellAreaExtendMousedownEvent(e,{$table:Qe,fixed:r,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Qe),r?renderEmptyElement(Qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:z},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},y)])])])}}});
|