vxe-table 3.11.39 → 3.12.0-beta.1

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.
Files changed (61) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/custom/panel.js +6 -2
  6. package/es/table/render/index.js +3 -1
  7. package/es/table/src/body.js +56 -13
  8. package/es/table/src/footer.js +28 -3
  9. package/es/table/src/header.js +36 -6
  10. package/es/table/src/methods.js +136 -104
  11. package/es/table/src/table.js +5 -13
  12. package/es/table/style.css +3 -5
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +5 -3
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +3 -5
  17. package/es/vxe-table/style.min.css +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +294 -166
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/custom/panel.js +6 -4
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/render/index.js +3 -1
  27. package/lib/table/render/index.min.js +1 -1
  28. package/lib/table/src/body.js +58 -13
  29. package/lib/table/src/body.min.js +1 -1
  30. package/lib/table/src/footer.js +31 -3
  31. package/lib/table/src/footer.min.js +1 -1
  32. package/lib/table/src/header.js +39 -6
  33. package/lib/table/src/header.min.js +1 -1
  34. package/lib/table/src/methods.js +146 -120
  35. package/lib/table/src/methods.min.js +1 -1
  36. package/lib/table/src/table.js +5 -15
  37. package/lib/table/src/table.min.js +1 -1
  38. package/lib/table/style/style.css +3 -5
  39. package/lib/table/style/style.min.css +1 -1
  40. package/lib/ui/index.js +5 -3
  41. package/lib/ui/index.min.js +1 -1
  42. package/lib/ui/src/log.js +1 -1
  43. package/lib/ui/src/log.min.js +1 -1
  44. package/lib/vxe-table/style/style.css +3 -5
  45. package/lib/vxe-table/style/style.min.css +1 -1
  46. package/package.json +1 -1
  47. package/packages/table/module/custom/panel.ts +7 -2
  48. package/packages/table/render/index.ts +3 -1
  49. package/packages/table/src/body.ts +56 -13
  50. package/packages/table/src/footer.ts +28 -3
  51. package/packages/table/src/header.ts +40 -7
  52. package/packages/table/src/methods.ts +140 -109
  53. package/packages/table/src/table.ts +6 -15
  54. package/packages/ui/index.ts +4 -2
  55. package/styles/components/table.scss +1 -3
  56. /package/es/{iconfont.1735027791418.ttf → iconfont.1735108867776.ttf} +0 -0
  57. /package/es/{iconfont.1735027791418.woff → iconfont.1735108867776.woff} +0 -0
  58. /package/es/{iconfont.1735027791418.woff2 → iconfont.1735108867776.woff2} +0 -0
  59. /package/lib/{iconfont.1735027791418.ttf → iconfont.1735108867776.ttf} +0 -0
  60. /package/lib/{iconfont.1735027791418.woff → iconfont.1735108867776.woff} +0 -0
  61. /package/lib/{iconfont.1735027791418.woff2 → iconfont.1735108867776.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)=>{t=t.dragCol;return e("div",{},[e("div",{ref:"refDragLineElem",class:"vxe-table-custom-popup--drag-line"}),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",[t&&"html"!==t.type?t.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 y={},D=e.isAll,O=e.isIndeterminate,k=("hover"===r&&(y.mouseenter=m.handleWrapperMouseenterEvent,y.mouseleave=m.handleWrapperMouseleaveEvent),{$table:p,$grid:p.xegrid,columns:l,isAllChecked:D,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":D,"is--indeterminate":O}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:D?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:y},_),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),y=Object.assign({},R);let D=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||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||c||D}]},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.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",y.className||""].join(" "),value:i.visible,title:y.title||getI18n("vxe.custom.cstmTitle"),width:y.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:y.position,resize:!!y.resize,escClosable:!!y.escClosable,maskClosable:!!y.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){var t;e.dataTransfer&&((t=new Image).src=_dom.tpImg,e.dataTransfer.setDragImage(t,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.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){var t;e.dataTransfer&&((t=new Image).src=_dom.tpImg,e.dataTransfer.setDragImage(t,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)))}}};
@@ -811,7 +811,9 @@ renderer.mixin({
811
811
  } = params;
812
812
  let cellValue = _xeUtils.default.get(row, column.field);
813
813
  if (cellValue) {
814
- cellValue = getLabelFormatDate(cellValue, props);
814
+ if (props.type !== 'time') {
815
+ cellValue = getLabelFormatDate(cellValue, props);
816
+ }
815
817
  }
816
818
  return getCellLabelVNs(h, renderOpts, params, cellValue);
817
819
  },
@@ -1 +1 @@
1
- var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r){t=t.placeholder;return[e("span",{class:"vxe-cell--label"},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u=a===o,i={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),u&&r&&r(e),n&&n[o]&&n[o](l,e)}),!u&&r&&(i[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),i}function getComponentOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u={};return _xeUtils.default.objectEach(n,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),n&&n[o]&&n[o](l,e)}),r&&(u[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),u}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},e=>{!u&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;r.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.type;let i=_xeUtils.default.get(o,a.field);return i&&(o=getConfig().numberInput||{},"float"===u?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,r),r),a||(i=_xeUtils.default.toNumber(i))):"amount"===u&&(r=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,2),u=handleDefaultValue(n.showCurrency,o.showCurrency,!1),i=_xeUtils.default.commafy(_xeUtils.default.toNumber(i),{digits:a}),r||([a,r]=i.split("."),r&&(r=r.replace(/0+$/,""),i=r?[a,".",r].join(""):a)),u)&&(i=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)),getCellLabelVNs(e,t,l,i)},renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&getLabelFormatDate(a,r))},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
1
+ var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r){t=t.placeholder;return[e("span",{class:"vxe-cell--label"},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u=a===o,i={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),u&&r&&r(e),n&&n[o]&&n[o](l,e)}),!u&&r&&(i[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),i}function getComponentOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u={};return _xeUtils.default.objectEach(n,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),n&&n[o]&&n[o](l,e)}),r&&(u[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),u}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},e=>{!u&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;r.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.type;let i=_xeUtils.default.get(o,a.field);return i&&(o=getConfig().numberInput||{},"float"===u?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,r),r),a||(i=_xeUtils.default.toNumber(i))):"amount"===u&&(r=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,2),u=handleDefaultValue(n.showCurrency,o.showCurrency,!1),i=_xeUtils.default.commafy(_xeUtils.default.toNumber(i),{digits:a}),r||([a,r]=i.split("."),r&&(r=r.replace(/0+$/,""),i=r?[a,".",r].join(""):a)),u)&&(i=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)),getCellLabelVNs(e,t,l,i)},renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&"time"!==r.type?getLabelFormatDate(a,r):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -474,15 +474,9 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
474
474
  }
