vxe-table 3.12.0-beta.6 → 3.12.0-beta.8
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 +2 -6
- package/es/table/src/methods.js +55 -34
- package/es/table/src/util.js +10 -5
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +69 -56
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +2 -6
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/methods.js +55 -43
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +10 -5
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/custom/panel.ts +2 -6
- package/packages/table/src/methods.ts +64 -40
- package/packages/table/src/util.ts +12 -5
- /package/es/{iconfont.1735262166812.ttf → iconfont.1735299026800.ttf} +0 -0
- /package/es/{iconfont.1735262166812.woff → iconfont.1735299026800.woff} +0 -0
- /package/es/{iconfont.1735262166812.woff2 → iconfont.1735299026800.woff2} +0 -0
- /package/lib/{iconfont.1735262166812.ttf → iconfont.1735299026800.ttf} +0 -0
- /package/lib/{iconfont.1735262166812.woff → iconfont.1735299026800.woff} +0 -0
- /package/lib/{iconfont.1735262166812.woff2 → iconfont.1735299026800.woff2} +0 -0
|
@@ -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 i,r,a=e.prevDragToChild,n=e.$refs.bodyElemRef;n&&(i=n.getBoundingClientRect(),l&&(r=e.$refs.refDragLineElem)&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.top=Math.max(1,l.y+n.scrollTop-i.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",a?"y":"n")):r.style.display=""),l=e.$refs.refDragTipElem)&&(l.style.display="block",l.style.top=Math.min(n.clientHeight+n.scrollTop-l.clientHeight,t.clientY+n.scrollTop-i.y)+"px",l.style.left=Math.min(n.clientWidth+n.scrollLeft-l.clientWidth,t.clientX+n.scrollLeft-i.x)+"px",l.setAttribute("drag-status",o?a?"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 t=t.$xeTable,l=t.dragColumnRef;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":t.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-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]))])])])},renderSimplePanel=(d,m)=>{let u=_ui.VxeUI.getComponent("VxeButton");let p=m.$xeTable;var e=m.customStore,{isCustomStatus:t,customColumnList:l}=p,o=p.computeCustomOpts;let v=o.immediate;var s=p.computeColumnDragOpts,i=e.maxHeight;let{checkMethod:x,visibleMethod:g,allowVisible:h,allowSort:b,allowFixed:C,trigger:r,placement:a}=o,E=p.computeIsMaxFixedColumn,f=s.isCrossDrag;var s=o.slots||{},n=s.header,c=s.top,T=s.bottom,I=s.default,s=s.footer;let _=[];var D={},y=e.isAll,O=e.isIndeterminate,k=("hover"===r&&(D.mouseenter=m.handleWrapperMouseenterEvent,D.mouseleave=m.handleWrapperMouseleaveEvent),{$table:p,$grid:p.xegrid,columns:l,isAllChecked:y,isAllIndeterminate:O,isCustomStatus:t});return _xeUtils.default.eachTree(l,(t,e,l,o,s)=>{if(!g||g({column:t})){var i=t.renderVisible,r=t.halfVisible,a=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!x&&!x({column:t});var c=!i;_.push(d("li",{key:t.id,attrs:{colid:t.id},class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||c,"is--group":a}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":r,"is--disabled":e}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:()=>{e||m.changeCheckboxOption(t)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),d("div",{class:"vxe-table-custom--name-option"},[b&&(f&&v||1===t.level)?d("div",{class:"vxe-table-custom--sort-option"},[d("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":e||c||t.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:e||c||t.renderFixed?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===t.type?d("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):d("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?d("div",{class:"vxe-table-custom--fixed-option"},[d(u,{props:{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||c||E&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:()=>{m.changeFixedOption(t,"left")}}}),d(u,{props:{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||c||E&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:()=>{m.changeFixedOption(t,"right")}}})]):renderEmptyElement(p)]))}}),d("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+a,{"is--active":e.visible}],style:i&&!["left","right"].includes(a)?{maxHeight:i+"px"}:{}},e.visible?[d("div",{class:"vxe-table-custom--header"},n?p.callSlot(n,k,d):[d("ul",{class:"vxe-table-custom--panel-list"},[d("li",{class:"vxe-table-custom--option"},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":y,"is--indeterminate":O}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:y?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):d("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),d("div",{ref:"bodyElemRef",class:"vxe-table-custom--body"},[c?d("div",{class:"vxe-table-custom--panel-top"},p.callSlot(c,k,d)):renderEmptyElement(p),I?d("div",{class:"vxe-table-custom--panel-body"},p.callSlot(I,k,d)):d("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:D},_),T?d("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(T,k,d)):renderEmptyElement(p),renderDragTip(d,m)]),o.showFooter?d("div",{class:"vxe-table-custom--footer"},s?p.callSlot(s,k,d):[d("div",{class:"vxe-table-custom--footer-buttons"},[d(u,{props:{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:m.resetCustomEvent}}),v?d(u,{props:{mode:"text",content:o.closeButtonText||getI18n("vxe.table.customClose")},on:{click:m.cancelCloseEvent}}):d(u,{props:{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:m.cancelCustomEvent}}),v?renderEmptyElement(p):d(u,{props:{mode:"text",status:"primary",content:o.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:m.confirmCustomEvent}})])]):null]:[])},renderPopupPanel=(d,m)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),u=_ui.VxeUI.getComponent("VxeInput"),p=m,v=m.$xeTable;var o=v,s=v;let i=m.customStore,x=o.resizable,{isCustomStatus:r,customColumnList:a}=s,n=v.computeCustomOpts,g=n.immediate;o=v.computeColumnDragOpts;let{mode:L,modalOptions:M,drawerOptions:R,allowVisible:h,allowSort:$,allowFixed:b,allowResizable:C,checkMethod:E,visibleMethod:f}=n,T=v.computeColumnOpts,c=T.maxFixedSize,{minWidth:I,maxWidth:_}=v.computeResizableOpts;var s=Object.assign({},M),D=Object.assign({},R);let y=v.computeIsMaxFixedColumn,H=o.isCrossDrag;o=n.slots||{};let O=o.header,k=o.top,S=o.bottom,w=o.default,B=o.footer,A=[],V=i.isAll,U=i.isIndeterminate,F={$table:v,$grid:v.xegrid,columns:a,isAllChecked:V,isAllIndeterminate:U,isCustomStatus:r};_xeUtils.default.eachTree(a,(o,s,e,t,i)=>{if(!f||f({column:o})){let e=0,t=0;C&&(s={$table:v,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I)),_)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_));var s=o.renderVisible,r=o.halfVisible,a=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!E&&!E({column:o});var c=!s;A.push(d("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[h?d("td",{class:"vxe-table-custom-popup--column-item col--visible"},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:()=>{l||m.changeCheckboxOption(o)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(v),d("td",{class:"vxe-table-custom-popup--column-item col--name"},[d("div",{class:"vxe-table-custom-popup--name"},[$?H&&g||1===o.level?d("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||c||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||c||o.renderFixed?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})]):d("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(v),"html"===o.type?d("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:a}}):d("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:a}},a)])]),C?d("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||x)?d("span","-"):u?d(u,{props:{type:"integer",immediate:!1,disabled:l||c,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){m.changeColumnWidth(o)}}}):renderEmptyElement(p)]):renderEmptyElement(v),b?d("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?d("span","-"):d("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||c||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||c||y}]},on:{input(e){m.changeFixedOption(o,e)}}})]):renderEmptyElement(v)]))}});o={default:()=>w?v.callSlot(w,F,d):d("div",{ref:"bodyElemRef",class:"vxe-table-custom-popup--body"},[k?d("div",{class:"vxe-table-custom-popup--table-top"},v.callSlot(k,F,d)):renderEmptyElement(v),d("div",{class:"vxe-table-custom-popup--table-wrapper"},[d("table",{},[d("colgroup",{},[h?d("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(v),d("col",{class:"vxe-table-custom-popup--table-col-title"}),C?d("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(v),b?d("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(v)]),d("thead",{},[d("tr",{},[h?d("th",{},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":U}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(v),d("th",{},getI18n("vxe.custom.setting.colTitle")),C?d("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(v),b?d("th",{},getI18n("vxe.custom.setting."+(c?"colFixedMax":"colFixed"),[c])):renderEmptyElement(v)])]),d("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},A)])]),S?d("div",{class:"vxe-table-custom-popup--table-bottom"},v.callSlot(S,F,d)):renderEmptyElement(v),renderDragTip(d,m)]),footer:()=>B?v.callSlot(B,F,d):d("div",{class:"vxe-table-custom-popup--footer"},[d(l,{props:{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!r},on:{click:m.resetCustomEvent}}),g?d(l,{props:{content:n.resetButtonText||getI18n("vxe.custom.customClose")},on:{click:m.cancelCloseEvent}}):d(l,{props:{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:m.cancelCustomEvent}}),g?renderEmptyElement(v):d(l,{props:{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:m.confirmCustomEvent}})])};return O&&(o.header=()=>v.callSlot(O,F,d)),"drawer"===L?t?d(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:i.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){i.visible=e}},scopedSlots:o}):renderEmptyElement(p):e?d(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:i.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){i.visible=e}},scopedSlots:o}):renderEmptyElement(p)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null},$xetable:{default:null}},data(){return{prevDragCol:void 0,prevDragToChild:!1,prevDragPos:null}},computed:{},created(){if("development"===process.env.NODE_ENV){let t=_ui.VxeUI.getComponent("VxeModal"),l=_ui.VxeUI.getComponent("VxeDrawer"),o=_ui.VxeUI.getComponent("VxeButton"),s=_ui.VxeUI.getComponent("VxeNumberInput"),i=_ui.VxeUI.getComponent("VxeRadioGroup");this.$nextTick(()=>{var e=this.$xetable,e=e.customOpts,e=e.mode;t||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),l||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),o||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),i||(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{$xetable:t,customStore:l}=this;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let{$xetable:t,customStore:l}=this;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)},resetPopupCustomEvent(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.resetCustomEvent(t)}):this.resetCustomEvent(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){var t=this.$xeTable,l=t,o=t.computeCustomOpts;let s=!e.renderVisible;o.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=s,e.renderVisible=s,e.halfVisible=!1}),l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=s,e.halfVisible=!1}),this.handleOptionCheck(e),t.checkCustomStatus()},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){var l=this.$xetable,o=l,s=l.computeIsMaxFixedColumn;l.computeCustomOpts.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):s&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):s&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},allOptionEvent(){var e=this.$xetable;e.toggleCustomAllCheckbox()},sortMousedownEvent(e){var t=this.$xetable,e=e.currentTarget.parentElement.parentElement.parentElement,l=e.getAttribute("colid"),t=t.getColumnById(l);e.draggable=!0,this.dragCol=t,(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,(this.dragCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},sortDragendEvent(d){let m=this.$xetable;var e=m;let u=m;var t=m;let{dragCol:l,prevDragPos:p,prevDragCol:o,prevDragToChild:v}=this,x=e.mouseConfig,g=u.customColumnList,h=t.collectColumn,b=m.computeCustomOpts.immediate;e=d.currentTarget;let{isCrossDrag:C,isSelfToChildDrag:E,isToChildDrag:f,dragEndMethod:s}=m.computeColumnDragOpts,T="bottom"===p?1:0;if(o&&l&&o!==l){let n=l,c=o;Promise.resolve(!s||s({oldColumn:n,newColumn:c,dragPos:p,offsetIndex:T})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(b){if(n.parentId&&c.parentId){if(!C)return;if(l[c.id]&&(o=!0,!E))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!C)return}else if(c.parentId){if(!C)return;if(l[c.id]&&(o=!0,!E))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,r,a,s=_xeUtils.default.findTree(h,e=>e.id===n.id),s=(o&&E?s&&({items:i,index:a}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),i.splice(a,1,...r),n.children=[]):s&&({items:i,index:a,parent:r}=s,i.splice(a,1),r||(e=a)),_xeUtils.default.findTree(h,e=>e.id===c.id));s&&({items:i,index:r,parent:a}=s,f&&v?(n.parentId=c.id,c.children=(c.children||[]).concat([n])):(n.parentId=c.parentId,i.splice(r+T,0,n)),a||(t=r)),_xeUtils.default.eachTree(h,(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===c.id),g.splice(t+T,0,n);u.isDragColMove=!0,x&&(m.clearSelected&&m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.dispatchEvent("column-dragend",{oldColumn:n,newColumn:c,dragPos:p,offsetIndex:T,_index:{newIndex:t,oldIndex:e}},d),b&&(u.customColumnList=h.slice(0),m.refreshColumn(!0).then(()=>{m.updateCellAreas(),m.handleCustom(),m.saveCustomStore("update:sort")}))}}).catch(()=>{})}hideDropTip(this),this.dragCol.value=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.$xetable,l=this.dragCol,o=t.computeCustomOpts.immediate,{isCrossDrag:s,isToChildDrag:i}=t.computeColumnDragOpts,r=e.currentTarget,a=e.ctrlKey,n=r.getAttribute("colid"),t=t.getColumnById(n);t&&(s||1===t.level)&&(e.preventDefault(),n=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",l&&l.id===t.id||!s&&1<t.level||!o&&1<t.level||t.renderFixed?showDropTip(this,e,r,!1,n):(this.prevDragToChild=!!(i&&a&&o),this.prevDragCol=t,this.prevDragPos=n,showDropTip(this,e,r,!0,n)))}}};
|
|
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 i,r,a=e.prevDragToChild,n=e.$refs.bodyElemRef;n&&(i=n.getBoundingClientRect(),l&&(r=e.$refs.refDragLineElem)&&(o?(l=l.getBoundingClientRect(),r.style.display="block",r.style.top=Math.max(1,l.y+n.scrollTop-i.y)+"px",r.style.height=l.height+"px",r.style.width=l.width+"px",r.setAttribute("drag-pos",s),r.setAttribute("drag-to-child",a?"y":"n")):r.style.display=""),l=e.$refs.refDragTipElem)&&(l.style.display="block",l.style.top=Math.min(n.clientHeight+n.scrollTop-l.clientHeight,t.clientY+n.scrollTop-i.y)+"px",l.style.left=Math.min(n.clientWidth+n.scrollLeft-l.clientWidth,t.clientX+n.scrollLeft-i.x)+"px",l.setAttribute("drag-status",o?a?"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 t=t.$xeTable,l=t.dragColumnRef;return e("div",{},[e("div",{ref:"refDragLineElem",class:["vxe-table-custom-popup--drag-line",{"is--guides":t.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-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[l&&"html"!==l.type?l.getTitle():""]))])])])},renderSimplePanel=(d,m)=>{let u=_ui.VxeUI.getComponent("VxeButton");let p=m.$xeTable;var e=m.customStore,{isCustomStatus:t,customColumnList:l}=p,o=p.computeCustomOpts;let v=o.immediate;var s=p.computeColumnDragOpts,i=e.maxHeight;let{checkMethod:x,visibleMethod:g,allowVisible:h,allowSort:b,allowFixed:C,trigger:r,placement:a}=o,E=p.computeIsMaxFixedColumn,f=s.isCrossDrag;var s=o.slots||{},n=s.header,c=s.top,T=s.bottom,I=s.default,s=s.footer;let _=[];var D={},y=e.isAll,O=e.isIndeterminate,k=("hover"===r&&(D.mouseenter=m.handleWrapperMouseenterEvent,D.mouseleave=m.handleWrapperMouseleaveEvent),{$table:p,$grid:p.xegrid,columns:l,isAllChecked:y,isAllIndeterminate:O,isCustomStatus:t});return _xeUtils.default.eachTree(l,(t,e,l,o,s)=>{if(!g||g({column:t})){var i=t.renderVisible,r=t.halfVisible,a=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!x&&!x({column:t});var c=!i;_.push(d("li",{key:t.id,attrs:{colid:t.id},class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||c,"is--group":a}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":r,"is--disabled":e}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:()=>{e||m.changeCheckboxOption(t)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(p),d("div",{class:"vxe-table-custom--name-option"},[b&&(f&&v||1===t.level)?d("div",{class:"vxe-table-custom--sort-option"},[d("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":e||c||t.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:e||c||t.renderFixed?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(p),"html"===t.type?d("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:n}}):d("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:n}},n)]),!s&&C?d("div",{class:"vxe-table-custom--fixed-option"},[d(u,{props:{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||c||E&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:()=>{m.changeFixedOption(t,"left")}}}),d(u,{props:{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||c||E&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:()=>{m.changeFixedOption(t,"right")}}})]):renderEmptyElement(p)]))}}),d("div",{key:"simple",class:["vxe-table-custom-wrapper","placement--"+a,{"is--active":e.visible}],style:i&&!["left","right"].includes(a)?{maxHeight:i+"px"}:{}},e.visible?[d("div",{class:"vxe-table-custom--header"},n?p.callSlot(n,k,d):[d("ul",{class:"vxe-table-custom--panel-list"},[d("li",{class:"vxe-table-custom--option"},[h?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":y,"is--indeterminate":O}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:y?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):d("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),d("div",{ref:"bodyElemRef",class:"vxe-table-custom--body"},[c?d("div",{class:"vxe-table-custom--panel-top"},p.callSlot(c,k,d)):renderEmptyElement(p),I?d("div",{class:"vxe-table-custom--panel-body"},p.callSlot(I,k,d)):d("transition-group",{class:"vxe-table-custom--panel-list",props:{name:"vxe-table-custom--list",tag:"ul"},on:D},_),T?d("div",{class:"vxe-table-custom--panel-bottom"},p.callSlot(T,k,d)):renderEmptyElement(p),renderDragTip(d,m)]),o.showFooter?d("div",{class:"vxe-table-custom--footer"},s?p.callSlot(s,k,d):[d("div",{class:"vxe-table-custom--footer-buttons"},[d(u,{props:{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t},on:{click:m.resetCustomEvent}}),v?d(u,{props:{mode:"text",content:o.closeButtonText||getI18n("vxe.table.customClose")},on:{click:m.cancelCloseEvent}}):d(u,{props:{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:m.cancelCustomEvent}}),v?renderEmptyElement(p):d(u,{props:{mode:"text",status:"primary",content:o.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:m.confirmCustomEvent}})])]):null]:[])},renderPopupPanel=(d,m)=>{var e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),u=_ui.VxeUI.getComponent("VxeInput"),p=m,v=m.$xeTable;var o=v,s=v;let i=m.customStore,x=o.resizable,{isCustomStatus:r,customColumnList:a}=s,n=v.computeCustomOpts,g=n.immediate;o=v.computeColumnDragOpts;let{mode:L,modalOptions:M,drawerOptions:R,allowVisible:h,allowSort:$,allowFixed:b,allowResizable:C,checkMethod:E,visibleMethod:f}=n,T=v.computeColumnOpts,c=T.maxFixedSize,{minWidth:I,maxWidth:_}=v.computeResizableOpts;var s=Object.assign({},M),D=Object.assign({},R);let y=v.computeIsMaxFixedColumn,H=o.isCrossDrag;o=n.slots||{};let O=o.header,k=o.top,w=o.bottom,S=o.default,B=o.footer,A=[],V=i.isAll,U=i.isIndeterminate,F={$table:v,$grid:v.xegrid,columns:a,isAllChecked:V,isAllIndeterminate:U,isCustomStatus:r};_xeUtils.default.eachTree(a,(o,s,e,t,i)=>{if(!f||f({column:o})){let e=0,t=0;C&&(s={$table:v,column:o,columnIndex:s,$columnIndex:s,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(s):I)),_)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(_)?_(s):_));var s=o.renderVisible,r=o.halfVisible,a=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!E&&!E({column:o});var c=!s;A.push(d("tr",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[h?d("td",{class:"vxe-table-custom-popup--column-item col--visible"},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":r,"is--disabled":l}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:()=>{l||m.changeCheckboxOption(o)}}},[d("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(v),d("td",{class:"vxe-table-custom-popup--column-item col--name"},[d("div",{class:"vxe-table-custom-popup--name"},[$?H&&g||1===o.level?d("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||c||o.renderFixed}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:l||c||o.renderFixed?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})]):d("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(v),"html"===o.type?d("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:a}}):d("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:a}},a)])]),C?d("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||x)?d("span","-"):u?d(u,{props:{type:"integer",immediate:!1,disabled:l||c,value:o.renderResizeWidth,min:e||void 0,max:t||void 0},on:{modelValue(e){o.renderResizeWidth=Math.max(0,Number(e))},change(){m.changeColumnWidth(o)}}}):renderEmptyElement(p)]):renderEmptyElement(v),b?d("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?d("span","-"):d("vxe-radio-group",{props:{value:o.renderFixed||"",type:"button",size:"mini",disabled:l||c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||c||y},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||c||y}]},on:{input(e){m.changeFixedOption(o,e)}}})]):renderEmptyElement(v)]))}});o={default:()=>S?v.callSlot(S,F,d):d("div",{ref:"bodyElemRef",class:"vxe-table-custom-popup--body"},[k?d("div",{class:"vxe-table-custom-popup--table-top"},v.callSlot(k,F,d)):renderEmptyElement(v),d("div",{class:"vxe-table-custom-popup--table-wrapper"},[d("table",{},[d("colgroup",{},[h?d("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(v),d("col",{class:"vxe-table-custom-popup--table-col-title"}),C?d("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(v),b?d("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(v)]),d("thead",{},[d("tr",{},[h?d("th",{},[d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":U}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",U?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),d("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(v),d("th",{},getI18n("vxe.custom.setting.colTitle")),C?d("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(v),b?d("th",{},getI18n("vxe.custom.setting."+(c?"colFixedMax":"colFixed"),[c])):renderEmptyElement(v)])]),d("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},A)])]),w?d("div",{class:"vxe-table-custom-popup--table-bottom"},v.callSlot(w,F,d)):renderEmptyElement(v),renderDragTip(d,m)]),footer:()=>B?v.callSlot(B,F,d):d("div",{class:"vxe-table-custom-popup--footer"},[d(l,{props:{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!r},on:{click:m.resetCustomEvent}}),g?d(l,{props:{content:n.resetButtonText||getI18n("vxe.table.customClose")},on:{click:m.cancelCloseEvent}}):d(l,{props:{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:m.cancelCustomEvent}}),g?renderEmptyElement(v):d(l,{props:{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:m.confirmCustomEvent}})])};return O&&(o.header=()=>v.callSlot(O,F,d)),"drawer"===L?t?d(t,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",D.className||""].join(" "),value:i.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){i.visible=e}},scopedSlots:o}):renderEmptyElement(p):e?d(e,{key:"modal",props:{className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",s.className||""].join(" "),value:i.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){i.visible=e}},scopedSlots:o}):renderEmptyElement(p)};var _default=exports.default={name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null},$xetable:{default:null}},data(){return{prevDragCol:void 0,prevDragToChild:!1,prevDragPos:null}},computed:{},created(){if("development"===process.env.NODE_ENV){let t=_ui.VxeUI.getComponent("VxeModal"),l=_ui.VxeUI.getComponent("VxeDrawer"),o=_ui.VxeUI.getComponent("VxeButton"),s=_ui.VxeUI.getComponent("VxeNumberInput"),i=_ui.VxeUI.getComponent("VxeRadioGroup");this.$nextTick(()=>{var e=this.$xetable,e=e.customOpts,e=e.mode;t||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),l||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),o||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),s||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),i||(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{$xetable:t,customStore:l}=this;l.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let{$xetable:t,customStore:l}=this;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)},resetPopupCustomEvent(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.resetCustomEvent(t)}):this.resetCustomEvent(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){var t=this.$xeTable,l=t,o=t.computeCustomOpts;let s=!e.renderVisible;o.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=s,e.renderVisible=s,e.halfVisible=!1}),l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=s,e.halfVisible=!1}),this.handleOptionCheck(e),t.checkCustomStatus()},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){var l=this.$xetable,o=l,s=l.computeIsMaxFixedColumn;l.computeCustomOpts.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):s&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),o.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):s&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},allOptionEvent(){var e=this.$xetable;e.toggleCustomAllCheckbox()},sortMousedownEvent(e){var t=this.$xetable,e=e.currentTarget.parentElement.parentElement.parentElement,l=e.getAttribute("colid"),t=t.getColumnById(l);e.draggable=!0,this.dragCol=t,(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,(this.dragCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},sortDragendEvent(d){let m=this.$xetable;var e=m;let u=m;var t=m;let{dragCol:l,prevDragPos:p,prevDragCol:o,prevDragToChild:v}=this,x=e.mouseConfig,g=u.customColumnList,h=t.collectColumn,b=m.computeCustomOpts.immediate;e=d.currentTarget;let{isCrossDrag:C,isSelfToChildDrag:E,isToChildDrag:f,dragEndMethod:s}=m.computeColumnDragOpts,T="bottom"===p?1:0;if(o&&l&&o!==l){let n=l,c=o;Promise.resolve(!s||s({oldColumn:n,newColumn:c,dragPos:p,offsetIndex:T})).then(s=>{if(s){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(b){if(n.parentId&&c.parentId){if(!C)return;if(l[c.id]&&(o=!0,!E))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!C)return}else if(c.parentId){if(!C)return;if(l[c.id]&&(o=!0,!E))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,r,a,s=_xeUtils.default.findTree(h,e=>e.id===n.id),s=(o&&E?s&&({items:i,index:a}=s,(r=n.children||[]).forEach(e=>{e.parentId=n.parentId}),i.splice(a,1,...r),n.children=[]):s&&({items:i,index:a,parent:r}=s,i.splice(a,1),r||(e=a)),_xeUtils.default.findTree(h,e=>e.id===c.id));s&&({items:i,index:r,parent:a}=s,f&&v?(n.parentId=c.id,c.children=(c.children||[]).concat([n])):(n.parentId=c.parentId,i.splice(r+T,0,n)),a||(t=r)),_xeUtils.default.eachTree(h,(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===c.id),g.splice(t+T,0,n);u.isDragColMove=!0,x&&(m.clearSelected&&m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.dispatchEvent("column-dragend",{oldColumn:n,newColumn:c,dragPos:p,offsetIndex:T,_index:{newIndex:t,oldIndex:e}},d),b&&(u.customColumnList=h.slice(0),m.handleColDragSwapColumn())}}).catch(()=>{})}hideDropTip(this),this.dragCol.value=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.$xetable,l=this.dragCol,o=t.computeCustomOpts.immediate,{isCrossDrag:s,isToChildDrag:i}=t.computeColumnDragOpts,r=e.currentTarget,a=e.ctrlKey,n=r.getAttribute("colid"),t=t.getColumnById(n);t&&(s||1===t.level)&&(e.preventDefault(),n=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",l&&l.id===t.id||!s&&1<t.level||!o&&1<t.level||t.renderFixed?showDropTip(this,e,r,!1,n):(this.prevDragToChild=!!(i&&a&&o),this.prevDragCol=t,this.prevDragPos=n,showDropTip(this,e,r,!0,n)))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -86,14 +86,12 @@ function handleReserveRow(_vm, reserveRowMap) {
|
|
|
86
86
|
});
|
|
87
87
|
return reserveList;
|
|
88
88
|
}
|
|
89
|
-
function handleVirtualXVisible(
|
|
89
|
+
function handleVirtualXVisible($xeTable) {
|
|
90
|
+
const internalData = $xeTable;
|
|
90
91
|
const {
|
|
91
|
-
$refs,
|
|
92
92
|
visibleColumn
|
|
93
|
-
} =
|
|
94
|
-
const
|
|
95
|
-
tableBody
|
|
96
|
-
} = $refs;
|
|
93
|
+
} = internalData;
|
|
94
|
+
const tableBody = $xeTable.$refs.tableBody;
|
|
97
95
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
98
96
|
if (tableBodyElem) {
|
|
99
97
|
const {
|
|
@@ -135,8 +133,8 @@ const computeRowHeight = $xeTable => {
|
|
|
135
133
|
const tableBody = $xeTable.$refs.tableBody;
|
|
136
134
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
137
135
|
const vSize = $xeTable.computeSize;
|
|
138
|
-
const rowHeightMaps = $xeTable.
|
|
139
|
-
let rowHeight =
|
|
136
|
+
const rowHeightMaps = $xeTable.computeRowHeightMaps;
|
|
137
|
+
let rowHeight = 24;
|
|
140
138
|
if (showOverflow) {
|
|
141
139
|
if (tableBodyElem) {
|
|
142
140
|
const tableHeaderElem = tableHeader ? tableHeader.$el : null;
|
|
@@ -156,13 +154,13 @@ const computeRowHeight = $xeTable => {
|
|
|
156
154
|
return rowHeight;
|
|
157
155
|
};
|
|
158
156
|
function handleVirtualYVisible($xeTable) {
|
|
157
|
+
const internalData = $xeTable;
|
|
159
158
|
const {
|
|
160
|
-
$refs,
|
|
161
159
|
scrollYStore,
|
|
162
160
|
afterFullData,
|
|
163
161
|
fullAllDataRowIdData
|
|
164
|
-
} =
|
|
165
|
-
const tableBody = $refs.tableBody;
|
|
162
|
+
} = internalData;
|
|
163
|
+
const tableBody = $xeTable.$refs.tableBody;
|
|
166
164
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
167
165
|
const {
|
|
168
166
|
rowHeight
|
|
@@ -179,11 +177,11 @@ function handleVirtualYVisible($xeTable) {
|
|
|
179
177
|
for (let rIndex = 0, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
|
|
180
178
|
const row = afterFullData[rIndex];
|
|
181
179
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
182
|
-
const
|
|
183
|
-
if (!
|
|
180
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
181
|
+
if (!rowRest) {
|
|
184
182
|
break;
|
|
185
183
|
}
|
|
186
|
-
offsetTop +=
|
|
184
|
+
offsetTop += rowRest.height || rowHeight;
|
|
187
185
|
if (toVisibleIndex === -1 && scrollTop < offsetTop) {
|
|
188
186
|
toVisibleIndex = rIndex;
|
|
189
187
|
}
|
|
@@ -870,7 +868,6 @@ const Methods = {
|
|
|
870
868
|
editStore.removeList = [];
|
|
871
869
|
editStore.removeMaps = {};
|
|
872
870
|
const sYLoad = this.updateScrollYStatus(fullData);
|
|
873
|
-
this.scrollYLoad = sYLoad;
|
|
874
871
|
this.isDragRowMove = false;
|
|
875
872
|
// 全量数据
|
|
876
873
|
this.tableFullData = fullData;
|
|
@@ -6462,6 +6459,14 @@ const Methods = {
|
|
|
6462
6459
|
evnt.dataTransfer.setDragImage((0, _dom.getTpImg)(), 0, 0);
|
|
6463
6460
|
}
|
|
6464
6461
|
},
|
|
6462
|
+
handleColDragSwapColumn() {
|
|
6463
|
+
const $xeTable = this;
|
|
6464
|
+
$xeTable.handleUpdateColumn();
|
|
6465
|
+
$xeTable.parseColumns(false).then(() => {
|
|
6466
|
+
$xeTable.updateCellAreas();
|
|
6467
|
+
$xeTable.saveCustomStore('update:sort');
|
|
6468
|
+
});
|
|
6469
|
+
},
|
|
6465
6470
|
handleColDragSwapEvent(evnt, isSyncColumn, dragCol, prevDragCol, prevDragPos, prevDragToChild) {
|
|
6466
6471
|
const $xeTable = this;
|
|
6467
6472
|
const props = $xeTable;
|
|
@@ -6618,11 +6623,7 @@ const Methods = {
|
|
|
6618
6623
|
}
|
|
6619
6624
|
}, evnt);
|
|
6620
6625
|
if (isSyncColumn) {
|
|
6621
|
-
$xeTable.
|
|
6622
|
-
$xeTable.parseColumns(false).then(() => {
|
|
6623
|
-
$xeTable.updateCellAreas();
|
|
6624
|
-
return $xeTable.saveCustomStore('update:sort');
|
|
6625
|
-
});
|
|
6626
|
+
$xeTable.handleColDragSwapColumn();
|
|
6626
6627
|
}
|
|
6627
6628
|
}).catch(() => {});
|
|
6628
6629
|
}
|
|
@@ -8087,15 +8088,18 @@ const Methods = {
|
|
|
8087
8088
|
const $xeTable = this;
|
|
8088
8089
|
const internalData = $xeTable;
|
|
8089
8090
|
const {
|
|
8091
|
+
intoRunScroll,
|
|
8090
8092
|
inFooterScroll,
|
|
8091
8093
|
inBodyScroll,
|
|
8092
8094
|
lastScrollTop
|
|
8093
8095
|
} = internalData;
|
|
8094
|
-
if (
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8096
|
+
if (!intoRunScroll) {
|
|
8097
|
+
if (inFooterScroll) {
|
|
8098
|
+
return;
|
|
8099
|
+
}
|
|
8100
|
+
if (inBodyScroll) {
|
|
8101
|
+
return;
|
|
8102
|
+
}
|
|
8099
8103
|
}
|
|
8100
8104
|
const tableHeader = $xeTable.$refs.tableHeader;
|
|
8101
8105
|
const tableBody = $xeTable.$refs.tableBody;
|
|
@@ -8129,15 +8133,18 @@ const Methods = {
|
|
|
8129
8133
|
const $xeTable = this;
|
|
8130
8134
|
const internalData = $xeTable;
|
|
8131
8135
|
const {
|
|
8136
|
+
intoRunScroll,
|
|
8132
8137
|
inFooterScroll,
|
|
8133
8138
|
inBodyScroll,
|
|
8134
8139
|
lastScrollLeft
|
|
8135
8140
|
} = internalData;
|
|
8136
|
-
if (
|
|
8137
|
-
|
|
8138
|
-
|
|
8139
|
-
|
|
8140
|
-
|
|
8141
|
+
if (!intoRunScroll) {
|
|
8142
|
+
if (inFooterScroll) {
|
|
8143
|
+
return;
|
|
8144
|
+
}
|
|
8145
|
+
if (inBodyScroll) {
|
|
8146
|
+
return;
|
|
8147
|
+
}
|
|
8141
8148
|
}
|
|
8142
8149
|
const tableBody = $xeTable.$refs.tableBody;
|
|
8143
8150
|
const leftBody = $xeTable.$refs.leftBody;
|
|
@@ -8289,7 +8296,6 @@ const Methods = {
|
|
|
8289
8296
|
const {
|
|
8290
8297
|
showOverflow
|
|
8291
8298
|
} = props;
|
|
8292
|
-
// this.tableColumn = []
|
|
8293
8299
|
return $xeTable.$nextTick().then(() => {
|
|
8294
8300
|
$xeTable.handleTableColumn();
|
|
8295
8301
|
calcCellHeight($xeTable);
|
|
@@ -8355,7 +8361,6 @@ const Methods = {
|
|
|
8355
8361
|
},
|
|
8356
8362
|
updateScrollYData() {
|
|
8357
8363
|
const $xeTable = this;
|
|
8358
|
-
// this.tableData = []
|
|
8359
8364
|
return $xeTable.$nextTick().then(() => {
|
|
8360
8365
|
$xeTable.handleTableData();
|
|
8361
8366
|
calcCellHeight($xeTable);
|
|
@@ -8433,6 +8438,7 @@ const Methods = {
|
|
|
8433
8438
|
*/
|
|
8434
8439
|
scrollTo(scrollLeft, scrollTop) {
|
|
8435
8440
|
const $xeTable = this;
|
|
8441
|
+
const internalData = $xeTable;
|
|
8436
8442
|
const {
|
|
8437
8443
|
$refs
|
|
8438
8444
|
} = this;
|
|
@@ -8448,6 +8454,7 @@ const Methods = {
|
|
|
8448
8454
|
const rightBodyElem = rightBody ? rightBody.$el : null;
|
|
8449
8455
|
const tableHeaderElem = tableHeader ? tableHeader.$el : null;
|
|
8450
8456
|
const tableFooterElem = tableFooter ? tableFooter.$el : null;
|
|
8457
|
+
internalData.intoRunScroll = true;
|
|
8451
8458
|
if (_xeUtils.default.isNumber(scrollLeft)) {
|
|
8452
8459
|
const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
|
|
8453
8460
|
if (xHandleEl) {
|
|
@@ -8469,7 +8476,14 @@ const Methods = {
|
|
|
8469
8476
|
}
|
|
8470
8477
|
}
|
|
8471
8478
|
if (this.scrollXLoad || this.scrollYLoad) {
|
|
8472
|
-
return new Promise(resolve =>
|
|
8479
|
+
return new Promise(resolve => {
|
|
8480
|
+
setTimeout(() => {
|
|
8481
|
+
$xeTable.$nextTick(() => {
|
|
8482
|
+
internalData.intoRunScroll = false;
|
|
8483
|
+
resolve();
|
|
8484
|
+
});
|
|
8485
|
+
});
|
|
8486
|
+
});
|
|
8473
8487
|
}
|
|
8474
8488
|
return this.$nextTick();
|
|
8475
8489
|
},
|
|
@@ -8534,20 +8548,18 @@ const Methods = {
|
|
|
8534
8548
|
*/
|
|
8535
8549
|
clearScroll() {
|
|
8536
8550
|
const $xeTable = this;
|
|
8551
|
+
const internalData = $xeTable;
|
|
8537
8552
|
const {
|
|
8538
|
-
$refs,
|
|
8539
8553
|
scrollXStore,
|
|
8540
8554
|
scrollYStore
|
|
8541
|
-
} =
|
|
8542
|
-
const
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
|
|
8547
|
-
tableFooter
|
|
8548
|
-
} = $refs;
|
|
8549
|
-
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
8555
|
+
} = internalData;
|
|
8556
|
+
const tableBody = $xeTable.$refs.tableBody;
|
|
8557
|
+
const tableHeader = $xeTable.$refs.tableHeader;
|
|
8558
|
+
const tableFooter = $xeTable.$refs.tableFooter;
|
|
8559
|
+
const leftBody = $xeTable.$refs.leftBody;
|
|
8560
|
+
const rightBody = $xeTable.$refs.rightBody;
|
|
8550
8561
|
const leftBodyElem = leftBody ? leftBody.$el : null;
|
|
8562
|
+
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
8551
8563
|
const rightBodyElem = rightBody ? rightBody.$el : null;
|
|
8552
8564
|
const tableHeaderElem = tableHeader ? tableHeader.$el : null;
|
|
8553
8565
|
const tableFooterElem = tableFooter ? tableFooter.$el : null;
|