vxe-table 3.17.5 → 3.17.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +3 -3
- package/es/table/src/methods.js +38 -6
- package/es/table/src/table.js +5 -11
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +54 -22
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +3 -3
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/methods.js +44 -6
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +5 -11
- 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 +1 -1
- package/packages/table/module/custom/panel.ts +4 -4
- package/packages/table/src/methods.ts +39 -6
- package/packages/table/src/table.ts +5 -13
- package/styles/cssvar.scss +0 -2
- /package/es/{iconfont.1754479734481.ttf → iconfont.1754614978390.ttf} +0 -0
- /package/es/{iconfont.1754479734481.woff → iconfont.1754614978390.woff} +0 -0
- /package/es/{iconfont.1754479734481.woff2 → iconfont.1754614978390.woff2} +0 -0
- /package/lib/{iconfont.1754479734481.ttf → iconfont.1754614978390.ttf} +0 -0
- /package/lib/{iconfont.1754479734481.woff → iconfont.1754614978390.woff} +0 -0
- /package/lib/{iconfont.1754479734481.woff2 → iconfont.1754614978390.woff2} +0 -0
|
@@ -906,8 +906,8 @@ var _default = exports.default = {
|
|
|
906
906
|
parent
|
|
907
907
|
} = matchObj;
|
|
908
908
|
if (parent.children && parent.children.length) {
|
|
909
|
-
parent.
|
|
910
|
-
parent.halfVisible = !parent.
|
|
909
|
+
parent.renderVisible = parent.children.every(column => column.renderVisible);
|
|
910
|
+
parent.halfVisible = !parent.renderVisible && parent.children.some(column => column.renderVisible || column.halfVisible);
|
|
911
911
|
this.handleOptionCheck(parent);
|
|
912
912
|
}
|
|
913
913
|
}
|
|
@@ -916,8 +916,8 @@ var _default = exports.default = {
|
|
|
916
916
|
const $xeTableCustomPanel = this;
|
|
917
917
|
const $xeTable = $xeTableCustomPanel.$xeTable;
|
|
918
918
|
const tableReactData = $xeTable;
|
|
919
|
-
const customOpts = $xeTable.computeCustomOpts;
|
|
920
919
|
const isChecked = !column.renderVisible;
|
|
920
|
+
const customOpts = $xeTable.computeCustomOpts;
|
|
921
921
|
if (customOpts.immediate) {
|
|
922
922
|
_xeUtils.default.eachTree([column], item => {
|
|
923
923
|
item.visible = isChecked;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function showDropTip(e,t,l,o,s){var a,r,i,n=e.internalData,d=e.$refs.refBodyWrapperElem;d&&(i=e.$refs.refCustomBodyElem)&&(n=n.prevDragToChild,a=d.getBoundingClientRect(),i=i.getBoundingClientRect(),r=e.$refs.refDragLineElem,l?r&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.left=Math.max(0,i.x-a.x)+"px",r.style.top=Math.max(1,l.y+d.scrollTop-a.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",n?"y":"n")):r.style.display=""):r&&(r.style.display="node"),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(d.clientHeight+d.scrollTop-i.clientHeight,t.clientY+d.scrollTop-a.y)+"px",i.style.left=Math.min(d.clientWidth+d.scrollLeft-i.clientWidth,t.clientX+d.scrollLeft-a.x)+"px",i.setAttribute("drag-status",o?n?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}let renderDragTip=(e,t)=>{var l=t.$xeTable,t=t.reactData.dragTipText;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":l.computeColumnDragOpts.showGuidesStatus}]}),e("div",{ref:"refDragTipElem",class:"vxe-table-custom-popup--drag-tip"},[e("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[e("div",{class:"vxe-table-custom-popup--drag-tip-status"},[e("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(t||""))])])])},renderSimplePanel=(c,u)=>{let m=_ui.VxeUI.getComponent("VxeButton");let p=u.$xeTable;var e=p,t=p,l=p.$xeGrid,o=u.customStore,{treeConfig:e,rowGroupConfig:s,aggregateConfig:a}=e,{isCustomStatus:t,customColumnList:r}=t,i=p.computeCustomOpts;let g=i.immediate;var n=p.computeColumnDragOpts,d=o.maxHeight;let{checkMethod:v,visibleMethod:x,allowVisible:b,allowSort:h,allowFixed:C,trigger:E,placement:T}=i,f=p.computeIsMaxFixedColumn,_=n.isCrossDrag;var n=i.slots||{},I=n.header,D=n.top,y=n.bottom,O=n.default,n=n.footer;let A=[];var k={},S=o.isAll,F=o.isIndeterminate,l=("hover"===E&&(k.mouseenter=u.handleWrapperMouseenterEvent,k.mouseleave=u.handleWrapperMouseleaveEvent),{$table:p,$grid:l,columns:r,isAllChecked:S,isAllIndeterminate:F,isCustomStatus:t});return _xeUtils.default.eachTree(r,(l,e,t,o,s)=>{if(!x||x({$table:p,column:l})){var a=l.renderVisible,r=l.halfVisible,i=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:p,column:l});var d=!a;A.push(c("li",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||d,"is--group":i}],on:{dragstart:u.sortDragstartEvent,dragend:u.sortDragendEvent,dragover:u.sortDragoverEvent}},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":r,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||u.changeCheckboxOption(l,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),c("div",{class:"vxe-table-custom--name-option"},[h&&(_&&g||1===l.level)?c("div",{class:"vxe-table-custom--sort-option"},[c("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":t||d||l.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:t||d||l.renderFixed?{}:{mousedown:u.sortMousedownEvent,mouseup:u.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===l.type?c("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):c("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?c("div",{class:"vxe-table-custom--fixed-option"},[c(m,{props:{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{u.changeFixedOption(l,"left",e)}}}),c(m,{props:{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{u.changeFixedOption(l,"right",e)}}})]):renderEmptyElement(p)]))}}),c("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+T,{"is--active":o.visible}],style:d&&!["left","right"].includes(T||"")?{maxHeight:d+"px"}:{}},o.visible?[c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-simple--body-wrapper"},[!e&&(a||s)&&p.getPivotTableAggregateSimplePanel?c(p.getPivotTableAggregateSimplePanel(),{props:{customStore:o}}):renderEmptyElement(p),c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[c("div",{class:"vxe-table-custom--header"},I?p.callSlot(I,l,c):[c("ul",{class:"vxe-table-custom--panel-list"},[c("li",{class:"vxe-table-custom--option"},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":F}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:u.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):c("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),c("div",{class:"vxe-table-custom--body"},[D?c("div",{class:"vxe-table-custom--panel-top"},p.callSlot(D,l,c)):renderEmptyElement(p),O?c("div",{class:"vxe-table-custom--panel-body"},p.callSlot(O,l,c)):c("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:k},A),y?c("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(y,l,c)):renderEmptyElement(p)]),i.showFooter?c("div",{class:"vxe-table-custom--footer"},n?p.callSlot(n,l,c):[c("div",{class:"vxe-table-custom--footer-buttons"},[c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:u.resetCustomEvent}}),g?c(m,{props:{mode:"text",content:i.closeButtonText||getI18n("vxe.table.customClose")},on:{click:u.cancelCloseEvent}}):c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:u.cancelCustomEvent}}),g?renderEmptyElement(p):c(m,{props:{mode:"text",status:"primary",content:i.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:u.confirmCustomEvent}})])]):null]),renderDragTip(c,u)])]:[])},renderPopupPanel=(c,u)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),m=_ui.VxeUI.getComponent("VxeInput"),p=u,g=u.$xeTable;var o=g,s=g,a=g.$xeGrid;let r=u.customStore,{treeConfig:V,rowGroupConfig:$,aggregateConfig:M,resizable:R}=o,{isCustomStatus:i,customColumnList:n}=s,d=g.computeCustomOpts,v=d.immediate;o=g.computeColumnDragOpts;let{mode:H,modalOptions:P,drawerOptions:W,allowVisible:x,allowSort:G,allowFixed:b,allowResizable:h,checkMethod:C,visibleMethod:E}=d,T=g.computeColumnOpts,f=T.maxFixedSize,{minWidth:_,maxWidth:I}=g.computeResizableOpts;var s=Object.assign({},P),D=Object.assign({},W);let y=g.computeIsMaxFixedColumn,z=o.isCrossDrag;o=d.slots||{};let O=o.header,A=o.top,k=o.bottom,S=o.default,F=o.footer,B=[],w=r.isAll,U=r.isIndeterminate,L={$table:g,$grid:a,columns:n,isAllChecked:w,isAllIndeterminate:U,isCustomStatus:i};_xeUtils.default.eachTree(n,(o,s,e,t,a)=>{if(!E||E({$table:g,column:o})){let e=0,t=0;h&&(s={$table:g,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},_&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_)),I)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I));var s=o.renderVisible,r=o.halfVisible,i=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!C&&!C({$table:g,column:o});var d=!s;B.push(c("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:p.sortDragstartEvent,dragend:p.sortDragendEvent,dragover:p.sortDragoverEvent}},[x?c("td",{class:"vxe-table-custom-popup--column-item col--visible"},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{l||p.changeCheckboxOption(o,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(g),c("td",{class:"vxe-table-custom-popup--column-item col--name"},[c("div",{class:"vxe-table-custom-popup--name"},[G?z&&v||1===o.level?c("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||d||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||d||o.renderFixed?{}:{mousedown:p.sortMousedownEvent,mouseup:p.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})]):c("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(g),"html"===o.type?c("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:i}}):c("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:i}},i)])]),h?c("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?c("span","-"):m?c(m,{props:{type:"integer",immediate:!1,disabled:l||d,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){p.changeColumnWidth(o)}}}):renderEmptyElement(u)]):renderEmptyElement(g),b?c("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[a?c("span","-"):c("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||d,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||d||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||d},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||d||y}]},on:{change({label:e,$event:t}){p.changeFixedOption(o,e,t)}}})]):renderEmptyElement(g)]))}});o={default:()=>c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-popup--body-wrapper"},S?g.callSlot(S,L,c):[c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[A?c("div",{class:"vxe-table-custom-popup--table-top"},g.callSlot(A,L,c)):renderEmptyElement(g),c("div",{class:"vxe-table-custom-popup--table-wrapper"},[c("table",{},[c("colgroup",{},[x?c("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(g),c("col",{class:"vxe-table-custom-popup--table-col-title"}),h?c("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(g),b?c("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(g)]),c("thead",{},[c("tr",{},[x?c("th",{},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":w,"is--indeterminate":U}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:p.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:w?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(g),c("th",{},getI18n("vxe.custom.setting.colTitle")),h?c("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(g),b?c("th",{},getI18n("vxe.custom.setting."+(f?"colFixedMax":"colFixed"),[f])):renderEmptyElement(g)])]),c("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},B)])]),k?c("div",{class:"vxe-table-custom-popup--table-bottom"},g.callSlot(k,L,c)):renderEmptyElement(g),renderDragTip(c,p)]),!V&&(M||$)&&g.getPivotTableAggregatePopupPanel?c(g.getPivotTableAggregatePopupPanel(),{props:{customStore:r}}):renderEmptyElement(g)]),footer:()=>F?g.callSlot(F,L,c):c("div",{class:"vxe-table-custom-popup--footer"},[c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!i},on:{click:p.resetCustomEvent}}),v?c(l,{props:{content:d.resetButtonText||getI18n("vxe.table.customClose")},on:{click:p.cancelCloseEvent}}):c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:p.cancelCustomEvent}}),v?renderEmptyElement(g):c(l,{props:{status:"primary",content:d.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:p.confirmCustomEvent}})])};return O&&(o.header=()=>g.callSlot(O,L,c)),"drawer"===H?t?c(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:r.visible,title:D.title||getI18n("vxe.custom.cstmTitle"),width:D.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:D.position,resize:!!D.resize,escClosable:!!D.escClosable,maskClosable:!!D.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u):e?c(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:r.visible,title:s.title||getI18n("vxe.custom.cstmTitle"),width:s.width||Math.min(880,document.documentElement.clientWidth),minWidth:s.minWidth||700,height:s.height||Math.min(680,document.documentElement.clientHeight),minHeight:s.minHeight||400,showZoom:s.showZoom,showMaximize:s.showMaximize,showMinimize:s.showMinimize,mask:s.mask,lockView:s.lockView,resize:s.resize,escClosable:!!s.escClosable,maskClosable:!!s.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""},internalData:{}}},computed:{},created(){let t=this,l=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),r=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;l||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),o||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),a||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),r||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])})},render(e){var t=this.$xeTable.computeCustomOpts;return(["modal","drawer","popup"].includes(""+t.mode)?renderPopupPanel:renderSimplePanel)(e,this)},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,l=this.customStore;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let l=this.customStore;l.activeWrapper=!1,setTimeout(()=>{l.activeBtn||l.activeWrapper||t.customCloseEvent(e)},300)},getStoreData(){return{}},confirmCustomEvent({$event:e}){var t=this.$xeTable;t.isCustomStatus=!0,t.saveCustom(),t.closeCustom(),t.emitCustomEvent("confirm",e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.visible=e.children.every(e=>e.visible),e.halfVisible=!e.visible&&e.children.some(e=>e.visible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var l=this.$xeTable,o=l,s=l.computeCustomOpts;let a=!e.renderVisible;s.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=a,e.renderVisible=a,e.halfVisible=!1}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=a,e.halfVisible=!1}),this.handleOptionCheck(e),l.checkCustomStatus(),l.dispatchEvent("custom-visible-change",{column:e,checked:a},t)},changeColumnWidth(e){var t=this.$xeTable,l=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,l){var o=this.$xeTable,s=o,a=o.computeIsMaxFixedColumn;let r=null;o.computeCustomOpts.immediate?(e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:fixed")):e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==r&&o.dispatchEvent("custom-fixed-change",{column:e,fixed:r},l)},allOptionEvent(e){var t=this.$xeTable,l=t.customStore,l=!l.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:l},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,l=t.dragCol,o=e.computeColumnDragOpts.tooltipMethod;let s="";s=o?""+(o({$table:e,column:l})||""):getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,l=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,o=e.getAttribute("colid"),t=t.getColumnById(o);e.draggable=!0,l.dragCol=t,l.dragGroupField=null,l.dragAggFnCol=null,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,t.dragCol=null,t.dragGroupField=null,(t.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.internalData;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t.prevDragGroupField=null,t.prevDragAggFnColid=null},sortDragendEvent(c){let u=this.$xeTable;var e=u;let m=u;var t=u,l=this.reactData,o=this.internalData;let p=e.mouseConfig,g=m.customColumnList,v=t.collectColumn,x=u.computeCustomOpts.immediate;e=c.currentTarget;let{isCrossDrag:b,isSelfToChildDrag:h,isToChildDrag:C,dragEndMethod:s}=u.computeColumnDragOpts;t=l.dragCol;let{prevDragCol:a,prevDragGroupField:r,prevDragAggFnColid:i,prevDragPos:E,prevDragToChild:T}=o,f="bottom"===E?1:0;if(r||i)u.handlePivotTableAggregatePanelDragendEvent&&u.handlePivotTableAggregatePanelDragendEvent(c);else if(a&&t&&a!==t){let n=t,d=a;Promise.resolve(!s||s({oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,dragToChild:!!T,offsetIndex:f})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(x){if(n.parentId&&d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!b)return}else if(d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,r,i,s=_xeUtils.default.findTree(v,e=>e.id===n.id),s=(o&&b&&h?s&&({items:a,index:i}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),a.splice(i,1,...r),n.children=[]):s&&({items:a,index:i,parent:r}=s,a.splice(i,1),r||(e=i)),_xeUtils.default.findTree(v,e=>e.id===d.id));s&&({items:a,index:r,parent:i}=s,b&&C&&T?(n.parentId=d.id,d.children=(d.children||[]).concat([n])):(n.parentId=d.parentId,a.splice(r+f,0,n)),i||(t=r)),_xeUtils.default.eachTree(v,(e,t,l,o,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(g,e=>e.id===n.id),g.splice(e,1),t=_xeUtils.default.findIndexOf(g,e=>e.id===d.id),g.splice(t+f,0,n);p&&(u.clearSelected&&u.clearSelected(),u.clearCellAreas)&&(u.clearCellAreas(),u.clearCopyCellArea()),u.dispatchEvent("column-dragend",{oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,offsetIndex:f,_index:{newIndex:t,oldIndex:e}},c),x&&(m.customColumnList=v.slice(0),u.handleColDragSwapColumn())}}).catch(()=>{})}hideDropTip(this),l.dragCol=null,l.dragGroupField=null,l.dragAggFnCol=null,o.prevDragGroupField=null,o.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},sortDragoverEvent(e){var t=this,l=t.$xeTable,o=t.internalData,s=t.reactData.dragCol,a=l.computeCustomOpts.immediate,{isCrossDrag:r,isToChildDrag:i}=l.computeColumnDragOpts,n=e.currentTarget,d=(0,_dom.hasControlKey)(e),c=n.getAttribute("colid"),l=l.getColumnById(c);o.prevDragGroupField=null,o.prevDragAggFnColid=null,l&&(r||1===l.level)&&(e.preventDefault(),c=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!s||s.id===l.id||!r&&1<l.level||!a&&1<l.level||l.renderFixed?showDropTip(t,e,n,!1,c):(o.prevDragToChild=!!(r&&i&&d&&a),o.prevDragCol=l,showDropTip(t,e,n,!0,o.prevDragPos=c)))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function showDropTip(e,t,l,o,s){var a,r,i,n=e.internalData,d=e.$refs.refBodyWrapperElem;d&&(i=e.$refs.refCustomBodyElem)&&(n=n.prevDragToChild,a=d.getBoundingClientRect(),i=i.getBoundingClientRect(),r=e.$refs.refDragLineElem,l?r&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.left=Math.max(0,i.x-a.x)+"px",r.style.top=Math.max(1,l.y+d.scrollTop-a.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",n?"y":"n")):r.style.display=""):r&&(r.style.display="node"),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(d.clientHeight+d.scrollTop-i.clientHeight,t.clientY+d.scrollTop-a.y)+"px",i.style.left=Math.min(d.clientWidth+d.scrollLeft-i.clientWidth,t.clientX+d.scrollLeft-a.x)+"px",i.setAttribute("drag-status",o?n?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}let renderDragTip=(e,t)=>{var l=t.$xeTable,t=t.reactData.dragTipText;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":l.computeColumnDragOpts.showGuidesStatus}]}),e("div",{ref:"refDragTipElem",class:"vxe-table-custom-popup--drag-tip"},[e("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[e("div",{class:"vxe-table-custom-popup--drag-tip-status"},[e("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),e("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(t||""))])])])},renderSimplePanel=(c,u)=>{let m=_ui.VxeUI.getComponent("VxeButton");let p=u.$xeTable;var e=p,t=p,l=p.$xeGrid,o=u.customStore,{treeConfig:e,rowGroupConfig:s,aggregateConfig:a}=e,{isCustomStatus:t,customColumnList:r}=t,i=p.computeCustomOpts;let g=i.immediate;var n=p.computeColumnDragOpts,d=o.maxHeight;let{checkMethod:v,visibleMethod:x,allowVisible:b,allowSort:h,allowFixed:C,trigger:E,placement:T}=i,f=p.computeIsMaxFixedColumn,_=n.isCrossDrag;var n=i.slots||{},I=n.header,D=n.top,y=n.bottom,O=n.default,n=n.footer;let A=[];var k={},S=o.isAll,F=o.isIndeterminate,l=("hover"===E&&(k.mouseenter=u.handleWrapperMouseenterEvent,k.mouseleave=u.handleWrapperMouseleaveEvent),{$table:p,$grid:l,columns:r,isAllChecked:S,isAllIndeterminate:F,isCustomStatus:t});return _xeUtils.default.eachTree(r,(l,e,t,o,s)=>{if(!x||x({$table:p,column:l})){var a=l.renderVisible,r=l.halfVisible,i=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:p,column:l});var d=!a;A.push(c("li",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||d,"is--group":i}],on:{dragstart:u.sortDragstartEvent,dragend:u.sortDragendEvent,dragover:u.sortDragoverEvent}},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":r,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||u.changeCheckboxOption(l,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),c("div",{class:"vxe-table-custom--name-option"},[h&&(_&&g||1===l.level)?c("div",{class:"vxe-table-custom--sort-option"},[c("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":t||d||l.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:t||d||l.renderFixed?{}:{mousedown:u.sortMousedownEvent,mouseup:u.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===l.type?c("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):c("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?c("div",{class:"vxe-table-custom--fixed-option"},[c(m,{props:{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{u.changeFixedOption(l,"left",e)}}}),c(m,{props:{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:t||d||f&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{u.changeFixedOption(l,"right",e)}}})]):renderEmptyElement(p)]))}}),c("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+T,{"is--active":o.visible}],style:d&&!["left","right"].includes(T||"")?{maxHeight:d+"px"}:{}},o.visible?[c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-simple--body-wrapper"},[!e&&(a||s)&&p.getPivotTableAggregateSimplePanel?c(p.getPivotTableAggregateSimplePanel(),{props:{customStore:o}}):renderEmptyElement(p),c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[c("div",{class:"vxe-table-custom--header"},I?p.callSlot(I,l,c):[c("ul",{class:"vxe-table-custom--panel-list"},[c("li",{class:"vxe-table-custom--option"},[b?c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":F}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:u.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):c("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),c("div",{class:"vxe-table-custom--body"},[D?c("div",{class:"vxe-table-custom--panel-top"},p.callSlot(D,l,c)):renderEmptyElement(p),O?c("div",{class:"vxe-table-custom--panel-body"},p.callSlot(O,l,c)):c("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:k},A),y?c("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(y,l,c)):renderEmptyElement(p)]),i.showFooter?c("div",{class:"vxe-table-custom--footer"},n?p.callSlot(n,l,c):[c("div",{class:"vxe-table-custom--footer-buttons"},[c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:u.resetCustomEvent}}),g?c(m,{props:{mode:"text",content:i.closeButtonText||getI18n("vxe.table.customClose")},on:{click:u.cancelCloseEvent}}):c(m,{props:{mode:"text",content:i.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:u.cancelCustomEvent}}),g?renderEmptyElement(p):c(m,{props:{mode:"text",status:"primary",content:i.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:u.confirmCustomEvent}})])]):null]),renderDragTip(c,u)])]:[])},renderPopupPanel=(c,u)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),m=_ui.VxeUI.getComponent("VxeInput"),p=u,g=u.$xeTable;var o=g,s=g,a=g.$xeGrid;let r=u.customStore,{treeConfig:L,rowGroupConfig:$,aggregateConfig:M,resizable:R}=o,{isCustomStatus:i,customColumnList:n}=s,d=g.computeCustomOpts,v=d.immediate;o=g.computeColumnDragOpts;let{mode:H,modalOptions:P,drawerOptions:W,allowVisible:x,allowSort:G,allowFixed:b,allowResizable:h,checkMethod:C,visibleMethod:E}=d,T=g.computeColumnOpts,f=T.maxFixedSize,{minWidth:_,maxWidth:I}=g.computeResizableOpts;var s=Object.assign({},P),D=Object.assign({},W);let y=g.computeIsMaxFixedColumn,z=o.isCrossDrag;o=d.slots||{};let O=o.header,A=o.top,k=o.bottom,S=o.default,F=o.footer,B=[],w=r.isAll,V=r.isIndeterminate,U={$table:g,$grid:a,columns:n,isAllChecked:w,isAllIndeterminate:V,isCustomStatus:i};_xeUtils.default.eachTree(n,(o,s,e,t,a)=>{if(!E||E({$table:g,column:o})){let e=0,t=0;h&&(s={$table:g,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},_&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_)),I)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I));var s=o.renderVisible,r=o.halfVisible,i=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!C&&!C({$table:g,column:o});var d=!s;B.push(c("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:p.sortDragstartEvent,dragend:p.sortDragendEvent,dragover:p.sortDragoverEvent}},[x?c("td",{class:"vxe-table-custom-popup--column-item col--visible"},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{l||p.changeCheckboxOption(o,e)}}},[c("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(g),c("td",{class:"vxe-table-custom-popup--column-item col--name"},[c("div",{class:"vxe-table-custom-popup--name"},[G?z&&v||1===o.level?c("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||d||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||d||o.renderFixed?{}:{mousedown:p.sortMousedownEvent,mouseup:p.sortMouseupEvent}},[c("i",{class:getIcon().TABLE_CUSTOM_SORT})]):c("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(g),"html"===o.type?c("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:i}}):c("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:i}},i)])]),h?c("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?c("span","-"):m?c(m,{props:{type:"integer",immediate:!1,disabled:l||d,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){p.changeColumnWidth(o)}}}):renderEmptyElement(u)]):renderEmptyElement(g),b?c("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[a?c("span","-"):c("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||d,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||d||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||d},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||d||y}]},on:{change({label:e,$event:t}){p.changeFixedOption(o,e,t)}}})]):renderEmptyElement(g)]))}});o={default:()=>c("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-popup--body-wrapper"},S?g.callSlot(S,U,c):[c("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[A?c("div",{class:"vxe-table-custom-popup--table-top"},g.callSlot(A,U,c)):renderEmptyElement(g),c("div",{class:"vxe-table-custom-popup--table-wrapper"},[c("table",{},[c("colgroup",{},[x?c("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(g),c("col",{class:"vxe-table-custom-popup--table-col-title"}),h?c("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(g),b?c("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(g)]),c("thead",{},[c("tr",{},[x?c("th",{},[c("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":w,"is--indeterminate":V}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:p.allOptionEvent}},[c("span",{class:["vxe-checkbox--icon",V?getIcon().TABLE_CHECKBOX_INDETERMINATE:w?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),c("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(g),c("th",{},getI18n("vxe.custom.setting.colTitle")),h?c("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(g),b?c("th",{},getI18n("vxe.custom.setting."+(f?"colFixedMax":"colFixed"),[f])):renderEmptyElement(g)])]),c("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},B)])]),k?c("div",{class:"vxe-table-custom-popup--table-bottom"},g.callSlot(k,U,c)):renderEmptyElement(g),renderDragTip(c,p)]),!L&&(M||$)&&g.getPivotTableAggregatePopupPanel?c(g.getPivotTableAggregatePopupPanel(),{props:{customStore:r}}):renderEmptyElement(g)]),footer:()=>F?g.callSlot(F,U,c):c("div",{class:"vxe-table-custom-popup--footer"},[c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!i},on:{click:p.resetCustomEvent}}),v?c(l,{props:{content:d.resetButtonText||getI18n("vxe.table.customClose")},on:{click:p.cancelCloseEvent}}):c(l,{props:{content:d.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:p.cancelCustomEvent}}),v?renderEmptyElement(g):c(l,{props:{status:"primary",content:d.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:p.confirmCustomEvent}})])};return O&&(o.header=()=>g.callSlot(O,U,c)),"drawer"===H?t?c(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:r.visible,title:D.title||getI18n("vxe.custom.cstmTitle"),width:D.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:D.position,resize:!!D.resize,escClosable:!!D.escClosable,maskClosable:!!D.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u):e?c(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:r.visible,title:s.title||getI18n("vxe.custom.cstmTitle"),width:s.width||Math.min(880,document.documentElement.clientWidth),minWidth:s.minWidth||700,height:s.height||Math.min(680,document.documentElement.clientHeight),minHeight:s.minHeight||400,showZoom:s.showZoom,showMaximize:s.showMaximize,showMinimize:s.showMinimize,mask:s.mask,lockView:s.lockView,resize:s.resize,escClosable:!!s.escClosable,maskClosable:!!s.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){r.visible=e}},scopedSlots:o}):renderEmptyElement(u)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""},internalData:{}}},computed:{},created(){let t=this,l=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),r=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;l||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),o||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),a||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),r||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])})},render(e){var t=this.$xeTable.computeCustomOpts;return(["modal","drawer","popup"].includes(""+t.mode)?renderPopupPanel:renderSimplePanel)(e,this)},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,l=this.customStore;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let l=this.customStore;l.activeWrapper=!1,setTimeout(()=>{l.activeBtn||l.activeWrapper||t.customCloseEvent(e)},300)},getStoreData(){return{}},confirmCustomEvent({$event:e}){var t=this.$xeTable;t.isCustomStatus=!0,t.saveCustom(),t.closeCustom(),t.emitCustomEvent("confirm",e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var l=this.$xeTable,o=l;let s=!e.renderVisible;l.computeCustomOpts.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=s,e.renderVisible=s,e.halfVisible=!1}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=s,e.halfVisible=!1}),this.handleOptionCheck(e),l.checkCustomStatus(),l.dispatchEvent("custom-visible-change",{column:e,checked:s},t)},changeColumnWidth(e){var t=this.$xeTable,l=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,l){var o=this.$xeTable,s=o,a=o.computeIsMaxFixedColumn;let r=null;o.computeCustomOpts.immediate?(e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:fixed")):e.renderFixed===t?(r="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(r=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==r&&o.dispatchEvent("custom-fixed-change",{column:e,fixed:r},l)},allOptionEvent(e){var t=this.$xeTable,l=t.customStore,l=!l.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:l},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,l=t.dragCol,o=e.computeColumnDragOpts.tooltipMethod;let s="";s=o?""+(o({$table:e,column:l})||""):getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,l=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,o=e.getAttribute("colid"),t=t.getColumnById(o);e.draggable=!0,l.dragCol=t,l.dragGroupField=null,l.dragAggFnCol=null,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,t.dragCol=null,t.dragGroupField=null,(t.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.internalData;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t.prevDragGroupField=null,t.prevDragAggFnColid=null},sortDragendEvent(c){let u=this.$xeTable;var e=u;let m=u;var t=u,l=this.reactData,o=this.internalData;let p=e.mouseConfig,g=m.customColumnList,v=t.collectColumn,x=u.computeCustomOpts.immediate;e=c.currentTarget;let{isCrossDrag:b,isSelfToChildDrag:h,isToChildDrag:C,dragEndMethod:s}=u.computeColumnDragOpts;t=l.dragCol;let{prevDragCol:a,prevDragGroupField:r,prevDragAggFnColid:i,prevDragPos:E,prevDragToChild:T}=o,f="bottom"===E?1:0;if(r||i)u.handlePivotTableAggregatePanelDragendEvent&&u.handlePivotTableAggregatePanelDragendEvent(c);else if(a&&t&&a!==t){let n=t,d=a;Promise.resolve(!s||s({oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,dragToChild:!!T,offsetIndex:f})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(x){if(n.parentId&&d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!b)return}else if(d.parentId){if(!b)return;if(l[d.id]&&(o=!0,!b||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,r,i,s=_xeUtils.default.findTree(v,e=>e.id===n.id),s=(o&&b&&h?s&&({items:a,index:i}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),a.splice(i,1,...r),n.children=[]):s&&({items:a,index:i,parent:r}=s,a.splice(i,1),r||(e=i)),_xeUtils.default.findTree(v,e=>e.id===d.id));s&&({items:a,index:r,parent:i}=s,b&&C&&T?(n.parentId=d.id,d.children=(d.children||[]).concat([n])):(n.parentId=d.parentId,a.splice(r+f,0,n)),i||(t=r)),_xeUtils.default.eachTree(v,(e,t,l,o,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(g,e=>e.id===n.id),g.splice(e,1),t=_xeUtils.default.findIndexOf(g,e=>e.id===d.id),g.splice(t+f,0,n);p&&(u.clearSelected&&u.clearSelected(),u.clearCellAreas)&&(u.clearCellAreas(),u.clearCopyCellArea()),u.dispatchEvent("column-dragend",{oldColumn:n,newColumn:d,dragColumn:n,dragPos:E,offsetIndex:f,_index:{newIndex:t,oldIndex:e}},c),x&&(m.customColumnList=v.slice(0),u.handleColDragSwapColumn())}}).catch(()=>{})}hideDropTip(this),l.dragCol=null,l.dragGroupField=null,l.dragAggFnCol=null,o.prevDragGroupField=null,o.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},sortDragoverEvent(e){var t=this,l=t.$xeTable,o=t.internalData,s=t.reactData.dragCol,a=l.computeCustomOpts.immediate,{isCrossDrag:r,isToChildDrag:i}=l.computeColumnDragOpts,n=e.currentTarget,d=(0,_dom.hasControlKey)(e),c=n.getAttribute("colid"),l=l.getColumnById(c);o.prevDragGroupField=null,o.prevDragAggFnColid=null,l&&(r||1===l.level)&&(e.preventDefault(),c=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!s||s.id===l.id||!r&&1<l.level||!a&&1<l.level||l.renderFixed?showDropTip(t,e,n,!1,c):(o.prevDragToChild=!!(r&&i&&d&&a),o.prevDragCol=l,showDropTip(t,e,n,!0,o.prevDragPos=c)))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -2751,12 +2751,17 @@ function autoCellWidth($xeTable) {
|
|
|
2751
2751
|
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
2752
2752
|
const cellElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
2753
2753
|
let colHeight = rowRest.height;
|
|
2754
|
+
let firstCellStyle = null;
|
|
2755
|
+
let topBottomPadding = 0;
|
|
2754
2756
|
for (let i = 0; i < cellElemList.length; i++) {
|
|
2755
|
-
const
|
|
2756
|
-
const
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2757
|
+
const wrapperElem = cellElemList[i];
|
|
2758
|
+
const cellElem = wrapperElem.parentElement;
|
|
2759
|
+
if (!firstCellStyle) {
|
|
2760
|
+
firstCellStyle = getComputedStyle(cellElem);
|
|
2761
|
+
topBottomPadding = firstCellStyle ? Math.ceil(_xeUtils.default.toNumber(firstCellStyle.paddingTop) + _xeUtils.default.toNumber(firstCellStyle.paddingBottom)) : 0;
|
|
2762
|
+
}
|
|
2763
|
+
const cellHeight = wrapperElem ? wrapperElem.clientHeight : 0;
|
|
2764
|
+
colHeight = Math.max(colHeight, Math.ceil(cellHeight + topBottomPadding));
|
|
2760
2765
|
}
|
|
2761
2766
|
return colHeight;
|
|
2762
2767
|
};
|
|
@@ -6551,6 +6556,7 @@ const Methods = {
|
|
|
6551
6556
|
},
|
|
6552
6557
|
handleRowResizeMousedownEvent(evnt, params) {
|
|
6553
6558
|
const $xeTable = this;
|
|
6559
|
+
const props = $xeTable;
|
|
6554
6560
|
const reactData = $xeTable;
|
|
6555
6561
|
const internalData = $xeTable;
|
|
6556
6562
|
evnt.stopPropagation();
|
|
@@ -6558,6 +6564,9 @@ const Methods = {
|
|
|
6558
6564
|
const {
|
|
6559
6565
|
row
|
|
6560
6566
|
} = params;
|
|
6567
|
+
const {
|
|
6568
|
+
showOverflow
|
|
6569
|
+
} = props;
|
|
6561
6570
|
const {
|
|
6562
6571
|
overflowX,
|
|
6563
6572
|
scrollbarWidth,
|
|
@@ -6596,7 +6605,10 @@ const Methods = {
|
|
|
6596
6605
|
return;
|
|
6597
6606
|
}
|
|
6598
6607
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
6599
|
-
|
|
6608
|
+
let currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
6609
|
+
if (!showOverflow) {
|
|
6610
|
+
currCellHeight = tdEl.clientHeight;
|
|
6611
|
+
}
|
|
6600
6612
|
const tableRect = tableEl.getBoundingClientRect();
|
|
6601
6613
|
const trRect = trEl.getBoundingClientRect();
|
|
6602
6614
|
const targetOffsetY = dragClientY - trRect.y - trEl.clientHeight;
|
|
@@ -6781,6 +6793,32 @@ const Methods = {
|
|
|
6781
6793
|
});
|
|
6782
6794
|
return rest;
|
|
6783
6795
|
},
|
|
6796
|
+
recalcRowHeight(rowOrId) {
|
|
6797
|
+
const $xeTable = this;
|
|
6798
|
+
const reactData = $xeTable;
|
|
6799
|
+
const internalData = $xeTable;
|
|
6800
|
+
const {
|
|
6801
|
+
fullAllDataRowIdData
|
|
6802
|
+
} = internalData;
|
|
6803
|
+
const rows = _xeUtils.default.isArray(rowOrId) ? rowOrId : [rowOrId];
|
|
6804
|
+
const el = $xeTable.$refs.refElem;
|
|
6805
|
+
if (el) {
|
|
6806
|
+
const {
|
|
6807
|
+
handleGetRowId
|
|
6808
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
6809
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
6810
|
+
rows.forEach(row => {
|
|
6811
|
+
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
6812
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
6813
|
+
if (rowRest) {
|
|
6814
|
+
rowRest.resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
6815
|
+
}
|
|
6816
|
+
el.removeAttribute('data-calc-row');
|
|
6817
|
+
});
|
|
6818
|
+
reactData.calcCellHeightFlag++;
|
|
6819
|
+
}
|
|
6820
|
+
return $xeTable.$nextTick();
|
|
6821
|
+
},
|
|
6784
6822
|
setRowHeight(rowOrId, height) {
|
|
6785
6823
|
const $xeTable = this;
|
|
6786
6824
|
const reactData = $xeTable;
|