vxe-table
Version:
A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.
1 lines • 25.1 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(W,t){var e=_xeUtils.default.uniqueId();let K=_ui.VxeUI.getComponent("VxeModal"),X=_ui.VxeUI.getComponent("VxeDrawer"),q=_ui.VxeUI.getComponent("VxeButton"),j=_ui.VxeUI.getComponent("VxeNumberInput"),Y=_ui.VxeUI.getComponent("VxeRadioGroup"),Z=(0,_vue.inject)("$xeTable",{}),{props:J,reactData:Q,internalData:n}=Z,{computeSize:M,computeCustomOpts:ee,computeColumnDragOpts:te,computeColumnOpts:xe,computeIsMaxFixedColumn:le,computeResizableOpts:he,computeAggregateOpts:be}=Z.getComputeMaps(),L=(0,_vue.ref)(),oe=(0,_vue.ref)(),ae=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=createInternalData(),a={refElem:L,refBodyWrapperElem:oe,refCustomBodyElem:ae,refDragLineElem:u,refDragTipElem:d},i={},R=e=>{var t=W.customStore;t.activeWrapper=!0,Z.customOpenEvent(e)},G=e=>{let t=W.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||Z.customCloseEvent(e)},300)},ie=({$event:e})=>{Q.isCustomStatus=!0,Z.saveCustom(),Z.closeCustom(),Z.emitCustomEvent("confirm",e),Z.emitCustomEvent("close",e)},se=({$event:e})=>{Z.closeCustom(),Z.emitCustomEvent("close",e)},ne=({$event:e})=>{Z.cancelCustom(),Z.closeCustom(),Z.emitCustomEvent("cancel",e),Z.emitCustomEvent("close",e)},l=e=>{Z.resetCustom(!0),Z.closeCustom(),Z.emitCustomEvent("reset",e),Z.emitCustomEvent("close",e)},re=({$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=Q.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))},ue=(e,t)=>{let l=!e.renderVisible;ee.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),Q.isCustomStatus=!0,Z.handleCustom(),Z.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),Z.checkCustomStatus(),Z.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},_e=e=>{ee.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,Q.isCustomStatus=!0,Z.handleCustom(),Z.saveCustomStore("update:width"))},de=(e,t,l)=>{var o=le.value;let a=null;ee.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})),Q.isCustomStatus=!0,Z.handleCustom(),Z.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&&Z.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},ce=e=>{var t=Q.customStore,t=!t.isAll;Z.toggleCustomAllCheckbox(),Z.dispatchEvent("custom-visible-all",{checked:t},e)},c=(e,t,l,o)=>{var a,i,s,n,r=oe.value;r&&(n=ae.value)&&(a=T.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=E.dragCol,t=te.value.tooltipMethod;let l="";l=t?""+(t({$table:Z,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),E.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},me=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=Z.getColumnById(t);e.draggable=!0,E.dragCol=t,E.dragGroupField=null,E.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},ve=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,E.dragCol=null,E.dragGroupField=null,(E.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},pe=e=>{var t=T.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),Q.isCustomDragStatus=!0,T.prevDragGroupField=null,T.prevDragAggFnColid=null},ge=d=>{let c=J.mouseConfig,m=Q.customColumnList,v=n.collectColumn;let p=ee.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isSelfToChildDrag:x,isToChildDrag:h,dragEndMethod:t}=te.value;var l=E.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:b,prevDragToChild:_}=T,C="bottom"===b?1:0;if(a||i)Z.handlePivotTableAggregatePanelDragendEvent&&Z.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:b,dragToChild:!!_,offsetIndex:C})).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(!g)return;if(l[u.id]&&(o=!0,!g||!x))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||!x))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&&x?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&&h&&_?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,i.splice(s+C,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+C,0,r);c&&(Z.clearSelected&&Z.clearSelected(),Z.clearCellAreas)&&(Z.clearCellAreas(),Z.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:b,offsetIndex:C,_index:{newIndex:t,oldIndex:e}};Z.dispatchEvent("custom-sort-change",a,d),Z.dispatchEvent("column-dragend",a,d),p&&(Q.customColumnList=v.slice(0),Z.handleColDragSwapColumn()),f()}}).catch(()=>{})}s(),E.dragCol=null,E.dragGroupField=null,E.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")},Ce=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=ee.value,{isCrossDrag:i,isToChildDrag:s}=te.value,n=e.currentTarget,r=(0,_dom.hasControlKey)(e),u=n.getAttribute("colid"),u=Z.getColumnById(u),d=E.dragCol;T.prevDragGroupField=null,T.prevDragAggFnColid=null,u&&(i||1===u.level)&&(e.preventDefault(),t=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!d||!l||!o||d&&d.id===u.id||!i&&1<u.level||!a&&1<u.level||!i&&1<d.level||!a&&1<d.level?c(e,n,!1,t):(T.prevDragToChild=!!(i&&s&&r&&a),T.prevDragCol=u,T.prevDragPos=t,c(e,n,!0,t)))},f=()=>{T.customDragTime=setTimeout(()=>{Q.isCustomDragStatus=!1,T.customDragTime=void 0},350)},Ee=(e,t)=>{var o=Q.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),f()}))}},Te=(e,t)=>{var o=Q.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),f()}))}},fe=(e,t)=>{let a=Q.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)&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),f()}))}},Ie=(e,t)=>{let a=Q.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)&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),f()}))}},ye=()=>{var e=E.dragTipText,t=te.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=ee.value.mode;K||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),X||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),q||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),j||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),Y||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:W,context:t,reactData:E,internalData:T,xeTable:Z,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=ee.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var L=Z.xeGrid,M=Z.xeGantt;let t=W.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=J,{isCustomStatus:a,customColumnList:i}=Q,s=ee.value;var n=te.value;let r=be.value.placement,{mode:G,immediate:v,showSortDragButton:H,showSortMoveButton:p,showSortPutButton:g,modalOptions:P,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:T}=s,f=xe.value,u=f.maxFixedSize,{minWidth:I,maxWidth:y}=he.value;var d=Object.assign({},P),c=Object.assign({},z);let D=le.value,$=n.isCrossDrag;n=s.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,O=t.isIndeterminate,V="right"===r||"bottom"===r,F={$table:Z,$grid:L,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:O,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!T||T({$table:Z,column:o})){let e=0,t=0;b&&(n={$table:Z,column:o,columnIndex:a,$columnIndex:a,$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:Z,column:o});var c=!n,m=!!$&&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:pe,onDragend:ge,onDragover:Ce},[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||ue(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(Z),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&H||_||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:me,onMouseup:ve}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(Z),"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"},q?[p?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){Ee(e,o)}}):renderEmptyElement(Z),p?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){Te(e,o)}}):renderEmptyElement(Z),g&&!s?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){fe(e,o)}}):renderEmptyElement(Z),g&&!s?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){Ie(e,o)}}):renderEmptyElement(Z)]:[]):renderEmptyElement(Z)])]),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","-"):j?(0,_vue.h)(j,{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(){_e(o)}}):renderEmptyElement(Z)]):renderEmptyElement(Z),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{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}){de(o,e,t)}}):renderEmptyElement(Z)]):renderEmptyElement(Z)]))}});n={default:()=>(0,_vue.h)("div",{ref:oe,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?Z.callSlot(k,F):[V||e||!o&&!l||!Z.getPivotTableAggregatePopupPanel?renderEmptyElement(Z):(0,_vue.h)(Z.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},Z.callSlot(A,F)):renderEmptyElement(Z),(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(Z),(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(Z),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(Z)]),(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":O}],title:getI18n("vxe.table.allTitle"),onClick:ce},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?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(Z),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(Z),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(Z)])]),(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"},Z.callSlot(S,F)):renderEmptyElement(Z),ye()]),V&&!e&&(o||l)&&Z.getPivotTableAggregatePopupPanel?(0,_vue.h)(Z.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(Z)]),footer:()=>w?Z.callSlot(w,F):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[q?(0,_vue.h)(q,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:re}):renderEmptyElement(Z),v?q?(0,_vue.h)(q,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:se}):renderEmptyElement(Z):q?(0,_vue.h)(q,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(Z),!v&&q?(0,_vue.h)(q,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:ie}):renderEmptyElement(Z)])};return m&&(n.header=()=>Z.callSlot(m,F)),"drawer"===G?X?(0,_vue.h)(X,{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(Z):K?(0,_vue.h)(K,{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(Z)}:()=>{var e=Z.xeGrid,t=Z.xeGantt,l=Z.props,o=W.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:n,isCustomDragStatus:r}=Q,u=ee.value;let c=u.immediate;var d=te.value,m=o.popupStyle;let{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=le.value;var D=M.value;let A=d.isCrossDrag;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var O={},V=o.isAll,F=o.isIndeterminate,e=("hover"===C&&(O.onMouseenter=R,O.onMouseleave=G),{$table:Z,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:F,isCustomStatus:s});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:Z,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:Z,column:l});var u=!i,d=!!A&&c||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:pe,onDragend:ge,onDragover:Ce},[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||ue(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(Z),(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:me,onMouseup:ve}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(Z),"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"},q?[f?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){Ee(e,l)}}):renderEmptyElement(Z),f?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){Te(e,l)}}):renderEmptyElement(Z),I&&!a?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){fe(e,l)}}):renderEmptyElement(Z),I&&!a?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){Ie(e,l)}}):renderEmptyElement(Z)]:[]):renderEmptyElement(Z),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[q?(0,_vue.h)(q,{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})=>{de(l,"left",e)}}):renderEmptyElement(Z),q?(0,_vue.h)(q,{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})=>{de(l,"right",e)}}):renderEmptyElement(Z)]):renderEmptyElement(Z)]))}}),(0,_vue.h)("div",{ref:L,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:m},o.visible?[(0,_vue.h)("div",{ref:oe,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&Z.getPivotTableAggregateSimplePanel?(0,_vue.h)(Z.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(Z),(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?Z.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":F}],title:getI18n("vxe.table.allTitle"),onClick:ce},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",F?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"},Z.callSlot(k,e)):renderEmptyElement(Z),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},Z.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},O),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},Z.callSlot(w,e)):renderEmptyElement(Z)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?Z.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[q?(0,_vue.h)(q,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:re}):renderEmptyElement(Z),c?q?(0,_vue.h)(q,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:se}):renderEmptyElement(Z):q?(0,_vue.h)(q,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(Z),!c&&q?(0,_vue.h)(q,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:ie}):renderEmptyElement(Z)])]):null]),ye()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});