475
475
  // 拖拽行事件
476
476
  if (rowOpts.drag && (!treeConfig || transform)) {
477
- trOn.dragstart = evnt => {
478
- $xeTable.handleRowDragDragstartEvent(evnt);
479
- };
480
- trOn.dragover = evnt => {
481
- $xeTable.handleRowDragDragoverEvent(evnt);
482
- };
483
- trOn.dragend = evnt => {
484
- $xeTable.handleRowDragDragendEvent(evnt);
485
- };
477
+ trOn.dragstart = $xeTable.handleRowDragDragstartEvent;
478
+ trOn.dragend = $xeTable.handleRowDragDragendEvent;
479
+ trOn.dragover = $xeTable.handleRowDragDragoverEvent;
486
480
  }
487
481
  const trClass = ['vxe-body--row', treeConfig ? `row--level-${rowLevel}` : '', {
488
482
  'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
@@ -660,16 +654,21 @@ var _default = exports.default = {
660
654
  scrollYLoad,
661
655
  isAllOverflow,
662
656
  isDragRowMove,
663
- expandColumn
657
+ expandColumn,
658
+ dragRow,
659
+ dragCol
664
660
  } = tableReactData;
665
661
  const {
666
- visibleColumn
662
+ visibleColumn,
663
+ fullAllDataRowIdData,
664
+ fullColumnIdData
667
665
  } = tableInternalData;
668
666
  const rowOpts = $xeTable.computeRowOpts;
669
667
  const sYOpts = $xeTable.computeSYOpts;
670
668
  const emptyOpts = $xeTable.computeEmptyOpts;
671
669
  const mouseOpts = $xeTable.computeMouseOpts;
672
670
  const rowDragOpts = $xeTable.computeRowDragOpts;
671
+ let renderDataList = tableData;
673
672
  let renderColumnList = tableColumn;
674
673
  if (fixedType) {
675
674
  // 如果是使用优化模式
@@ -684,6 +683,52 @@ var _default = exports.default = {
684
683
  renderColumnList = visibleColumn;
685
684
  }
686
685
  }
686
+ // 行拖拽
687
+ if (scrollYLoad && dragRow) {
688
+ if (renderDataList.length > 2) {
689
+ const dRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, dragRow)];
690
+ if (dRowRest) {
691
+ const drIndex = dRowRest._index;
692
+ const firstRow = renderDataList[0];
693
+ const lastRow = renderDataList[renderDataList.length - 1];
694
+ const firstRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, firstRow)];
695
+ const lastRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, lastRow)];
696
+ if (firstRowRest && lastRowRest) {
697
+ const frIndex = firstRowRest._index;
698
+ const lrIndex = lastRowRest._index;
699
+ if (drIndex < frIndex) {
700
+ renderDataList = [dragRow].concat(renderDataList);
701
+ } else if (drIndex > lrIndex) {
702
+ renderDataList = renderDataList.concat([dragRow]);
703
+ }
704
+ }
705
+ }
706
+ }
707
+ }
708
+ if (!fixedType) {
709
+ // 列拖拽
710
+ if (scrollXLoad && dragCol) {
711
+ if (renderColumnList.length > 2) {
712
+ const dCowRest = fullColumnIdData[dragCol.id];
713
+ if (dCowRest) {
714
+ const dcIndex = dCowRest._index;
715
+ const firstCol = renderColumnList[0];
716
+ const lastCol = renderColumnList[renderColumnList.length - 1];
717
+ const firstColRest = fullColumnIdData[firstCol.id];
718
+ const lastColRest = fullColumnIdData[lastCol.id];
719
+ if (firstColRest && lastColRest) {
720
+ const fcIndex = firstColRest._index;
721
+ const lcIndex = lastColRest._index;
722
+ if (dcIndex < fcIndex) {
723
+ renderColumnList = [dragCol].concat(renderColumnList);
724
+ } else if (dcIndex > lcIndex) {
725
+ renderColumnList = renderColumnList.concat([dragCol]);
726
+ }
727
+ }
728
+ }
729
+ }
730
+ }
731
+ }
687
732
  let emptyContent;
