vxe-table 4.19.20 → 4.19.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +71 -36
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +8 -0
- package/es/locale/lang/de-DE.js +8 -0
- package/es/locale/lang/en-US.js +9 -1
- package/es/locale/lang/es-ES.js +8 -0
- package/es/locale/lang/fr-FR.js +8 -0
- package/es/locale/lang/hu-HU.js +8 -0
- package/es/locale/lang/hy-AM.js +8 -0
- package/es/locale/lang/id-ID.js +8 -0
- package/es/locale/lang/it-IT.js +8 -0
- package/es/locale/lang/ja-JP.js +8 -0
- package/es/locale/lang/ko-KR.js +8 -0
- package/es/locale/lang/ms-MY.js +8 -0
- package/es/locale/lang/nb-NO.js +8 -0
- package/es/locale/lang/pt-BR.js +8 -0
- package/es/locale/lang/ru-RU.js +8 -0
- package/es/locale/lang/th-TH.js +8 -0
- package/es/locale/lang/ug-CN.js +8 -0
- package/es/locale/lang/uk-UA.js +8 -0
- package/es/locale/lang/uz-UZ.js +8 -0
- package/es/locale/lang/vi-VN.js +8 -0
- package/es/locale/lang/zh-CHT.js +8 -0
- package/es/locale/lang/zh-CN.js +8 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +32 -26
- package/es/table/module/custom/panel.js +7 -0
- package/es/table/module/edit/hook.js +0 -1
- package/es/table/module/menu/hook.js +11 -7
- package/es/table/src/emits.js +5 -0
- package/es/table/src/table.js +7 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +64 -39
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +8 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +8 -0
- package/lib/locale/lang/de-DE.js +8 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +8 -0
- package/lib/locale/lang/en-US.js +9 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +9 -1
- package/lib/locale/lang/es-ES.js +8 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +8 -0
- package/lib/locale/lang/fr-FR.js +8 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +8 -0
- package/lib/locale/lang/hu-HU.js +8 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +8 -0
- package/lib/locale/lang/hy-AM.js +8 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +8 -0
- package/lib/locale/lang/id-ID.js +8 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +8 -0
- package/lib/locale/lang/it-IT.js +8 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +8 -0
- package/lib/locale/lang/ja-JP.js +8 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +8 -0
- package/lib/locale/lang/ko-KR.js +8 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +8 -0
- package/lib/locale/lang/ms-MY.js +8 -0
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +8 -0
- package/lib/locale/lang/nb-NO.js +8 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +8 -0
- package/lib/locale/lang/pt-BR.js +8 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +8 -0
- package/lib/locale/lang/ru-RU.js +8 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +8 -0
- package/lib/locale/lang/th-TH.js +8 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +8 -0
- package/lib/locale/lang/ug-CN.js +8 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +8 -0
- package/lib/locale/lang/uk-UA.js +8 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +8 -0
- package/lib/locale/lang/uz-UZ.js +8 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +8 -0
- package/lib/locale/lang/vi-VN.js +8 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +8 -0
- package/lib/locale/lang/zh-CHT.js +8 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +8 -0
- package/lib/locale/lang/zh-CN.js +8 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +8 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +32 -26
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +7 -0
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +0 -1
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +10 -5
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/table.js +4 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +8 -0
- package/packages/locale/lang/de-DE.ts +8 -0
- package/packages/locale/lang/en-US.ts +9 -1
- package/packages/locale/lang/es-ES.ts +8 -0
- package/packages/locale/lang/fr-FR.ts +8 -0
- package/packages/locale/lang/hu-HU.ts +8 -0
- package/packages/locale/lang/hy-AM.ts +8 -0
- package/packages/locale/lang/id-ID.ts +8 -0
- package/packages/locale/lang/it-IT.ts +8 -0
- package/packages/locale/lang/ja-JP.ts +8 -0
- package/packages/locale/lang/ko-KR.ts +8 -0
- package/packages/locale/lang/ms-MY.ts +8 -0
- package/packages/locale/lang/nb-NO.ts +8 -0
- package/packages/locale/lang/pt-BR.ts +8 -0
- package/packages/locale/lang/ru-RU.ts +8 -0
- package/packages/locale/lang/th-TH.ts +8 -0
- package/packages/locale/lang/ug-CN.ts +8 -0
- package/packages/locale/lang/uk-UA.ts +8 -0
- package/packages/locale/lang/uz-UZ.ts +8 -0
- package/packages/locale/lang/vi-VN.ts +8 -0
- package/packages/locale/lang/zh-CHT.ts +8 -0
- package/packages/locale/lang/zh-CN.ts +8 -0
- package/packages/table/module/custom/hook.ts +31 -25
- package/packages/table/module/custom/panel.ts +7 -0
- package/packages/table/module/edit/hook.ts +0 -1
- package/packages/table/module/menu/hook.ts +12 -7
- package/packages/table/src/emits.ts +5 -0
- package/packages/table/src/table.ts +6 -1
- package/styles/theme/base.scss +2 -1
- /package/es/{iconfont.1782439515438.ttf → iconfont.1782890314097.ttf} +0 -0
- /package/es/{iconfont.1782439515438.woff → iconfont.1782890314097.woff} +0 -0
- /package/es/{iconfont.1782439515438.woff2 → iconfont.1782890314097.woff2} +0 -0
- /package/lib/{iconfont.1782439515438.ttf → iconfont.1782890314097.ttf} +0 -0
- /package/lib/{iconfont.1782439515438.woff → iconfont.1782890314097.woff} +0 -0
- /package/lib/{iconfont.1782439515438.woff2 → iconfont.1782890314097.woff2} +0 -0
|
@@ -188,7 +188,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
188
188
|
}
|
|
189
189
|
return openCustom();
|
|
190
190
|
};
|
|
191
|
-
const saveCustom =
|
|
191
|
+
const saveCustom = isDirectly => {
|
|
192
192
|
const {
|
|
193
193
|
customColumnList,
|
|
194
194
|
aggHandleFields,
|
|
@@ -203,34 +203,36 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
203
203
|
allowGroup,
|
|
204
204
|
allowValues
|
|
205
205
|
} = customOpts;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
206
|
+
if (!isDirectly) {
|
|
207
|
+
_xeUtils.default.eachTree(customColumnList, (column, index, items, path, parentColumn) => {
|
|
208
|
+
if (parentColumn) {
|
|
209
|
+
// 更新子列信息
|
|
210
|
+
column.fixed = parentColumn.fixed;
|
|
211
|
+
} else {
|
|
212
|
+
if (allowSort) {
|
|
213
|
+
const sortIndex = index + 1;
|
|
214
|
+
column.renderSortNumber = sortIndex;
|
|
215
|
+
}
|
|
216
|
+
if (allowFixed) {
|
|
217
|
+
column.fixed = column.renderFixed;
|
|
218
|
+
}
|
|
217
219
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
220
|
+
if (allowResizable) {
|
|
221
|
+
if (column.renderVisible && (!column.children || !column.children.length)) {
|
|
222
|
+
if (column.renderResizeWidth !== column.renderWidth) {
|
|
223
|
+
column.resizeWidth = column.renderResizeWidth;
|
|
224
|
+
column.renderWidth = column.renderResizeWidth;
|
|
225
|
+
}
|
|
224
226
|
}
|
|
225
227
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
}
|
|
233
|
-
}
|
|
228
|
+
if (allowVisible) {
|
|
229
|
+
column.visible = column.renderVisible;
|
|
230
|
+
}
|
|
231
|
+
if (allowGroup && allowValues) {
|
|
232
|
+
column.aggFunc = column.renderAggFn;
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
234
236
|
reactData.isCustomStatus = true;
|
|
235
237
|
if (allowGroup && !!$xeTable.handlePivotTableAggData) {
|
|
236
238
|
if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
|
|
@@ -473,10 +475,12 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
473
475
|
if (customStore.visible) {
|
|
474
476
|
closeCustom();
|
|
475
477
|
emitCustomEvent('close', evnt);
|
|
478
|
+
$xeTable.dispatchEvent('custom-close', {}, evnt);
|
|
476
479
|
} else {
|
|
477
480
|
customStore.btnEl = evnt.target;
|
|
478
481
|
openCustom();
|
|
479
482
|
emitCustomEvent('open', evnt);
|
|
483
|
+
$xeTable.dispatchEvent('custom-open', {}, evnt);
|
|
480
484
|
}
|
|
481
485
|
},
|
|
482
486
|
customOpenEvent(evnt) {
|
|
@@ -489,6 +493,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
489
493
|
customStore.btnEl = evnt.target;
|
|
490
494
|
$xeTable.openCustom();
|
|
491
495
|
$xeTable.emitCustomEvent('open', evnt);
|
|
496
|
+
$xeTable.dispatchEvent('custom-open', {}, evnt);
|
|
492
497
|
}
|
|
493
498
|
},
|
|
494
499
|
customCloseEvent(evnt) {
|
|
@@ -500,6 +505,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
500
505
|
customStore.activeBtn = false;
|
|
501
506
|
$xeTable.closeCustom();
|
|
502
507
|
$xeTable.emitCustomEvent('close', evnt);
|
|
508
|
+
$xeTable.dispatchEvent('custom-close', {}, evnt);
|
|
503
509
|
}
|
|
504
510
|
},
|
|
505
511
|
handleUpdateCustomColumn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(m){let{reactData:h,internalData:c}=m,{computeCustomOpts:
|
|
1
|
+
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(m){let{reactData:h,internalData:c}=m,{computeCustomOpts:v,computeRowGroupFields:i,computeCustomSimpleMode:b}=m.getComputeMaps(),p=m.getRefMaps().refElem;var e=m.xeGrid;let g=m.xeGantt,C=e||g,u=()=>{var e=h.customStore,{mode:t,placement:l,popupOptions:o}=v.value,t=!("modal"===t||"drawer"===t),{transfer:o,maxHeight:s}=o||{},r="outside"===b.value,i=document.documentElement;let u=p.value,a=0,n=0;var d={},m=(u=g&&(m=g.getRefMaps().refGanttContainerElem,m=m.value)?m:u).getBoundingClientRect();n=t&&o?(a=m.top+i.scrollTop,_xeUtils.default.eqNull(s)?360:s):r?(C&&u&&(a=u.offsetTop),_xeUtils.default.eqNull(s)?360:s):(u&&(n=u.clientHeight-22),Math.max(88,n));let c=0;return"left"!==l&&"right"!==l&&(c=_xeUtils.default.eqNull(s)?n:s),l&&["left","right","bottom-left","bottom-right"].includes(l)||a&&(d.top=(0,_dom.toCssUnit)(a)),t&&o&&("bottom-left"!==l&&"bottom-right"!==l||(d.bottom=(0,_dom.toCssUnit)(i.scrollHeight-m.top-m.height+1)),"top-left"===l||"bottom-left"===l?d.left=(0,_dom.toCssUnit)(m.left):l&&"top-right"!==l&&"bottom-right"!==l||(d.right=(0,_dom.toCssUnit)(i.scrollWidth-m.left-m.width+1))),c&&(d.maxHeight=(0,_dom.toCssUnit)(c)),e.popupStyle=d,e.maxHeight=c,(0,_vue.nextTick)()},l=()=>{var{initStore:e,customStore:t}=h,{mode:l,popupOptions:o}=v.value,l=!("modal"===l||"drawer"===l),o=(o||{}).transfer,s=b.value;let r=null;return l&&o?r=document.body:"outside"===s&&C&&(l=C.getRefMaps().refPopupContainerElem,o=l.value)&&(r=o),c.customPopupToElem!==r&&h.ctPopupFlag++,c.customPopupToElem=r,t.visible=!0,e.custom=!0,a(),n(),u(),(0,_vue.nextTick)().then(()=>u())},a=()=>{var e=h.customStore,t=c.collectColumn;if(e.visible){let l={},o={},s={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,l[t]=e.renderSortNumber,o[t]=e.fixed,s[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=o,e.oldVisibleMaps=s,h.customColumnList=t.slice(0)}},o=()=>{var e=h.customStore,t=v.value;return e.visible&&(e.visible=!1,t.immediate||m.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=h.customStore,l=h.customColumnList,o=v.value;let{checkMethod:s,visibleMethod:r}=o,i=!!e;return o.immediate?(_xeUtils.default.eachTree(l,e=>{r&&!r({$table:m,column:e})||s&&!s({$table:m,column:e})||(e.visible=i,e.renderVisible=i,e.halfVisible=!1)}),t.isAll=i,h.isCustomStatus=!0,m.handleCustom(),m.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{r&&!r({$table:m,column:e})||s&&!s({$table:m,column:e})||(e.renderVisible=i,e.halfVisible=!1)}),t.isAll=i),m.checkCustomStatus(),(0,_vue.nextTick)()};e={getCustomVisible(){var e=h.customStore;return e.visible},openCustom:l,closeCustom:o,toggleCustom:()=>{var e=h.customStore;return(e.visible?o:l)()},saveCustom:e=>{let{customColumnList:t,aggHandleFields:l,rowGroupList:o}=h;let{allowVisible:r,allowSort:i,allowFixed:u,allowResizable:a,allowGroup:n,allowValues:d}=v.value;return e||_xeUtils.default.eachTree(t,(e,t,l,o,s)=>{s?e.fixed=s.fixed:(i&&(e.renderSortNumber=t+1),u&&(e.fixed=e.renderFixed)),!a||!e.renderVisible||e.children&&e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),r&&(e.visible=e.renderVisible),n&&d&&(e.aggFunc=e.renderAggFn)}),h.isCustomStatus=!0,n&&m.handlePivotTableAggData&&(o.length!==l.length||o.some((e,t)=>e.field!==l[t])?l.length?m.setRowGroups(l):m.clearRowGroups():d&&m.handleUpdateAggData()),i&&(c.collectColumn=t),m.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=h;let{oldSortMaps:s,oldFixedMaps:r,oldVisibleMaps:i}=t,{allowVisible:u,allowSort:a,allowFixed:n,allowResizable:d}=v.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!i[t],o=r[t]||"";u&&(e.renderVisible=l,e.visible=l),n&&(e.renderFixed=o,e.fixed=o),a&&(e.renderSortNumber=s[t]||0),d&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){let t=h.rowGroupList;var l=c.collectColumn;let o=v.value.checkMethod,s=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e},e),r=[];return _xeUtils.default.eachTree(l,e=>{s.resizable&&(e.resizeWidth=0),s.fixed&&(e.fixed=e.defaultFixed),s.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),o&&!o({$table:m,column:e})||(e.visible=e.defaultVisible),s.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,r.push(e)}),s.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(r,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),c.collectColumn=e,c.tableFullColumn=(0,_util.getColumnList)(e)),h.isCustomStatus=!1,m.handleCustom().then(()=>{var e;s.aggFunc&&m.handlePivotTableAggData&&(((e=i.value)||t).length?e&&e.length?m.setRowGroups(e):m.clearRowGroups():m.handleUpdateAggData()),m.saveCustomStore("reset")})},toggleCustomAllCheckbox(){var e=h.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let n=()=>{var e=h.customStore,t=c.collectColumn;let l=v.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:m,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:m,column:e}))&&(e.renderVisible||e.halfVisible))},s=(e,t)=>{m.dispatchEvent("custom",{type:e},t)};var r={checkCustomStatus:n,emitCustomEvent:s,triggerCustomEvent(e){var t=m.reactData.customStore;t.visible?(o(),s("close",e),m.dispatchEvent("custom-close",{},e)):(t.btnEl=e.target,l(),s("open",e),m.dispatchEvent("custom-open",{},e))},customOpenEvent(e){var t=m.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,m.openCustom(),m.emitCustomEvent("open",e),m.dispatchEvent("custom-open",{},e))},customCloseEvent(e){var t=m.reactData.customStore;t.visible&&(t.activeBtn=!1,m.closeCustom(),m.emitCustomEvent("close",e),m.dispatchEvent("custom-close",{},e))},handleUpdateCustomColumn:a,handleCustomStyle(){return m.reactData.isCustomDragStatus=!1,u()}};return Object.assign(Object.assign({},e),r)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)},setupGantt(e){return e.extendTableMethods(tableCustomMethodKeys)}});
|
|
@@ -107,13 +107,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
107
107
|
$xeTable.saveCustom();
|
|
108
108
|
$xeTable.closeCustom();
|
|
109
109
|
$xeTable.emitCustomEvent('confirm', $event);
|
|
110
|
+
$xeTable.dispatchEvent('custom-confirm', {}, $event);
|
|
110
111
|
$xeTable.emitCustomEvent('close', $event);
|
|
112
|
+
$xeTable.dispatchEvent('custom-close', {}, $event);
|
|
111
113
|
};
|
|
112
114
|
const cancelCloseEvent = ({
|
|
113
115
|
$event
|
|
114
116
|
}) => {
|
|
115
117
|
$xeTable.closeCustom();
|
|
116
118
|
$xeTable.emitCustomEvent('close', $event);
|
|
119
|
+
$xeTable.dispatchEvent('custom-close', {}, $event);
|
|
117
120
|
};
|
|
118
121
|
const cancelCustomEvent = ({
|
|
119
122
|
$event
|
|
@@ -121,13 +124,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
121
124
|
$xeTable.cancelCustom();
|
|
122
125
|
$xeTable.closeCustom();
|
|
123
126
|
$xeTable.emitCustomEvent('cancel', $event);
|
|
127
|
+
$xeTable.dispatchEvent('custom-cancel', {}, $event);
|
|
124
128
|
$xeTable.emitCustomEvent('close', $event);
|
|
129
|
+
$xeTable.dispatchEvent('custom-close', {}, $event);
|
|
125
130
|
};
|
|
126
131
|
const handleResetCustomEvent = evnt => {
|
|
127
132
|
$xeTable.resetCustom(true);
|
|
128
133
|
$xeTable.closeCustom();
|
|
129
134
|
$xeTable.emitCustomEvent('reset', evnt);
|
|
135
|
+
$xeTable.dispatchEvent('custom-reset', {}, evnt);
|
|
130
136
|
$xeTable.emitCustomEvent('close', evnt);
|
|
137
|
+
$xeTable.dispatchEvent('custom-close', {}, evnt);
|
|
131
138
|
};
|
|
132
139
|
const resetCustomEvent = ({
|
|
133
140
|
$event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(K,t){var e=_xeUtils.default.uniqueId();let X=_ui.VxeUI.getComponent("VxeModal"),q=_ui.VxeUI.getComponent("VxeDrawer"),j=_ui.VxeUI.getComponent("VxeButton"),Y=_ui.VxeUI.getComponent("VxeNumberInput"),Z=_ui.VxeUI.getComponent("VxeRadioGroup"),J=(0,_vue.inject)("$xeTable",{}),{props:Q,reactData:ee,internalData:n}=J,{computeSize:R,computeCustomOpts:te,computeColumnDragOpts:le,computeColumnOpts:he,computeIsMaxFixedColumn:oe,computeResizableOpts:be,computeAggregateOpts:_e}=J.getComputeMaps(),M=(0,_vue.ref)(),ae=(0,_vue.ref)(),ie=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),T=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),f=createInternalData(),a={refElem:M,refBodyWrapperElem:ae,refCustomBodyElem:ie,refDragLineElem:u,refDragTipElem:d},i={},P=e=>{var t=K.customStore;t.activeWrapper=!0,J.customOpenEvent(e)},G=e=>{let t=K.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||J.customCloseEvent(e)},300)},se=({$event:e})=>{ee.isCustomStatus=!0,J.saveCustom(),J.closeCustom(),J.emitCustomEvent("confirm",e),J.emitCustomEvent("close",e)},ne=({$event:e})=>{J.closeCustom(),J.emitCustomEvent("close",e)},re=({$event:e})=>{J.cancelCustom(),J.closeCustom(),J.emitCustomEvent("cancel",e),J.emitCustomEvent("close",e)},l=e=>{J.resetCustom(!0),J.closeCustom(),J.emitCustomEvent("reset",e),J.emitCustomEvent("close",e)},ue=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=ee.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},de=(e,t)=>{let l=!e.renderVisible;te.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),J.checkCustomStatus(),J.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},Ce=e=>{te.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:width"))},ce=(e,t,l)=>{var o=oe.value;let a=null;te.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&J.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},me=e=>{var t=ee.customStore,t=!t.isAll;J.toggleCustomAllCheckbox(),J.dispatchEvent("custom-visible-all",{checked:t},e)},m=(e,t,l,o)=>{var a,i,s,n,r=ae.value;r&&(n=ie.value)&&(a=f.prevDragToChild,i=r.getBoundingClientRect(),n=n.getBoundingClientRect(),s=u.value,t?s&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.left=Math.max(0,n.x-i.x)+"px",s.style.top=Math.max(1,t.y+r.scrollTop-i.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",a?"y":"n")):s.style.display=""):s&&(s.style.display="node"),n=d.value)&&(n.style.display="block",n.style.top=Math.min(r.clientHeight+r.scrollTop-n.clientHeight,e.clientY+r.scrollTop-i.y)+"px",n.style.left=Math.min(r.clientWidth+r.scrollLeft-n.clientWidth,e.clientX+r.scrollLeft-i.x)+"px",n.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},r=()=>{var e=T.dragCol,t=le.value.tooltipMethod;let l="";l=t?""+(t({$table:J,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),T.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},ve=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=J.getColumnById(t);e.draggable=!0,T.dragCol=t,T.dragGroupField=null,T.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},pe=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,T.dragCol=null,T.dragGroupField=null,(T.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ge=e=>{var t=f.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),ee.isCustomDragStatus=!0,f.prevDragGroupField=null,f.prevDragAggFnColid=null},xe=d=>{let c=Q.mouseConfig,m=ee.customColumnList,v=n.collectColumn;let p=te.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isPeerDrag:x,isSelfToChildDrag:h,isToChildDrag:b,dragEndMethod:t}=le.value;var l=T.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:_,prevDragToChild:C}=f,E="bottom"===_?1:0;if(a||i)J.handlePivotTableAggregatePanelDragendEvent&&J.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,dragToChild:!!C,offsetIndex:E})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([r],e=>{l[e.id]=e}),!1);if(p){if(r.parentId&&u.parentId)if(x&&!g){if(r.parentId!==u.parentId)return}else{if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,s,n,a=_xeUtils.default.findTree(v,e=>e.id===r.id),a=(o&&g&&h?a&&({items:i,index:n}=a,(s=r.children||[]).forEach(e=>{e.parentId=r.parentId}),i.splice(n,1,...s),r.children=[]):a&&({items:i,index:n,parent:s}=a,i.splice(n,1),s||(e=n)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:i,index:s,parent:n}=a,g&&b&&C?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,i.splice(s+E,0,r)),n||(t=s)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===r.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+E,0,r);c&&(J.clearSelected&&J.clearSelected(),J.clearCellAreas)&&(J.clearCellAreas(),J.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,offsetIndex:E,_index:{newIndex:t,oldIndex:e}};J.dispatchEvent("custom-sort-change",a,d),J.dispatchEvent("column-dragend",a,d),p&&(ee.customColumnList=v.slice(0),J.handleColDragSwapColumn()),I()}}).catch(()=>{})}s(),T.dragCol=null,T.dragGroupField=null,T.dragAggFnCol=null,f.prevDragGroupField=null,f.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ee=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=te.value,{isCrossDrag:i,isPeerDrag:s,isToChildDrag:n}=le.value,r=e.currentTarget,u=(0,_dom.hasControlKey)(e),d=r.getAttribute("colid"),d=J.getColumnById(d),c=T.dragCol;f.prevDragGroupField=null,f.prevDragAggFnColid=null,d&&(i||s||1===d.level)&&(e.preventDefault(),t=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",!c||!l||!o||c&&c.id===d.id||!i&&(s?c.parentId!==d.parentId:1<d.level)||!a&&1<d.level||!i&&(s?c.parentId!==d.parentId:1<c.level)||!a&&1<c.level?m(e,r,!1,t):(f.prevDragToChild=!!(i&&n&&u&&a),f.prevDragCol=d,f.prevDragPos=t,m(e,r,!0,t)))},I=()=>{f.customDragTime=setTimeout(()=>{ee.isCustomDragStatus=!1,f.customDragTime=void 0},350)},Te=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),I()}))}},fe=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),I()}))}},Ie=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||0<l)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),I()}))}},ye=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||l<t.length-1)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),I()}))}},De=()=>{var e=T.dragTipText,t=le.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=te.value.mode;X||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),j||errLog("vxe.error.reqComp",["vxe-button"]),Y||errLog("vxe.error.reqComp",["vxe-number-input"]),Z||errLog("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:T,internalData:f,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var F=J.xeGrid,M=J.xeGantt;let t=K.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=Q,{isCustomStatus:a,customColumnList:i}=ee,s=te.value;var n=le.value;let r=_e.value.placement,{mode:P,immediate:v,showSortDragButton:G,showSortMoveButton:p,showSortPutButton:g,modalOptions:H,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:T}=s,f=he.value,u=f.maxFixedSize,{minWidth:I,maxWidth:y}=be.value;var d=Object.assign({},H),c=Object.assign({},z);let D=oe.value,{isCrossDrag:$,isPeerDrag:W}=n;n=s.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,L=t.isIndeterminate,V="right"===r||"bottom"===r,O={$table:J,$grid:F,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:L,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!T||T({$table:J,column:o})){let e=0,t=0;b&&(n={$table:J,column:o,columnIndex:J.getColumnIndex(o),$columnIndex:J.getVMColumnIndex(o),_columnIndex:J.getVTColumnIndex(o),rowIndex:-1,_rowIndex:-1,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(n):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(n):y));var n=o.renderVisible,r=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:J,column:o});var c=!n,m=!(!$&&!W)&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:ge,onDragend:xe,onDragover:Ee},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":n,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||de(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(J),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&G||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(J),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},j?[p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){Te(e,o)}}):renderEmptyElement(J),p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){fe(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){Ie(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){ye(e,o)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:f.resizable||R)?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){Ce(o)}}):renderEmptyElement(J)]):renderEmptyElement(J),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Z?(0,_vue.h)(Z,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){ce(o,e,t)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}});n={default:()=>(0,_vue.h)("div",{ref:ae,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?J.callSlot(k,O):[V||e||!o&&!l||!J.getPivotTableAggregatePopupPanel?renderEmptyElement(J):(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},J.callSlot(A,O)):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(J),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(J),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(J)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":L}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",L?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(J),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(J),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(J)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},J.callSlot(S,O)):renderEmptyElement(J),De()]),V&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,O):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[j?(0,_vue.h)(j,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:ue}):renderEmptyElement(J),v?j?(0,_vue.h)(j,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!v&&j?(0,_vue.h)(j,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:se}):renderEmptyElement(J)])};return m&&(n.header=()=>J.callSlot(m,O)),"drawer"===P?q?(0,_vue.h)(q,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J):X?(0,_vue.h)(X,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J)}:()=>{var e=J.xeGrid,t=J.xeGantt,l=J.props,o=K.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:n,isCustomDragStatus:r}=ee,u=te.value,d=le.value,c=o.popupStyle;let{immediate:m,checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:T,showSortMoveButton:f,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:F}=d;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var L={},V=o.isAll,O=o.isIndeterminate,e=("hover"===C&&(L.onMouseenter=P,L.onMouseleave=G),{$table:J,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:O,isCustomStatus:s});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:J,column:l})){var i=l.renderVisible,s=l.halfVisible,n=l.children&&l.children.length,r=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:J,column:l});var u=!i,d=!(!A&&!F)&&m||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":n}],onDragstart:ge,onDragend:xe,onDragover:Ee},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":s,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||de(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&T||b||_)&&(d||(b||_)&&!n)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(J),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},r)]),d&&(f||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},j?[f?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){Te(e,l)}}):renderEmptyElement(J),f?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){fe(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){Ie(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){ye(e,l)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[j?(0,_vue.h)(j,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{ce(l,"left",e)}}):renderEmptyElement(J),j?(0,_vue.h)(j,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{ce(l,"right",e)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}}),(0,_vue.h)("div",{ref:M,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:c},o.visible?[(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&J.getPivotTableAggregateSimplePanel?(0,_vue.h)(J.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(J),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?J.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":O}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},J.callSlot(k,e)):renderEmptyElement(J),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},J.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},L),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},J.callSlot(w,e)):renderEmptyElement(J)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?J.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[j?(0,_vue.h)(j,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:ue}):renderEmptyElement(J),m?j?(0,_vue.h)(j,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!m&&j?(0,_vue.h)(j,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:se}):renderEmptyElement(J)])]):null]),De()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{f=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(K,t){var e=_xeUtils.default.uniqueId();let X=_ui.VxeUI.getComponent("VxeModal"),q=_ui.VxeUI.getComponent("VxeDrawer"),j=_ui.VxeUI.getComponent("VxeButton"),Y=_ui.VxeUI.getComponent("VxeNumberInput"),Z=_ui.VxeUI.getComponent("VxeRadioGroup"),J=(0,_vue.inject)("$xeTable",{}),{props:Q,reactData:ee,internalData:n}=J,{computeSize:R,computeCustomOpts:te,computeColumnDragOpts:le,computeColumnOpts:he,computeIsMaxFixedColumn:oe,computeResizableOpts:be,computeAggregateOpts:_e}=J.getComputeMaps(),M=(0,_vue.ref)(),ae=(0,_vue.ref)(),se=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),f=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=createInternalData(),a={refElem:M,refBodyWrapperElem:ae,refCustomBodyElem:se,refDragLineElem:u,refDragTipElem:d},s={},P=e=>{var t=K.customStore;t.activeWrapper=!0,J.customOpenEvent(e)},G=e=>{let t=K.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||J.customCloseEvent(e)},300)},ie=({$event:e})=>{ee.isCustomStatus=!0,J.saveCustom(),J.closeCustom(),J.emitCustomEvent("confirm",e),J.dispatchEvent("custom-confirm",{},e),J.emitCustomEvent("close",e),J.dispatchEvent("custom-close",{},e)},ne=({$event:e})=>{J.closeCustom(),J.emitCustomEvent("close",e),J.dispatchEvent("custom-close",{},e)},re=({$event:e})=>{J.cancelCustom(),J.closeCustom(),J.emitCustomEvent("cancel",e),J.dispatchEvent("custom-cancel",{},e),J.emitCustomEvent("close",e),J.dispatchEvent("custom-close",{},e)},l=e=>{J.resetCustom(!0),J.closeCustom(),J.emitCustomEvent("reset",e),J.dispatchEvent("custom-reset",{},e),J.emitCustomEvent("close",e),J.dispatchEvent("custom-close",{},e)},ue=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=ee.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},de=(e,t)=>{let l=!e.renderVisible;te.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),J.checkCustomStatus(),J.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},Ce=e=>{te.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:width"))},ce=(e,t,l)=>{var o=oe.value;let a=null;te.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&J.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},me=e=>{var t=ee.customStore,t=!t.isAll;J.toggleCustomAllCheckbox(),J.dispatchEvent("custom-visible-all",{checked:t},e)},m=(e,t,l,o)=>{var a,s,i,n,r=ae.value;r&&(n=se.value)&&(a=T.prevDragToChild,s=r.getBoundingClientRect(),n=n.getBoundingClientRect(),i=u.value,t?i&&(l?(t=t.getBoundingClientRect(),i.style.display="block",i.style.left=Math.max(0,n.x-s.x)+"px",i.style.top=Math.max(1,t.y+r.scrollTop-s.y)+"px",i.style.height=t.height+"px",i.style.width=t.width+"px",i.setAttribute("drag-pos",o),i.setAttribute("drag-to-child",a?"y":"n")):i.style.display=""):i&&(i.style.display="node"),n=d.value)&&(n.style.display="block",n.style.top=Math.min(r.clientHeight+r.scrollTop-n.clientHeight,e.clientY+r.scrollTop-s.y)+"px",n.style.left=Math.min(r.clientWidth+r.scrollLeft-n.clientWidth,e.clientX+r.scrollLeft-s.x)+"px",n.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},r=()=>{var e=f.dragCol,t=le.value.tooltipMethod;let l="";l=t?""+(t({$table:J,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),f.dragTipText=l},i=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},ve=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=J.getColumnById(t);e.draggable=!0,f.dragCol=t,f.dragGroupField=null,f.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},pe=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;i(),e.draggable=!1,f.dragCol=null,f.dragGroupField=null,(f.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ge=e=>{var t=T.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),ee.isCustomDragStatus=!0,T.prevDragGroupField=null,T.prevDragAggFnColid=null},xe=d=>{let c=Q.mouseConfig,m=ee.customColumnList,v=n.collectColumn;let p=te.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isPeerDrag:x,isSelfToChildDrag:h,isToChildDrag:b,dragEndMethod:t}=le.value;var l=f.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:s,prevDragPos:_,prevDragToChild:C}=T,E="bottom"===_?1:0;if(a||s)J.handlePivotTableAggregatePanelDragendEvent&&J.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,dragToChild:!!C,offsetIndex:E})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([r],e=>{l[e.id]=e}),!1);if(p){if(r.parentId&&u.parentId)if(x&&!g){if(r.parentId!==u.parentId)return}else{if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,n,a=_xeUtils.default.findTree(v,e=>e.id===r.id),a=(o&&g&&h?a&&({items:s,index:n}=a,(i=r.children||[]).forEach(e=>{e.parentId=r.parentId}),s.splice(n,1,...i),r.children=[]):a&&({items:s,index:n,parent:i}=a,s.splice(n,1),i||(e=n)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:n}=a,g&&b&&C?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,s.splice(i+E,0,r)),n||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===r.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+E,0,r);c&&(J.clearSelected&&J.clearSelected(),J.clearCellAreas)&&(J.clearCellAreas(),J.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,offsetIndex:E,_index:{newIndex:t,oldIndex:e}};J.dispatchEvent("custom-sort-change",a,d),J.dispatchEvent("column-dragend",a,d),p&&(ee.customColumnList=v.slice(0),J.handleColDragSwapColumn()),I()}}).catch(()=>{})}i(),f.dragCol=null,f.dragGroupField=null,f.dragAggFnCol=null,T.prevDragGroupField=null,T.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ee=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=te.value,{isCrossDrag:s,isPeerDrag:i,isToChildDrag:n}=le.value,r=e.currentTarget,u=(0,_dom.hasControlKey)(e),d=r.getAttribute("colid"),d=J.getColumnById(d),c=f.dragCol;T.prevDragGroupField=null,T.prevDragAggFnColid=null,d&&(s||i||1===d.level)&&(e.preventDefault(),t=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",!c||!l||!o||c&&c.id===d.id||!s&&(i?c.parentId!==d.parentId:1<d.level)||!a&&1<d.level||!s&&(i?c.parentId!==d.parentId:1<c.level)||!a&&1<c.level?m(e,r,!1,t):(T.prevDragToChild=!!(s&&n&&u&&a),T.prevDragCol=d,T.prevDragPos=t,m(e,r,!0,t)))},I=()=>{T.customDragTime=setTimeout(()=>{ee.isCustomDragStatus=!1,T.customDragTime=void 0},350)},fe=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),I()}))}},Te=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),I()}))}},Ie=(e,t)=>{let a=ee.customColumnList;var s=_xeUtils.default.findTree(a,e=>e===t);if(s){let{item:e,items:t,index:l,parent:o}=s;(o||0<l)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),I()}))}},ye=(e,t)=>{let a=ee.customColumnList;var s=_xeUtils.default.findTree(a,e=>e===t);if(s){let{item:e,items:t,index:l,parent:o}=s;(o||l<t.length-1)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),I()}))}},De=()=>{var e=f.dragTipText,t=le.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=te.value.mode;X||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),j||errLog("vxe.error.reqComp",["vxe-button"]),Y||errLog("vxe.error.reqComp",["vxe-number-input"]),Z||errLog("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:f,internalData:T,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>s,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var F=J.xeGrid,M=J.xeGantt;let t=K.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=Q,{isCustomStatus:a,customColumnList:s}=ee,i=te.value;var n=le.value;let r=_e.value.placement,{mode:P,immediate:v,showSortDragButton:G,showSortMoveButton:p,showSortPutButton:g,modalOptions:H,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:f}=i,T=he.value,u=T.maxFixedSize,{minWidth:I,maxWidth:y}=be.value;var d=Object.assign({},H),c=Object.assign({},z);let D=oe.value,{isCrossDrag:$,isPeerDrag:W}=n;n=i.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,L=t.isIndeterminate,V="right"===r||"bottom"===r,O={$table:J,$grid:F,$gantt:M,columns:s,isAllChecked:U,isAllIndeterminate:L,isCustomStatus:a};_xeUtils.default.eachTree(s,(o,a,s,e,i)=>{if(!f||f({$table:J,column:o})){let e=0,t=0;b&&(n={$table:J,column:o,columnIndex:J.getColumnIndex(o),$columnIndex:J.getVMColumnIndex(o),_columnIndex:J.getVTColumnIndex(o),rowIndex:-1,_rowIndex:-1,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(n):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(n):y));var n=o.renderVisible,r=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:J,column:o});var c=!n,m=!(!$&&!W)&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:ge,onDragend:xe,onDragover:Ee},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":n,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||de(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(J),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&G||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(J),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},j?[p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){fe(e,o)}}):renderEmptyElement(J),p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=s.length-1,onClick(e){Te(e,o)}}):renderEmptyElement(J),g&&!i?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){Ie(e,o)}}):renderEmptyElement(J),g&&!i?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=s.length-1,onClick(e){ye(e,o)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){Ce(o)}}):renderEmptyElement(J)]):renderEmptyElement(J),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?(0,_vue.h)("span","-"):Z?(0,_vue.h)(Z,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){ce(o,e,t)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}});n={default:()=>(0,_vue.h)("div",{ref:ae,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?J.callSlot(k,O):[V||e||!o&&!l||!J.getPivotTableAggregatePopupPanel?renderEmptyElement(J):(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:se,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},J.callSlot(A,O)):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(J),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(J),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(J)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":L}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",L?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(J),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(J),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(J)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},J.callSlot(S,O)):renderEmptyElement(J),De()]),V&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,O):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[j?(0,_vue.h)(j,{content:i.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:ue}):renderEmptyElement(J),v?j?(0,_vue.h)(j,{content:i.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{content:i.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!v&&j?(0,_vue.h)(j,{status:"primary",content:i.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:ie}):renderEmptyElement(J)])};return m&&(n.header=()=>J.callSlot(m,O)),"drawer"===P?q?(0,_vue.h)(q,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J):X?(0,_vue.h)(X,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J)}:()=>{var e=J.xeGrid,t=J.xeGantt,l=J.props,o=K.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:s}=l,{isCustomStatus:i,customColumnList:n,isCustomDragStatus:r}=ee,u=te.value,d=le.value,c=o.popupStyle;let{immediate:m,checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:f,showSortMoveButton:T,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:F}=d;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var L={},V=o.isAll,O=o.isIndeterminate,e=("hover"===C&&(L.onMouseenter=P,L.onMouseleave=G),{$table:J,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:O,isCustomStatus:i});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:J,column:l})){var s=l.renderVisible,i=l.halfVisible,n=l.children&&l.children.length,r=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:J,column:l});var u=!s,d=!(!A&&!F)&&m||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":n}],onDragstart:ge,onDragend:xe,onDragover:Ee},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||de(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&f||b||_)&&(d||(b||_)&&!n)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(J),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},r)]),d&&(T||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},j?[T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){fe(e,l)}}):renderEmptyElement(J),T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){Te(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){Ie(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){ye(e,l)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[j?(0,_vue.h)(j,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{ce(l,"left",e)}}):renderEmptyElement(J),j?(0,_vue.h)(j,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{ce(l,"right",e)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}}),(0,_vue.h)("div",{ref:M,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:c},o.visible?[(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(s||a)&&J.getPivotTableAggregateSimplePanel?(0,_vue.h)(J.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(J),(0,_vue.h)("div",{ref:se,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?J.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":O}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},J.callSlot(k,e)):renderEmptyElement(J),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},J.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},L),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},J.callSlot(w,e)):renderEmptyElement(J)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?J.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[j?(0,_vue.h)(j,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!i,onClick:ue}):renderEmptyElement(J),m?j?(0,_vue.h)(j,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!m&&j?(0,_vue.h)(j,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:ie}):renderEmptyElement(J)])]):null]),De()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
@@ -759,7 +759,6 @@ hooks.add('tableEditModule', {
|
|
|
759
759
|
return handleInsertRowAt(records, targetRowOrRowid, true);
|
|
760
760
|
},
|
|
761
761
|
insertChild(records, parentRowOrParentId) {
|
|
762
|
-
window.aa = internalData;
|
|
763
762
|
return handleInsertChildRowAt(records, parentRowOrParentId, null);
|
|
764
763
|
},
|
|
765
764
|
insertChildAt(records, parentRowOrParentId, targetRow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:R,computeCheckboxOpts:m,computeTreeOpts:F,computeValidOpts:n}=_.getComputeMaps(),u=_xeUtils.default.browse(),p={},g={},C=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=E,l=R.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},A=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=b;var l=F.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(_,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[v](l),t[v](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{t&&warnLog("vxe.error.unableInsert"),n[v](l),a[v](l);i={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,e,n)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:i,tableFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,insertRowMaps:c,removeRowMaps:g}=b;var w=F.value;let{transform:v,parentField:x,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=u[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&v?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&v&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:x,children:m})),_xeUtils.default.eqNull(R))if(l&&v)A(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.unshift(e),a.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&v)A(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.push(e),a.push(e)});else if(l&&v){let a=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(a){let r=a.parent,o=r?r[h]:d;e=u[(0,_util.getRowid)(_,r)];let i=e?e.level:0;if(C.forEach((e,t)=>{r?e[x]!==r[f]&&(errLog("vxe.error.errProp",[x+"="+e[x],x+"="+r[f]]),e[x]=r[f]):null!==e[x]&&(_xeUtils.default.eqNull(e[x])||errLog("vxe.error.errProp",[x+"="+e[x],"null"]),e[x]=null);let l=a.index+t;n&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),s[t]=l,u[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;n&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),A(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=n?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(a,R);-1<e?a.splice(e+(n?1:0),0,...p):a.push(...p),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(n?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&v?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&v),l&&v||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var i=I.treeConfig,a=b.fullAllDataRowIdData;let{transform:t,rowField:n,parentField:d}=F.value;if(i&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(i=a[l])&&(t=i.row),s(e.map(e=>Object.assign({},e,{[d]:t[n]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:i,columnIndex:_.getColumnIndex(i),$columnIndex:_.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},a=(l,r,o)=>{let i=_.xeGrid,a=_.xeGantt;var{editConfig:e,mouseConfig:n}=I,{editStore:d,tableColumn:s}=E,u=R.value,c=u.mode,{actived:d,focused:t}=d;let{row:g,column:w}=l;var v=w.editRender;let{isFocus:x,isPos:f,isClear:h}=o;var o=l.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((l.cell=o)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(v)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(d.row!==g||"cell"===c&&d.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))){n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),d.column&&S(r),t="edit-activated",w.renderHeight=o.offsetHeight,d.args=l,d.row=g,d.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===c?s.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{x&&_.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r)}else{e=d.column;n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(v=e.model,v.update&&(0,_util.setCellValue)(g,e,v.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=o.offsetHeight,d.args=l,d.column=w,f&&setTimeout(()=>{_.handleFocus(l,r)})}t.column=null,t.row=null,_.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,i=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(i.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,i):null).then(()=>{var e=_.getCellElement(t,i);return e&&(a({row:t,rowIndex:_.getRowIndex(t),column:i,columnIndex:_.getColumnIndex(i),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return p={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(e,t,!0)},insertChild(e,t){return window.aa=b,r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:s,insertRowMaps:u,removeRowMaps:c}=b;var g=m.value,w=F.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);i[e]&&delete i[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(a,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&p.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);u[e]&&delete u[e],s[e]&&delete s[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&v),_.updateFooter(),_.handleUpdateBodyMerge(),t&&v||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return p.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return p.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return p.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=p.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=p.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:p.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,{tableFullData:l,tableFullTreeData:r}=b,o=F.value;let i=[];return e&&(d(),t?(e=o.children||o.childrenField,_xeUtils.default.eachTree(r,e=>{_.isUpdateByRow(e)&&i.push(e)},{children:e})):l.forEach(e=>{_.isUpdateByRow(e)&&i.push(e)})),i},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),p.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),w(e,o,Object.assign({isPos:i,isFocus:i},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),p.setEditCell(e,t)},setEditCell(e,t,l){return w(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=R.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:_.getColumnIndex(t),cell:l},_.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t,l){return a(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=R.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():u.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&_.scrollToRow(o,i)}},handleSelected(e,t){var l=I.mouseConfig,r=E.editStore,o=c.value;let i=R.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(S(t),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),_.focus(),t)&&_.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},p),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:R,computeCheckboxOpts:m,computeTreeOpts:F,computeValidOpts:n}=_.getComputeMaps(),u=_xeUtils.default.browse(),p={},g={},C=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=E,l=R.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},A=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=b;var l=F.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(_,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[v](l),t[v](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{t&&warnLog("vxe.error.unableInsert"),n[v](l),a[v](l);i={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,e,n)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:i,tableFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,insertRowMaps:c,removeRowMaps:g}=b;var w=F.value;let{transform:v,parentField:x,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=u[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&v?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&v&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:x,children:m})),_xeUtils.default.eqNull(R))if(l&&v)A(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.unshift(e),a.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&v)A(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.push(e),a.push(e)});else if(l&&v){let a=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(a){let r=a.parent,o=r?r[h]:d;e=u[(0,_util.getRowid)(_,r)];let i=e?e.level:0;if(C.forEach((e,t)=>{r?e[x]!==r[f]&&(errLog("vxe.error.errProp",[x+"="+e[x],x+"="+r[f]]),e[x]=r[f]):null!==e[x]&&(_xeUtils.default.eqNull(e[x])||errLog("vxe.error.errProp",[x+"="+e[x],"null"]),e[x]=null);let l=a.index+t;n&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),s[t]=l,u[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;n&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),A(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=n?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(a,R);-1<e?a.splice(e+(n?1:0),0,...p):a.push(...p),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(n?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&v?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&v),l&&v||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var i=I.treeConfig,a=b.fullAllDataRowIdData;let{transform:t,rowField:n,parentField:d}=F.value;if(i&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(i=a[l])&&(t=i.row),s(e.map(e=>Object.assign({},e,{[d]:t[n]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:i,columnIndex:_.getColumnIndex(i),$columnIndex:_.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},a=(l,r,o)=>{let i=_.xeGrid,a=_.xeGantt;var{editConfig:e,mouseConfig:n}=I,{editStore:d,tableColumn:s}=E,u=R.value,c=u.mode,{actived:d,focused:t}=d;let{row:g,column:w}=l;var v=w.editRender;let{isFocus:x,isPos:f,isClear:h}=o;var o=l.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((l.cell=o)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(v)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(d.row!==g||"cell"===c&&d.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))){n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),d.column&&S(r),t="edit-activated",w.renderHeight=o.offsetHeight,d.args=l,d.row=g,d.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===c?s.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{x&&_.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r)}else{e=d.column;n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(v=e.model,v.update&&(0,_util.setCellValue)(g,e,v.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=o.offsetHeight,d.args=l,d.column=w,f&&setTimeout(()=>{_.handleFocus(l,r)})}t.column=null,t.row=null,_.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,i=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(i.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,i):null).then(()=>{var e=_.getCellElement(t,i);return e&&(a({row:t,rowIndex:_.getRowIndex(t),column:i,columnIndex:_.getColumnIndex(i),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return p={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:s,insertRowMaps:u,removeRowMaps:c}=b;var g=m.value,w=F.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);i[e]&&delete i[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(a,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&p.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);u[e]&&delete u[e],s[e]&&delete s[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&v),_.updateFooter(),_.handleUpdateBodyMerge(),t&&v||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return p.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return p.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return p.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=p.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=p.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:p.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,{tableFullData:l,tableFullTreeData:r}=b,o=F.value;let i=[];return e&&(d(),t?(e=o.children||o.childrenField,_xeUtils.default.eachTree(r,e=>{_.isUpdateByRow(e)&&i.push(e)},{children:e})):l.forEach(e=>{_.isUpdateByRow(e)&&i.push(e)})),i},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),p.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),w(e,o,Object.assign({isPos:i,isFocus:i},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),p.setEditCell(e,t)},setEditCell(e,t,l){return w(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=R.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:_.getColumnIndex(t),cell:l},_.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t,l){return a(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=R.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():u.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&_.scrollToRow(o,i)}},handleSelected(e,t){var l=I.mouseConfig,r=E.editStore,o=c.value;let i=R.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(S(t),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),_.focus(),t)&&_.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},p),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -49,6 +49,7 @@ hooks.add('tableMenuModule', {
|
|
|
49
49
|
const {
|
|
50
50
|
zIndex,
|
|
51
51
|
transfer,
|
|
52
|
+
width,
|
|
52
53
|
visibleMethod
|
|
53
54
|
} = menuOpts;
|
|
54
55
|
if (config) {
|
|
@@ -83,17 +84,21 @@ hooks.add('tableMenuModule', {
|
|
|
83
84
|
}
|
|
84
85
|
const handleVisible = () => {
|
|
85
86
|
internalData._currMenuParams = params;
|
|
87
|
+
const ctxStyle = {
|
|
88
|
+
zIndex: zIndex || internalData.tZindex,
|
|
89
|
+
top: `${top}px`,
|
|
90
|
+
left: `${left}px`
|
|
91
|
+
};
|
|
92
|
+
if (width) {
|
|
93
|
+
ctxStyle['--vxe-ui-table-menu-item-width'] = (0, _dom.toCssUnit)(width);
|
|
94
|
+
}
|
|
86
95
|
Object.assign(ctxMenuStore, {
|
|
87
96
|
visible: true,
|
|
88
97
|
list: options,
|
|
89
98
|
selected: null,
|
|
90
99
|
selectChild: null,
|
|
91
100
|
showChild: false,
|
|
92
|
-
style:
|
|
93
|
-
zIndex: zIndex || internalData.tZindex,
|
|
94
|
-
top: `${top}px`,
|
|
95
|
-
left: `${left}px`
|
|
96
|
-
}
|
|
101
|
+
style: ctxStyle
|
|
97
102
|
});
|
|
98
103
|
(0, _vue.nextTick)(() => {
|
|
99
104
|
const tableMenu = refTableMenu.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(p){let{xID:x,props:M,reactData:E,internalData:_}=p,{refElem:C,refTableFilter:y,refTableMenu:T}=p.getRefMaps(),{computeMouseOpts:w,computeIsContentMenu:l,computeMenuOpts:N}=p.getComputeMaps();let i=p.xeGrid||p.xeGantt,L;var e;let O=(v,t,g)=>{let f=E.ctxMenuStore;var n=l.value,e=N.value,t=e[t];let{zIndex:h,transfer:b,visibleMethod:o}=e;if(t){let{options:l,disabled:e}=t;e?v.preventDefault():n&&l&&l.length&&(g.options=l,p.preventEvent(v,"event.showMenu",g,()=>{if(!o||o(g)){v.preventDefault(),p.updateZindex();var t=(i?i.getRefMaps().refElem:C).value;if(t){t=t.getBoundingClientRect();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:r}=(0,_dom.getDomNode)(),s=v.clientY-t.y,a=v.clientX-t.x,n=(b&&(s=v.clientY+o,a=v.clientX+i),()=>{_._currMenuParams=g,Object.assign(f,{visible:!0,list:l,selected:null,selectChild:null,showChild:!1,style:
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(p){let{xID:x,props:M,reactData:E,internalData:_}=p,{refElem:C,refTableFilter:y,refTableMenu:T}=p.getRefMaps(),{computeMouseOpts:w,computeIsContentMenu:l,computeMenuOpts:N}=p.getComputeMaps();let i=p.xeGrid||p.xeGantt,L;var e;let O=(v,t,g)=>{let f=E.ctxMenuStore;var n=l.value,e=N.value,t=e[t];let{zIndex:h,transfer:b,width:m,visibleMethod:o}=e;if(t){let{options:l,disabled:e}=t;e?v.preventDefault():n&&l&&l.length&&(g.options=l,p.preventEvent(v,"event.showMenu",g,()=>{if(!o||o(g)){v.preventDefault(),p.updateZindex();var t=(i?i.getRefMaps().refElem:C).value;if(t){t=t.getBoundingClientRect();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:r}=(0,_dom.getDomNode)(),s=v.clientY-t.y,a=v.clientX-t.x,n=(b&&(s=v.clientY+o,a=v.clientX+i),()=>{_._currMenuParams=g;var e={zIndex:h||_.tZindex,top:s+"px",left:a+"px"};m&&(e["--vxe-ui-table-menu-item-width"]=(0,_dom.toCssUnit)(m)),Object.assign(f,{visible:!0,list:l,selected:null,selectChild:null,showChild:!1,style:e}),(0,_vue.nextTick)(()=>{var e=T.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-r;-10<e&&(f.style.top=Math.max(o+2,s-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})}),{keyboard:e,row:d,column:c}=g;e&&d&&c?p.scrollToRow(d,c).then(()=>{var e,t,l=p.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),s=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}}else L.closeMenu()}))}p.closeFilter()};return L={closeMenu(){return Object.assign(E.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},e={moveCtxMenu(e,t,l,n,o,i){let u;var r=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=r-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=r+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&p.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:O,handleGlobalContextmenuEvent(t){var l=p.xeGrid,n=p.xeGantt,{mouseConfig:e,menuConfig:o}=M,{editStore:i,ctxMenuStore:u}=E,r=_.visibleColumn,s=y.value,a=T.value,d=w.value,c=N.value,v=C.value,i=i.selected,g=["header","body","footer"];if((0,_utils.isEnableConf)(o)){if(u.visible&&a&&(0,_dom.getEventTargetNode)(t,a.getRefMaps().refElem.value).flag)return void t.preventDefault();if(_._keyCtx){o="body",u={source:"table",type:o,$table:p,$grid:l,$gantt:n,keyboard:!0,columns:r.slice(0),$event:t};if(e&&d.area){a=p.getActiveCellArea();if(a&&a.row&&a.column)return u.row=a.row,u.column=a.column,void O(t,o,u)}else if(e&&d.selected&&i.row&&i.column)return u.row=i.row,u.column=i.column,void O(t,o,u)}for(let e=0;e<g.length;e++){var f=g[e],h=(0,_dom.getEventTargetNode)(t,v,`vxe-${f}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===x),b={source:"table",type:f,$table:p,$grid:l,$gantt:n,columns:r.slice(0),$event:t};if(h.flag){var h=h.targetElem,m=p.getColumnNode(h),m=m?m.item:null;let e=f+"-";m&&Object.assign(b,{column:m,columnIndex:p.getColumnIndex(m),cell:h}),"body"===f&&(h=(m=p.getRowNode(h.parentNode))?m.item:null,e="",h)&&(b.row=h,b.rowIndex=p.getRowIndex(h));m=e+"cell-menu";return O(t,f,b),void p.dispatchEvent(m,b,t)}if((0,_dom.getEventTargetNode)(t,v,`vxe-table--${f}-wrapper`,e=>e.getAttribute("xid")===x).flag||"body"===f&&(0,_dom.getEventTargetNode)(t,v,"vxe-table--empty-place-wrapper",e=>e.getAttribute("xid")===x).flag)return void("cell"===c.trigger?t.preventDefault():O(t,f,b))}}s&&!(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag&&p.closeFilter(),L.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=E.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:r,visibleWidth:s}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>s-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>r-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=E.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=p.xeGrid,o=p.xeGantt;t.loading||t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},_._currMenuParams,{menu:t,$table:p,$grid:n,$gantt:o,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),p.dispatchEvent("menu-click",t,e),L.closeMenu())}},Object.assign(Object.assign({},L),e)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)},setupGantt(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
package/lib/table/src/emits.js
CHANGED
|
@@ -10,6 +10,6 @@ const tableEmits = exports.tableEmits = ['ready', 'init-rendered', 'data-rendere
|
|
|
10
10
|
// 废弃
|
|
11
11
|
'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'tab-append-row', 'edit-actived',
|
|
12
12
|
// 废弃
|
|
13
|
-
'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr',
|
|
13
|
+
'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-open', 'custom-close', 'custom-cancel', 'custom-reset', 'custom-confirm', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr',
|
|
14
14
|
// 废弃
|
|
15
15
|
'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-extension-fill', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'cell-area-fill-copy', 'active-cell-change-start', 'active-cell-change-end'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableEmits=void 0;let tableEmits=exports.tableEmits=["ready","init-rendered","data-rendered","update:data","keydown-start","keydown","keydown-end","paste","copy","cut","undo","redo","context-menu","columns-change","data-change","footer-data-change","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","tab-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","custom-sort-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-extension-fill","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","cell-area-fill-copy","active-cell-change-start","active-cell-change-end"];
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableEmits=void 0;let tableEmits=exports.tableEmits=["ready","init-rendered","data-rendered","update:data","keydown-start","keydown","keydown-end","paste","copy","cut","undo","redo","context-menu","columns-change","data-change","footer-data-change","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","tab-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-open","custom-close","custom-cancel","custom-reset","custom-confirm","custom-visible-change","custom-visible-all","custom-fixed-change","custom-sort-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-extension-fill","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","cell-area-fill-copy","active-cell-change-start","active-cell-change-end"];
|
package/lib/table/src/table.js
CHANGED
|
@@ -680,8 +680,8 @@ if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isCl
|
|
|
680
680
|
if(showAll){// 如果为 null 默认显示
|
|
681
681
|
if(_xeUtils.default.eqNull(customContent)){isShow=true;content=cellText;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
682
682
|
isShow=true;content=''+customContent;}}else{// 如果为 null 使用默认逻辑
|
|
683
|
-
if(_xeUtils.default.eqNull(customContent)){isShow=isOver;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
684
|
-
isShow=true;}content=cellText;}if(isShow&&content){const tipContent=(0,_utils.formatText)(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});(0,_vue.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return(0,_vue.nextTick)();};const truncateStackHistory=()=>{const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=computeUndoRedoHistoryOpts.value;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>_xeUtils.default.toNumber(stackSize)){undoStacks.shift();}};/**
|
|
683
|
+
if(_xeUtils.default.eqNull(customContent)){isShow=isOver;content=cellText;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
684
|
+
isShow=true;content=customContent;}else{content=cellText;}}if(isShow&&content){const tipContent=(0,_utils.formatText)(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});(0,_vue.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return(0,_vue.nextTick)();};const truncateStackHistory=()=>{const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=computeUndoRedoHistoryOpts.value;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>_xeUtils.default.toNumber(stackSize)){undoStacks.shift();}};/**
|
|
685
685
|
* 生成快照数据
|
|
686
686
|
*/const getSnapshotStackData=()=>{const{editStore}=reactData;const{afterFullData,elemStore,insertRowMaps,removeRowMaps}=internalData;const{selected,actived}=editStore;const{row:selectRow,column:selectColumn}=selected;const{row:editRow,column:editColumn}=actived;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const stackObj={selectActiveInfo:selectRow&&selectColumn?{rowid:(0,_util.getRowid)($xeTable,selectRow),colid:selectColumn.id}:undefined,editActiveInfo:editRow&&editColumn?{rowid:(0,_util.getRowid)($xeTable,editRow),colid:editColumn.id}:undefined,scrollInfo:{top:bodyScrollElem?bodyScrollElem.scrollTop:0,left:bodyScrollElem?bodyScrollElem.scrollLeft:0},insertData:_xeUtils.default.clone(_xeUtils.default.values(insertRowMaps),true),removeData:_xeUtils.default.clone(_xeUtils.default.values(removeRowMaps),true),visibleData:_xeUtils.default.clone(afterFullData,true),visibleTreeData:[],visibleColumn:[]};return $xeTable.getCellAreaPushStackObj?$xeTable.getCellAreaPushStackObj(stackObj):stackObj;};/**
|
|
687
687
|
* 刷新栈视图
|
|
@@ -812,7 +812,7 @@ dispatchEvent('current-change',Object.assign({oldValue,newValue},params),evnt);}
|
|
|
812
812
|
* 单元格按下事件
|
|
813
813
|
*/triggerCellMousedownEvent(evnt,params){const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=computeRowOpts.value;const rowDragOpts=computeRowDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){clearDragStatus();},/**
|
|
814
814
|
* 行拖拽
|
|
815
|
-
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const{treeConfig,dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=computeTreeOpts.value;const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=refElem.value;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
815
|
+
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const{treeConfig,dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=computeTreeOpts.value;const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=refElem.value;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
816
816
|
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const dragRowid=(0,_util.getRowid)($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=(0,_util.getCellRestHeight)(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;const oldRest=dragRowRest;const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];const oldAllMaps={};let isSelfToChildStatus=false;// 如果为树结构
|
|
817
817
|
if(treeConfig){if(transform){if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;_xeUtils.default.eachTree([dragRow],item=>{oldAllMaps[(0,_util.getRowid)($xeTable,item)]=item;},{children:mapChildrenField});if(oldLevel&&newLevel){// 子到子
|
|
818
818
|
if(isPeerDrag&&!isCrossDrag){if(oldRest.row[parentField]!==newRest.row[parentField]){// 非同级
|
|
@@ -842,7 +842,7 @@ if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj
|
|
|
842
842
|
const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=computeRowDragOpts.value;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=(0,_dom.hasControlKey)(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
|
|
843
843
|
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|
|
844
844
|
* 列拖拽
|
|
845
|
-
*/handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
845
|
+
*/handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
846
846
|
if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};let dragTargetColumn=null;const dragAllTargetCols=[];let dragColWidth=0;if(animation){_xeUtils.default.eachTree([dragColumn],column=>{if(!dragTargetColumn&&(!column.children||!column.children.length)){dragTargetColumn=column;dragColWidth+=column.renderWidth;}dragAllTargetCols.push(column);});}if(!dragTargetColumn){dragTargetColumn=dragColumn;}const dragColRest=fullColumnIdData[dragTargetColumn.id]||{};const _dragColIndex=dragColRest._index;let dragOffsetLeft=-1;if(animation){const oldTrEl=el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);if(oldTrEl){dragOffsetLeft=oldTrEl.offsetLeft;}}let oafIndex=-1;let nafIndex=-1;const oldAllMaps={};_xeUtils.default.eachTree([dragColumn],column=>{oldAllMaps[column.id]=column;});let isSelfToChildStatus=false;if(dragColumn.parentId&&newColumn.parentId){// 子到子
|
|
847
847
|
if(isPeerDrag&&!isCrossDrag){if(dragColumn.parentId!==newColumn.parentId){// 非同级
|
|
848
848
|
handleColDragEndClearStatus();return Promise.resolve(errRest);}}else{if(!isCrossDrag){handleColDragEndClearStatus();return Promise.resolve(errRest);}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.error.treeDragChild')});}handleColDragEndClearStatus();return Promise.resolve(errRest);}}}}else if(dragColumn.parentId){// 子到根
|