vxe-table 3.15.46 → 3.15.48
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/locale/lang/ar-EG.js +16 -2
- package/es/locale/lang/de-DE.js +16 -2
- package/es/locale/lang/en-US.js +16 -2
- package/es/locale/lang/es-ES.js +16 -2
- package/es/locale/lang/fr-FR.js +16 -2
- package/es/locale/lang/hu-HU.js +16 -2
- package/es/locale/lang/hy-AM.js +16 -2
- package/es/locale/lang/id-ID.js +16 -2
- package/es/locale/lang/it-IT.js +16 -2
- package/es/locale/lang/ja-JP.js +16 -2
- package/es/locale/lang/ko-KR.js +16 -2
- package/es/locale/lang/ms-MY.js +16 -2
- package/es/locale/lang/nb-NO.js +16 -2
- package/es/locale/lang/pt-BR.js +16 -2
- package/es/locale/lang/ru-RU.js +16 -2
- package/es/locale/lang/th-TH.js +16 -2
- package/es/locale/lang/ug-CN.js +16 -2
- package/es/locale/lang/uk-UA.js +16 -2
- package/es/locale/lang/uz-UZ.js +16 -2
- package/es/locale/lang/vi-VN.js +16 -2
- package/es/locale/lang/zh-CHT.js +17 -3
- package/es/locale/lang/zh-CN.js +16 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +20 -5
- package/es/table/module/custom/panel.js +36 -15
- package/es/table/src/body.js +8 -5
- package/es/table/src/cell.js +21 -13
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/methods.js +62 -17
- package/es/table/src/table.js +14 -3
- package/es/table/style.css +5 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +9 -5
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +5 -1
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +190 -66
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +16 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +16 -2
- package/lib/locale/lang/de-DE.js +16 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +16 -2
- package/lib/locale/lang/en-US.js +16 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +16 -2
- package/lib/locale/lang/es-ES.js +16 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +16 -2
- package/lib/locale/lang/fr-FR.js +16 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +16 -2
- package/lib/locale/lang/hu-HU.js +16 -2
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +16 -2
- package/lib/locale/lang/hy-AM.js +16 -2
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +16 -2
- package/lib/locale/lang/id-ID.js +16 -2
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +16 -2
- package/lib/locale/lang/it-IT.js +16 -2
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +16 -2
- package/lib/locale/lang/ja-JP.js +16 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +16 -2
- package/lib/locale/lang/ko-KR.js +16 -2
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +16 -2
- package/lib/locale/lang/ms-MY.js +16 -2
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +16 -2
- package/lib/locale/lang/nb-NO.js +16 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +16 -2
- package/lib/locale/lang/pt-BR.js +16 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +16 -2
- package/lib/locale/lang/ru-RU.js +16 -2
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +16 -2
- package/lib/locale/lang/th-TH.js +16 -2
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +16 -2
- package/lib/locale/lang/ug-CN.js +16 -2
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +16 -2
- package/lib/locale/lang/uk-UA.js +16 -2
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +16 -2
- package/lib/locale/lang/uz-UZ.js +16 -2
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +16 -2
- package/lib/locale/lang/vi-VN.js +16 -2
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +16 -2
- package/lib/locale/lang/zh-CHT.js +17 -3
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +17 -3
- package/lib/locale/lang/zh-CN.js +16 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +16 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +20 -5
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +34 -15
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/body.js +8 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +20 -11
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +67 -20
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +14 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +5 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +9 -5
- 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 +5 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/locale/lang/ar-EG.ts +16 -2
- package/packages/locale/lang/de-DE.ts +16 -2
- package/packages/locale/lang/en-US.ts +16 -2
- package/packages/locale/lang/es-ES.ts +16 -2
- package/packages/locale/lang/fr-FR.ts +16 -2
- package/packages/locale/lang/hu-HU.ts +16 -2
- package/packages/locale/lang/hy-AM.ts +16 -2
- package/packages/locale/lang/id-ID.ts +16 -2
- package/packages/locale/lang/it-IT.ts +16 -2
- package/packages/locale/lang/ja-JP.ts +16 -2
- package/packages/locale/lang/ko-KR.ts +16 -2
- package/packages/locale/lang/ms-MY.ts +16 -2
- package/packages/locale/lang/nb-NO.ts +16 -2
- package/packages/locale/lang/pt-BR.ts +16 -2
- package/packages/locale/lang/ru-RU.ts +16 -2
- package/packages/locale/lang/th-TH.ts +16 -2
- package/packages/locale/lang/ug-CN.ts +16 -2
- package/packages/locale/lang/uk-UA.ts +16 -2
- package/packages/locale/lang/uz-UZ.ts +16 -2
- package/packages/locale/lang/vi-VN.ts +16 -2
- package/packages/locale/lang/zh-CHT.ts +17 -3
- package/packages/locale/lang/zh-CN.ts +16 -2
- package/packages/table/module/custom/mixin.ts +18 -5
- package/packages/table/module/custom/panel.ts +34 -14
- package/packages/table/src/body.ts +8 -5
- package/packages/table/src/cell.ts +25 -13
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/methods.ts +64 -16
- package/packages/table/src/table.ts +14 -3
- package/packages/ui/index.ts +8 -4
- package/styles/components/table-module/custom.scss +5 -1
- /package/es/{iconfont.1750651550655.ttf → iconfont.1750813664386.ttf} +0 -0
- /package/es/{iconfont.1750651550655.woff → iconfont.1750813664386.woff} +0 -0
- /package/es/{iconfont.1750651550655.woff2 → iconfont.1750813664386.woff2} +0 -0
- /package/lib/{iconfont.1750651550655.ttf → iconfont.1750813664386.ttf} +0 -0
- /package/lib/{iconfont.1750651550655.woff → iconfont.1750813664386.woff} +0 -0
- /package/lib/{iconfont.1750651550655.woff2 → iconfont.1750813664386.woff2} +0 -0
|
@@ -81,7 +81,9 @@ var _default = exports.default = {
|
|
|
81
81
|
allowVisible,
|
|
82
82
|
allowSort,
|
|
83
83
|
allowFixed,
|
|
84
|
-
allowResizable
|
|
84
|
+
allowResizable,
|
|
85
|
+
allowGroup,
|
|
86
|
+
allowValues
|
|
85
87
|
} = customOpts;
|
|
86
88
|
_xeUtils.default.eachTree(customColumnList, (column, index, items, path, parentColumn) => {
|
|
87
89
|
if (parentColumn) {
|
|
@@ -107,6 +109,9 @@ var _default = exports.default = {
|
|
|
107
109
|
if (allowVisible) {
|
|
108
110
|
column.visible = column.renderVisible;
|
|
109
111
|
}
|
|
112
|
+
if (allowGroup && allowValues) {
|
|
113
|
+
column.aggFunc = column.renderAggFn;
|
|
114
|
+
}
|
|
110
115
|
});
|
|
111
116
|
reactData.isCustomStatus = true;
|
|
112
117
|
reactData.isDragColMove = true;
|
|
@@ -114,14 +119,17 @@ var _default = exports.default = {
|
|
|
114
119
|
reactData.isDragColMove = false;
|
|
115
120
|
}, 1000);
|
|
116
121
|
return $xeTable.saveCustomStore('confirm').then(() => {
|
|
117
|
-
if ($xeTable.handlePivotTableAggregateData) {
|
|
122
|
+
if (allowGroup && allowValues && $xeTable.handlePivotTableAggregateData) {
|
|
118
123
|
if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
|
|
119
|
-
//
|
|
124
|
+
// 更新数据分组
|
|
120
125
|
if (aggHandleFields.length) {
|
|
121
126
|
$xeTable.setRowGroups(aggHandleFields);
|
|
122
127
|
} else {
|
|
123
128
|
$xeTable.clearRowGroups();
|
|
124
129
|
}
|
|
130
|
+
} else {
|
|
131
|
+
// 更新聚合函数
|
|
132
|
+
$xeTable.handleUpdateAggData();
|
|
125
133
|
}
|
|
126
134
|
}
|
|
127
135
|
});
|
|
@@ -186,7 +194,8 @@ var _default = exports.default = {
|
|
|
186
194
|
visible: true,
|
|
187
195
|
resizable: options === true,
|
|
188
196
|
fixed: options === true,
|
|
189
|
-
sort: options === true
|
|
197
|
+
sort: options === true,
|
|
198
|
+
aggFunc: options === true
|
|
190
199
|
}, options);
|
|
191
200
|
_xeUtils.default.eachTree(collectColumn, column => {
|
|
192
201
|
if (opts.resizable) {
|
|
@@ -204,12 +213,16 @@ var _default = exports.default = {
|
|
|
204
213
|
})) {
|
|
205
214
|
column.visible = column.defaultVisible;
|
|
206
215
|
}
|
|
216
|
+
if (opts.aggFunc) {
|
|
217
|
+
column.aggFunc = column.defaultAggFunc;
|
|
218
|
+
column.renderAggFn = column.defaultAggFunc;
|
|
219
|
+
}
|
|
207
220
|
column.renderResizeWidth = column.renderWidth;
|
|
208
221
|
});
|
|
209
222
|
reactData.isCustomStatus = false;
|
|
210
223
|
$xeTable.saveCustomStore('reset');
|
|
211
224
|
return $xeTable.handleCustom().then(() => {
|
|
212
|
-
if ($xeTable.handlePivotTableAggregateData) {
|
|
225
|
+
if (opts.aggFunc && $xeTable.handlePivotTableAggregateData) {
|
|
213
226
|
const rowGroupFields = $xeTable.computeRowGroupFields;
|
|
214
227
|
if (rowGroupFields ? rowGroupFields.length : rowGroupList.length) {
|
|
215
228
|
if (rowGroupFields && rowGroupFields.length) {
|
|
@@ -217,6 +230,8 @@ var _default = exports.default = {
|
|
|
217
230
|
} else {
|
|
218
231
|
$xeTable.clearRowGroups();
|
|
219
232
|
}
|
|
233
|
+
} else {
|
|
234
|
+
$xeTable.handleUpdateAggData();
|
|
220
235
|
}
|
|
221
236
|
}
|
|
222
237
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function calcMaxHeight(e){var t=e.customStore,e=e.$refs.refElem;let s=0;e&&(s=e.clientHeight-28),t.maxHeight=Math.max(88,s)}function emitCustomEvent(e,t,s){(e.$xeGrid||e).dispatchEvent("custom",{type:t},s)}var _default=exports.default={methods:{_openCustom(){let e=this;var{initStore:t,customStore:s}=e;return s.visible=!0,t.custom=!0,e.handleUpdateCustomColumn(),e.checkCustomStatus(),calcMaxHeight(e),e.$nextTick().then(()=>calcMaxHeight(e))},_closeCustom(){var e=this,t=e.customStore,s=e.computeCustomOpts;return t.visible&&(t.visible=!1,s.immediate||e.handleCustom()),e.$nextTick()},_toggleCustom(){var e=this,t=e.customStore;return t.visible?e.closeCustom():e.openCustom()},_saveCustom(){let e=this,t=e,{customColumnList:s,aggHandleFields:i,rowGroupList:l}=t;let{allowVisible:o,allowSort:r,allowFixed:u,allowResizable:a}=e.computeCustomOpts;return _xeUtils.default.eachTree(s,(e,t,s,i,l)=>{l?e.fixed=l.fixed:(r&&(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),o&&(e.visible=e.renderVisible)}),t.isCustomStatus=!0,t.isDragColMove=!0,setTimeout(()=>{t.isDragColMove=!1},1e3),e.saveCustomStore("confirm").then(()=>{
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function calcMaxHeight(e){var t=e.customStore,e=e.$refs.refElem;let s=0;e&&(s=e.clientHeight-28),t.maxHeight=Math.max(88,s)}function emitCustomEvent(e,t,s){(e.$xeGrid||e).dispatchEvent("custom",{type:t},s)}var _default=exports.default={methods:{_openCustom(){let e=this;var{initStore:t,customStore:s}=e;return s.visible=!0,t.custom=!0,e.handleUpdateCustomColumn(),e.checkCustomStatus(),calcMaxHeight(e),e.$nextTick().then(()=>calcMaxHeight(e))},_closeCustom(){var e=this,t=e.customStore,s=e.computeCustomOpts;return t.visible&&(t.visible=!1,s.immediate||e.handleCustom()),e.$nextTick()},_toggleCustom(){var e=this,t=e.customStore;return t.visible?e.closeCustom():e.openCustom()},_saveCustom(){let e=this,t=e,{customColumnList:s,aggHandleFields:i,rowGroupList:l}=t;let{allowVisible:o,allowSort:r,allowFixed:u,allowResizable:a,allowGroup:n,allowValues:d}=e.computeCustomOpts;return _xeUtils.default.eachTree(s,(e,t,s,i,l)=>{l?e.fixed=l.fixed:(r&&(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),o&&(e.visible=e.renderVisible),n&&d&&(e.aggFunc=e.renderAggFn)}),t.isCustomStatus=!0,t.isDragColMove=!0,setTimeout(()=>{t.isDragColMove=!1},1e3),e.saveCustomStore("confirm").then(()=>{n&&d&&e.handlePivotTableAggregateData&&(l.length!==i.length||l.some((e,t)=>e.field!==i[t])?i.length?e.setRowGroups(i):e.clearRowGroups():e.handleUpdateAggData())})},_cancelCustom(){var e=this,{customColumnList:t,customStore:s}=e;let{oldSortMaps:l,oldFixedMaps:o,oldVisibleMaps:r}=s,{allowVisible:u,allowSort:a,allowFixed:n,allowResizable:d}=e.computeCustomOpts;return _xeUtils.default.eachTree(t,e=>{var t=e.getKey(),s=!!r[t],i=o[t]||"";u&&(e.renderVisible=s,e.visible=s),n&&(e.renderFixed=i,e.fixed=i),a&&(e.renderSortNumber=l[t]||0),d&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),e.$nextTick()},_resetCustom(e){let t=this;var s=t,i=t;let l=s.rowGroupList;i=i.collectColumn;let o=t.computeCustomOpts.checkMethod,r=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e},e);return _xeUtils.default.eachTree(i,e=>{r.resizable&&(e.resizeWidth=0),r.fixed&&(e.fixed=e.defaultFixed),r.sort&&(e.renderSortNumber=e.sortNumber),o&&!o({$table:t,column:e})||(e.visible=e.defaultVisible),r.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth}),s.isCustomStatus=!1,t.saveCustomStore("reset"),t.handleCustom().then(()=>{var e;r.aggFunc&&t.handlePivotTableAggregateData&&(((e=t.computeRowGroupFields)||l).length?e&&e.length?t.setRowGroups(e):t.clearRowGroups():t.handleUpdateAggData())})},_toggleCustomAllCheckbox(){var e=this.customStore,e=!e.isAll;return this.setCustomAllCheckbox(e)},_setCustomAllCheckbox(e){let t=this;var s=t,i=s.customStore,l=s.customColumnList,o=t.computeCustomOpts;let{checkMethod:r,visibleMethod:u}=o,a=!!e;o.immediate?(_xeUtils.default.eachTree(l,e=>{u&&!u({$table:t,column:e})||r&&!r({$table:t,column:e})||(e.visible=a,e.renderVisible=a,e.halfVisible=!1)}),i.isAll=a,s.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{u&&!u({$table:t,column:e})||r&&!r({$table:t,column:e})||(e.renderVisible=a,e.halfVisible=!1)}),i.isAll=a),t.checkCustomStatus()},checkCustomStatus(){let t=this;var e=t.customStore,s=t.collectColumn;let i=t.computeCustomOpts.checkMethod;e.isAll=s.every(e=>!!i&&!i({$table:t,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&s.some(e=>(!i||i({$table:t,column:e}))&&(e.renderVisible||e.halfVisible))},emitCustomEvent(e,t){(this.$xeGrid||this).dispatchEvent("custom",{type:e},t)},triggerCustomEvent(e){var t=this.customStore;t.visible?(this.closeCustom(),emitCustomEvent(this,"close",e)):(t.btnEl=e.target,this.openCustom(),emitCustomEvent(this,"open",e))},customOpenEvent(e){var t=this.customStore;t.visible&&(t.activeBtn=!0,t.btnEl=e.target,this.openCustom(),emitCustomEvent(this,"open",e))},customCloseEvent(e){var t=this.customStore;t.visible&&(t.activeBtn=!1,this.closeCustom(),emitCustomEvent(this,"close",e))},handleUpdateCustomColumn(){var e=this,t=e.customStore,o=this.collectColumn;if(t.visible){let s={},i={},l={};_xeUtils.default.eachTree(o,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,s[t]=e.renderSortNumber,i[t]=e.fixed,l[t]=e.visible}),t.oldSortMaps=s,t.oldFixedMaps=i,t.oldVisibleMaps=l,e.customColumnList=o.slice(0)}}}};
|
|
@@ -30,8 +30,8 @@ function showDropTip($xeTableCustomPanel, evnt, optEl, showLine, dragPos) {
|
|
|
30
30
|
} = customPanelInternalData;
|
|
31
31
|
const bodyWrapperRect = bodyWrapperElem.getBoundingClientRect();
|
|
32
32
|
const customBodyRect = customBodyElem.getBoundingClientRect();
|
|
33
|
+
const dragLineEl = $xeTableCustomPanel.$refs.refDragLineElem;
|
|
33
34
|
if (optEl) {
|
|
34
|
-
const dragLineEl = $xeTableCustomPanel.$refs.refDragLineElem;
|
|
35
35
|
if (dragLineEl) {
|
|
36
36
|
if (showLine) {
|
|
37
37
|
const optRect = optEl.getBoundingClientRect();
|
|
@@ -46,6 +46,10 @@ function showDropTip($xeTableCustomPanel, evnt, optEl, showLine, dragPos) {
|
|
|
46
46
|
dragLineEl.style.display = '';
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
} else {
|
|
50
|
+
if (dragLineEl) {
|
|
51
|
+
dragLineEl.style.display = 'node';
|
|
52
|
+
}
|
|
49
53
|
}
|
|
50
54
|
const dragTipEl = $xeTableCustomPanel.$refs.refDragTipElem;
|
|
51
55
|
if (dragTipEl) {
|
|
@@ -282,7 +286,7 @@ const renderSimplePanel = (h, _vm) => {
|
|
|
282
286
|
} : {}
|
|
283
287
|
}, customStore.visible ? [h('div', {
|
|
284
288
|
ref: 'refBodyWrapperElem',
|
|
285
|
-
class: 'vxe-table-custom-body-wrapper'
|
|
289
|
+
class: 'vxe-table-custom-simple--body-wrapper'
|
|
286
290
|
}, [!treeConfig && (aggregateConfig || rowGroupConfig) && $xeTable.getPivotTableAggregateSimplePanel ? h($xeTable.getPivotTableAggregateSimplePanel(), {
|
|
287
291
|
props: {
|
|
288
292
|
customStore
|
|
@@ -383,6 +387,9 @@ const renderPopupPanel = (h, $xeTableCustomPanel) => {
|
|
|
383
387
|
customStore
|
|
384
388
|
} = props;
|
|
385
389
|
const {
|
|
390
|
+
treeConfig,
|
|
391
|
+
rowGroupConfig,
|
|
392
|
+
aggregateConfig,
|
|
386
393
|
resizable: allResizable
|
|
387
394
|
} = tableProps;
|
|
388
395
|
const {
|
|
@@ -629,7 +636,11 @@ const renderPopupPanel = (h, $xeTableCustomPanel) => {
|
|
|
629
636
|
}
|
|
630
637
|
}, trVNs)])]), bottomSlot ? h('div', {
|
|
631
638
|
class: 'vxe-table-custom-popup--table-bottom'
|
|
632
|
-
}, $xeTable.callSlot(bottomSlot, params, h)) : renderEmptyElement($xeTable), renderDragTip(h, _vm)])
|
|
639
|
+
}, $xeTable.callSlot(bottomSlot, params, h)) : renderEmptyElement($xeTable), renderDragTip(h, _vm)]), !treeConfig && (aggregateConfig || rowGroupConfig) && $xeTable.getPivotTableAggregatePopupPanel ? h($xeTable.getPivotTableAggregatePopupPanel(), {
|
|
640
|
+
props: {
|
|
641
|
+
customStore
|
|
642
|
+
}
|
|
643
|
+
}) : renderEmptyElement($xeTable)]);
|
|
633
644
|
},
|
|
634
645
|
footer: () => {
|
|
635
646
|
if (footerSlot) {
|
|
@@ -747,12 +758,14 @@ var _default = exports.default = {
|
|
|
747
758
|
data() {
|
|
748
759
|
const reactData = {
|
|
749
760
|
dragCol: null,
|
|
761
|
+
dragGroupField: null,
|
|
762
|
+
dragAggFnCol: null,
|
|
750
763
|
dragTipText: ''
|
|
751
764
|
};
|
|
752
765
|
const internalData = {
|
|
753
766
|
// prevDragCol: undefined,
|
|
754
|
-
//
|
|
755
|
-
//
|
|
767
|
+
// prevDragGroupField: undefined,
|
|
768
|
+
// prevDragAggFnColid: undefined,
|
|
756
769
|
// prevDragToChild: false,
|
|
757
770
|
// prevDragPos: null
|
|
758
771
|
};
|
|
@@ -1038,6 +1051,8 @@ var _default = exports.default = {
|
|
|
1038
1051
|
const column = $xeTable.getColumnById(colid);
|
|
1039
1052
|
trEl.draggable = true;
|
|
1040
1053
|
customPanelReactData.dragCol = column;
|
|
1054
|
+
customPanelReactData.dragGroupField = null;
|
|
1055
|
+
customPanelReactData.dragAggFnCol = null;
|
|
1041
1056
|
this.updateColDropTipContent();
|
|
1042
1057
|
(0, _dom.addClass)(trEl, 'active--drag-origin');
|
|
1043
1058
|
},
|
|
@@ -1051,6 +1066,8 @@ var _default = exports.default = {
|
|
|
1051
1066
|
hideDropTip($xeTableCustomPanel);
|
|
1052
1067
|
trEl.draggable = false;
|
|
1053
1068
|
customPanelReactData.dragCol = null;
|
|
1069
|
+
customPanelReactData.dragGroupField = null;
|
|
1070
|
+
customPanelReactData.dragAggFnCol = null;
|
|
1054
1071
|
(0, _dom.removeClass)(trEl, 'active--drag-origin');
|
|
1055
1072
|
},
|
|
1056
1073
|
sortDragstartEvent(evnt) {
|
|
@@ -1059,8 +1076,8 @@ var _default = exports.default = {
|
|
|
1059
1076
|
if (evnt.dataTransfer) {
|
|
1060
1077
|
evnt.dataTransfer.setDragImage((0, _dom.getTpImg)(), 0, 0);
|
|
1061
1078
|
}
|
|
1062
|
-
customPanelInternalData.
|
|
1063
|
-
customPanelInternalData.
|
|
1079
|
+
customPanelInternalData.prevDragGroupField = null;
|
|
1080
|
+
customPanelInternalData.prevDragAggFnColid = null;
|
|
1064
1081
|
},
|
|
1065
1082
|
sortDragendEvent(evnt) {
|
|
1066
1083
|
const $xeTableCustomPanel = this;
|
|
@@ -1096,13 +1113,13 @@ var _default = exports.default = {
|
|
|
1096
1113
|
} = customPanelReactData;
|
|
1097
1114
|
const {
|
|
1098
1115
|
prevDragCol,
|
|
1099
|
-
|
|
1100
|
-
|
|
1116
|
+
prevDragGroupField,
|
|
1117
|
+
prevDragAggFnColid,
|
|
1101
1118
|
prevDragPos,
|
|
1102
1119
|
prevDragToChild
|
|
1103
1120
|
} = customPanelInternalData;
|
|
1104
1121
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
1105
|
-
if (
|
|
1122
|
+
if (prevDragGroupField || prevDragAggFnColid) {
|
|
1106
1123
|
if ($xeTable.handlePivotTableAggregatePanelDragendEvent) {
|
|
1107
1124
|
$xeTable.handlePivotTableAggregatePanelDragendEvent(evnt);
|
|
1108
1125
|
}
|
|
@@ -1262,8 +1279,10 @@ var _default = exports.default = {
|
|
|
1262
1279
|
}
|
|
1263
1280
|
hideDropTip($xeTableCustomPanel);
|
|
1264
1281
|
customPanelReactData.dragCol = null;
|
|
1265
|
-
|
|
1266
|
-
|
|
1282
|
+
customPanelReactData.dragGroupField = null;
|
|
1283
|
+
customPanelReactData.dragAggFnCol = null;
|
|
1284
|
+
customPanelInternalData.prevDragGroupField = null;
|
|
1285
|
+
customPanelInternalData.prevDragAggFnColid = null;
|
|
1267
1286
|
trEl.draggable = false;
|
|
1268
1287
|
trEl.removeAttribute('drag-pos');
|
|
1269
1288
|
(0, _dom.removeClass)(trEl, 'active--drag-target');
|
|
@@ -1290,14 +1309,14 @@ var _default = exports.default = {
|
|
|
1290
1309
|
const isControlKey = (0, _dom.hasControlKey)(evnt);
|
|
1291
1310
|
const colid = optEl.getAttribute('colid');
|
|
1292
1311
|
const column = $xeTable.getColumnById(colid);
|
|
1293
|
-
customPanelInternalData.
|
|
1294
|
-
customPanelInternalData.
|
|
1312
|
+
customPanelInternalData.prevDragGroupField = null;
|
|
1313
|
+
customPanelInternalData.prevDragAggFnColid = null;
|
|
1295
1314
|
// 是否移入有效列
|
|
1296
1315
|
if (column && (isCrossDrag || column.level === 1)) {
|
|
1297
1316
|
evnt.preventDefault();
|
|
1298
1317
|
const offsetY = evnt.clientY - optEl.getBoundingClientRect().y;
|
|
1299
1318
|
const dragPos = offsetY < optEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
1300
|
-
if (dragCol && dragCol.id === column.id || !isCrossDrag && column.level > 1 || !immediate && column.level > 1 || column.renderFixed) {
|
|
1319
|
+
if (!dragCol || dragCol && dragCol.id === column.id || !isCrossDrag && column.level > 1 || !immediate && column.level > 1 || column.renderFixed) {
|
|
1301
1320
|
showDropTip($xeTableCustomPanel, evnt, optEl, false, dragPos);
|
|
1302
1321
|
return;
|
|
1303
1322
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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 showDropTip(e,t,l,o,s){var a,r,i,n=e.internalData,c=e.$refs.refBodyWrapperElem;c&&(i=e.$refs.refCustomBodyElem)&&(n=n.prevDragToChild,a=c.getBoundingClientRect(),i=i.getBoundingClientRect(),l&&(r=e.$refs.refDragLineElem)&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.left=Math.max(0,i.x-a.x)+"px",r.style.top=Math.max(1,l.y+c.scrollTop-a.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",n?"y":"n")):r.style.display=""),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(c.clientHeight+c.scrollTop-i.clientHeight,t.clientY+c.scrollTop-a.y)+"px",i.style.left=Math.min(c.clientWidth+c.scrollLeft-i.clientWidth,t.clientX+c.scrollLeft-a.x)+"px",i.setAttribute("drag-status",o?n?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}let renderDragTip=(e,t)=>{var l=t.$xeTable,t=t.reactData.dragTipText;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":l.computeColumnDragOpts.showGuidesStatus}]}),e("div",{ref:"refDragTipElem",class:"vxe-table-custom-popup--drag-tip"},[e("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[e("div",{class:"vxe-table-custom-popup--drag-tip-status"},[e("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(t||""))])])])},renderSimplePanel=(d,u)=>{let m=_ui.VxeUI.getComponent("VxeButton");let p=u.$xeTable;var e=p,t=p,l=p.$xeGrid,o=u.customStore,{treeConfig:e,rowGroupConfig:s,aggregateConfig:a}=e,{isCustomStatus:t,customColumnList:r}=t,i=p.computeCustomOpts;let v=i.immediate;var n=p.computeColumnDragOpts,c=o.maxHeight;let{checkMethod:x,visibleMethod:g,allowVisible:h,allowSort:b,allowFixed:C,trigger:E,placement:T}=i,f=p.computeIsMaxFixedColumn,_=n.isCrossDrag;var n=i.slots||{},I=n.header,D=n.top,y=n.bottom,O=n.default,n=n.footer;let k=[];var A={},S=o.isAll,B=o.isIndeterminate,l=("hover"===E&&(A.mouseenter=u.handleWrapperMouseenterEvent,A.mouseleave=u.handleWrapperMouseleaveEvent),{$table:p,$grid:l,columns:r,isAllChecked:S,isAllIndeterminate:B,isCustomStatus:t});return _xeUtils.default.eachTree(r,(l,e,t,o,s)=>{if(!g||g({$table:p,column:l})){var a=l.renderVisible,r=l.halfVisible,i=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!x&&!x({$table:p,column:l});var c=!a;k.push(d("li",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||c,"is--group":i}],on:{dragstart:u.sortDragstartEvent,dragend:u.sortDragendEvent,dragover:u.sortDragoverEvent}},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":r,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||u.changeCheckboxOption(l,e)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),d("div",{class:"vxe-table-custom--name-option"},[b&&(_&&v||1===l.level)?d("div",{class:"vxe-table-custom--sort-option"},[d("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":t||c||l.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:t||c||l.renderFixed?{}:{mousedown:u.sortMousedownEvent,mouseup:u.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===l.type?d("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):d("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?d("div",{class:"vxe-table-custom--fixed-option"},[d(m,{props:{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:t||c||f&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{u.changeFixedOption(l,"left",e)}}}),d(m,{props:{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:t||c||f&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{u.changeFixedOption(l,"right",e)}}})]):renderEmptyElement(p)]))}}),d("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+T,{"is--active":o.visible}],style:c&&!["left","right"].includes(T||"")?{maxHeight:c+"px"}:{}},o.visible?[d("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-body-wrapper"},[!e&&(a||s)&&p.getPivotTableAggregateSimplePanel?d(p.getPivotTableAggregateSimplePanel(),{props:{customStore:o}}):renderEmptyElement(p),d("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[d("div",{class:"vxe-table-custom--header"},I?p.callSlot(I,l,d):[d("ul",{class:"vxe-table-custom--panel-list"},[d("li",{class:"vxe-table-custom--option"},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":B}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:u.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",B?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):d("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),d("div",{class:"vxe-table-custom--body"},[D?d("div",{class:"vxe-table-custom--panel-top"},p.callSlot(D,l,d)):renderEmptyElement(p),O?d("div",{class:"vxe-table-custom--panel-body"},p.callSlot(O,l,d)):d("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:A},k),y?d("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(y,l,d)):renderEmptyElement(p)]),i.showFooter?d("div",{class:"vxe-table-custom--footer"},n?p.callSlot(n,l,d):[d("div",{class:"vxe-table-custom--footer-buttons"},[d(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:u.resetCustomEvent}}),v?d(m,{props:{mode:"text",content:i.closeButtonText||getI18n("vxe.table.customClose")},on:{click:u.cancelCloseEvent}}):d(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:u.cancelCustomEvent}}),v?renderEmptyElement(p):d(m,{props:{mode:"text",status:"primary",content:i.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:u.confirmCustomEvent}})])]):null]),renderDragTip(d,u)])]:[])},renderPopupPanel=(d,u)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),m=_ui.VxeUI.getComponent("VxeInput"),p=u,v=u.$xeTable;var o=v,s=v,a=v.$xeGrid;let r=u.customStore,$=o.resizable,{isCustomStatus:i,customColumnList:n}=s,c=v.computeCustomOpts,x=c.immediate;o=v.computeColumnDragOpts;let{mode:F,modalOptions:M,drawerOptions:R,allowVisible:g,allowSort:H,allowFixed:h,allowResizable:b,checkMethod:C,visibleMethod:E}=c,T=v.computeColumnOpts,f=T.maxFixedSize,{minWidth:_,maxWidth:I}=v.computeResizableOpts;var s=Object.assign({},M),D=Object.assign({},R);let y=v.computeIsMaxFixedColumn,W=o.isCrossDrag;o=c.slots||{};let O=o.header,k=o.top,A=o.bottom,S=o.default,B=o.footer,w=[],V=r.isAll,U=r.isIndeterminate,L={$table:v,$grid:a,columns:n,isAllChecked:V,isAllIndeterminate:U,isCustomStatus:i};_xeUtils.default.eachTree(n,(o,s,e,t,a)=>{if(!E||E({$table:v,column:o})){let e=0,t=0;b&&(s={$table:v,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},_&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_)),I)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I));var s=o.renderVisible,r=o.halfVisible,i=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!C&&!C({$table:v,column:o});var c=!s;w.push(d("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:p.sortDragstartEvent,dragend:p.sortDragendEvent,dragover:p.sortDragoverEvent}},[g?d("td",{class:"vxe-table-custom-popup--column-item col--visible"},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{l||p.changeCheckboxOption(o,e)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(v),d("td",{class:"vxe-table-custom-popup--column-item col--name"},[d("div",{class:"vxe-table-custom-popup--name"},[H?W&&x||1===o.level?d("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||c||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||c||o.renderFixed?{}:{mousedown:p.sortMousedownEvent,mouseup:p.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})]):d("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(v),"html"===o.type?d("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:i}}):d("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:i}},i)])]),b?d("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||$)?d("span","-"):m?d(m,{props:{type:"integer",immediate:!1,disabled:l||c,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){p.changeColumnWidth(o)}}}):renderEmptyElement(u)]):renderEmptyElement(v),h?d("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[a?d("span","-"):d("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||c||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||c||y}]},on:{change({label:e,$event:t}){p.changeFixedOption(o,e,t)}}})]):renderEmptyElement(v)]))}});o={default:()=>d("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-popup--body-wrapper"},S?v.callSlot(S,L,d):[d("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[k?d("div",{class:"vxe-table-custom-popup--table-top"},v.callSlot(k,L,d)):renderEmptyElement(v),d("div",{class:"vxe-table-custom-popup--table-wrapper"},[d("table",{},[d("colgroup",{},[g?d("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(v),d("col",{class:"vxe-table-custom-popup--table-col-title"}),b?d("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(v),h?d("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(v)]),d("thead",{},[d("tr",{},[g?d("th",{},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":U}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:p.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(v),d("th",{},getI18n("vxe.custom.setting.colTitle")),b?d("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(v),h?d("th",{},getI18n("vxe.custom.setting."+(f?"colFixedMax":"colFixed"),[f])):renderEmptyElement(v)])]),d("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},w)])]),A?d("div",{class:"vxe-table-custom-popup--table-bottom"},v.callSlot(A,L,d)):renderEmptyElement(v),renderDragTip(d,p)])]),footer:()=>B?v.callSlot(B,L,d):d("div",{class:"vxe-table-custom-popup--footer"},[d(l,{props:{content:c.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!i},on:{click:p.resetCustomEvent}}),x?d(l,{props:{content:c.resetButtonText||getI18n("vxe.table.customClose")},on:{click:p.cancelCloseEvent}}):d(l,{props:{content:c.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:p.cancelCustomEvent}}),x?renderEmptyElement(v):d(l,{props:{status:"primary",content:c.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:p.confirmCustomEvent}})])};return O&&(o.header=()=>v.callSlot(O,L,d)),"drawer"===F?t?d(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:r.visible,title:D.title||getI18n("vxe.custom.cstmTitle"),width:D.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:D.position,resize:!!D.resize,escClosable:!!D.escClosable,maskClosable:!!D.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u):e?d(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:r.visible,title:s.title||getI18n("vxe.custom.cstmTitle"),width:s.width||Math.min(880,document.documentElement.clientWidth),minWidth:s.minWidth||700,height:s.height||Math.min(680,document.documentElement.clientHeight),minHeight:s.minHeight||400,showZoom:s.showZoom,showMaximize:s.showMaximize,showMinimize:s.showMinimize,mask:s.mask,lockView:s.lockView,resize:s.resize,escClosable:!!s.escClosable,maskClosable:!!s.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragTipText:""},internalData:{}}},computed:{},created(){let t=this,l=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),r=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;l||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),o||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),a||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),r||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])})},render(e){var t=this.$xeTable.computeCustomOpts;return(["modal","drawer","popup"].includes(""+t.mode)?renderPopupPanel:renderSimplePanel)(e,this)},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,l=this.customStore;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let l=this.customStore;l.activeWrapper=!1,setTimeout(()=>{l.activeBtn||l.activeWrapper||t.customCloseEvent(e)},300)},getStoreData(){return{}},confirmCustomEvent({$event:e}){var t=this.$xeTable;t.isCustomStatus=!0,t.saveCustom(),t.closeCustom(),t.emitCustomEvent("confirm",e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.visible=e.children.every(e=>e.visible),e.halfVisible=!e.visible&&e.children.some(e=>e.visible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var l=this.$xeTable,o=l,s=l.computeCustomOpts;let a=!e.renderVisible;s.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=a,e.renderVisible=a,e.halfVisible=!1}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=a,e.halfVisible=!1}),this.handleOptionCheck(e),l.checkCustomStatus(),l.dispatchEvent("custom-visible-change",{column:e,checked:a},t)},changeColumnWidth(e){var t=this.$xeTable,l=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,l){var o=this.$xeTable,s=o,a=o.computeIsMaxFixedColumn;let r=null;o.computeCustomOpts.immediate?(e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:fixed")):e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==!r&&o.dispatchEvent("custom-fixed-change",{column:e,fixed:r},l)},allOptionEvent(e){var t=this.$xeTable,l=t.customStore,l=!l.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:l},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,l=t.dragCol,o=e.computeColumnDragOpts.tooltipMethod;let s="";s=o?""+(o({$table:e,column:l})||""):getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,l=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,o=e.getAttribute("colid"),t=t.getColumnById(o);e.draggable=!0,l.dragCol=t,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,(t.dragCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.internalData;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t.prevDragGroup=null,t.prevDragValues=null},sortDragendEvent(d){let u=this.$xeTable;var e=u;let m=u;var t=u,l=this.reactData,o=this.internalData;let p=e.mouseConfig,v=m.customColumnList,x=t.collectColumn,g=u.computeCustomOpts.immediate;e=d.currentTarget;let{isCrossDrag:h,isSelfToChildDrag:b,isToChildDrag:C,dragEndMethod:s}=u.computeColumnDragOpts;t=l.dragCol;let{prevDragCol:a,prevDragGroup:r,prevDragValues:i,prevDragPos:E,prevDragToChild:T}=o,f="bottom"===E?1:0;if(r||i)u.handlePivotTableAggregatePanelDragendEvent&&u.handlePivotTableAggregatePanelDragendEvent(d);else if(a&&t&&a!==t){let n=t,c=a;Promise.resolve(!s||s({oldColumn:n,newColumn:c,dragColumn:n,dragPos:E,dragToChild:!!T,offsetIndex:f})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(g){if(n.parentId&&c.parentId){if(!h)return;if(l[c.id]&&(o=!0,!h||!b))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!h)return}else if(c.parentId){if(!h)return;if(l[c.id]&&(o=!0,!h||!b))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,r,i,s=_xeUtils.default.findTree(x,e=>e.id===n.id),s=(o&&h&&b?s&&({items:a,index:i}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),a.splice(i,1,...r),n.children=[]):s&&({items:a,index:i,parent:r}=s,a.splice(i,1),r||(e=i)),_xeUtils.default.findTree(x,e=>e.id===c.id));s&&({items:a,index:r,parent:i}=s,h&&C&&T?(n.parentId=c.id,c.children=(c.children||[]).concat([n])):(n.parentId=c.parentId,a.splice(r+f,0,n)),i||(t=r)),_xeUtils.default.eachTree(x,(e,t,l,o,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(v,e=>e.id===n.id),v.splice(e,1),t=_xeUtils.default.findIndexOf(v,e=>e.id===c.id),v.splice(t+f,0,n);m.isDragColMove=!0,p&&(u.clearSelected&&u.clearSelected(),u.clearCellAreas)&&(u.clearCellAreas(),u.clearCopyCellArea()),u.dispatchEvent("column-dragend",{oldColumn:n,newColumn:c,dragColumn:n,dragPos:E,offsetIndex:f,_index:{newIndex:t,oldIndex:e}},d),g&&(m.customColumnList=x.slice(0),u.handleColDragSwapColumn())}}).catch(()=>{})}hideDropTip(this),l.dragCol=null,o.prevDragGroup=null,o.prevDragValues=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},sortDragoverEvent(e){var t=this,l=t.$xeTable,o=t.internalData,s=t.reactData.dragCol,a=l.computeCustomOpts.immediate,{isCrossDrag:r,isToChildDrag:i}=l.computeColumnDragOpts,n=e.currentTarget,c=(0,_dom.hasControlKey)(e),d=n.getAttribute("colid"),l=l.getColumnById(d);o.prevDragGroup=null,o.prevDragValues=null,l&&(r||1===l.level)&&(e.preventDefault(),d=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",s&&s.id===l.id||!r&&1<l.level||!a&&1<l.level||l.renderFixed?showDropTip(t,e,n,!1,d):(o.prevDragToChild=!!(r&&i&&c&&a),o.prevDragCol=l,showDropTip(t,e,n,!0,o.prevDragPos=d)))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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 showDropTip(e,t,l,o,s){var a,r,i,n=e.internalData,d=e.$refs.refBodyWrapperElem;d&&(i=e.$refs.refCustomBodyElem)&&(n=n.prevDragToChild,a=d.getBoundingClientRect(),i=i.getBoundingClientRect(),r=e.$refs.refDragLineElem,l?r&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.left=Math.max(0,i.x-a.x)+"px",r.style.top=Math.max(1,l.y+d.scrollTop-a.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",n?"y":"n")):r.style.display=""):r&&(r.style.display="node"),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(d.clientHeight+d.scrollTop-i.clientHeight,t.clientY+d.scrollTop-a.y)+"px",i.style.left=Math.min(d.clientWidth+d.scrollLeft-i.clientWidth,t.clientX+d.scrollLeft-a.x)+"px",i.setAttribute("drag-status",o?n?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}let renderDragTip=(e,t)=>{var l=t.$xeTable,t=t.reactData.dragTipText;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":l.computeColumnDragOpts.showGuidesStatus}]}),e("div",{ref:"refDragTipElem",class:"vxe-table-custom-popup--drag-tip"},[e("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[e("div",{class:"vxe-table-custom-popup--drag-tip-status"},[e("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(t||""))])])])},renderSimplePanel=(c,u)=>{let m=_ui.VxeUI.getComponent("VxeButton");let p=u.$xeTable;var e=p,t=p,l=p.$xeGrid,o=u.customStore,{treeConfig:e,rowGroupConfig:s,aggregateConfig:a}=e,{isCustomStatus:t,customColumnList:r}=t,i=p.computeCustomOpts;let g=i.immediate;var n=p.computeColumnDragOpts,d=o.maxHeight;let{checkMethod:v,visibleMethod:x,allowVisible:b,allowSort:h,allowFixed:C,trigger:E,placement:T}=i,f=p.computeIsMaxFixedColumn,_=n.isCrossDrag;var n=i.slots||{},I=n.header,D=n.top,y=n.bottom,O=n.default,n=n.footer;let A=[];var k={},S=o.isAll,F=o.isIndeterminate,l=("hover"===E&&(k.mouseenter=u.handleWrapperMouseenterEvent,k.mouseleave=u.handleWrapperMouseleaveEvent),{$table:p,$grid:l,columns:r,isAllChecked:S,isAllIndeterminate:F,isCustomStatus:t});return _xeUtils.default.eachTree(r,(l,e,t,o,s)=>{if(!x||x({$table:p,column:l})){var a=l.renderVisible,r=l.halfVisible,i=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:p,column:l});var d=!a;A.push(c("li",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||d,"is--group":i}],on:{dragstart:u.sortDragstartEvent,dragend:u.sortDragendEvent,dragover:u.sortDragoverEvent}},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":r,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||u.changeCheckboxOption(l,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),c("div",{class:"vxe-table-custom--name-option"},[h&&(_&&g||1===l.level)?c("div",{class:"vxe-table-custom--sort-option"},[c("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":t||d||l.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:t||d||l.renderFixed?{}:{mousedown:u.sortMousedownEvent,mouseup:u.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===l.type?c("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):c("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?c("div",{class:"vxe-table-custom--fixed-option"},[c(m,{props:{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{u.changeFixedOption(l,"left",e)}}}),c(m,{props:{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{u.changeFixedOption(l,"right",e)}}})]):renderEmptyElement(p)]))}}),c("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+T,{"is--active":o.visible}],style:d&&!["left","right"].includes(T||"")?{maxHeight:d+"px"}:{}},o.visible?[c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-simple--body-wrapper"},[!e&&(a||s)&&p.getPivotTableAggregateSimplePanel?c(p.getPivotTableAggregateSimplePanel(),{props:{customStore:o}}):renderEmptyElement(p),c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[c("div",{class:"vxe-table-custom--header"},I?p.callSlot(I,l,c):[c("ul",{class:"vxe-table-custom--panel-list"},[c("li",{class:"vxe-table-custom--option"},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":F}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:u.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):c("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),c("div",{class:"vxe-table-custom--body"},[D?c("div",{class:"vxe-table-custom--panel-top"},p.callSlot(D,l,c)):renderEmptyElement(p),O?c("div",{class:"vxe-table-custom--panel-body"},p.callSlot(O,l,c)):c("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:k},A),y?c("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(y,l,c)):renderEmptyElement(p)]),i.showFooter?c("div",{class:"vxe-table-custom--footer"},n?p.callSlot(n,l,c):[c("div",{class:"vxe-table-custom--footer-buttons"},[c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:u.resetCustomEvent}}),g?c(m,{props:{mode:"text",content:i.closeButtonText||getI18n("vxe.table.customClose")},on:{click:u.cancelCloseEvent}}):c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:u.cancelCustomEvent}}),g?renderEmptyElement(p):c(m,{props:{mode:"text",status:"primary",content:i.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:u.confirmCustomEvent}})])]):null]),renderDragTip(c,u)])]:[])},renderPopupPanel=(c,u)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),m=_ui.VxeUI.getComponent("VxeInput"),p=u,g=u.$xeTable;var o=g,s=g,a=g.$xeGrid;let r=u.customStore,{treeConfig:V,rowGroupConfig:$,aggregateConfig:M,resizable:R}=o,{isCustomStatus:i,customColumnList:n}=s,d=g.computeCustomOpts,v=d.immediate;o=g.computeColumnDragOpts;let{mode:H,modalOptions:P,drawerOptions:W,allowVisible:x,allowSort:G,allowFixed:b,allowResizable:h,checkMethod:C,visibleMethod:E}=d,T=g.computeColumnOpts,f=T.maxFixedSize,{minWidth:_,maxWidth:I}=g.computeResizableOpts;var s=Object.assign({},P),D=Object.assign({},W);let y=g.computeIsMaxFixedColumn,z=o.isCrossDrag;o=d.slots||{};let O=o.header,A=o.top,k=o.bottom,S=o.default,F=o.footer,B=[],w=r.isAll,U=r.isIndeterminate,L={$table:g,$grid:a,columns:n,isAllChecked:w,isAllIndeterminate:U,isCustomStatus:i};_xeUtils.default.eachTree(n,(o,s,e,t,a)=>{if(!E||E({$table:g,column:o})){let e=0,t=0;h&&(s={$table:g,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},_&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_)),I)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I));var s=o.renderVisible,r=o.halfVisible,i=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!C&&!C({$table:g,column:o});var d=!s;B.push(c("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:p.sortDragstartEvent,dragend:p.sortDragendEvent,dragover:p.sortDragoverEvent}},[x?c("td",{class:"vxe-table-custom-popup--column-item col--visible"},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{l||p.changeCheckboxOption(o,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(g),c("td",{class:"vxe-table-custom-popup--column-item col--name"},[c("div",{class:"vxe-table-custom-popup--name"},[G?z&&v||1===o.level?c("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||d||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||d||o.renderFixed?{}:{mousedown:p.sortMousedownEvent,mouseup:p.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})]):c("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(g),"html"===o.type?c("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:i}}):c("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:i}},i)])]),h?c("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?c("span","-"):m?c(m,{props:{type:"integer",immediate:!1,disabled:l||d,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){p.changeColumnWidth(o)}}}):renderEmptyElement(u)]):renderEmptyElement(g),b?c("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[a?c("span","-"):c("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||d,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||d||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||d},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||d||y}]},on:{change({label:e,$event:t}){p.changeFixedOption(o,e,t)}}})]):renderEmptyElement(g)]))}});o={default:()=>c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-popup--body-wrapper"},S?g.callSlot(S,L,c):[c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[A?c("div",{class:"vxe-table-custom-popup--table-top"},g.callSlot(A,L,c)):renderEmptyElement(g),c("div",{class:"vxe-table-custom-popup--table-wrapper"},[c("table",{},[c("colgroup",{},[x?c("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(g),c("col",{class:"vxe-table-custom-popup--table-col-title"}),h?c("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(g),b?c("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(g)]),c("thead",{},[c("tr",{},[x?c("th",{},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":w,"is--indeterminate":U}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:p.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:w?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(g),c("th",{},getI18n("vxe.custom.setting.colTitle")),h?c("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(g),b?c("th",{},getI18n("vxe.custom.setting."+(f?"colFixedMax":"colFixed"),[f])):renderEmptyElement(g)])]),c("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},B)])]),k?c("div",{class:"vxe-table-custom-popup--table-bottom"},g.callSlot(k,L,c)):renderEmptyElement(g),renderDragTip(c,p)]),!V&&(M||$)&&g.getPivotTableAggregatePopupPanel?c(g.getPivotTableAggregatePopupPanel(),{props:{customStore:r}}):renderEmptyElement(g)]),footer:()=>F?g.callSlot(F,L,c):c("div",{class:"vxe-table-custom-popup--footer"},[c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!i},on:{click:p.resetCustomEvent}}),v?c(l,{props:{content:d.resetButtonText||getI18n("vxe.table.customClose")},on:{click:p.cancelCloseEvent}}):c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:p.cancelCustomEvent}}),v?renderEmptyElement(g):c(l,{props:{status:"primary",content:d.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:p.confirmCustomEvent}})])};return O&&(o.header=()=>g.callSlot(O,L,c)),"drawer"===H?t?c(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:r.visible,title:D.title||getI18n("vxe.custom.cstmTitle"),width:D.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:D.position,resize:!!D.resize,escClosable:!!D.escClosable,maskClosable:!!D.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u):e?c(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:r.visible,title:s.title||getI18n("vxe.custom.cstmTitle"),width:s.width||Math.min(880,document.documentElement.clientWidth),minWidth:s.minWidth||700,height:s.height||Math.min(680,document.documentElement.clientHeight),minHeight:s.minHeight||400,showZoom:s.showZoom,showMaximize:s.showMaximize,showMinimize:s.showMinimize,mask:s.mask,lockView:s.lockView,resize:s.resize,escClosable:!!s.escClosable,maskClosable:!!s.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""},internalData:{}}},computed:{},created(){let t=this,l=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),r=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;l||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),o||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),a||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),r||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])})},render(e){var t=this.$xeTable.computeCustomOpts;return(["modal","drawer","popup"].includes(""+t.mode)?renderPopupPanel:renderSimplePanel)(e,this)},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,l=this.customStore;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let l=this.customStore;l.activeWrapper=!1,setTimeout(()=>{l.activeBtn||l.activeWrapper||t.customCloseEvent(e)},300)},getStoreData(){return{}},confirmCustomEvent({$event:e}){var t=this.$xeTable;t.isCustomStatus=!0,t.saveCustom(),t.closeCustom(),t.emitCustomEvent("confirm",e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.visible=e.children.every(e=>e.visible),e.halfVisible=!e.visible&&e.children.some(e=>e.visible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var l=this.$xeTable,o=l,s=l.computeCustomOpts;let a=!e.renderVisible;s.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=a,e.renderVisible=a,e.halfVisible=!1}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=a,e.halfVisible=!1}),this.handleOptionCheck(e),l.checkCustomStatus(),l.dispatchEvent("custom-visible-change",{column:e,checked:a},t)},changeColumnWidth(e){var t=this.$xeTable,l=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,l){var o=this.$xeTable,s=o,a=o.computeIsMaxFixedColumn;let r=null;o.computeCustomOpts.immediate?(e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:fixed")):e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==!r&&o.dispatchEvent("custom-fixed-change",{column:e,fixed:r},l)},allOptionEvent(e){var t=this.$xeTable,l=t.customStore,l=!l.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:l},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,l=t.dragCol,o=e.computeColumnDragOpts.tooltipMethod;let s="";s=o?""+(o({$table:e,column:l})||""):getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,l=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,o=e.getAttribute("colid"),t=t.getColumnById(o);e.draggable=!0,l.dragCol=t,l.dragGroupField=null,l.dragAggFnCol=null,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,t.dragCol=null,t.dragGroupField=null,(t.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.internalData;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t.prevDragGroupField=null,t.prevDragAggFnColid=null},sortDragendEvent(c){let u=this.$xeTable;var e=u;let m=u;var t=u,l=this.reactData,o=this.internalData;let p=e.mouseConfig,g=m.customColumnList,v=t.collectColumn,x=u.computeCustomOpts.immediate;e=c.currentTarget;let{isCrossDrag:b,isSelfToChildDrag:h,isToChildDrag:C,dragEndMethod:s}=u.computeColumnDragOpts;t=l.dragCol;let{prevDragCol:a,prevDragGroupField:r,prevDragAggFnColid:i,prevDragPos:E,prevDragToChild:T}=o,f="bottom"===E?1:0;if(r||i)u.handlePivotTableAggregatePanelDragendEvent&&u.handlePivotTableAggregatePanelDragendEvent(c);else if(a&&t&&a!==t){let n=t,d=a;Promise.resolve(!s||s({oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,dragToChild:!!T,offsetIndex:f})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(x){if(n.parentId&&d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!b)return}else if(d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,r,i,s=_xeUtils.default.findTree(v,e=>e.id===n.id),s=(o&&b&&h?s&&({items:a,index:i}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),a.splice(i,1,...r),n.children=[]):s&&({items:a,index:i,parent:r}=s,a.splice(i,1),r||(e=i)),_xeUtils.default.findTree(v,e=>e.id===d.id));s&&({items:a,index:r,parent:i}=s,b&&C&&T?(n.parentId=d.id,d.children=(d.children||[]).concat([n])):(n.parentId=d.parentId,a.splice(r+f,0,n)),i||(t=r)),_xeUtils.default.eachTree(v,(e,t,l,o,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(g,e=>e.id===n.id),g.splice(e,1),t=_xeUtils.default.findIndexOf(g,e=>e.id===d.id),g.splice(t+f,0,n);m.isDragColMove=!0,p&&(u.clearSelected&&u.clearSelected(),u.clearCellAreas)&&(u.clearCellAreas(),u.clearCopyCellArea()),u.dispatchEvent("column-dragend",{oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,offsetIndex:f,_index:{newIndex:t,oldIndex:e}},c),x&&(m.customColumnList=v.slice(0),u.handleColDragSwapColumn())}}).catch(()=>{})}hideDropTip(this),l.dragCol=null,l.dragGroupField=null,l.dragAggFnCol=null,o.prevDragGroupField=null,o.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},sortDragoverEvent(e){var t=this,l=t.$xeTable,o=t.internalData,s=t.reactData.dragCol,a=l.computeCustomOpts.immediate,{isCrossDrag:r,isToChildDrag:i}=l.computeColumnDragOpts,n=e.currentTarget,d=(0,_dom.hasControlKey)(e),c=n.getAttribute("colid"),l=l.getColumnById(c);o.prevDragGroupField=null,o.prevDragAggFnColid=null,l&&(r||1===l.level)&&(e.preventDefault(),c=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!s||s.id===l.id||!r&&1<l.level||!a&&1<l.level||l.renderFixed?showDropTip(t,e,n,!1,c):(o.prevDragToChild=!!(r&&i&&d&&a),o.prevDragCol=l,showDropTip(t,e,n,!0,o.prevDragPos=c)))}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -283,6 +283,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
283
283
|
$xeTable.triggerCellDblclickEvent(evnt, cellParams);
|
|
284
284
|
};
|
|
285
285
|
let isMergeCell = false;
|
|
286
|
+
let mergeColspan = 1;
|
|
286
287
|
let mergeRowspan = 1;
|
|
287
288
|
// 合并行或列
|
|
288
289
|
if (mergeBodyFlag && mergeBodyList.length) {
|
|
@@ -302,6 +303,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
302
303
|
}
|
|
303
304
|
if (colspan > 1) {
|
|
304
305
|
isMergeCell = true;
|
|
306
|
+
mergeColspan = colspan;
|
|
305
307
|
tdAttrs.colspan = colspan;
|
|
306
308
|
}
|
|
307
309
|
}
|
|
@@ -321,6 +323,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
321
323
|
}
|
|
322
324
|
if (colspan > 1) {
|
|
323
325
|
isMergeCell = true;
|
|
326
|
+
mergeColspan = colspan;
|
|
324
327
|
tdAttrs.colspan = colspan;
|
|
325
328
|
}
|
|
326
329
|
}
|
|
@@ -359,16 +362,16 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
359
362
|
}
|
|
360
363
|
const tcStyle = {};
|
|
361
364
|
if (hasEllipsis && resizeWidthFlag) {
|
|
362
|
-
let
|
|
363
|
-
if (
|
|
364
|
-
for (let index = 1; index <
|
|
365
|
+
let mergeColWidth = 0;
|
|
366
|
+
if (mergeColspan > 1) {
|
|
367
|
+
for (let index = 1; index < mergeColspan; index++) {
|
|
365
368
|
const nextColumn = visibleColumn[columnIndex + index];
|
|
366
369
|
if (nextColumn) {
|
|
367
|
-
|
|
370
|
+
mergeColWidth += nextColumn.renderWidth;
|
|
368
371
|
}
|
|
369
372
|
}
|
|
370
373
|
}
|
|
371
|
-
tcStyle.width = `${column.renderWidth - cellOffsetWidth
|
|
374
|
+
tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`;
|
|
372
375
|
}
|
|
373
376
|
if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
374
377
|
tcStyle.height = `${cellHeight}px`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,o){var{row:a,column:i}=r,s=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:i,treeNode:c}=i,p=l.fullAllDataRowIdData;if(i&&i.line)return l.callSlot(i.line,r,e);i=p[t];let u=0,g=null;return i&&(u=i.level,g=i.items[i.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(s[0],a)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(o/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,q,H,o,F,L,a,i,U,N,s){var d=l.$xeGrid,{columnKey:V,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:j,cellStyle:G,align:P,spanMethod:Y,mouseConfig:K,editConfig:J,editRules:u,tooltipConfig:g,padding:x}=l,{tableData:Q,dragRow:Z,overflowX:ee,currentColumn:le,scrollXLoad:te,scrollYLoad:re,mergeBodyFlag:oe,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:ae,editStore:ie,isAllOverflow:se,validErrorMaps:w}=l,{fullAllDataRowIdData:de,fullColumnIdData:f,mergeBodyCellMaps:ne,visibleColumn:ce,afterFullData:pe,mergeBodyList:ue,scrollXStore:ge,scrollYStore:xe}=l,h=l.computeCellOpts,y=l.computeValidOpts,me=l.computeCheckboxOpts,ve=l.computeEditOpts,b=l.computeTooltipOpts,we=l.computeVirtualXOpts,fe=l.computeVirtualYOpts,{isAllColumnDrag:he,isAllRowDrag:ye}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,be=l.computeDefaultRowHeight,m=m?h.height||C.height:0,{disabledMethod:R,isCrossDrag:Ce,isPeerDrag:_e}=_,Re=l.computeColumnOpts,Ee=l.computeMouseOpts,Se=l.computeCellOffsetWidth,De=l.computeAreaOpts.selectCellToRow,{type:Oe,cellRender:Ie,editRender:$e,align:Te,showOverflow:ke,className:Be,treeNode:Me,rowResize:ze,padding:E,verticalAlign:S,slots:Ae}=i,D=h.verticalAlign,ie=ie.actived,qe=de[t]||{},O=i.id,f=f[O]||{},I=$e||Ie,I=I?renderer.get(I.name):null,He=I?I.tableCellClassName||I.cellClassName:null,Fe=I?I.tableCellStyle||I.cellStyle:"";let Le=b.showAll;var Ue=f.index,b=f._index,f=(0,_utils.isEnableConf)($e),v=v?qe.resizeHeight:0;let $=r?i.fixed!==r:i.fixed&ⅇee=_xeUtils.default.eqNull(E)?null===x?h.padding:x:E,x=_xeUtils.default.eqNull(ke)?c:ke,E="ellipsis"===x;let T="title"===x,k=!0===x||"tooltip"===x;c=se||T||k||E,ke=_xeUtils.default.isBoolean(i.resizable)?i.resizable:Re.resizable||n,x=!!m,n=0<v;let Ne;m={},v=Te||(I?I.tableCellAlign:"")||P,Te=_xeUtils.default.eqNull(S)?D:S,I=w[t+":"+O],P=u&&y.showMessage&&("default"===y.message?p||1<Q.length:"inline"===y.message),D={colid:O};let B={$table:l,$grid:d,isEdit:!1,seq:A,rowid:t,row:o,rowIndex:F,$rowIndex:L,_rowIndex:a,column:i,columnIndex:Ue,$columnIndex:U,_columnIndex:b,fixed:r,type:renderType,isHidden:!!$,level:H,visibleData:pe,data:Q,items:s},M=!1,Ve=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Ve=!(!R||!R(B))),(T||k||Le||g)&&(m.mouseenter=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Le)&&l.triggerBodyTooltipEvent(e,B),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e))}),(k||Le||g)&&(m.mouseleave=e=>{isVMScrollProcess(l)||((k||Le)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e))}),(M||me.range||K)&&(m.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(m.mouseup=l.triggerCellMouseupEvent),m.click=e=>{l.triggerCellClickEvent(e,B)},!(m.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),We=1;if(oe&&ue.length){S=ne[a+":"+b];if(S){var{rowspan:w,colspan:u}=S;if(!w||!u)return null;1<w&&(z=!0,We=w,D.rowspan=w),1<u&&(z=!0,D.colspan=u)}}else if(Y){var{rowspan:p=1,colspan:d=1}=Y(B)||{};if(!p||!d)return null;1<p&&(z=!0,We=p,D.rowspan=p),1<d&&(z=!0,D.colspan=d)}!($=$&&z&&(1<D.colspan||1<D.rowspan)?!1:$)&&J&&($e||Ie)&&(ve.showStatus||ve.showUpdateStatus)&&(Ne=l.isUpdateByRow(o,i.field));A=re&&!c;let Xe=(0,_util.getCellRestHeight)(qe,h,C,be);F=U===N.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let je=!1;z||Z&&(0,_util.getRowid)(l,Z)===t||(re&&!X&&!fe.immediate&&(a<xe.visibleStartIndex-xe.preloadSize||a>xe.visibleEndIndex+xe.preloadSize)||te&&!we.immediate&&!i.fixed&&(b<ge.visibleStartIndex-ge.preloadSize||b>ge.visibleEndIndex+ge.preloadSize))&&(je=!0),1<We&&(Q=pe[a+We-1])&&(s=de[(0,_util.getRowid)(l,Q)])&&(Xe+=s.oTop+(0,_util.getCellRestHeight)(s,h,C,be)-qe.oTop-(0,_util.getCellRestHeight)(qe,h,C,be));_={};if(c&&ae){let l=D.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ge=ce[Ue+e];Ge&&(l+=Ge.renderWidth)}_.width=i.renderWidth-Se*l+"px"}re||c||x||n?_.height=Xe+"px":_.minHeight=Xe+"px";R=[];$&&se?R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":E}],style:_})):(X&&R.push(...renderLine(e,l,t,B,Xe)),R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":E}],style:_,attrs:{title:T?l.getCellLabel(o,i):null}},je?[]:[e("div",{attrs:{colid:O,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,B))])),P&&I&&(g=I.rule,me=Ae?Ae.valid:null,oe=Object.assign(Object.assign(Object.assign({},B),I),{rule:I}),R.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(y.className,I)],style:g&&g.maxWidth?{width:g.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(y.theme||"normal")},[me?l.callSlot(me,oe,e):[e("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Pe=!1;return K&&Ee.area&&De&&((b||!0!==De)&&De!==i.field||(Pe=!0)),!$&&ke&&he&&R.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(ze||ye)&&C.resizable&&R.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-body--column",O,Te?"col--vertical-"+Te:"",v?"col--"+v:"",Oe?"col--"+Oe:"",{"col--last":F,"col--tree-node":Me,"col--edit":f,"col--ellipsis":c,"col--cs-height":x,"col--rs-height":n,"col--to-row":Pe,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":$,"is--padding":ee,"is--progress":$&&se||je,"is--drag-cell":M&&(Ce||_e||!H),"is--drag-disabled":Ve,"col--dirty":Ne,"col--active":J&&f&&ie.row===o&&(ie.column===i||"row"===ve.mode),"col--valid-error":!!I,"col--current":le===i},(0,_utils.getClass)(He,B),(0,_utils.getClass)(Be,B),(0,_utils.getClass)(j,B)],key:V||te||re||Re.useKey||C.useKey||Re.drag?i.id:U,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(Fe)?Fe(B):Fe,_xeUtils.default.isFunction(G)?G(B):G),on:m},q&&$?[]:R)}function renderRows(v,w,f,h,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,{stripe:R,rowKey:E,highlightHoverRow:S,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:k,isColLoading:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:q,expandColumn:H,selectRadioRow:F,pendingRowFlag:L,isDragColMove:U,rowExpandHeightFlag:Y,isRowGroupStatus:N}=l,{fullAllDataRowIdData:K,fullColumnIdData:J,treeExpandedMaps:Q,pendingRowMaps:Z,rowExpandedMaps:ee}=t,le=C.computeCheckboxOpts,te=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,re=C.computeColumnDragOpts,{transform:G,seqMode:oe}=V,ae=V.children||V.childrenField,P=[],ie=(0,_util.createHandleGetRowId)(C).handleGetRowId,se=$||N;return y.forEach((r,o)=>{var a={};let i=ie(r);var s=K[i]||{};let d=o,n=0,c=-1,p=-1;var u=N&&r.isAggregate,g=((X.isHover||S)&&(a.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},a.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(n=s.level,c=u||$&&G&&"increasing"===oe?s._index+1:s.seq,d=s.index,p=s._index),{$table:C,seq:c,rowid:i,fixed:f,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:o,_rowIndex:p}),x=H&&!!q&&!!ee[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!$||z||G||(l=r[ae],e=!!k&&l&&0<l.length&&!!Q[i]),!X.drag||N||$&&!G||(a.dragstart=C.handleRowDragDragstartEvent,a.dragend=C.handleRowDragDragendEvent,a.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",se?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(W.showStatus||W.showInsertStatus),"row--radio":te.highlight&&F===r,"row--checked":le.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Z[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,f,h,n,r,d,o,p,e,l,b,y));if(P.push(!B&&j.drag&&re.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||$?i:o,nativeOn:a},m):v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||$?i:o,on:a},m)),x){var{height:u,padding:g,mode:a}=C.computeExpandOpts;if("fixed"===a)P.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${Y?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),$&&(m.paddingLeft=n*V.indent+30+"px"),H||{}).showOverflow,a=H.id,s=J[a]||{},a=_xeUtils.default.eqNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,seq:c,column:H,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:f,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:o,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};P.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":f&&!T,"col--ellipsis":a}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[H.renderData(v,x)])])]))}}e&&P.push(...renderRows(v,w,f,h,l,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.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},render(t){let l=this.$parent;var e=l,r=l,o=l,a=l.$xeGrid,i=l.$scopedSlots,s=l.xID;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:m,isColLoading:v,overflowX:w,scrollXLoad:f,scrollYLoad:h,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:o,fullAllDataRowIdData:E,fullColumnIdData:S}=o,D=l.computeRowOpts,O=l.computeEmptyOpts,I=l.computeMouseOpts,$=l.computeRowDragOpts,T=l.computeExpandOpts;let k=x,B=c,M=!1;!(f||h||y)||C&&"fixed"!==T.mode||p||u||(M=!0),v||!n&&w||(B=o),n&&M&&(B=d||[]),h&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],T=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,T)],p)&&u&&(w=p._index,o=u._index,y<w?k=[_].concat(k):o<y&&(k=k.concat([_]))),n||r||f&&R&&2<B.length&&(h=S[R.id])&&(x=h._index,C=B[0],E=B[B.length-1],T=S[C.id],p=S[E.id],T)&&p&&(u=T._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;o=i?i.empty:null,y={$table:l,$grid:a},z=o?o.call(l,y):(r=(_=O.name?renderer.get(O.name):null)?_.renderTableEmpty||_.renderTableEmptyView||_.renderEmpty:null)?(0,_vn.getSlotVNs)(r.call(l,t,O,y)):e.emptyText||getI18n("vxe.table.emptyText"),f={scroll(e){l.triggerBodyScrollEvent(e,n)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:f},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!m&&!v&&D.drag&&$.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&I.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},I.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,o){var{row:a,column:i}=r,s=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:i,treeNode:c}=i,p=l.fullAllDataRowIdData;if(i&&i.line)return l.callSlot(i.line,r,e);i=p[t];let u=0,g=null;return i&&(u=i.level,g=i.items[i.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(s[0],a)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(o/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,q,H,o,F,L,a,i,U,N,s){var d=l.$xeGrid,{columnKey:V,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:j,cellStyle:G,align:P,spanMethod:Y,mouseConfig:K,editConfig:J,editRules:u,tooltipConfig:g,padding:x}=l,{tableData:Q,dragRow:Z,overflowX:ee,currentColumn:le,scrollXLoad:te,scrollYLoad:re,mergeBodyFlag:oe,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:ae,editStore:ie,isAllOverflow:se,validErrorMaps:w}=l,{fullAllDataRowIdData:de,fullColumnIdData:f,mergeBodyCellMaps:ne,visibleColumn:ce,afterFullData:pe,mergeBodyList:ue,scrollXStore:ge,scrollYStore:xe}=l,h=l.computeCellOpts,y=l.computeValidOpts,me=l.computeCheckboxOpts,ve=l.computeEditOpts,b=l.computeTooltipOpts,we=l.computeVirtualXOpts,fe=l.computeVirtualYOpts,{isAllColumnDrag:he,isAllRowDrag:ye}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,be=l.computeDefaultRowHeight,m=m?h.height||C.height:0,{disabledMethod:R,isCrossDrag:Ce,isPeerDrag:_e}=_,Re=l.computeColumnOpts,Ee=l.computeMouseOpts,Se=l.computeCellOffsetWidth,De=l.computeAreaOpts.selectCellToRow,{type:Oe,cellRender:Ie,editRender:$e,align:Te,showOverflow:ke,className:Be,treeNode:Me,rowResize:ze,padding:E,verticalAlign:S,slots:Ae}=i,D=h.verticalAlign,ie=ie.actived,qe=de[t]||{},O=i.id,f=f[O]||{},I=$e||Ie,I=I?renderer.get(I.name):null,He=I?I.tableCellClassName||I.cellClassName:null,Fe=I?I.tableCellStyle||I.cellStyle:"";let Le=b.showAll;var Ue=f.index,b=f._index,f=(0,_utils.isEnableConf)($e),v=v?qe.resizeHeight:0;let $=r?i.fixed!==r:i.fixed&ⅇee=_xeUtils.default.eqNull(E)?null===x?h.padding:x:E,x=_xeUtils.default.eqNull(ke)?c:ke,E="ellipsis"===x;let T="title"===x,k=!0===x||"tooltip"===x;c=se||T||k||E,ke=_xeUtils.default.isBoolean(i.resizable)?i.resizable:Re.resizable||n,x=!!m,n=0<v;let Ne;m={},v=Te||(I?I.tableCellAlign:"")||P,Te=_xeUtils.default.eqNull(S)?D:S,I=w[t+":"+O],P=u&&y.showMessage&&("default"===y.message?p||1<Q.length:"inline"===y.message),D={colid:O};let B={$table:l,$grid:d,isEdit:!1,seq:A,rowid:t,row:o,rowIndex:F,$rowIndex:L,_rowIndex:a,column:i,columnIndex:Ue,$columnIndex:U,_columnIndex:b,fixed:r,type:renderType,isHidden:!!$,level:H,visibleData:pe,data:Q,items:s},M=!1,Ve=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Ve=!(!R||!R(B))),(T||k||Le||g)&&(m.mouseenter=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Le)&&l.triggerBodyTooltipEvent(e,B),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e))}),(k||Le||g)&&(m.mouseleave=e=>{isVMScrollProcess(l)||((k||Le)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e))}),(M||me.range||K)&&(m.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(m.mouseup=l.triggerCellMouseupEvent),m.click=e=>{l.triggerCellClickEvent(e,B)},!(m.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),We=1,Xe=1;if(oe&&ue.length){S=ne[a+":"+b];if(S){var{rowspan:w,colspan:u}=S;if(!w||!u)return null;1<w&&(z=!0,Xe=w,D.rowspan=w),1<u&&(z=!0,We=u,D.colspan=u)}}else if(Y){var{rowspan:p=1,colspan:d=1}=Y(B)||{};if(!p||!d)return null;1<p&&(z=!0,Xe=p,D.rowspan=p),1<d&&(z=!0,We=d,D.colspan=d)}!($=$&&z&&(1<D.colspan||1<D.rowspan)?!1:$)&&J&&($e||Ie)&&(ve.showStatus||ve.showUpdateStatus)&&(Ne=l.isUpdateByRow(o,i.field));A=re&&!c;let je=(0,_util.getCellRestHeight)(qe,h,C,be);F=U===N.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ge=!1;z||Z&&(0,_util.getRowid)(l,Z)===t||(re&&!X&&!fe.immediate&&(a<xe.visibleStartIndex-xe.preloadSize||a>xe.visibleEndIndex+xe.preloadSize)||te&&!we.immediate&&!i.fixed&&(b<ge.visibleStartIndex-ge.preloadSize||b>ge.visibleEndIndex+ge.preloadSize))&&(Ge=!0),1<Xe&&(Q=pe[a+Xe-1])&&(s=de[(0,_util.getRowid)(l,Q)])&&(je+=s.oTop+(0,_util.getCellRestHeight)(s,h,C,be)-qe.oTop-(0,_util.getCellRestHeight)(qe,h,C,be));_={};if(c&&ae){let l=0;if(1<We)for(let e=1;e<We;e++){var Pe=ce[Ue+e];Pe&&(l+=Pe.renderWidth)}_.width=i.renderWidth+l-Se+"px"}re||c||x||n?_.height=je+"px":_.minHeight=je+"px";R=[];$&&se?R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":E}],style:_})):(X&&R.push(...renderLine(e,l,t,B,je)),R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":E}],style:_,attrs:{title:T?l.getCellLabel(o,i):null}},Ge?[]:[e("div",{attrs:{colid:O,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,B))])),P&&I&&(g=I.rule,me=Ae?Ae.valid:null,oe=Object.assign(Object.assign(Object.assign({},B),I),{rule:I}),R.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(y.className,I)],style:g&&g.maxWidth?{width:g.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(y.theme||"normal")},[me?l.callSlot(me,oe,e):[e("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Ye=!1;return K&&Ee.area&&De&&((b||!0!==De)&&De!==i.field||(Ye=!0)),!$&&ke&&he&&R.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(ze||ye)&&C.resizable&&R.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-body--column",O,Te?"col--vertical-"+Te:"",v?"col--"+v:"",Oe?"col--"+Oe:"",{"col--last":F,"col--tree-node":Me,"col--edit":f,"col--ellipsis":c,"col--cs-height":x,"col--rs-height":n,"col--to-row":Ye,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":$,"is--padding":ee,"is--progress":$&&se||Ge,"is--drag-cell":M&&(Ce||_e||!H),"is--drag-disabled":Ve,"col--dirty":Ne,"col--active":J&&f&&ie.row===o&&(ie.column===i||"row"===ve.mode),"col--valid-error":!!I,"col--current":le===i},(0,_utils.getClass)(He,B),(0,_utils.getClass)(Be,B),(0,_utils.getClass)(j,B)],key:V||te||re||Re.useKey||C.useKey||Re.drag?i.id:U,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(Fe)?Fe(B):Fe,_xeUtils.default.isFunction(G)?G(B):G),on:m},q&&$?[]:R)}function renderRows(v,w,f,h,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,{stripe:R,rowKey:E,highlightHoverRow:S,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:k,isColLoading:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:q,expandColumn:H,selectRadioRow:F,pendingRowFlag:L,isDragColMove:U,rowExpandHeightFlag:Y,isRowGroupStatus:N}=l,{fullAllDataRowIdData:K,fullColumnIdData:J,treeExpandedMaps:Q,pendingRowMaps:Z,rowExpandedMaps:ee}=t,le=C.computeCheckboxOpts,te=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,re=C.computeColumnDragOpts,{transform:G,seqMode:oe}=V,ae=V.children||V.childrenField,P=[],ie=(0,_util.createHandleGetRowId)(C).handleGetRowId,se=$||N;return y.forEach((r,o)=>{var a={};let i=ie(r);var s=K[i]||{};let d=o,n=0,c=-1,p=-1;var u=N&&r.isAggregate,g=((X.isHover||S)&&(a.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},a.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(n=s.level,c=u||$&&G&&"increasing"===oe?s._index+1:s.seq,d=s.index,p=s._index),{$table:C,seq:c,rowid:i,fixed:f,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:o,_rowIndex:p}),x=H&&!!q&&!!ee[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!$||z||G||(l=r[ae],e=!!k&&l&&0<l.length&&!!Q[i]),!X.drag||N||$&&!G||(a.dragstart=C.handleRowDragDragstartEvent,a.dragend=C.handleRowDragDragendEvent,a.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",se?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(W.showStatus||W.showInsertStatus),"row--radio":te.highlight&&F===r,"row--checked":le.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Z[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,f,h,n,r,d,o,p,e,l,b,y));if(P.push(!B&&j.drag&&re.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||$?i:o,nativeOn:a},m):v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||$?i:o,on:a},m)),x){var{height:u,padding:g,mode:a}=C.computeExpandOpts;if("fixed"===a)P.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${Y?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),$&&(m.paddingLeft=n*V.indent+30+"px"),H||{}).showOverflow,a=H.id,s=J[a]||{},a=_xeUtils.default.eqNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,seq:c,column:H,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:f,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:o,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};P.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":f&&!T,"col--ellipsis":a}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[H.renderData(v,x)])])]))}}e&&P.push(...renderRows(v,w,f,h,l,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.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},render(t){let l=this.$parent;var e=l,r=l,o=l,a=l.$xeGrid,i=l.$scopedSlots,s=l.xID;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:m,isColLoading:v,overflowX:w,scrollXLoad:f,scrollYLoad:h,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:o,fullAllDataRowIdData:E,fullColumnIdData:S}=o,D=l.computeRowOpts,O=l.computeEmptyOpts,I=l.computeMouseOpts,$=l.computeRowDragOpts,T=l.computeExpandOpts;let k=x,B=c,M=!1;!(f||h||y)||C&&"fixed"!==T.mode||p||u||(M=!0),v||!n&&w||(B=o),n&&M&&(B=d||[]),h&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],T=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,T)],p)&&u&&(w=p._index,o=u._index,y<w?k=[_].concat(k):o<y&&(k=k.concat([_]))),n||r||f&&R&&2<B.length&&(h=S[R.id])&&(x=h._index,C=B[0],E=B[B.length-1],T=S[C.id],p=S[E.id],T)&&p&&(u=T._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;o=i?i.empty:null,y={$table:l,$grid:a},z=o?o.call(l,y):(r=(_=O.name?renderer.get(O.name):null)?_.renderTableEmpty||_.renderTableEmptyView||_.renderEmpty:null)?(0,_vn.getSlotVNs)(r.call(l,t,O,y)):e.emptyText||getI18n("vxe.table.emptyText"),f={scroll(e){l.triggerBodyScrollEvent(e,n)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:f},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!m&&!v&&D.drag&&$.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&I.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},I.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
package/lib/table/src/cell.js
CHANGED
|
@@ -187,13 +187,25 @@ function renderHeaderCellBaseVNs(h, params, content) {
|
|
|
187
187
|
const vns = [renderTitlePrefixIcon(h, params), renderHeaderCellDragIcon(h, params), ...(_xeUtils.default.isArray(content) ? content : [content]), renderTitleSuffixIcon(h, params)];
|
|
188
188
|
return vns;
|
|
189
189
|
}
|
|
190
|
+
function getRenderDefaultColumnTitle(h, column, content) {
|
|
191
|
+
if (column.type === 'html' && _xeUtils.default.isString(content)) {
|
|
192
|
+
return h('span', {
|
|
193
|
+
key: 'ch',
|
|
194
|
+
domProps: {
|
|
195
|
+
innerHTML: content
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return h('span', {
|
|
200
|
+
key: 'ct'
|
|
201
|
+
}, (0, _vn.getSlotVNs)(content));
|
|
202
|
+
}
|
|
190
203
|
function renderTitleContent(h, params, content) {
|
|
191
204
|
const {
|
|
192
205
|
$table,
|
|
193
206
|
column
|
|
194
207
|
} = params;
|
|
195
208
|
const {
|
|
196
|
-
type,
|
|
197
209
|
showHeaderOverflow
|
|
198
210
|
} = column;
|
|
199
211
|
const tableProps = $table;
|
|
@@ -201,6 +213,9 @@ function renderTitleContent(h, params, content) {
|
|
|
201
213
|
const {
|
|
202
214
|
showHeaderOverflow: allColumnHeaderOverflow
|
|
203
215
|
} = tableProps;
|
|
216
|
+
const {
|
|
217
|
+
isRowGroupStatus
|
|
218
|
+
} = tableReactData;
|
|
204
219
|
const tooltipOpts = $table.computeTooltipOpts;
|
|
205
220
|
const showAllTip = tooltipOpts.showAll;
|
|
206
221
|
const headOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
@@ -229,16 +244,10 @@ function renderTitleContent(h, params, content) {
|
|
|
229
244
|
}
|
|
230
245
|
};
|
|
231
246
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
},
|
|
237
|
-
on: ons
|
|
238
|
-
}) : h('span', {
|
|
239
|
-
class: 'vxe-cell--title',
|
|
240
|
-
on: ons
|
|
241
|
-
}, (0, _vn.getSlotVNs)(content))];
|
|
247
|
+
const titleVN = getRenderDefaultColumnTitle(h, column, content);
|
|
248
|
+
return [h('span', Object.assign({
|
|
249
|
+
class: 'vxe-cell--title'
|
|
250
|
+
}, ons), isRowGroupStatus && column.aggFunc && $table.getPivotTableAggregateRenderColTitles ? $table.getPivotTableAggregateRenderColTitles(h, column, titleVN) : [titleVN])];
|
|
242
251
|
}
|
|
243
252
|
function getFooterContent(h, params) {
|
|
244
253
|
const {
|