688
733
  if ($scopedSlots.empty) {
689
734
  emptyContent = $scopedSlots.empty.call(this, {
@@ -751,9 +796,9 @@ var _default = exports.default = {
751
796
  tag: 'tbody',
752
797
  name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`
753
798
  }
754
- }, renderRows(h, this, $xeTable, fixedType, tableData, renderColumnList)) : h('tbody', {
799
+ }, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList)) : h('tbody', {
755
800
  ref: 'tbody'
756
- }, renderRows(h, this, $xeTable, fixedType, tableData, renderColumnList))]), h('div', {
801
+ }, renderRows(h, this, $xeTable, fixedType, renderDataList, renderColumnList))]), h('div', {
757
802
  class: 'vxe-table--checkbox-range'
758
803
  }), mouseConfig && mouseOpts.area ? h('div', {
759
804
  class: 'vxe-table--cell-area'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:w,isAllOverflow:X,align:z,currentColumn:P,cellClassName:j,cellStyle:K,mergeList:G,spanMethod:J,radioOpts:Q,checkboxOpts:Z,expandOpts:ee,treeOpts:le,tooltipOpts:x,mouseConfig:te,editConfig:y,editOpts:f,editRules:re,validOpts:b,editStore:oe,tooltipConfig:se,rowOpts:S,columnOpts:ae,mouseOpts:ie,areaOpts:T,validErrorMaps:_}=l,ne=l.computeRowDragOpts,de=ne.disabledMethod,T=T.selectCellToRow,{type:ce,cellRender:pe,editRender:C,align:ue,showOverflow:$,className:ge,treeNode:he,slots:me}=d,ve=l.computeCellOpts.verticalAlign,oe=oe.actived,v=v.rHeight,E=S.height,O=C||pe,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:"",xe=O?O.tableCellStyle||O.cellStyle:"";let R=x.showAll||x.enabled;var x=l.getColumnIndex(d),ye=l.getVTColumnIndex(d),fe=(0,_utils.isEnableConf)(C);let D=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?w:$,$="ellipsis"===m;let M="title"===m,I=!0===m||"tooltip"===m;m=w||M||I||$;let be;var L={},A=A[r],ue=ue||(O?O.tableCellAlign:"")||z,O=_[r+":"+d.id],z=re&&b.showMessage&&("default"===b.message?h||1<g.length:"inline"===b.message),_={colid:d.id};let Se=p["cell-mouseenter"],Te=p["cell-mouseleave"];re=C&&y&&"dblclick"===f.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:x,$columnIndex:c,_columnIndex:ye,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:g,items:q},k=!1,_e=!1;if((k=S.drag?"row"===ne.trigger||d.dragSort&&"cell"===ne.trigger:k)&&(_e=!(!de||!de(Y))),(M||I||R||Se||se)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(M?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||R)&&l.triggerBodyTooltipEvent(e,Y),Se&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(I||R||Te||se)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((I||R)&&l.handleTargetLeaveEvent(e),Te&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||Z.range||te)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(S.isCurrent||V||p["cell-click"]||C&&y||"row"===ee.trigger||"cell"===ee.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===Z.trigger||"checkbox"===d.type&&"cell"===Z.trigger||"row"===le.trigger||d.treeNode&&"cell"===le.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(re||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),G.length){h=(0,_util.mergeBodyMethod)(G,B,ye);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(_.rowspan=t),1<r&&(_.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(_.rowspan=i),1<n&&(_.colspan=n)}!(D=D&&G&&(1<_.colspan||1<_.rowspan)?!1:D)&&y&&(C||pe)&&(f.showStatus||f.showUpdateStatus)&&(be=l.isUpdateByRow(a,d.field));x=[];D&&w&&X?x.push(e("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(x.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:M?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&O&&(o=O.rule,s=me?me.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),x.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Ce="";m&&(v||E)?Ce=`${v||E}px`:!N&&!W||m||(Ce=`${A.height||24}px`),te&&ie.area&&T&&((c||!0!==T)&&T!==d.field||x.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ue]:ue,["col--vertical-"+ve]:ve,["col--"+ce]:ce,"col--last":c===U.length-1,"col--tree-node":he,"col--edit":fe,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":D,"is--drag-cell":k,"is--drag-disabled":_e,"col--dirty":be,"col--active":y&&fe&&oe.row===a&&(oe.column===d||"row"===f.mode),"col--valid-error":!!O,"col--current":P===d},(0,_utils.getClass)(we,Y),(0,_utils.getClass)(ge,Y),(0,_utils.getClass)(j,Y)],key:F||N||W||ae.useKey||S.useKey||ae.drag?d.id:c,attrs:_,style:Object.assign({height:Ce},_xeUtils.default.isFunction(xe)?xe(Y):xe,_xeUtils.default.isFunction(K)?K(Y):K),on:L},x)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:M,treeOpts:I,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=I,K=I.children||I.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=M&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!M||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||M&&!P||(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)});var g,h=["vxe-body--row",M?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||M?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||M?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),M&&(m.paddingLeft=a*I.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{tableData:r,scrollXLoad:h,scrollYLoad:m,isAllOverflow:v,isDragRowMove:w,expandColumn:x}=r,o=o.visibleColumn,y=l.computeRowOpts,f=l.computeSYOpts,b=l.computeEmptyOpts,S=l.computeMouseOpts,T=l.computeRowDragOpts;let _=d;n&&(_=!(h||m||c&&v)||x||p||u?o:i||[]);let C;C=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(m=(h=b.name?renderer.get(b.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(m.call(this,t,b,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");c={scroll:this.scrollEvent};return"wheel"===f.mode&&(c.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:c},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},_.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),y.drag&&T.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(w?"":"-disabled")}},renderRows(t,this,l,n,r,_)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,r,_))]),t("div",{class:"vxe-table--checkbox-range"}),g&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},C)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:w,isAllOverflow:X,align:z,currentColumn:P,cellClassName:j,cellStyle:K,mergeList:G,spanMethod:J,radioOpts:Q,checkboxOpts:Z,expandOpts:ee,treeOpts:le,tooltipOpts:x,mouseConfig:te,editConfig:y,editOpts:f,editRules:re,validOpts:b,editStore:oe,tooltipConfig:se,rowOpts:S,columnOpts:ae,mouseOpts:ie,areaOpts:T,validErrorMaps:_}=l,ne=l.computeRowDragOpts,de=ne.disabledMethod,T=T.selectCellToRow,{type:ce,cellRender:pe,editRender:C,align:ue,showOverflow:$,className:ge,treeNode:he,slots:me}=d,ve=l.computeCellOpts.verticalAlign,oe=oe.actived,v=v.rHeight,E=S.height,O=C||pe,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:"",xe=O?O.tableCellStyle||O.cellStyle:"";let R=x.showAll||x.enabled;var x=l.getColumnIndex(d),ye=l.getVTColumnIndex(d),fe=(0,_utils.isEnableConf)(C);let D=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?w:$,$="ellipsis"===m;let I="title"===m,M=!0===m||"tooltip"===m;m=w||I||M||$;let be;var L={},A=A[r],ue=ue||(O?O.tableCellAlign:"")||z,O=_[r+":"+d.id],z=re&&b.showMessage&&("default"===b.message?h||1<g.length:"inline"===b.message),_={colid:d.id};let Se=p["cell-mouseenter"],Te=p["cell-mouseleave"];re=C&&y&&"dblclick"===f.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:x,$columnIndex:c,_columnIndex:ye,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:g,items:q},k=!1,_e=!1;if((k=S.drag?"row"===ne.trigger||d.dragSort&&"cell"===ne.trigger:k)&&(_e=!(!de||!de(Y))),(I||M||R||Se||se)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(M||R)&&l.triggerBodyTooltipEvent(e,Y),Se&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(M||R||Te||se)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((M||R)&&l.handleTargetLeaveEvent(e),Te&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||Z.range||te)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(S.isCurrent||V||p["cell-click"]||C&&y||"row"===ee.trigger||"cell"===ee.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===Z.trigger||"checkbox"===d.type&&"cell"===Z.trigger||"row"===le.trigger||d.treeNode&&"cell"===le.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(re||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),G.length){h=(0,_util.mergeBodyMethod)(G,B,ye);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(_.rowspan=t),1<r&&(_.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(_.rowspan=i),1<n&&(_.colspan=n)}!(D=D&&G&&(1<_.colspan||1<_.rowspan)?!1:D)&&y&&(C||pe)&&(f.showStatus||f.showUpdateStatus)&&(be=l.isUpdateByRow(a,d.field));x=[];D&&w&&X?x.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(x.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&O&&(o=O.rule,s=me?me.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),x.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Ce="";m&&(v||E)?Ce=`${v||E}px`:!N&&!W||m||(Ce=`${A.height||24}px`),te&&ie.area&&T&&((c||!0!==T)&&T!==d.field||x.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ue]:ue,["col--vertical-"+ve]:ve,["col--"+ce]:ce,"col--last":c===U.length-1,"col--tree-node":he,"col--edit":fe,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":D,"is--drag-cell":k,"is--drag-disabled":_e,"col--dirty":be,"col--active":y&&fe&&oe.row===a&&(oe.column===d||"row"===f.mode),"col--valid-error":!!O,"col--current":P===d},(0,_utils.getClass)(we,Y),(0,_utils.getClass)(ge,Y),(0,_utils.getClass)(j,Y)],key:F||N||W||ae.useKey||S.useKey||ae.drag?d.id:c,attrs:_,style:Object.assign({height:Ce},_xeUtils.default.isFunction(xe)?xe(Y):xe,_xeUtils.default.isFunction(K)?K(Y):K),on:L},x)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{tableData:r,scrollXLoad:h,scrollYLoad:m,isAllOverflow:v,isDragRowMove:w,expandColumn:x,dragRow:y,dragCol:f}=r,{visibleColumn:o,fullAllDataRowIdData:b,fullColumnIdData:S}=o,T=l.computeRowOpts,_=l.computeSYOpts,C=l.computeEmptyOpts,$=l.computeMouseOpts,E=l.computeRowDragOpts;let O=r,R=d;n&&(R=!(h||m||c&&v)||x||p||u?o:i||[]),m&&y&&2<O.length&&(r=b[(0,_util.getRowid)(l,y)])&&(c=r._index,v=O[0],x=O[O.length-1],p=b[(0,_util.getRowid)(l,v)],u=b[(0,_util.getRowid)(l,x)],p)&&u&&(o=p._index,m=u._index,c<o?O=[y].concat(O):m<c&&(O=O.concat([y]))),n||h&&f&&2<R.length&&(r=S[f.id])&&(v=r._index,b=R[0],x=R[R.length-1],p=S[b.id],u=S[x.id],p)&&u&&(o=p._index,m=u._index,v<o?R=[f].concat(R):m<v&&(R=R.concat([f])));let D;D=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(y=(c=C.name?renderer.get(C.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,C,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");h={scroll:this.scrollEvent};return"wheel"===_.mode&&(h.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:h},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},R.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),T.drag&&E.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(w?"":"-disabled")}},renderRows(t,this,l,n,O,R)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,O,R))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},D)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
@@ -303,16 +303,20 @@ var _default = exports.default = {
303
303
  showFooterOverflow: allColumnFooterOverflow
304
304
  } = tableProps;
305
305
  const {
306
- visibleColumn
306
+ visibleColumn,
307
+ fullColumnIdData
307
308
  } = tableInternalData;
308
309
  const {
309
- scrollbarWidth
310
+ scrollXLoad,
311
+ scrollYLoad,
312
+ scrollbarWidth,
313
+ dragCol
310
314
  } = tableReactData;
311
315
  let renderColumnList = tableColumn;
312
316
  // 如果是使用优化模式
313
317
  if (fixedType) {
314
318
  // 如果是使用优化模式
315
- if (allColumnFooterOverflow) {
319
+ if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
316
320
  // 如果不支持优化模式
317
321
  if (spanMethod || footerSpanMethod) {
318
322
  renderColumnList = visibleColumn;
@@ -323,6 +327,30 @@ var _default = exports.default = {
323
327
  renderColumnList = visibleColumn;
324
328
  }
325
329
  }
330
+ if (!fixedType) {
331
+ // 列拖拽
332
+ if (scrollXLoad && dragCol) {
333
+ if (renderColumnList.length > 2) {
334
+ const dCowRest = fullColumnIdData[dragCol.id];
335
+ if (dCowRest) {
336
+ const dcIndex = dCowRest._index;
337
+ const firstCol = renderColumnList[0];
338
+ const lastCol = renderColumnList[renderColumnList.length - 1];
339
+ const firstColRest = fullColumnIdData[firstCol.id];
340
+ const lastColRest = fullColumnIdData[lastCol.id];
341
+ if (firstColRest && lastColRest) {
342
+ const fcIndex = firstColRest._index;
343
+ const lcIndex = lastColRest._index;
344
+ if (dcIndex < fcIndex) {
345
+ renderColumnList = [dragCol].concat(renderColumnList);
346
+ } else if (dcIndex > lcIndex) {
347
+ renderColumnList = renderColumnList.concat([dragCol]);
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ }
326
354
  const ons = {};
327
355
  if (!fixedType) {
328
356
  ons.scroll = this.scrollEvent;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=l[e];if(-1<n&&-1<o&&i&&a){if(o===t&&n===r)return{rowspan:i,colspan:a};if(o<=t&&t<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function renderRows(v,e,y,w,h,b,_){let{$parent:$,fixedType:T}=e,{$listeners:C,footerCellClassName:S,footerCellStyle:F,footerAlign:E,mergeFooterList:I,footerSpanMethod:k,align:O,scrollXLoad:U,columnKey:R,columnOpts:A,showFooterOverflow:L,currentColumn:M,overflowX:q,scrollYLoad:D,scrollbarWidth:l,tooltipOpts:H}=$;return y.map((l,e)=>{var{type:t,showFooterOverflow:r,footerAlign:o,align:n,footerClassName:i,editRender:a,cellRender:s}=l,a=a||s,s=a?renderer.get(a.name):null;let d=H.showAll||H.enabled;a=l.children&&l.children.length,a=T?l.fixed!==T&&!a:l.fixed&&q,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?L:r,o=o||(s?s.tableFooterCellAlign:"")||E||n||(s?s.tableCellAlign:"")||O;let c="ellipsis"===r,u="title"===r,p=!0===r||"tooltip"===r,f=u||p||c;var n={colid:l.id},s={},r=$.getColumnIndex(l),m=$.getVTColumnIndex(l),x=m;let g={$table:$,$grid:$.xegrid,row:h,_rowIndex:_,$rowIndex:b,column:l,columnIndex:r,$columnIndex:e,_columnIndex:m,itemIndex:x,items:h,fixed:T,type:renderType,data:w};if(U&&!f&&(c=f=!0),(u||p||d)&&(s.mouseenter=e=>{u?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||d)&&$.triggerFooterTooltipEvent(e,g)}),(p||d)&&(s.mouseleave=e=>{(p||d)&&$.handleTargetLeaveEvent(e)}),C["footer-cell-click"]&&(s.click=e=>{$.emitEvent("footer-cell-click",Object.assign({cell:e.currentTarget},g),e)}),C["footer-cell-dblclick"]&&(s.dblclick=e=>{$.emitEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},g),e)}),I.length){r=mergeFooterMethod(I,_,m);if(r){var{rowspan:x,colspan:m}=r;if(!x||!m)return null;1<x&&(n.rowspan=x),1<m&&(n.colspan=m)}}else if(k){var{rowspan:r=1,colspan:x=1}=k(g)||{};if(!r||!x)return null;1<r&&(n.rowspan=r),1<x&&(n.colspan=x)}m=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);return v("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+t]:t,"col--last":e===y.length-1,"fixed--width":!m,"fixed--hidden":a,"col--ellipsis":f,"col--current":M===l},(0,_utils.getClass)(i,g),(0,_utils.getClass)(S,g)],attrs:n,style:F?_xeUtils.default.isFunction(F)?F(g):F:null,on:s,key:R||U||D||A.useKey||A.drag?l.id:e},[v("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":p,"c--ellipsis":c}]},l.renderFooter(v,g))])}).concat(l?[v("td",{key:"gr"+b,class:"vxe-footer--gutter col--gutter"})]:[])}function renderHeads(o,n,i){let a=n.$parent;let s=a.computeColumnOpts,d=a.computeColumnDragOpts,{fixedType:c,footerTableData:u}=n,{footerRowClassName:p,footerRowStyle:f,isDragColMove:m}=a;return u.map((e,l)=>{var t=l,r={$table:a,row:e,_rowIndex:t,$rowIndex:l,fixed:c,type:renderType};return s.drag&&d.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(m?"":"-disabled"),class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:f?_xeUtils.default.isFunction(f)?f(r):f:null}},renderRows(o,n,i,u,e,l,t)):o("tr",{key:l,class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:f?_xeUtils.default.isFunction(f)?f(r):f:null},renderRows(o,n,i,u,e,l,t))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:String,size:String},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-footer-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tfoot,e[r+"xSpace"]=t.xSpace},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-footer-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:o,tableColumn:n}=this,{spanMethod:i,footerSpanMethod:a,showFooterOverflow:s}=e,d=e.visibleColumn,c=e.scrollbarWidth;let u=n;r&&(u=!s||i||a?d:o||[]);n={};return r||(n.scroll=this.scrollEvent),t("div",{class:["vxe-table--footer-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l},on:n},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--footer",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},u.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(c?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("tfoot",{ref:"tfoot"},renderHeads(t,this,u))])])},methods:{scrollEvent(e){var l,t,r,o,n=this.$parent,i=n,{inVirtualScroll:a,inBodyScroll:s}=i;a||s||(a=this.fixedType,{tableHeader:s,tableBody:l,tableFooter:r}=n.$refs,s=s?s.$el:null,(r=r?r.$el:null)&&(l=l?l.$el:null)&&(t=n.$refs.refScrollXHandleElem,r=r.scrollLeft,o=l.scrollTop,i.inFooterScroll=!0,(0,_dom.setScrollLeft)(t,r),(0,_dom.setScrollLeft)(s,r),(0,_dom.setScrollLeft)(l,r),n.triggerScrollXEvent(e),n.handleScrollEvent(e,!1,!0,o,r,{type:renderType,fixed:a})))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<o&&a&&i){if(o===t&&n===r)return{rowspan:a,colspan:i};if(o<=t&&t<o+a&&n<=r&&r<n+i)return{rowspan:0,colspan:0}}}}function renderRows(v,e,y,h,w,b,_){let{$parent:C,fixedType:$}=e,{$listeners:T,footerCellClassName:S,footerCellStyle:F,footerAlign:E,mergeFooterList:I,footerSpanMethod:k,align:L,scrollXLoad:O,columnKey:U,columnOpts:R,showFooterOverflow:A,currentColumn:M,overflowX:D,scrollYLoad:q,scrollbarWidth:l,tooltipOpts:X}=C;return y.map((l,e)=>{var{type:t,showFooterOverflow:r,footerAlign:o,align:n,footerClassName:a,editRender:i,cellRender:s}=l,i=i||s,s=i?renderer.get(i.name):null;let d=X.showAll||X.enabled;i=l.children&&l.children.length,i=$?l.fixed!==$&&!i:l.fixed&&D,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?A:r,o=o||(s?s.tableFooterCellAlign:"")||E||n||(s?s.tableCellAlign:"")||L;let c="ellipsis"===r,u="title"===r,p=!0===r||"tooltip"===r,f=u||p||c;var n={colid:l.id},s={},r=C.getColumnIndex(l),x=C.getVTColumnIndex(l),m=x;let g={$table:C,$grid:C.xegrid,row:w,_rowIndex:_,$rowIndex:b,column:l,columnIndex:r,$columnIndex:e,_columnIndex:x,itemIndex:m,items:w,fixed:$,type:renderType,data:h};if(O&&!f&&(c=f=!0),(u||p||d)&&(s.mouseenter=e=>{u?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||d)&&C.triggerFooterTooltipEvent(e,g)}),(p||d)&&(s.mouseleave=e=>{(p||d)&&C.handleTargetLeaveEvent(e)}),T["footer-cell-click"]&&(s.click=e=>{C.emitEvent("footer-cell-click",Object.assign({cell:e.currentTarget},g),e)}),T["footer-cell-dblclick"]&&(s.dblclick=e=>{C.emitEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},g),e)}),I.length){r=mergeFooterMethod(I,_,x);if(r){var{rowspan:m,colspan:x}=r;if(!m||!x)return null;1<m&&(n.rowspan=m),1<x&&(n.colspan=x)}}else if(k){var{rowspan:r=1,colspan:m=1}=k(g)||{};if(!r||!m)return null;1<r&&(n.rowspan=r),1<m&&(n.colspan=m)}x=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);return v("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+t]:t,"col--last":e===y.length-1,"fixed--width":!x,"fixed--hidden":i,"col--ellipsis":f,"col--current":M===l},(0,_utils.getClass)(a,g),(0,_utils.getClass)(S,g)],attrs:n,style:F?_xeUtils.default.isFunction(F)?F(g):F:null,on:s,key:U||O||q||R.useKey||R.drag?l.id:e},[v("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":p,"c--ellipsis":c}]},l.renderFooter(v,g))])}).concat(l?[v("td",{key:"gr"+b,class:"vxe-footer--gutter col--gutter"})]:[])}function renderHeads(o,n,a){let i=n.$parent;let s=i.computeColumnOpts,d=i.computeColumnDragOpts,{fixedType:c,footerTableData:u}=n,{footerRowClassName:p,footerRowStyle:f,isDragColMove:x}=i;return u.map((e,l)=>{var t=l,r={$table:i,row:e,_rowIndex:t,$rowIndex:l,fixed:c,type:renderType};return s.drag&&d.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(x?"":"-disabled"),class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:f?_xeUtils.default.isFunction(f)?f(r):f:null}},renderRows(o,n,a,u,e,l,t)):o("tr",{key:l,class:["vxe-footer--row",p?_xeUtils.default.isFunction(p)?p(r):p:""],style:f?_xeUtils.default.isFunction(f)?f(r):f:null},renderRows(o,n,a,u,e,l,t))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:String,size:String},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-footer-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tfoot,e[r+"xSpace"]=t.xSpace},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-footer-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:o,tableColumn:n}=this,{spanMethod:a,footerSpanMethod:i,showFooterOverflow:s}=e,{visibleColumn:d,fullColumnIdData:c}=e,{scrollXLoad:u,scrollYLoad:p,scrollbarWidth:f,dragCol:x}=e;let m=r?!(u||p||s)||a||i?d:o||[]:n;r||u&&x&&2<m.length&&(p=c[x.id])&&(s=p._index,a=m[0],i=m[m.length-1],d=c[a.id],o=c[i.id],d)&&o&&(n=d._index,u=o._index,s<n?m=[x].concat(m):u<s&&(m=m.concat([x])));p={};return r||(p.scroll=this.scrollEvent),t("div",{class:["vxe-table--footer-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l},on:p},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--footer",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},m.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(f?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("tfoot",{ref:"tfoot"},renderHeads(t,this,m))])])},methods:{scrollEvent(e){var l,t,r,o,n=this.$parent,a=n,{inVirtualScroll:i,inBodyScroll:s}=a;i||s||(i=this.fixedType,{tableHeader:s,tableBody:l,tableFooter:r}=n.$refs,s=s?s.$el:null,(r=r?r.$el:null)&&(l=l?l.$el:null)&&(t=n.$refs.refScrollXHandleElem,r=r.scrollLeft,o=l.scrollTop,a.inFooterScroll=!0,(0,_dom.setScrollLeft)(t,r),(0,_dom.setScrollLeft)(s,r),(0,_dom.setScrollLeft)(l,r),n.triggerScrollXEvent(e),n.handleScrollEvent(e,!1,!0,o,r,{type:renderType,fixed:i})))}}};
@@ -125,6 +125,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
125
125
  'is--sortable': column.sortable,
126
126
  'col--filter': !!column.filters,
127
127
  'is--filter-active': hasFilter,
128
+ 'is--drag-active': !column.fixed && !isDisabledDrag,
128
129
  'is--drag-disabled': isDisabledDrag,
129
130
  'col--current': currentColumn === column
130
131
  }, (0, _utils.getClass)(headerClassName, params), (0, _utils.getClass)(headerCellClassName, params)],
@@ -276,19 +277,23 @@ var _default = exports.default = {
276
277
  } = tableProps;
277
278
  const {
278
279
  isGroup,
279
- scrollbarWidth
280
+ scrollXLoad,
281
+ scrollYLoad,
282
+ scrollbarWidth,
283
+ dragCol
280
284
  } = tableReactData;
281
285
  const {
282
- visibleColumn
286
+ visibleColumn,
287
+ fullColumnIdData
283
288
  } = tableInternalData;
284
- let headerGroups = headerColumn;
289
+ let renderHeaderList = headerColumn;
285
290
  let renderColumnList = tableColumn;
286
291
  if (isGroup) {
287
292
  renderColumnList = visibleColumn;
288
293
  } else {
289
294
  if (fixedType) {
290
295
  // 如果是使用优化模式
291
- if (allColumnHeaderOverflow) {
296
+ if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
292
297
  // 如果不支持优化模式
293
298
  if (spanMethod || footerSpanMethod) {
294
299
  renderColumnList = visibleColumn;
@@ -299,7 +304,35 @@ var _default = exports.default = {
299
304
  renderColumnList = visibleColumn;
300
305
  }
301
306
  }
302
- headerGroups = [renderColumnList];
307
+ renderHeaderList = [renderColumnList];
308
+ }
309
+ if (!fixedType) {
310
+ // 列拖拽
311
+ if (scrollXLoad && dragCol) {
312
+ if (renderColumnList.length > 2) {
313
+ const dCowRest = fullColumnIdData[dragCol.id];
314
+ if (dCowRest) {
315
+ const dcIndex = dCowRest._index;
316
+ const firstCol = renderColumnList[0];
317
+ const lastCol = renderColumnList[renderColumnList.length - 1];
318
+ const firstColRest = fullColumnIdData[firstCol.id];
319
+ const lastColRest = fullColumnIdData[lastCol.id];
320
+ if (firstColRest && lastColRest) {
321
+ const fcIndex = firstColRest._index;
322
+ const lcIndex = lastColRest._index;
323
+ console.log(dragCol.id, dcIndex, fcIndex, lcIndex, renderColumnList.length);
324
+ if (dcIndex < fcIndex) {
325
+ renderColumnList = [dragCol].concat(renderColumnList);
326
+ renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1));
327
+ } else if (dcIndex > lcIndex) {
328
+ renderColumnList = renderColumnList.concat([dragCol]);
329
+ renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1));
330
+ }
331
+ console.log(renderColumnList.length);
332
+ }
333
+ }
334
+ }
335
+ }
303
336
  }
304
337
  return h('div', {
305
338
  class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
@@ -341,7 +374,7 @@ var _default = exports.default = {
341
374
  */
342
375
  h('thead', {
343
376
  ref: 'thead'
344
- }, renderHeads(h, this, headerGroups))]),
377
+ }, renderHeads(h, this, renderHeaderList))]),
345
378
  /**
346
379
  * 其他
347
380
  */
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=(v,C,b,y)=>{let w=C.$parent,_=w.xegrid,$=C.fixedType,{resizable:z,border:W,columnKey:M,headerCellClassName:H,headerCellStyle:S,showHeaderOverflow:D,headerAlign:R,align:T,currentColumn:E,scrollXLoad:O,scrollYLoad:k,overflowX:U,scrollbarWidth:e,mouseConfig:A,columnOpts:I}=w,q=w.computeColumnDragOpts,F=q.disabledMethod;return b.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:o,editRender:n,cellRender:d}=e,s=e.id,n=n||d,d=n?renderer.get(n.name):null,n=e.children&&e.children.length,u=$?e.fixed!==$&&!n:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?D:r,a=a||(d?d.tableHeaderCellAlign:"")||R||i||(d?d.tableCellAlign:"")||T;let c="ellipsis"===r;i="title"===r,d=!0===r||"tooltip"===r;let p=i||d||c;var r=e.filters&&e.filters.some(e=>e.checked),h=w.getColumnIndex(e),m=w.getVTColumnIndex(e);let f={$table:w,$grid:_,$rowIndex:y,column:e,columnIndex:h,$columnIndex:l,_columnIndex:m,fixed:$,type:cellType,isHidden:u,hasFilter:r};var h={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={click:e=>w.triggerHeaderCellClickEvent(e,f),dblclick:e=>w.triggerHeaderCellDblclickEvent(e,f)},g=(O&&!p&&(c=p=!0),I.drag&&"cell"===q.trigger);let x=!1;g&&(x=!(!F||!F(f))),(A||g)&&(m.mousedown=e=>w.triggerHeaderCellMousedownEvent(e,f)),I.drag&&(m.dragstart=w.handleHeaderCellDragDragstartEvent,m.dragend=w.handleHeaderCellDragDragendEvent,m.dragover=w.handleHeaderCellDragDragoverEvent,g)&&(m.mouseup=w.handleHeaderCellDragMouseupEvent);g=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return v("th",{class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===b.length-1,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":p,"fixed--width":!g,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-disabled":x,"col--current":E===e},(0,_utils.getClass)(o,f),(0,_utils.getClass)(H,f)],attrs:h,style:S?_xeUtils.default.isFunction(S)?S(f):S:null,on:m,key:M||O||k||I.useKey||I.drag||n?s:l},[v("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":d,"c--ellipsis":c}]},e.renderHeader(v,f)),u||n||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:I.resizable||z)?null:v("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>C.resizeMousedown(e,f)}})])}).concat(e?[v("th",{key:"gr"+y,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,a,e){let i=a.$parent;var l=i;let o=a.fixedType,n=i.computeColumnOpts,d=i.computeColumnDragOpts,{headerRowClassName:s,headerRowStyle:u}=l,c=i.isDragColMove;return e.map((e,l)=>{var t={$table:i,$rowIndex:l,fixed:o,type:cellType};return n.drag&&d.animation?r("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(c?"":"-disabled"),class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(r,a,e,l)):r("tr",{key:l,class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(r,a,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:a,tableColumn:i}=this,o=this.headerColumn,{showHeaderOverflow:n,spanMethod:d,footerSpanMethod:s}=e,{isGroup:u,scrollbarWidth:c}=e,p=e.visibleColumn;let h=o,m=i;return u?m=p:(r&&(m=!n||d||s?p:a||[]),h=[m]),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},m.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(c?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,h))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let d=t.column,{$parent:r,fixedType:s}=this,a=l.visibleColumn,{tableBody:i,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:o,clientX:g}=e,x=t.cell=o.parentNode,v=l.computeResizableOpts,C=0,b=i.$el;var l=(0,_dom.getOffsetPos)(o,p),n=o.clientWidth,y=Math.floor(n/2);let w=(0,_util.getColReMinWidth)(t)-y,_=l.left-x.clientWidth+n+w,$=l.left+y,z=document.onmousemove,W=document.onmouseup,M="left"===s,H="right"===s,S=0;if(M||H){var D=M?"nextElementSibling":"previousElementSibling";let e=x[D];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(S+=e.offsetWidth),e=e[D];H&&c&&($=c.offsetLeft+S)}function R(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=s?0:b.scrollLeft,M?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-S-w):H?(_=(u?u.clientWidth:0)+S+w,e=Math.min(e,$+x.clientWidth-w)):_=Math.max(b.scrollLeft,_),t=(C=Math.max(e,_))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,a=f.getBoundingClientRect(),i=h.clientWidth,o=m.clientWidth,n=m.clientHeight;let e=-o;t<o+i?e=o+i-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-n,Math.max(0,l.clientY-a.y-n/2))+"px",m.textContent=d.renderWidth+(H?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=R,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=d.renderWidth+(H?$-C:C-$);d.resizeWidth=l,"fixed"===v.dragMode&&a.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},R(e),r.closeMenu()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=(v,C,b,y)=>{let _=C.$parent,w=_.xegrid,$=C.fixedType,{resizable:z,border:W,columnKey:M,headerCellClassName:H,headerCellStyle:D,showHeaderOverflow:S,headerAlign:R,align:T,currentColumn:E,scrollXLoad:O,scrollYLoad:k,overflowX:U,scrollbarWidth:e,mouseConfig:I,columnOpts:A}=_,L=_.computeColumnDragOpts,q=L.disabledMethod;return b.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:o,editRender:n,cellRender:d}=e,s=e.id,n=n||d,d=n?renderer.get(n.name):null,n=e.children&&e.children.length,u=$?e.fixed!==$&&!n:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?S:r,a=a||(d?d.tableHeaderCellAlign:"")||R||i||(d?d.tableCellAlign:"")||T;let c="ellipsis"===r;i="title"===r,d=!0===r||"tooltip"===r;let p=i||d||c;var r=e.filters&&e.filters.some(e=>e.checked),h=_.getColumnIndex(e),m=_.getVTColumnIndex(e);let f={$table:_,$grid:w,$rowIndex:y,column:e,columnIndex:h,$columnIndex:l,_columnIndex:m,fixed:$,type:cellType,isHidden:u,hasFilter:r};var h={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={click:e=>_.triggerHeaderCellClickEvent(e,f),dblclick:e=>_.triggerHeaderCellDblclickEvent(e,f)},g=(O&&!p&&(c=p=!0),A.drag&&"cell"===L.trigger);let x=!1;g&&(x=!(!q||!q(f))),(I||g)&&(m.mousedown=e=>_.triggerHeaderCellMousedownEvent(e,f)),A.drag&&(m.dragstart=_.handleHeaderCellDragDragstartEvent,m.dragend=_.handleHeaderCellDragDragendEvent,m.dragover=_.handleHeaderCellDragDragoverEvent,g)&&(m.mouseup=_.handleHeaderCellDragMouseupEvent);g=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return v("th",{class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===b.length-1,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":p,"fixed--width":!g,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-active":!e.fixed&&!x,"is--drag-disabled":x,"col--current":E===e},(0,_utils.getClass)(o,f),(0,_utils.getClass)(H,f)],attrs:h,style:D?_xeUtils.default.isFunction(D)?D(f):D:null,on:m,key:M||O||k||A.useKey||A.drag||n?s:l},[v("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":d,"c--ellipsis":c}]},e.renderHeader(v,f)),u||n||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:A.resizable||z)?null:v("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>C.resizeMousedown(e,f)}})])}).concat(e?[v("th",{key:"gr"+y,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,a,e){let i=a.$parent;var l=i;let o=a.fixedType,n=i.computeColumnOpts,d=i.computeColumnDragOpts,{headerRowClassName:s,headerRowStyle:u}=l,c=i.isDragColMove;return e.map((e,l)=>{var t={$table:i,$rowIndex:l,fixed:o,type:cellType};return n.drag&&d.animation?r("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(c?"":"-disabled"),class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(r,a,e,l)):r("tr",{key:l,class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(r,a,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:a,tableColumn:i}=this,o=this.headerColumn,{showHeaderOverflow:n,spanMethod:d,footerSpanMethod:s}=e,{isGroup:u,scrollXLoad:c,scrollYLoad:p,scrollbarWidth:h,dragCol:m}=e,{visibleColumn:f,fullColumnIdData:g}=e;let x=o,v=i;return u?v=f:(r&&(v=!(c||p||n)||d||s?f:a||[]),x=[v]),r||c&&m&&2<v.length&&(o=g[m.id])&&(i=o._index,u=v[0],p=v[v.length-1],n=g[u.id],d=g[p.id],n)&&d&&(s=n._index,f=d._index,console.log(m.id,i,s,f,v.length),i<s?(v=[m].concat(v),x=[[m].concat(x[0])].concat(x.slice(1))):f<i&&(v=v.concat([m]),x=[x[0].concat([m])].concat(x.slice(1))),console.log(v.length)),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},v.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(h?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,x))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let d=t.column,{$parent:r,fixedType:s}=this,a=l.visibleColumn,{tableBody:i,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:o,clientX:g}=e,x=t.cell=o.parentNode,v=l.computeResizableOpts,C=0,b=i.$el;var l=(0,_dom.getOffsetPos)(o,p),n=o.clientWidth,y=Math.floor(n/2);let _=(0,_util.getColReMinWidth)(t)-y,w=l.left-x.clientWidth+n+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,M="left"===s,H="right"===s,D=0;if(M||H){var S=M?"nextElementSibling":"previousElementSibling";let e=x[S];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(D+=e.offsetWidth),e=e[S];H&&c&&($=c.offsetLeft+D)}function R(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=s?0:b.scrollLeft,M?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-D-_):H?(w=(u?u.clientWidth:0)+D+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,a=f.getBoundingClientRect(),i=h.clientWidth,o=m.clientWidth,n=m.clientHeight;let e=-o;t<o+i?e=o+i-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-n,Math.max(0,l.clientY-a.y-n/2))+"px",m.textContent=d.renderWidth+(H?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=R,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=d.renderWidth+(H?$-C:C-$);d.resizeWidth=l,"fixed"===v.dragMode&&a.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},R(e),r.closeMenu()}}};