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.2 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(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)(),f=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=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=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=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},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,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;s(),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:i,prevDragPos:_,prevDragToChild:C}=T,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(),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:i,isPeerDrag:s,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&&(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):(T.prevDragToChild=!!(i&&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 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=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||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),j||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),Y||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),Z||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:f,internalData:T,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var L=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:f}=s,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=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:J,$grid:L,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:O,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!f||f({$table:J,column:o})){let e=0,t=0;b&&(n={$table:J,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: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>=i.length-1,onClick(e){Te(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: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"},[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,F):[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,F)):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":O}],title:getI18n("vxe.table.allTitle"),onClick:me},[(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(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,F)):renderEmptyElement(J),De()]),V&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,F):(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,F)),"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:f,showSortMoveButton:T,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:L}=d;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=P,O.onMouseleave=G),{$table:J,$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: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&&!L)&&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&&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&&(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":F}],title:getI18n("vxe.table.allTitle"),onClick:me},[(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"},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"},O),{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)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});