vxe-table 3.25.0-beta.2 → 3.25.0-beta.4

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 (66) 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 +2 -2
  6. package/es/table/module/filter/mixin.js +5 -7
  7. package/es/table/module/filter/panel.js +47 -48
  8. package/es/table/src/methods.js +13 -7
  9. package/es/table/src/table.js +52 -27
  10. package/es/table/src/util.js +1 -2
  11. package/es/table/style.css +31 -12
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +2 -2
  14. package/es/ui/src/dom.js +11 -8
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +31 -12
  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 +126 -149
  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 +2 -2
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/module/filter/mixin.js +6 -7
  27. package/lib/table/module/filter/mixin.min.js +1 -1
  28. package/lib/table/module/filter/panel.js +41 -37
  29. package/lib/table/module/filter/panel.min.js +1 -1
  30. package/lib/table/src/methods.js +9 -9
  31. package/lib/table/src/methods.min.js +1 -1
  32. package/lib/table/src/table.js +56 -29
  33. package/lib/table/src/table.min.js +1 -1
  34. package/lib/table/src/util.js +1 -2
  35. package/lib/table/src/util.min.js +1 -1
  36. package/lib/table/style/style.css +31 -12
  37. package/lib/table/style/style.min.css +1 -1
  38. package/lib/ui/index.js +2 -2
  39. package/lib/ui/index.min.js +1 -1
  40. package/lib/ui/src/dom.js +11 -7
  41. package/lib/ui/src/dom.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 +31 -12
  45. package/lib/vxe-table/style/style.min.css +1 -1
  46. package/package.json +2 -2
  47. package/packages/grid/src/grid.ts +2 -1
  48. package/packages/table/module/custom/panel.ts +2 -2
  49. package/packages/table/module/filter/mixin.ts +5 -7
  50. package/packages/table/module/filter/panel.ts +50 -48
  51. package/packages/table/src/methods.ts +15 -7
  52. package/packages/table/src/table.ts +55 -27
  53. package/packages/table/src/util.ts +1 -2
  54. package/packages/ui/index.ts +1 -1
  55. package/packages/ui/src/dom.ts +12 -8
  56. package/styles/components/table-module/filter.scss +25 -14
  57. package/es/table/src/scrollbar.js +0 -54
  58. package/lib/table/src/scrollbar.js +0 -63
  59. package/lib/table/src/scrollbar.min.js +0 -1
  60. package/packages/table/src/scrollbar.ts +0 -57
  61. /package/es/{iconfont.1792035018941.ttf → iconfont.1792139868734.ttf} +0 -0
  62. /package/es/{iconfont.1792035018941.woff → iconfont.1792139868734.woff} +0 -0
  63. /package/es/{iconfont.1792035018941.woff2 → iconfont.1792139868734.woff2} +0 -0
  64. /package/lib/{iconfont.1792035018941.ttf → iconfont.1792139868734.ttf} +0 -0
  65. /package/lib/{iconfont.1792035018941.woff → iconfont.1792139868734.woff} +0 -0
  66. /package/lib/{iconfont.1792035018941.woff2 → iconfont.1792139868734.woff2} +0 -0
@@ -489,8 +489,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
489
489
  } = customPanelInternalData;
490
490
  const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
491
491
  if (prevDragGroupField || prevDragAggFnColid) {
492
- if ($xeTable.handlePivotTableAggregatePanelDragendEvent) {
493
- $xeTable.handlePivotTableAggregatePanelDragendEvent(evnt);
492
+ if ($xeTable.handlePivotTableAggPanelDragendEvent) {
493
+ $xeTable.handlePivotTableAggPanelDragendEvent(evnt);
494
494
  }
495
495
  } else if (prevDragCol && dragCol) {
496
496
  // 判断是否有拖动
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function showDropTip(e,t,o,l,s){var a,n,i,r=e.internalData,c=e.$refs.refBodyWrapperElem;c&&(i=e.$refs.refCustomBodyElem)&&(r=r.prevDragToChild,a=c.getBoundingClientRect(),i=i.getBoundingClientRect(),n=e.$refs.refDragLineElem,o?n&&(l?(o=o.getBoundingClientRect(),n.style.display="block",n.style.left=Math.max(0,i.x-a.x)+"px",n.style.top=Math.max(1,o.y+c.scrollTop-a.y)+"px",n.style.height=o.height+"px",n.style.width=o.width+"px",n.setAttribute("drag-pos",s),n.setAttribute("drag-to-child",r?"y":"n")):n.style.display=""):n&&(n.style.display="node"),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(c.clientHeight+c.scrollTop-i.clientHeight,t.clientY+c.scrollTop-a.y)+"px",i.style.left=Math.min(c.clientWidth+c.scrollLeft-i.clientWidth,t.clientX+c.scrollLeft-a.x)+"px",i.setAttribute("drag-status",l?r?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""},internalData:{}}},computed:Object.assign({},{}),created(){let t=this,o=_ui.VxeUI.getComponent("VxeModal"),l=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),n=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;o||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),l||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),s||errLog("vxe.error.reqComp",["vxe-button"]),a||errLog("vxe.error.reqComp",["vxe-number-input"]),n||errLog("vxe.error.reqComp",["vxe-radio-group"])})},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,o=this.customStore;o.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let o=this.customStore;o.activeWrapper=!1,setTimeout(()=>{o.activeBtn||o.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),t.dispatchEvent("custom-confirm",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e),t.dispatchEvent("custom-cancel",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e),t.dispatchEvent("custom-reset",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var o=this.$xeTable,l=o;let s=!e.renderVisible;o.computeCustomOpts.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=s,e.renderVisible=s,e.halfVisible=!1}),l.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=s,e.halfVisible=!1}),this.handleOptionCheck(e),o.checkCustomStatus(),o.dispatchEvent("custom-visible-change",{column:e,checked:s},t)},changeColumnWidth(e){var t=this.$xeTable,o=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,o.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,o){var l=this.$xeTable,s=l,a=l.computeIsMaxFixedColumn;let n=null;l.computeCustomOpts.immediate?(e.renderFixed===t?(n="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(n=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:fixed")):e.renderFixed===t?(n="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(n=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==n&&l.dispatchEvent("custom-fixed-change",{column:e,fixed:n},o)},changeAlignOption(e,t,o,l,s,a){var n=this.$xeTable,i=n;n.computeCustomOpts.immediate?(e[o]=t,e[l]=t,i.isCustomStatus=!0,n.handleCustom(),n.saveCustomStore("update:"+o)):e[l]=t,n.dispatchEvent(s,{column:e,[o]:t},a)},allOptionEvent(e){var t=this.$xeTable,o=t.customStore,o=!o.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:o},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,o=t.dragCol,l=e.computeColumnDragOpts.tooltipMethod;let s="";s=l?""+(l({$table:e,column:o})||""):getI18n("vxe.custom.cstmDragTarget",[o&&"html"!==o.type?o.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,o=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,l=e.getAttribute("colid"),t=t.getColumnById(l);e.draggable=!0,o.dragCol=t,o.dragGroupField=null,o.dragAggFnCol=null,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,t.dragCol=null,t.dragGroupField=null,(t.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.$xeTable,o=this.internalData,l=o.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),l&&clearTimeout(l),t.isCustomDragStatus=!0,o.prevDragGroupField=null,o.prevDragAggFnColid=null},sortDragendEvent(u){let d=this,p=d.$xeTable;var e=p;let m=p;var t=p,o=d.reactData,l=d.internalData;let g=e.mouseConfig,v=m.customColumnList,x=t.collectColumn;e=p.computeCustomOpts;let h=p.computeMouseOpts,b=e.immediate;t=u.currentTarget;let{isCrossDrag:C,isPeerDrag:E,isSelfToChildDrag:T,isToChildDrag:f,dragEndMethod:s}=p.computeColumnDragOpts;e=o.dragCol;let{prevDragCol:a,prevDragGroupField:n,prevDragAggFnColid:i,prevDragPos:I,prevDragToChild:_}=l,D="bottom"===I?1:0;if(n||i)p.handlePivotTableAggregatePanelDragendEvent&&p.handlePivotTableAggregatePanelDragendEvent(u);else if(a&&e&&a!==e){let r=e,c=a;Promise.resolve(!s||s({oldColumn:r,newColumn:c,dragColumn:r,dragPos:I,dragToChild:!!_,offsetIndex:D})).then(s=>{if(s){let e=-1,t=-1,o={},l=(_xeUtils.default.eachTree([r],e=>{o[e.id]=e}),!1);if(b){if(r.parentId&&c.parentId)if(E&&!C){if(r.parentId!==c.parentId)return}else{if(!C)return;if(o[c.id]&&(l=!0,!C||!T))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!C)return}else if(c.parentId){if(!C)return;if(o[c.id]&&(l=!0,!C||!T))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,n,i,s=_xeUtils.default.findTree(x,e=>e.id===r.id),s=(l&&C&&T?s&&({items:a,index:i}=s,(n=r.children||[]).forEach(e=>{e.parentId=r.parentId}),a.splice(i,1,...n),r.children=[]):s&&({items:a,index:i,parent:n}=s,a.splice(i,1),n||(e=i)),_xeUtils.default.findTree(x,e=>e.id===c.id));s&&({items:a,index:n,parent:i}=s,C&&f&&_?(r.parentId=c.id,c.children=(c.children||[]).concat([r])):(r.parentId=c.parentId,a.splice(n+D,0,r)),i||(t=n)),_xeUtils.default.eachTree(x,(e,t,o,l,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(v,e=>e.id===r.id),v.splice(e,1),t=_xeUtils.default.findIndexOf(v,e=>e.id===c.id),v.splice(t+D,0,r);(0,_utils.hasEnableConf)(g,h)&&(p.clearSelected&&p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea());s={oldColumn:r,newColumn:c,dragColumn:r,dragPos:I,offsetIndex:D,_index:{newIndex:t,oldIndex:e}};p.dispatchEvent("custom-sort-change",s,u),p.dispatchEvent("column-dragend",s,u),b&&(m.customColumnList=x.slice(0),p.handleColDragSwapColumn()),d.clearDragAnimateStatus()}}).catch(()=>{})}hideDropTip(d),o.dragCol=null,o.dragGroupField=null,o.dragAggFnCol=null,l.prevDragGroupField=null,l.prevDragAggFnColid=null,t.draggable=!1,t.removeAttribute("drag-pos"),(0,_dom.removeClass)(t,"active--drag-target"),(0,_dom.removeClass)(t,"active--drag-origin")},sortDragoverEvent(e){var t=this,o=t.$xeTable,l=t.internalData,s=t.reactData.dragCol,{showSortDragButton:a,allowSort:n,immediate:i}=o.computeCustomOpts,{isCrossDrag:r,isPeerDrag:c,isToChildDrag:u}=o.computeColumnDragOpts,d=e.currentTarget,p=(0,_dom.hasControlKey)(e),m=d.getAttribute("colid"),o=o.getColumnById(m);l.prevDragGroupField=null,l.prevDragAggFnColid=null,o&&(r||c||1===o.level)&&(e.preventDefault(),m=e.clientY-d.getBoundingClientRect().y<d.clientHeight/2?"top":"bottom",!s||!a||!n||s&&s.id===o.id||!r&&(c?s.parentId!==o.parentId:1<o.level)||!i&&1<o.level||!r&&(c?s.parentId!==o.parentId:1<s.level)||!i&&1<s.level?showDropTip(t,e,d,!1,m):(l.prevDragToChild=!!(r&&u&&p&&i),l.prevDragCol=o,showDropTip(t,e,d,!0,l.prevDragPos=m)))},clearDragAnimateStatus(){var e=this.$xeTable;let t=this.internalData,o=e;t.customDragTime=setTimeout(()=>{o.isCustomDragStatus=!1,t.customDragTime=void 0},350)},sortMoveUpEvent(e,t){let l=this;var s=l.$xeTable,a=s.customColumnList,a=_xeUtils.default.findTree(a,e=>e===t);if(a){let{item:e,items:t,index:o}=a;0<o&&(s.isCustomDragStatus=!0,l.$nextTick(()=>{t.splice(o,1),t.splice(o-1,0,e),l.clearDragAnimateStatus()}))}},sortMoveDnEvent(e,t){let l=this;var s=l.$xeTable,a=s.customColumnList,a=_xeUtils.default.findTree(a,e=>e===t);if(a){let{item:e,items:t,index:o}=a;o<t.length-1&&(s.isCustomDragStatus=!0,l.$nextTick(()=>{t.splice(o,1),t.splice(o+1,0,e),l.clearDragAnimateStatus()}))}},sortMoveTopEvent(e,t){let s=this;var a=s.$xeTable;let n=a.customColumnList;var i=_xeUtils.default.findTree(n,e=>e===t);if(i){let{item:e,items:t,index:o,parent:l}=i;(l||0<o)&&(a.isCustomDragStatus=!0,s.$nextTick(()=>{e.parentId=null,t.splice(o,1),n.unshift(e),s.clearDragAnimateStatus()}))}},sortMoveBottomEvent(e,t){let s=this;var a=s.$xeTable;let n=a.customColumnList;var i=_xeUtils.default.findTree(n,e=>e===t);if(i){let{item:e,items:t,index:o,parent:l}=i;(l||o<t.length-1)&&(a.isCustomDragStatus=!0,s.$nextTick(()=>{e.parentId=null,t.splice(o,1),n.push(e),s.clearDragAnimateStatus()}))}},renderDragTip(e){var t=this.$xeTable,o=this.reactData.dragTipText;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-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(o||""))])])])},renderSimplePanel(d){let p=_ui.VxeUI.getComponent("VxeButton"),m=this;var e=m;let g=m.$xeTable;var t=g,o=g,l=g.$xeGrid,s=g.$xeGantt,e=e.customStore,{treeConfig:t,rowGroupConfig:a,aggregateConfig:n}=t,{isCustomStatus:o,customColumnList:i,isCustomDragStatus:r}=o,c=g.computeCustomOpts,u=g.computeColumnDragOpts,v=e.defPopupStyle;let{immediate:x,checkMethod:h,visibleMethod:b,allowVisible:C,allowSort:E,allowFixed:T,allowGroup:f,allowValues:I,trigger:V,placement:U,showSortDragButton:M,showSortMoveButton:_,showSortPutButton:D}=c,y=g.computeIsMaxFixedColumn;var A=g.computeSize;let{isCrossDrag:R,isPeerDrag:P}=u;var u=c.slots||{},O=u.header,k=u.top,S=u.bottom,w=u.default,u=u.footer;let B=[];var F={},L=e.isAll,$=e.isIndeterminate,l=("hover"===V&&(F.mouseenter=m.handleWrapperMouseenterEvent,F.mouseleave=m.handleWrapperMouseleaveEvent),{$table:g,$grid:l,$gantt:s,columns:i,isAllChecked:L,isAllIndeterminate:$,isCustomStatus:o});return _xeUtils.default.eachTree(i,(o,e,l,t,s)=>{if(!b||b({$table:g,column:o})){var a=o.renderVisible,n=o.halfVisible,i=o.children&&o.children.length,r=(0,_utils.formatText)(o.getTitle(),1);let t=!!h&&!h({$table:g,column:o});var c=!a,u=!(!R&&!P)&&x||1===o.level;B.push(d("li",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom--option","level--"+o.level,{"is--hidden":t||c,"is--group":i}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[C?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":n,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||m.changeCheckboxOption(o,e)}}},[d("span",{class:["vxe-checkbox--icon",n?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(g),d("div",{class:"vxe-table-custom--name-option"},[(E&&M||f||I)&&(u||(f||I)&&!i)?d("div",{class:"vxe-table-custom--sort-option"},[d("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":c}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:c?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(g),"html"===o.type?d("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:r}}):d("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:r}},r)]),u&&(_||D)?d("div",{class:"vxe-table-custom--move-btn-option"},p?[_?d(p,{props:{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0},on:{click(e){m.sortMoveUpEvent(e,o)}}}):renderEmptyElement(g),_?d(p,{props:{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=l.length-1},on:{click(e){m.sortMoveDnEvent(e,o)}}}):renderEmptyElement(g),D&&!s?d(p,{props:{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0},on:{click(e){m.sortMoveTopEvent(e,o)}}}):renderEmptyElement(g),D&&!s?d(p,{props:{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=l.length-1},on:{click(e){m.sortMoveBottomEvent(e,o)}}}):renderEmptyElement(g)]:[]):renderEmptyElement(g),!s&&T?d("div",{class:"vxe-table-custom--fixed-option"},p?[d(p,{props:{mode:"text",icon:"left"===o.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===o.renderFixed?"primary":"",disabled:c||y&&!o.renderFixed,title:getI18n("left"===o.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{m.changeFixedOption(o,"left",e)}}}),d(p,{props:{mode:"text",icon:"right"===o.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===o.renderFixed?"primary":"",disabled:c||y&&!o.renderFixed,title:getI18n("right"===o.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{m.changeFixedOption(o,"right",e)}}})]:[]):renderEmptyElement(g)]))}}),d("div",{ref:"refElem",key:"simple",class:["vxe-table-custom-wrapper","placement--"+U,{["size--"+A]:A,"is--active":e.visible}],style:v},e.visible?[d("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-simple--body-wrapper"},[!t&&(n||a)&&g.getPivotTableAggregateSimplePanel?d(g.getPivotTableAggregateSimplePanel(),{props:{customStore:e}}):renderEmptyElement(g),d("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[d("div",{class:"vxe-table-custom--header"},O?g.callSlot(O,l,d):[d("ul",{class:"vxe-table-custom--panel-list"},[d("li",{class:"vxe-table-custom--option"},[C?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":L,"is--indeterminate":$}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",$?getIcon().TABLE_CHECKBOX_INDETERMINATE:L?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",{class:"vxe-table-custom--body"},[k?d("div",{class:"vxe-table-custom--panel-top"},g.callSlot(k,l,d)):renderEmptyElement(g),w?d("div",{class:"vxe-table-custom--panel-body"},g.callSlot(w,l,d)):d("transition-group",{class:"vxe-table-custom--panel-list",props:{name:r?"vxe-table-custom--list":"",tag:"ul"},on:F},B),S?d("div",{class:"vxe-table-custom--panel-bottom"},g.callSlot(S,l,d)):renderEmptyElement(g)]),c.showFooter?d("div",{class:"vxe-table-custom--footer"},u?g.callSlot(u,l,d):[d("div",{class:"vxe-table-custom--footer-buttons"},[d(p,{props:{mode:"text",content:c.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!o},on:{click:m.resetCustomEvent}}),x?d(p,{props:{mode:"text",content:c.closeButtonText||getI18n("vxe.table.customClose")},on:{click:m.cancelCloseEvent}}):d(p,{props:{mode:"text",content:c.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:m.cancelCustomEvent}}),x?renderEmptyElement(g):d(p,{props:{mode:"text",status:"primary",content:c.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:m.confirmCustomEvent}})])]):null]),m.renderDragTip(d)])]:[])},renderPopupBodys(v){let x=_ui.VxeUI.getComponent("VxeButton"),h=_ui.VxeUI.getComponent("VxeNumberInput"),b=_ui.VxeUI.getComponent("VxeRadioGroup"),C=this,E=C.$xeTable;var e=E,t=E;let T=e.resizable;var e=t.customColumnList,t=E.computeCustomOpts,o=E.computeColumnDragOpts;let{immediate:f,showSortDragButton:I,showSortMoveButton:_,showSortPutButton:D,allowVisible:y,allowSort:A,allowFixed:O,allowAlign:k,allowHeaderAlign:S,allowFooterAlign:w,allowResizable:B,allowGroup:F,allowValues:L,checkMethod:$,visibleMethod:V}=t,U=E.computeColumnOpts,{minWidth:M,maxWidth:R}=E.computeResizableOpts,P=E.computeIsMaxFixedColumn,{isCrossDrag:H,isPeerDrag:G}=o,W=[];return _xeUtils.default.eachTree(e,(l,s,a,e,n)=>{if(!V||V({$table:E,column:l})){let e=0,t=0;B&&(i={$table:E,column:l,columnIndex:E.getColumnIndex(l),$columnIndex:E.getVMColumnIndex(l),_columnIndex:E.getVTColumnIndex(l),rowIndex:-1,_rowIndex:-1,$rowIndex:-1},M&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(M)?M(i):M)),R)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(R)?R(i):R));var i=l.renderVisible,r=l.halfVisible,c=(0,_utils.formatText)(l.getTitle(),1),u=l.children&&l.children.length;let o=!!$&&!$({$table:E,column:l});var d=!i,p=!(!H&&!G)&&f||1===l.level,m=[{icon:getIcon().TABLE_CUSTOM_ALIGN_LEFT,value:"left",title:getI18n("vxe.custom.setting.anLeftTitle"),disabled:d},{icon:getIcon().TABLE_CUSTOM_ALIGN_CENTER,value:"center",title:getI18n("vxe.custom.setting.anCenterTitle"),disabled:d},{icon:getIcon().TABLE_CUSTOM_ALIGN_RIGHT,value:"right",title:getI18n("vxe.custom.setting.anRightTitle"),disabled:d}],g=[];y&&g.push(v("td",{key:"av",class:"vxe-table-custom-popup--column-td col--visible"},[v("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":r,"is--disabled":o}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{o||C.changeCheckboxOption(l,e)}}},[v("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])])),g.push(v("td",{key:"at",class:"vxe-table-custom-popup--column-td col--name"},[v("div",{class:"vxe-table-custom-popup--name"},[A&&I||F||L?p||(F||L)&&!u?v("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":d}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:d?{}:{mousedown:C.sortMousedownEvent,mouseup:C.sortMouseupEvent}},[v("i",{class:getIcon().TABLE_CUSTOM_SORT})]):v("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(E),"html"===l.type?v("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:c}}):v("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:c}},c),p&&(_||D)?v("div",{class:"vxe-table-custom-popup--move-btn"},x?[_?v(x,{props:{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:s<=0},on:{click(e){C.sortMoveUpEvent(e,l)}}}):renderEmptyElement(E),_?v(x,{props:{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:s>=a.length-1},on:{click(e){C.sortMoveDnEvent(e,l)}}}):renderEmptyElement(E),D&&!n?v(x,{props:{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:s<=0},on:{click(e){C.sortMoveTopEvent(e,l)}}}):renderEmptyElement(E),D&&!n?v(x,{props:{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:s>=a.length-1},on:{click(e){C.sortMoveBottomEvent(e,l)}}}):renderEmptyElement(E)]:[]):renderEmptyElement(E)])])),B&&g.push(v("td",{key:"aw",class:"vxe-table-custom-popup--column-td col--resizable"},[l.children&&l.children.length||!(_xeUtils.default.isBoolean(l.resizable)?l.resizable:U.resizable||T)?v("span","-"):h?v(h,{props:{type:"integer",immediate:!1,disabled:d,value:l.renderResizeWidth,min:e||0,max:t||9999},on:{modelValue(e){e=Math.max(0,Number(e));l.renderResizeWidth=e},change(){C.changeColumnWidth(l)}}}):renderEmptyElement(E)])),O&&g.push(v("td",{key:"af",class:"vxe-table-custom-popup--column-td col--fixed"},n?[v("span","-")]:b?[v(x,{props:{icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:d||P&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{C.changeFixedOption(l,"left",e)}}}),v(x,{props:{icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:d||P&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{C.changeFixedOption(l,"right",e)}}})]:[])),k&&g.push(v("td",{key:"aa",class:"vxe-table-custom-popup--column-td col--align"},b?[v(b,{props:{value:l.renderAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"align","renderAlign","custom-align-change",t)}}})]:[])),S&&g.push(v("td",{key:"aha",class:"vxe-table-custom-popup--column-td col--header-align"},u?[v("span","-")]:b?[v(b,{props:{value:l.renderHeaderAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"headerAlign","renderHeaderAlign","custom-header-align-change",t)}}})]:[])),w&&g.push(v("td",{key:"afa",class:"vxe-table-custom-popup--column-td col--footer-align"},u?[v("span","-")]:b?[v(b,{props:{value:l.renderFooterAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"footerAlign","renderFooterAlign","custom-footer-align-change",t)}}})]:[])),W.push(v("tr",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom-popup--row level--"+l.level,{"is--group":u}],on:{dragstart:C.sortDragstartEvent,dragend:C.sortDragendEvent,dragover:C.sortDragoverEvent}},g))}}),W},renderPopupPanel(e){var t=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),s=this;var a=s;let n=s.$xeTable;var i=n,r=n,c=n.$xeGrid,u=n.$xeGantt;let d=a.customStore,{treeConfig:p,rowGroupConfig:m,aggregateConfig:g}=i,{isCustomStatus:v,customColumnList:x}=r,h=n.computeSize,b=n.computeCustomOpts;a=n.computeAggregateOpts;let C=d.panePopupStyle,E=a.placement,{mode:T,immediate:f,modalOptions:I,drawerOptions:_,allowVisible:V,allowFixed:U,allowAlign:M,allowHeaderAlign:R,allowFooterAlign:P,allowResizable:H}=b;var i=n.computeColumnOpts.maxFixedSize,r=Object.assign({},I),a=Object.assign({},_),D=b.slots||{};let y=D.header,A=D.top,O=D.bottom,k=D.default,S=D.footer;var D=d.isAll,w=d.isIndeterminate;let B="right"===E||"bottom"===E,F={$table:n,$grid:c,$gantt:u,columns:x,isAllChecked:D,isAllIndeterminate:w,isCustomStatus:v},L=[],$=[];V&&(L.push(e("col",{key:"av",class:"vxe-table-custom-popup--column-col col--checkbox"})),$.push(e("th",{key:"av",class:"vxe-table-custom-popup--column-th col--checkbox"},[e("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":D,"is--indeterminate":w}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:s.allOptionEvent}},[e("span",{class:["vxe-checkbox--icon",w?getIcon().TABLE_CHECKBOX_INDETERMINATE:D?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]))),L.push(e("col",{key:"at",class:"vxe-table-custom-popup--column-col col--title"})),$.push(e("th",{key:"at",class:"vxe-table-custom-popup--column-th col--title"},getI18n("vxe.custom.setting.colTitle"))),H&&(L.push(e("col",{key:"aw",class:"vxe-table-custom-popup--column-col col--width"})),$.push(e("th",{key:"aw",class:"vxe-table-custom-popup--column-th col--width"},getI18n("vxe.custom.setting.colResizable")))),U&&(L.push(e("col",{key:"af",class:"vxe-table-custom-popup--column-col col--fixed"})),$.push(e("th",{key:"af",class:"vxe-table-custom-popup--column-th col--fixed"},getI18n("vxe.custom.setting."+(i?"colFixedMax":"colFixed"),[i])))),M&&(L.push(e("col",{key:"aa",class:"vxe-table-custom-popup--column-col col--align"})),$.push(e("th",{key:"aa",class:"vxe-table-custom-popup--column-th col--align"},getI18n("vxe.custom.setting.colAlign")))),R&&(L.push(e("col",{key:"aha",class:"vxe-table-custom-popup--column-col col--header-align"})),$.push(e("th",{key:"aha",class:"vxe-table-custom-popup--column-th col--header-align"},getI18n("vxe.custom.setting.colHeadAlign")))),P&&(L.push(e("col",{key:"afa",class:"vxe-table-custom-popup--column-col col--footer-align"})),$.push(e("th",{key:"afa",class:"vxe-table-custom-popup--column-th col--footer-align"},getI18n("vxe.custom.setting.colFootAlign"))));c={default:()=>e("div",{ref:"refBodyWrapperElem",class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+E,{["size--"+h]:h}],style:C},k?n.callSlot(k,F,e):[B||p||!g&&!m||!n.getPivotTableAggregatePopupPanel?renderEmptyElement(n):e(n.getPivotTableAggregatePopupPanel(),{props:{customStore:d}}),e("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[A?e("div",{class:"vxe-table-custom-popup--table-top"},n.callSlot(A,F,e)):renderEmptyElement(n),e("div",{class:"vxe-table-custom-popup--table-wrapper"},[e("table",{},[e("colgroup",{},L),e("thead",{},[e("tr",{},$)]),e("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},s.renderPopupBodys(e))])]),O?e("div",{class:"vxe-table-custom-popup--table-bottom"},n.callSlot(O,F,e)):renderEmptyElement(n),s.renderDragTip(e)]),B&&!p&&(g||m)&&n.getPivotTableAggregatePopupPanel?e(n.getPivotTableAggregatePopupPanel(),{props:{customStore:d}}):renderEmptyElement(n)]),footer:()=>S?n.callSlot(S,F,e):e("div",{class:"vxe-table-custom-popup--footer"},[e(l,{props:{content:b.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!v},on:{click:s.resetCustomEvent}}),f?e(l,{props:{status:"primary",content:b.resetButtonText||getI18n("vxe.table.customClose")},on:{click:s.cancelCloseEvent}}):e(l,{props:{content:b.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:s.cancelCustomEvent}}),f?renderEmptyElement(n):e(l,{props:{status:"primary",content:b.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:s.confirmCustomEvent}})])};return y&&(c.header=()=>n.callSlot(y,F,e)),"drawer"===T?o?e(o,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",a.className||""].join(" "),value:d.visible,title:a.title||getI18n("vxe.custom.cstmTitle"),width:a.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:a.position,resize:!!a.resize,escClosable:!!a.escClosable,maskClosable:!!a.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){d.visible=e}},scopedSlots:c}):renderEmptyElement(s):t?e(t,{key:"modal",props:{className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",r.className||""].join(" "),value:d.visible,title:r.title||getI18n("vxe.custom.cstmTitle"),width:r.width||Math.min(1e3,document.documentElement.clientWidth),minWidth:r.minWidth||800,height:r.height||Math.min(680,document.documentElement.clientHeight),minHeight:r.minHeight||400,showZoom:r.showZoom,showMaximize:r.showMaximize,showMinimize:r.showMinimize,mask:r.mask,lockView:r.lockView,resize:r.resize,transfer:r.transfer,escClosable:!!r.escClosable,maskClosable:!!r.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){d.visible=e}},scopedSlots:c}):renderEmptyElement(s)},renderVN(e){var t=this.$xeTable.computeCustomOpts;return["modal","drawer","popup"].includes(""+t.mode)?this.renderPopupPanel(e):this.renderSimplePanel(e)}},render(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function showDropTip(e,t,o,l,s){var a,n,i,r=e.internalData,c=e.$refs.refBodyWrapperElem;c&&(i=e.$refs.refCustomBodyElem)&&(r=r.prevDragToChild,a=c.getBoundingClientRect(),i=i.getBoundingClientRect(),n=e.$refs.refDragLineElem,o?n&&(l?(o=o.getBoundingClientRect(),n.style.display="block",n.style.left=Math.max(0,i.x-a.x)+"px",n.style.top=Math.max(1,o.y+c.scrollTop-a.y)+"px",n.style.height=o.height+"px",n.style.width=o.width+"px",n.setAttribute("drag-pos",s),n.setAttribute("drag-to-child",r?"y":"n")):n.style.display=""):n&&(n.style.display="node"),i=e.$refs.refDragTipElem)&&(i.style.display="block",i.style.top=Math.min(c.clientHeight+c.scrollTop-i.clientHeight,t.clientY+c.scrollTop-a.y)+"px",i.style.left=Math.min(c.clientWidth+c.scrollLeft-i.clientWidth,t.clientX+c.scrollLeft-a.x)+"px",i.setAttribute("drag-status",l?r?"sub":"normal":"disabled"))}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragLineElem;t&&(t.style.display=""),e&&(e.style.display="")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},provide(){return{$xeTableCustomPanel:this}},inject:{$xeTable:{default:null}},data(){return{reactData:{dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""},internalData:{}}},computed:Object.assign({},{}),created(){let t=this,o=_ui.VxeUI.getComponent("VxeModal"),l=_ui.VxeUI.getComponent("VxeDrawer"),s=_ui.VxeUI.getComponent("VxeButton"),a=_ui.VxeUI.getComponent("VxeNumberInput"),n=_ui.VxeUI.getComponent("VxeRadioGroup");t.$nextTick(()=>{var e=t.$xeTable.customOpts,e=e.mode;o||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),l||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),s||errLog("vxe.error.reqComp",["vxe-button"]),a||errLog("vxe.error.reqComp",["vxe-number-input"]),n||errLog("vxe.error.reqComp",["vxe-radio-group"])})},methods:{handleWrapperMouseenterEvent(e){var t=this.$xeTable,o=this.customStore;o.activeWrapper=!0,t.customOpenEvent(e)},handleWrapperMouseleaveEvent(e){let t=this.$xeTable;let o=this.customStore;o.activeWrapper=!1,setTimeout(()=>{o.activeBtn||o.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),t.dispatchEvent("custom-confirm",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},cancelCloseEvent({$event:e}){var t=this.$xeTable;t.closeCustom(),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},cancelCustomEvent({$event:e}){var t=this.$xeTable;t.cancelCustom(),t.closeCustom(),t.emitCustomEvent("cancel",e),t.dispatchEvent("custom-cancel",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},handleResetCustomEvent(e){var t=this.$xeTable;t.resetCustom(!0),t.closeCustom(),t.emitCustomEvent("reset",e),t.dispatchEvent("custom-reset",{},e),t.emitCustomEvent("close",e),t.dispatchEvent("custom-close",{},e)},resetCustomEvent(t){_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&this.handleResetCustomEvent(t)}):this.handleResetCustomEvent(t)},handleOptionCheck(t){var e=this.$xeTable.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),this.handleOptionCheck(e))},changeCheckboxOption(e,t){var o=this.$xeTable,l=o;let s=!e.renderVisible;o.computeCustomOpts.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=s,e.renderVisible=s,e.halfVisible=!1}),l.isCustomStatus=!0,o.handleCustom(),o.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=s,e.halfVisible=!1}),this.handleOptionCheck(e),o.checkCustomStatus(),o.dispatchEvent("custom-visible-change",{column:e,checked:s},t)},changeColumnWidth(e){var t=this.$xeTable,o=t;t.computeCustomOpts.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,o.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:width"))},changeFixedOption(e,t,o){var l=this.$xeTable,s=l,a=l.computeIsMaxFixedColumn;let n=null;l.computeCustomOpts.immediate?(e.renderFixed===t?(n="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):a&&!e.renderFixed||(n=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),s.isCustomStatus=!0,l.handleCustom(),l.saveCustomStore("update:fixed")):e.renderFixed===t?(n="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):a&&!e.renderFixed||(n=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==n&&l.dispatchEvent("custom-fixed-change",{column:e,fixed:n},o)},changeAlignOption(e,t,o,l,s,a){var n=this.$xeTable,i=n;n.computeCustomOpts.immediate?(e[o]=t,e[l]=t,i.isCustomStatus=!0,n.handleCustom(),n.saveCustomStore("update:"+o)):e[l]=t,n.dispatchEvent(s,{column:e,[o]:t},a)},allOptionEvent(e){var t=this.$xeTable,o=t.customStore,o=!o.isAll;t.toggleCustomAllCheckbox(),t.dispatchEvent("custom-visible-all",{checked:o},e)},updateColDropTipContent(){var e=this.$xeTable,t=this.reactData,o=t.dragCol,l=e.computeColumnDragOpts.tooltipMethod;let s="";s=l?""+(l({$table:e,column:o})||""):getI18n("vxe.custom.cstmDragTarget",[o&&"html"!==o.type?o.getTitle():""]),t.dragTipText=s},sortMousedownEvent(e){var t=this.$xeTable,o=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement,l=e.getAttribute("colid"),t=t.getColumnById(l);e.draggable=!0,o.dragCol=t,o.dragGroupField=null,o.dragAggFnCol=null,this.updateColDropTipContent(),(0,_dom.addClass)(e,"active--drag-origin")},sortMouseupEvent(e){var t=this.reactData,e=e.currentTarget.parentElement.parentElement.parentElement;hideDropTip(this),e.draggable=!1,t.dragCol=null,t.dragGroupField=null,(t.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},sortDragstartEvent(e){var t=this.$xeTable,o=this.internalData,l=o.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),l&&clearTimeout(l),t.isCustomDragStatus=!0,o.prevDragGroupField=null,o.prevDragAggFnColid=null},sortDragendEvent(u){let d=this,p=d.$xeTable;var e=p;let m=p;var t=p,o=d.reactData,l=d.internalData;let g=e.mouseConfig,v=m.customColumnList,x=t.collectColumn;e=p.computeCustomOpts;let h=p.computeMouseOpts,b=e.immediate;t=u.currentTarget;let{isCrossDrag:C,isPeerDrag:E,isSelfToChildDrag:T,isToChildDrag:f,dragEndMethod:s}=p.computeColumnDragOpts;e=o.dragCol;let{prevDragCol:a,prevDragGroupField:n,prevDragAggFnColid:i,prevDragPos:I,prevDragToChild:_}=l,D="bottom"===I?1:0;if(n||i)p.handlePivotTableAggPanelDragendEvent&&p.handlePivotTableAggPanelDragendEvent(u);else if(a&&e&&a!==e){let r=e,c=a;Promise.resolve(!s||s({oldColumn:r,newColumn:c,dragColumn:r,dragPos:I,dragToChild:!!_,offsetIndex:D})).then(s=>{if(s){let e=-1,t=-1,o={},l=(_xeUtils.default.eachTree([r],e=>{o[e.id]=e}),!1);if(b){if(r.parentId&&c.parentId)if(E&&!C){if(r.parentId!==c.parentId)return}else{if(!C)return;if(o[c.id]&&(l=!0,!C||!T))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!C)return}else if(c.parentId){if(!C)return;if(o[c.id]&&(l=!0,!C||!T))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var a,n,i,s=_xeUtils.default.findTree(x,e=>e.id===r.id),s=(l&&C&&T?s&&({items:a,index:i}=s,(n=r.children||[]).forEach(e=>{e.parentId=r.parentId}),a.splice(i,1,...n),r.children=[]):s&&({items:a,index:i,parent:n}=s,a.splice(i,1),n||(e=i)),_xeUtils.default.findTree(x,e=>e.id===c.id));s&&({items:a,index:n,parent:i}=s,C&&f&&_?(r.parentId=c.id,c.children=(c.children||[]).concat([r])):(r.parentId=c.parentId,a.splice(n+D,0,r)),i||(t=n)),_xeUtils.default.eachTree(x,(e,t,o,l,s)=>{s||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(v,e=>e.id===r.id),v.splice(e,1),t=_xeUtils.default.findIndexOf(v,e=>e.id===c.id),v.splice(t+D,0,r);(0,_utils.hasEnableConf)(g,h)&&(p.clearSelected&&p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea());s={oldColumn:r,newColumn:c,dragColumn:r,dragPos:I,offsetIndex:D,_index:{newIndex:t,oldIndex:e}};p.dispatchEvent("custom-sort-change",s,u),p.dispatchEvent("column-dragend",s,u),b&&(m.customColumnList=x.slice(0),p.handleColDragSwapColumn()),d.clearDragAnimateStatus()}}).catch(()=>{})}hideDropTip(d),o.dragCol=null,o.dragGroupField=null,o.dragAggFnCol=null,l.prevDragGroupField=null,l.prevDragAggFnColid=null,t.draggable=!1,t.removeAttribute("drag-pos"),(0,_dom.removeClass)(t,"active--drag-target"),(0,_dom.removeClass)(t,"active--drag-origin")},sortDragoverEvent(e){var t=this,o=t.$xeTable,l=t.internalData,s=t.reactData.dragCol,{showSortDragButton:a,allowSort:n,immediate:i}=o.computeCustomOpts,{isCrossDrag:r,isPeerDrag:c,isToChildDrag:u}=o.computeColumnDragOpts,d=e.currentTarget,p=(0,_dom.hasControlKey)(e),m=d.getAttribute("colid"),o=o.getColumnById(m);l.prevDragGroupField=null,l.prevDragAggFnColid=null,o&&(r||c||1===o.level)&&(e.preventDefault(),m=e.clientY-d.getBoundingClientRect().y<d.clientHeight/2?"top":"bottom",!s||!a||!n||s&&s.id===o.id||!r&&(c?s.parentId!==o.parentId:1<o.level)||!i&&1<o.level||!r&&(c?s.parentId!==o.parentId:1<s.level)||!i&&1<s.level?showDropTip(t,e,d,!1,m):(l.prevDragToChild=!!(r&&u&&p&&i),l.prevDragCol=o,showDropTip(t,e,d,!0,l.prevDragPos=m)))},clearDragAnimateStatus(){var e=this.$xeTable;let t=this.internalData,o=e;t.customDragTime=setTimeout(()=>{o.isCustomDragStatus=!1,t.customDragTime=void 0},350)},sortMoveUpEvent(e,t){let l=this;var s=l.$xeTable,a=s.customColumnList,a=_xeUtils.default.findTree(a,e=>e===t);if(a){let{item:e,items:t,index:o}=a;0<o&&(s.isCustomDragStatus=!0,l.$nextTick(()=>{t.splice(o,1),t.splice(o-1,0,e),l.clearDragAnimateStatus()}))}},sortMoveDnEvent(e,t){let l=this;var s=l.$xeTable,a=s.customColumnList,a=_xeUtils.default.findTree(a,e=>e===t);if(a){let{item:e,items:t,index:o}=a;o<t.length-1&&(s.isCustomDragStatus=!0,l.$nextTick(()=>{t.splice(o,1),t.splice(o+1,0,e),l.clearDragAnimateStatus()}))}},sortMoveTopEvent(e,t){let s=this;var a=s.$xeTable;let n=a.customColumnList;var i=_xeUtils.default.findTree(n,e=>e===t);if(i){let{item:e,items:t,index:o,parent:l}=i;(l||0<o)&&(a.isCustomDragStatus=!0,s.$nextTick(()=>{e.parentId=null,t.splice(o,1),n.unshift(e),s.clearDragAnimateStatus()}))}},sortMoveBottomEvent(e,t){let s=this;var a=s.$xeTable;let n=a.customColumnList;var i=_xeUtils.default.findTree(n,e=>e===t);if(i){let{item:e,items:t,index:o,parent:l}=i;(l||o<t.length-1)&&(a.isCustomDragStatus=!0,s.$nextTick(()=>{e.parentId=null,t.splice(o,1),n.push(e),s.clearDragAnimateStatus()}))}},renderDragTip(e){var t=this.$xeTable,o=this.reactData.dragTipText;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-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),e("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),e("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),e("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(o||""))])])])},renderSimplePanel(d){let p=_ui.VxeUI.getComponent("VxeButton"),m=this;var e=m;let g=m.$xeTable;var t=g,o=g,l=g.$xeGrid,s=g.$xeGantt,e=e.customStore,{treeConfig:t,rowGroupConfig:a,aggregateConfig:n}=t,{isCustomStatus:o,customColumnList:i,isCustomDragStatus:r}=o,c=g.computeCustomOpts,u=g.computeColumnDragOpts,v=e.defPopupStyle;let{immediate:x,checkMethod:h,visibleMethod:b,allowVisible:C,allowSort:E,allowFixed:T,allowGroup:f,allowValues:I,trigger:V,placement:U,showSortDragButton:M,showSortMoveButton:_,showSortPutButton:D}=c,y=g.computeIsMaxFixedColumn;var A=g.computeSize;let{isCrossDrag:R,isPeerDrag:P}=u;var u=c.slots||{},O=u.header,k=u.top,S=u.bottom,w=u.default,u=u.footer;let B=[];var F={},L=e.isAll,$=e.isIndeterminate,l=("hover"===V&&(F.mouseenter=m.handleWrapperMouseenterEvent,F.mouseleave=m.handleWrapperMouseleaveEvent),{$table:g,$grid:l,$gantt:s,columns:i,isAllChecked:L,isAllIndeterminate:$,isCustomStatus:o});return _xeUtils.default.eachTree(i,(o,e,l,t,s)=>{if(!b||b({$table:g,column:o})){var a=o.renderVisible,n=o.halfVisible,i=o.children&&o.children.length,r=(0,_utils.formatText)(o.getTitle(),1);let t=!!h&&!h({$table:g,column:o});var c=!a,u=!(!R&&!P)&&x||1===o.level;B.push(d("li",{key:o.id,attrs:{colid:o.id},class:["vxe-table-custom--option","level--"+o.level,{"is--hidden":t||c,"is--group":i}],on:{dragstart:m.sortDragstartEvent,dragend:m.sortDragendEvent,dragover:m.sortDragoverEvent}},[C?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":n,"is--disabled":t}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{t||m.changeCheckboxOption(o,e)}}},[d("span",{class:["vxe-checkbox--icon",n?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(g),d("div",{class:"vxe-table-custom--name-option"},[(E&&M||f||I)&&(u||(f||I)&&!i)?d("div",{class:"vxe-table-custom--sort-option"},[d("span",{class:["vxe-table-custom--sort-btn",{"is--disabled":c}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:c?{}:{mousedown:m.sortMousedownEvent,mouseup:m.sortMouseupEvent}},[d("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(g),"html"===o.type?d("div",{key:"1",class:"vxe-table-custom--checkbox-label",domProps:{innerHTML:r}}):d("div",{key:"0",class:"vxe-table-custom--checkbox-label",attrs:{title:r}},r)]),u&&(_||D)?d("div",{class:"vxe-table-custom--move-btn-option"},p?[_?d(p,{props:{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0},on:{click(e){m.sortMoveUpEvent(e,o)}}}):renderEmptyElement(g),_?d(p,{props:{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=l.length-1},on:{click(e){m.sortMoveDnEvent(e,o)}}}):renderEmptyElement(g),D&&!s?d(p,{props:{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0},on:{click(e){m.sortMoveTopEvent(e,o)}}}):renderEmptyElement(g),D&&!s?d(p,{props:{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=l.length-1},on:{click(e){m.sortMoveBottomEvent(e,o)}}}):renderEmptyElement(g)]:[]):renderEmptyElement(g),!s&&T?d("div",{class:"vxe-table-custom--fixed-option"},p?[d(p,{props:{mode:"text",icon:"left"===o.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===o.renderFixed?"primary":"",disabled:c||y&&!o.renderFixed,title:getI18n("left"===o.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{m.changeFixedOption(o,"left",e)}}}),d(p,{props:{mode:"text",icon:"right"===o.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===o.renderFixed?"primary":"",disabled:c||y&&!o.renderFixed,title:getI18n("right"===o.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{m.changeFixedOption(o,"right",e)}}})]:[]):renderEmptyElement(g)]))}}),d("div",{ref:"refElem",key:"simple",class:["vxe-table-custom-wrapper","placement--"+U,{["size--"+A]:A,"is--active":e.visible}],style:v},e.visible?[d("div",{ref:"refBodyWrapperElem",class:"vxe-table-custom-simple--body-wrapper"},[!t&&(n||a)&&g.getPivotTableAggregateSimplePanel?d(g.getPivotTableAggregateSimplePanel(),{props:{customStore:e}}):renderEmptyElement(g),d("div",{ref:"refCustomBodyElem",class:"vxe-table-custom--handle-wrapper"},[d("div",{class:"vxe-table-custom--header"},O?g.callSlot(O,l,d):[d("ul",{class:"vxe-table-custom--panel-list"},[d("li",{class:"vxe-table-custom--option"},[C?d("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":L,"is--indeterminate":$}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:m.allOptionEvent}},[d("span",{class:["vxe-checkbox--icon",$?getIcon().TABLE_CHECKBOX_INDETERMINATE:L?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",{class:"vxe-table-custom--body"},[k?d("div",{class:"vxe-table-custom--panel-top"},g.callSlot(k,l,d)):renderEmptyElement(g),w?d("div",{class:"vxe-table-custom--panel-body"},g.callSlot(w,l,d)):d("transition-group",{class:"vxe-table-custom--panel-list",props:{name:r?"vxe-table-custom--list":"",tag:"ul"},on:F},B),S?d("div",{class:"vxe-table-custom--panel-bottom"},g.callSlot(S,l,d)):renderEmptyElement(g)]),c.showFooter?d("div",{class:"vxe-table-custom--footer"},u?g.callSlot(u,l,d):[d("div",{class:"vxe-table-custom--footer-buttons"},[d(p,{props:{mode:"text",content:c.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!o},on:{click:m.resetCustomEvent}}),x?d(p,{props:{mode:"text",content:c.closeButtonText||getI18n("vxe.table.customClose")},on:{click:m.cancelCloseEvent}}):d(p,{props:{mode:"text",content:c.resetButtonText||getI18n("vxe.table.customCancel")},on:{click:m.cancelCustomEvent}}),x?renderEmptyElement(g):d(p,{props:{mode:"text",status:"primary",content:c.confirmButtonText||getI18n("vxe.table.customConfirm")},on:{click:m.confirmCustomEvent}})])]):null]),m.renderDragTip(d)])]:[])},renderPopupBodys(v){let x=_ui.VxeUI.getComponent("VxeButton"),h=_ui.VxeUI.getComponent("VxeNumberInput"),b=_ui.VxeUI.getComponent("VxeRadioGroup"),C=this,E=C.$xeTable;var e=E,t=E;let T=e.resizable;var e=t.customColumnList,t=E.computeCustomOpts,o=E.computeColumnDragOpts;let{immediate:f,showSortDragButton:I,showSortMoveButton:_,showSortPutButton:D,allowVisible:y,allowSort:A,allowFixed:O,allowAlign:k,allowHeaderAlign:S,allowFooterAlign:w,allowResizable:B,allowGroup:F,allowValues:L,checkMethod:$,visibleMethod:V}=t,U=E.computeColumnOpts,{minWidth:M,maxWidth:R}=E.computeResizableOpts,P=E.computeIsMaxFixedColumn,{isCrossDrag:H,isPeerDrag:G}=o,W=[];return _xeUtils.default.eachTree(e,(l,s,a,e,n)=>{if(!V||V({$table:E,column:l})){let e=0,t=0;B&&(i={$table:E,column:l,columnIndex:E.getColumnIndex(l),$columnIndex:E.getVMColumnIndex(l),_columnIndex:E.getVTColumnIndex(l),rowIndex:-1,_rowIndex:-1,$rowIndex:-1},M&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(M)?M(i):M)),R)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(R)?R(i):R));var i=l.renderVisible,r=l.halfVisible,c=(0,_utils.formatText)(l.getTitle(),1),u=l.children&&l.children.length;let o=!!$&&!$({$table:E,column:l});var d=!i,p=!(!H&&!G)&&f||1===l.level,m=[{icon:getIcon().TABLE_CUSTOM_ALIGN_LEFT,value:"left",title:getI18n("vxe.custom.setting.anLeftTitle"),disabled:d},{icon:getIcon().TABLE_CUSTOM_ALIGN_CENTER,value:"center",title:getI18n("vxe.custom.setting.anCenterTitle"),disabled:d},{icon:getIcon().TABLE_CUSTOM_ALIGN_RIGHT,value:"right",title:getI18n("vxe.custom.setting.anRightTitle"),disabled:d}],g=[];y&&g.push(v("td",{key:"av",class:"vxe-table-custom-popup--column-td col--visible"},[v("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":r,"is--disabled":o}],attrs:{title:getI18n("vxe.custom.setting.colVisible")},on:{click:e=>{o||C.changeCheckboxOption(l,e)}}},[v("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])])),g.push(v("td",{key:"at",class:"vxe-table-custom-popup--column-td col--name"},[v("div",{class:"vxe-table-custom-popup--name"},[A&&I||F||L?p||(F||L)&&!u?v("div",{class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":d}],attrs:{title:getI18n("vxe.custom.setting.sortHelpTip")},on:d?{}:{mousedown:C.sortMousedownEvent,mouseup:C.sortMouseupEvent}},[v("i",{class:getIcon().TABLE_CUSTOM_SORT})]):v("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(E),"html"===l.type?v("div",{key:"1",class:"vxe-table-custom-popup--title",domProps:{innerHTML:c}}):v("div",{key:"0",class:"vxe-table-custom-popup--title",attrs:{title:c}},c),p&&(_||D)?v("div",{class:"vxe-table-custom-popup--move-btn"},x?[_?v(x,{props:{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:s<=0},on:{click(e){C.sortMoveUpEvent(e,l)}}}):renderEmptyElement(E),_?v(x,{props:{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:s>=a.length-1},on:{click(e){C.sortMoveDnEvent(e,l)}}}):renderEmptyElement(E),D&&!n?v(x,{props:{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:s<=0},on:{click(e){C.sortMoveTopEvent(e,l)}}}):renderEmptyElement(E),D&&!n?v(x,{props:{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:s>=a.length-1},on:{click(e){C.sortMoveBottomEvent(e,l)}}}):renderEmptyElement(E)]:[]):renderEmptyElement(E)])])),B&&g.push(v("td",{key:"aw",class:"vxe-table-custom-popup--column-td col--resizable"},[l.children&&l.children.length||!(_xeUtils.default.isBoolean(l.resizable)?l.resizable:U.resizable||T)?v("span","-"):h?v(h,{props:{type:"integer",immediate:!1,disabled:d,value:l.renderResizeWidth,min:e||0,max:t||9999},on:{modelValue(e){e=Math.max(0,Number(e));l.renderResizeWidth=e},change(){C.changeColumnWidth(l)}}}):renderEmptyElement(E)])),O&&g.push(v("td",{key:"af",class:"vxe-table-custom-popup--column-td col--fixed"},n?[v("span","-")]:b?[v(x,{props:{icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:d||P&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft")},on:{click:({$event:e})=>{C.changeFixedOption(l,"left",e)}}}),v(x,{props:{icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:d||P&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight")},on:{click:({$event:e})=>{C.changeFixedOption(l,"right",e)}}})]:[])),k&&g.push(v("td",{key:"aa",class:"vxe-table-custom-popup--column-td col--align"},b?[v(b,{props:{value:l.renderAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"align","renderAlign","custom-align-change",t)}}})]:[])),S&&g.push(v("td",{key:"aha",class:"vxe-table-custom-popup--column-td col--header-align"},u?[v("span","-")]:b?[v(b,{props:{value:l.renderHeaderAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"headerAlign","renderHeaderAlign","custom-header-align-change",t)}}})]:[])),w&&g.push(v("td",{key:"afa",class:"vxe-table-custom-popup--column-td col--footer-align"},u?[v("span","-")]:b?[v(b,{props:{value:l.renderFooterAlign||"left",type:"button",strict:!1,disabled:d,options:m},on:{change({value:e,$event:t}){C.changeAlignOption(l,e,"footerAlign","renderFooterAlign","custom-footer-align-change",t)}}})]:[])),W.push(v("tr",{key:l.id,attrs:{colid:l.id},class:["vxe-table-custom-popup--row level--"+l.level,{"is--group":u}],on:{dragstart:C.sortDragstartEvent,dragend:C.sortDragendEvent,dragover:C.sortDragoverEvent}},g))}}),W},renderPopupPanel(e){var t=_ui.VxeUI.getComponent("VxeModal"),o=_ui.VxeUI.getComponent("VxeDrawer");let l=_ui.VxeUI.getComponent("VxeButton"),s=this;var a=s;let n=s.$xeTable;var i=n,r=n,c=n.$xeGrid,u=n.$xeGantt;let d=a.customStore,{treeConfig:p,rowGroupConfig:m,aggregateConfig:g}=i,{isCustomStatus:v,customColumnList:x}=r,h=n.computeSize,b=n.computeCustomOpts;a=n.computeAggregateOpts;let C=d.panePopupStyle,E=a.placement,{mode:T,immediate:f,modalOptions:I,drawerOptions:_,allowVisible:V,allowFixed:U,allowAlign:M,allowHeaderAlign:R,allowFooterAlign:P,allowResizable:H}=b;var i=n.computeColumnOpts.maxFixedSize,r=Object.assign({},I),a=Object.assign({},_),D=b.slots||{};let y=D.header,A=D.top,O=D.bottom,k=D.default,S=D.footer;var D=d.isAll,w=d.isIndeterminate;let B="right"===E||"bottom"===E,F={$table:n,$grid:c,$gantt:u,columns:x,isAllChecked:D,isAllIndeterminate:w,isCustomStatus:v},L=[],$=[];V&&(L.push(e("col",{key:"av",class:"vxe-table-custom-popup--column-col col--checkbox"})),$.push(e("th",{key:"av",class:"vxe-table-custom-popup--column-th col--checkbox"},[e("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":D,"is--indeterminate":w}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:s.allOptionEvent}},[e("span",{class:["vxe-checkbox--icon",w?getIcon().TABLE_CHECKBOX_INDETERMINATE:D?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]))),L.push(e("col",{key:"at",class:"vxe-table-custom-popup--column-col col--title"})),$.push(e("th",{key:"at",class:"vxe-table-custom-popup--column-th col--title"},getI18n("vxe.custom.setting.colTitle"))),H&&(L.push(e("col",{key:"aw",class:"vxe-table-custom-popup--column-col col--width"})),$.push(e("th",{key:"aw",class:"vxe-table-custom-popup--column-th col--width"},getI18n("vxe.custom.setting.colResizable")))),U&&(L.push(e("col",{key:"af",class:"vxe-table-custom-popup--column-col col--fixed"})),$.push(e("th",{key:"af",class:"vxe-table-custom-popup--column-th col--fixed"},getI18n("vxe.custom.setting."+(i?"colFixedMax":"colFixed"),[i])))),M&&(L.push(e("col",{key:"aa",class:"vxe-table-custom-popup--column-col col--align"})),$.push(e("th",{key:"aa",class:"vxe-table-custom-popup--column-th col--align"},getI18n("vxe.custom.setting.colAlign")))),R&&(L.push(e("col",{key:"aha",class:"vxe-table-custom-popup--column-col col--header-align"})),$.push(e("th",{key:"aha",class:"vxe-table-custom-popup--column-th col--header-align"},getI18n("vxe.custom.setting.colHeadAlign")))),P&&(L.push(e("col",{key:"afa",class:"vxe-table-custom-popup--column-col col--footer-align"})),$.push(e("th",{key:"afa",class:"vxe-table-custom-popup--column-th col--footer-align"},getI18n("vxe.custom.setting.colFootAlign"))));c={default:()=>e("div",{ref:"refBodyWrapperElem",class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+E,{["size--"+h]:h}],style:C},k?n.callSlot(k,F,e):[B||p||!g&&!m||!n.getPivotTableAggregatePopupPanel?renderEmptyElement(n):e(n.getPivotTableAggregatePopupPanel(),{props:{customStore:d}}),e("div",{ref:"refCustomBodyElem",class:"vxe-table-custom-popup--handle-wrapper"},[A?e("div",{class:"vxe-table-custom-popup--table-top"},n.callSlot(A,F,e)):renderEmptyElement(n),e("div",{class:"vxe-table-custom-popup--table-wrapper"},[e("table",{},[e("colgroup",{},L),e("thead",{},[e("tr",{},$)]),e("transition-group",{class:"vxe-table-custom--panel-list",props:{tag:"tbody",name:"vxe-table-custom--list"}},s.renderPopupBodys(e))])]),O?e("div",{class:"vxe-table-custom-popup--table-bottom"},n.callSlot(O,F,e)):renderEmptyElement(n),s.renderDragTip(e)]),B&&!p&&(g||m)&&n.getPivotTableAggregatePopupPanel?e(n.getPivotTableAggregatePopupPanel(),{props:{customStore:d}}):renderEmptyElement(n)]),footer:()=>S?n.callSlot(S,F,e):e("div",{class:"vxe-table-custom-popup--footer"},[e(l,{props:{content:b.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!v},on:{click:s.resetCustomEvent}}),f?e(l,{props:{status:"primary",content:b.resetButtonText||getI18n("vxe.table.customClose")},on:{click:s.cancelCloseEvent}}):e(l,{props:{content:b.resetButtonText||getI18n("vxe.custom.cstmCancel")},on:{click:s.cancelCustomEvent}}),f?renderEmptyElement(n):e(l,{props:{status:"primary",content:b.confirmButtonText||getI18n("vxe.custom.cstmConfirm")},on:{click:s.confirmCustomEvent}})])};return y&&(c.header=()=>n.callSlot(y,F,e)),"drawer"===T?o?e(o,{key:"drawer",props:{className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",a.className||""].join(" "),value:d.visible,title:a.title||getI18n("vxe.custom.cstmTitle"),width:a.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:a.position,resize:!!a.resize,escClosable:!!a.escClosable,maskClosable:!!a.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){d.visible=e}},scopedSlots:c}):renderEmptyElement(s):t?e(t,{key:"modal",props:{className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",r.className||""].join(" "),value:d.visible,title:r.title||getI18n("vxe.custom.cstmTitle"),width:r.width||Math.min(1e3,document.documentElement.clientWidth),minWidth:r.minWidth||800,height:r.height||Math.min(680,document.documentElement.clientHeight),minHeight:r.minHeight||400,showZoom:r.showZoom,showMaximize:r.showMaximize,showMinimize:r.showMinimize,mask:r.mask,lockView:r.lockView,resize:r.resize,transfer:r.transfer,escClosable:!!r.escClosable,maskClosable:!!r.maskClosable,destroyOnClose:!0,showFooter:!0},on:{input(e){d.visible=e}},scopedSlots:c}):renderEmptyElement(s)},renderVN(e){var t=this.$xeTable.computeCustomOpts;return["modal","drawer","popup"].includes(""+t.mode)?this.renderPopupPanel(e):this.renderSimplePanel(e)}},render(e){return this.renderVN(e)}});
@@ -21,7 +21,8 @@ function updatePopupStyle($xeTable) {
21
21
  const internalData = $xeTable;
22
22
  const $xeGGWrapper = $xeGrid || $xeGantt;
23
23
  const {
24
- filterStore
24
+ filterStore,
25
+ scrollbarHeight
25
26
  } = reactData;
26
27
  const {
27
28
  elemStore
@@ -52,8 +53,6 @@ function updatePopupStyle($xeTable) {
52
53
  if (!filterWrapperElem) {
53
54
  return $xeTable.$nextTick();
54
55
  }
55
- const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
56
- const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
57
56
  /**
58
57
  * 是否显示筛选按钮图标
59
58
  * 如果不存在图标,则相对单元格居中显示
@@ -83,6 +82,7 @@ function updatePopupStyle($xeTable) {
83
82
  if (transfer) {
84
83
  const ppObj = (0, _dom.updatePanelPlacement)(currEl, filterWrapperElem, {
85
84
  defaultPlacement: 'bottom',
85
+ appendTo: '',
86
86
  isMinWidth: false,
87
87
  teleportTo: transfer
88
88
  });
@@ -90,9 +90,9 @@ function updatePopupStyle($xeTable) {
90
90
  } else {
91
91
  const filterWidth = filterWrapperElem.offsetWidth;
92
92
  const centerWidth = targetEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
93
- maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
94
93
  left = btnRect.left - tableRect.left - centerWidth;
95
94
  top = btnRect.top - tableRect.top + currEl.clientHeight;
95
+ maxHeight = Math.max(40, tableEl.clientHeight - top - scrollbarHeight);
96
96
  if (left < 1) {
97
97
  left = 1;
98
98
  } else if (left > tableEl.clientWidth - filterWidth - 1) {
@@ -113,7 +113,6 @@ function updatePopupStyle($xeTable) {
113
113
  if (zIndex) {
114
114
  panelStyle.zIndex = zIndex;
115
115
  }
116
- filterStore.style = panelStyle;
117
116
  // 筛选面板是自适应表格高度
118
117
  if (compConf ? !compConf.tableFilterAutoHeight : false) {
119
118
  maxHeight = 0;
@@ -122,8 +121,8 @@ function updatePopupStyle($xeTable) {
122
121
  maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
123
122
  }
124
123
  }
125
- // 判断面板不能大于表格高度
126
- filterStore.maxHeight = maxHeight;
124
+ panelStyle['--vxe-ui-vxe-table-filter-default-max-height'] = maxHeight ? (0, _dom.toCssUnit)(maxHeight) : 'none';
125
+ filterStore.style = panelStyle;
127
126
  };
128
127
  handleStyle();
129
128
  return $xeTable.$nextTick().then(() => {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,sourceType="table";function updatePopupStyle(s){let h=s.$xeGrid||s.$xeGantt,d=s.filterStore,c=s.elemStore,{column:f,targetEl:m}=d;if(!f)return s.$nextTick();let p=s.$refs.refElem;var e=s.computeRendererOpts;let{maxHeight:F,transfer:v,zIndex:_}=s.computeFilterOpts;var t=f?f.filterRender:null;let x=t&&(0,_utils.isEnableConf)(t)&&t.name?e[t.name]||renderer.get(t.name):null;if(!(0,_util.getRefElem)(c["main-header-scroll"]))return s.$nextTick();e=s.$refs.refTableFilter;let C=e?e.$el:null;if(!C)return s.$nextTick();let g=C.querySelector(".vxe-table--filter-header"),k=C.querySelector(".vxe-table--filter-footer"),l=()=>{let e=m;if(m||(r=(r=(0,_util.getRefElem)(c[`${f.fixed||"main"}-header-wrapper`]||c["main-header-wrapper"]))?r.querySelector(".vxe-header--column."+f.id):null)&&(e=r),!e)return s.$nextTick();var t,l,r=e.getBoundingClientRect(),i=p.getBoundingClientRect();let n=0,a=0,u=0,o={};o=v?(0,_dom.updatePanelPlacement)(e,C,{defaultPlacement:"bottom",isMinWidth:!1,teleportTo:v}).style:(t=C.offsetWidth,l=m?t/2:(t-f.renderWidth)/2,u=Math.max(40,p.clientHeight-a-(g?g.clientHeight:0)-(k?k.clientHeight:0)-14),n=r.left-i.left-l,a=r.top-i.top+e.clientHeight,n<1?n=1:n>p.clientWidth-t-1&&(n=p.clientWidth-t-1),h&&(l=h.$refs.refElem)&&(r=l.getBoundingClientRect(),a+=i.top-r.top),{top:(0,_dom.toCssUnit)(a),left:(0,_dom.toCssUnit)(n)}),_&&(o.zIndex=_),d.style=o,x&&!x.tableFilterAutoHeight?u=0:F&&(u=F>u?u:F),d.maxHeight=u};return l(),s.$nextTick().then(()=>{l()})}var _default=exports.default={methods:{_openFilter(e){let n=this,a=n.$xeGrid,u=n.$xeGantt,o=(0,_util.handleFieldOrColumn)(this,e);if(o&&o.filters){let e=this.elemStore,{fixed:r,filters:i}=o;return n.scrollToColumn(o).then(()=>{var t=e[`${r||"main"}-header-wrapper`]||e["main-header-wrapper"];if(t){var l=t.querySelector(`.vxe-header--column.${o.id} .vxe-cell--filter`);if(l)(0,_dom.triggerEvent)(l,"click");else{l=t.querySelector(".vxe-header--column."+o.id);if(l){let e=null;i&&(e=i[0]);t={$table:n,$grid:a,$gantt:u,$rowIndex:-1,column:o,columnIndex:n.getColumnIndex(o),$columnIndex:n.getVMColumnIndex(o),_columnIndex:n.getVTColumnIndex(o),firstFilterOption:e,fixed:r,source:sourceType,type:"header"};n.handleOpenFilterColumn(new Event("click"),null,l,o,t)}}}})}return n.$nextTick()},_setFilter(e,t,l){var r=this,i=r.filterStore,e=(0,_util.handleFieldOrColumn)(r,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[],e.id),l)return r.handleColumnConfirmFilter(e,null);i.visible&&r.handleFilterOptions(e)}return r.$nextTick()},checkFilterOptions(){var e=this.filterStore,t=e.column;t&&(t=t.filters||[],e.isAllSelected=t.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&t.some(e=>e._checked))},handleOpenFilterColumn(e,t,l,r,i){let n=this;var a=n,u=n,{initStore:a,filterStore:o}=a;o.column===r&&o.visible?o.visible=!1:(n.handleFilterOptions(r),u._currFilterParams=i,o.targetEl=t,o.style=null,o.visible=!0,a.filter=!0,n.$nextTick().then(()=>{updatePopupStyle(n)})),n.dispatchEvent("filter-visible",{column:r,field:r.field,property:r.field,filterList:n.getCheckedFilters(),visible:o.visible},e)},triggerFilterEvent(e,t,l){var r=this.elemStore,i=t.fixed,i=(0,_util.getRefElem)(r[`${i||"main"}-header-wrapper`]||r["main-header-wrapper"]),r=e.currentTarget,i=i?i.querySelector(".vxe-header--column."+t.id):null;this.handleOpenFilterColumn(e,r,i||r,t,l)},handleFilterChangeRadioOption(e,t,l){var r=this.filterStore,r=r.column;r&&((r.filters||[]).forEach(e=>{e._checked=!1}),l._checked=t,this.checkFilterOptions(),this.handleFilterConfirmFilter(e,r))},handleFilterChangeMultipleOption(e,t,l){l._checked=t,this.checkFilterOptions()},handleFilterChangeOption(e,t,l){var r=this.filterStore,i=this.fullColumnIdData;let n=r.column;n||(i=i[l._colId])&&(n=i.column,r.column=n),n&&(n.filterMultiple?this.handleFilterChangeMultipleOption(e,t,l):this.handleFilterChangeRadioOption(e,t,l))},handleFilterConfirmFilter(e,t){t&&((t.filters||[]).forEach(e=>{e.checked=e._checked}),this.confirmFilterEvent(e,t))},_saveFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(this,e),this.handleFilterConfirmFilter(null,e)),this.$nextTick()},_saveFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(this,t),this.handleFilterConfirmFilter(e,t)),this.$nextTick()},_resetFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(this,e),this.handleFilterResetFilter(null,e)),this.$nextTick()},_resetFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(this,t),this.handleFilterResetFilter(e,t)),this.$nextTick()},_saveFilterPanel(){var e=this.filterStore;return this.handleFilterConfirmFilter(null,e.column||null),this.$nextTick()},_saveFilterPanelByEvent(e){var t=this.filterStore;return this.handleFilterConfirmFilter(e,t.column||null),this.$nextTick()},_resetFilterPanel(){var e=this.filterStore;return this.handleFilterResetFilter(null,e.column||null),this.$nextTick()},_resetFilterPanelByEvent(e){var t=this.filterStore;return this.handleFilterResetFilter(e,t.column||null),this.$nextTick()},_getCheckedFilters(){var e=this.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e,l=l||[];let r=[],i=[];l&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&n.push({column:e,field:t,property:t,values:r,datas:i})}),n},handleColumnConfirmFilter(e,t){let l=this;var r=l;let i=l;r=r.mouseConfig;let{scrollXLoad:n,scrollYLoad:a}=i;var u=l.computeFilterOpts,o=l.computeMouseOpts,{field:s,filters:h}=e;let d=[],c=[];(h||[]).forEach(e=>{e.checked&&(d.push(e.value),c.push(e.data))});h=l.getCheckedFilters(),e={$table:l,$event:t,column:e,field:s,property:s,values:d,datas:c,filters:h,filterList:h};return u.remote||(l.handleTableData(!0),l.checkSelectionStatus()),(0,_utils.hasEnableConf)(r,o)&&o.area&&l.handleFilterEvent&&l.handleFilterEvent(t,e),t&&l.dispatchEvent("filter-change",e,t),l.closeFilter(),l.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=i;if(n||e||a||t)return(n||e)&&l.updateScrollXSpace(),(a||t)&&l.updateScrollYSpace(),l.refreshScroll()}).then(()=>(l.updateCellAreas(),l.recalculate(!0))).then(()=>{setTimeout(()=>l.recalculate(),50)})},confirmFilterEvent(e,t){t&&this.handleColumnConfirmFilter(t,e)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){var i=this.computeRendererOpts,i=(0,_utils.isEnableConf)(r)&&r.name?i[r.name]||renderer.get(r.name):null;let t=e.filterResetMethod||(i?i.tableFilterResetMethod||i.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:this})}}},handleFilterResetFilter(e,t){t&&(this.handleClearFilter(t),this.confirmFilterEvent(e,t),e)&&this.dispatchEvent("clear-filter",{filterList:[]},e)},handleFilterStyle(){var e=this.filterStore;return e.visible?updatePopupStyle(this):this.$nextTick()},_clearFilter(e){var t=this,l=t.filterStore,r=t.tableFullColumn;let i;return e?(i=(0,_util.handleFieldOrColumn)(t,e))&&t.handleClearFilter(i):r.forEach(t.handleClearFilter),e&&i===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),t.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,sourceType="table";function updatePopupStyle(s){let d=s.$xeGrid||s.$xeGantt,{filterStore:h,scrollbarHeight:c}=s,f=s.elemStore,{column:m,targetEl:p}=h;if(!m)return s.$nextTick();let F=s.$refs.refElem;var e=s.computeRendererOpts;let{maxHeight:v,transfer:_,zIndex:x}=s.computeFilterOpts;var t=m?m.filterRender:null;let C=t&&(0,_utils.isEnableConf)(t)&&t.name?e[t.name]||renderer.get(t.name):null;if(!(0,_util.getRefElem)(f["main-header-scroll"]))return s.$nextTick();e=s.$refs.refTableFilter;let g=e?e.$el:null;if(!g)return s.$nextTick();let l=()=>{let e=p;if(p||(i=(i=(0,_util.getRefElem)(f[`${m.fixed||"main"}-header-wrapper`]||f["main-header-wrapper"]))?i.querySelector(".vxe-header--column."+m.id):null)&&(e=i),!e)return s.$nextTick();var t,l,i=e.getBoundingClientRect(),r=F.getBoundingClientRect();let n=0,a=0,u=0,o={};o=_?(0,_dom.updatePanelPlacement)(e,g,{defaultPlacement:"bottom",appendTo:"",isMinWidth:!1,teleportTo:_}).style:(t=g.offsetWidth,l=p?t/2:(t-m.renderWidth)/2,n=i.left-r.left-l,a=i.top-r.top+e.clientHeight,u=Math.max(40,F.clientHeight-a-c),n<1?n=1:n>F.clientWidth-t-1&&(n=F.clientWidth-t-1),d&&(l=d.$refs.refElem)&&(i=l.getBoundingClientRect(),a+=r.top-i.top),{top:(0,_dom.toCssUnit)(a),left:(0,_dom.toCssUnit)(n)}),x&&(o.zIndex=x),C&&!C.tableFilterAutoHeight?u=0:v&&(u=v>u?u:v),o["--vxe-ui-vxe-table-filter-default-max-height"]=u?(0,_dom.toCssUnit)(u):"none",h.style=o};return l(),s.$nextTick().then(()=>{l()})}var _default=exports.default={methods:{_openFilter(e){let n=this,a=n.$xeGrid,u=n.$xeGantt,o=(0,_util.handleFieldOrColumn)(this,e);if(o&&o.filters){let e=this.elemStore,{fixed:i,filters:r}=o;return n.scrollToColumn(o).then(()=>{var t=e[`${i||"main"}-header-wrapper`]||e["main-header-wrapper"];if(t){var l=t.querySelector(`.vxe-header--column.${o.id} .vxe-cell--filter`);if(l)(0,_dom.triggerEvent)(l,"click");else{l=t.querySelector(".vxe-header--column."+o.id);if(l){let e=null;r&&(e=r[0]);t={$table:n,$grid:a,$gantt:u,$rowIndex:-1,column:o,columnIndex:n.getColumnIndex(o),$columnIndex:n.getVMColumnIndex(o),_columnIndex:n.getVTColumnIndex(o),firstFilterOption:e,fixed:i,source:sourceType,type:"header"};n.handleOpenFilterColumn(new Event("click"),null,l,o,t)}}}})}return n.$nextTick()},_setFilter(e,t,l){var i=this,r=i.filterStore,e=(0,_util.handleFieldOrColumn)(i,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[],e.id),l)return i.handleColumnConfirmFilter(e,null);r.visible&&i.handleFilterOptions(e)}return i.$nextTick()},checkFilterOptions(){var e=this.filterStore,t=e.column;t&&(t=t.filters||[],e.isAllSelected=t.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&t.some(e=>e._checked))},handleOpenFilterColumn(e,t,l,i,r){let n=this;var a=n,u=n,{initStore:a,filterStore:o}=a;o.column===i&&o.visible?o.visible=!1:(n.handleFilterOptions(i),u._currFilterParams=r,o.targetEl=t,o.style=null,o.visible=!0,a.filter=!0,n.$nextTick().then(()=>{updatePopupStyle(n)})),n.dispatchEvent("filter-visible",{column:i,field:i.field,property:i.field,filterList:n.getCheckedFilters(),visible:o.visible},e)},triggerFilterEvent(e,t,l){var i=this.elemStore,r=t.fixed,r=(0,_util.getRefElem)(i[`${r||"main"}-header-wrapper`]||i["main-header-wrapper"]),i=e.currentTarget,r=r?r.querySelector(".vxe-header--column."+t.id):null;this.handleOpenFilterColumn(e,i,r||i,t,l)},handleFilterChangeRadioOption(e,t,l){var i=this.filterStore,i=i.column;i&&((i.filters||[]).forEach(e=>{e._checked=!1}),l._checked=t,this.checkFilterOptions(),this.handleFilterConfirmFilter(e,i))},handleFilterChangeMultipleOption(e,t,l){l._checked=t,this.checkFilterOptions()},handleFilterChangeOption(e,t,l){var i=this.filterStore,r=this.fullColumnIdData;let n=i.column;n||(r=r[l._colId])&&(n=r.column,i.column=n),n&&(n.filterMultiple?this.handleFilterChangeMultipleOption(e,t,l):this.handleFilterChangeRadioOption(e,t,l))},handleFilterConfirmFilter(e,t){t&&((t.filters||[]).forEach(e=>{e.checked=e._checked}),this.confirmFilterEvent(e,t))},_saveFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(this,e),this.handleFilterConfirmFilter(null,e)),this.$nextTick()},_saveFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(this,t),this.handleFilterConfirmFilter(e,t)),this.$nextTick()},_resetFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(this,e),this.handleFilterResetFilter(null,e)),this.$nextTick()},_resetFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(this,t),this.handleFilterResetFilter(e,t)),this.$nextTick()},_saveFilterPanel(){var e=this.filterStore;return this.handleFilterConfirmFilter(null,e.column||null),this.$nextTick()},_saveFilterPanelByEvent(e){var t=this.filterStore;return this.handleFilterConfirmFilter(e,t.column||null),this.$nextTick()},_resetFilterPanel(){var e=this.filterStore;return this.handleFilterResetFilter(null,e.column||null),this.$nextTick()},_resetFilterPanelByEvent(e){var t=this.filterStore;return this.handleFilterResetFilter(e,t.column||null),this.$nextTick()},_getCheckedFilters(){var e=this.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e,l=l||[];let i=[],r=[];l&&(l.forEach(e=>{e.checked&&(i.push(e.value),r.push(e.data))}),i.length)&&n.push({column:e,field:t,property:t,values:i,datas:r})}),n},handleColumnConfirmFilter(e,t){let l=this;var i=l;let r=l;i=i.mouseConfig;let{scrollXLoad:n,scrollYLoad:a}=r;var u=l.computeFilterOpts,o=l.computeMouseOpts,{field:s,filters:d}=e;let h=[],c=[];(d||[]).forEach(e=>{e.checked&&(h.push(e.value),c.push(e.data))});d=l.getCheckedFilters(),e={$table:l,$event:t,column:e,field:s,property:s,values:h,datas:c,filters:d,filterList:d};return u.remote||(l.handleTableData(!0),l.checkSelectionStatus()),(0,_utils.hasEnableConf)(i,o)&&o.area&&l.handleFilterEvent&&l.handleFilterEvent(t,e),t&&l.dispatchEvent("filter-change",e,t),l.closeFilter(),l.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=r;if(n||e||a||t)return(n||e)&&l.updateScrollXSpace(),(a||t)&&l.updateScrollYSpace(),l.refreshScroll()}).then(()=>(l.updateCellAreas(),l.recalculate(!0))).then(()=>{setTimeout(()=>l.recalculate(),50)})},confirmFilterEvent(e,t){t&&this.handleColumnConfirmFilter(t,e)},handleClearFilter(e){if(e){var{filters:l,filterRender:i}=e;if(l){var r=this.computeRendererOpts,r=(0,_utils.isEnableConf)(i)&&i.name?r[i.name]||renderer.get(i.name):null;let t=e.filterResetMethod||(r?r.tableFilterResetMethod||r.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:this})}}},handleFilterResetFilter(e,t){t&&(this.handleClearFilter(t),this.confirmFilterEvent(e,t),e)&&this.dispatchEvent("clear-filter",{filterList:[]},e)},handleFilterStyle(){var e=this.filterStore;return e.visible?updatePopupStyle(this):this.$nextTick()},_clearFilter(e){var t=this,l=t.filterStore,i=t.tableFullColumn;let r;return e?(r=(0,_util.handleFieldOrColumn)(t,e))&&t.handleClearFilter(r):i.forEach(t.handleClearFilter),e&&r===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),t.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
@@ -149,6 +149,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
149
149
  * Publish methods
150
150
  *************************/
151
151
  renderOptions(h, filterRender, compConf) {
152
+ const VxeUIScrollbarComponent = _ui.VxeUI.getComponent('VxeScrollbar');
152
153
  const $xeFilterPanel = this;
153
154
  const props = $xeFilterPanel;
154
155
  const $xeTable = $xeFilterPanel.$xeTable;
@@ -157,12 +158,15 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
157
158
  filterStore
158
159
  } = props;
159
160
  const {
160
- column,
161
- maxHeight
161
+ column
162
162
  } = filterStore;
163
163
  if (!column) {
164
164
  return [];
165
165
  }
166
+ const filterOpts = $xeTable.computeFilterOpts;
167
+ const {
168
+ useScrollbar
169
+ } = filterOpts;
166
170
  const {
167
171
  filterMultiple,
168
172
  filters,
@@ -178,49 +182,19 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
178
182
  const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
179
183
  if (filterSlot) {
180
184
  return [h('div', {
181
- class: 'vxe-table--filter-template',
182
- style: maxHeight ? {
183
- maxHeight: (0, _dom.toCssUnit)(maxHeight)
184
- } : {}
185
+ class: 'vxe-table--filter-template'
185
186
  }, $xeTable.callSlot(filterSlot, params, h))];
186
187
  } else if (filterRender && rtFilter) {
187
188
  return [h('div', {
188
- class: 'vxe-table--filter-template',
189
- style: maxHeight ? {
190
- maxHeight: (0, _dom.toCssUnit)(maxHeight)
191
- } : {}
189
+ class: 'vxe-table--filter-template'
192
190
  }, (0, _vn.getSlotVNs)(rtFilter.call($xeTable, h, filterRender, params)))];
193
191
  }
194
192
  const isAllChecked = filterMultiple ? filterStore.isAllSelected : !filterOptions.some(item => item._checked);
195
193
  const isAllIndeterminate = filterMultiple && filterStore.isIndeterminate;
196
- return [h('ul', {
197
- class: 'vxe-table--filter-header'
198
- }, [h('li', {
199
- class: ['vxe-table--filter-option', {
200
- 'is--checked': isAllChecked,
201
- 'is--indeterminate': isAllIndeterminate
202
- }],
203
- attrs: {
204
- title: getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter')
205
- },
206
- on: {
207
- click: evnt => {
208
- $xeFilterPanel.changeAllOption(evnt, !filterStore.isAllSelected);
209
- }
210
- }
211
- }, (filterMultiple ? [h('span', {
212
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
213
- })] : []).concat([h('span', {
214
- class: 'vxe-checkbox--label'
215
- }, getI18n('vxe.table.allFilter'))]))]), h('ul', {
216
- class: 'vxe-table--filter-body',
217
- style: maxHeight ? {
218
- maxHeight: (0, _dom.toCssUnit)(maxHeight)
219
- } : {}
220
- }, filterOptions.map(item => {
194
+ const optVNs = filterOptions.map(item => {
221
195
  const isChecked = item._checked;
222
196
  const isIndeterminate = false;
223
- return h('li', {
197
+ return h('div', {
224
198
  class: ['vxe-table--filter-option', {
225
199
  'is--checked': isChecked
226
200
  }],
@@ -237,7 +211,37 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
237
211
  })] : []).concat([h('span', {
238
212
  class: 'vxe-checkbox--label'
239
213
  }, (0, _utils.formatText)(item.label, 1))]));
240
- }))];
214
+ });
215
+ return [h('div', {
216
+ class: 'vxe-table--filter-header'
217
+ }, [h('div', {
218
+ class: ['vxe-table--filter-option', {
219
+ 'is--checked': isAllChecked,
220
+ 'is--indeterminate': isAllIndeterminate
221
+ }],
222
+ attrs: {
223
+ title: getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter')
224
+ },
225
+ on: {
226
+ click: evnt => {
227
+ $xeFilterPanel.changeAllOption(evnt, !filterStore.isAllSelected);
228
+ }
229
+ }
230
+ }, (filterMultiple ? [h('span', {
231
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
232
+ })] : []).concat([h('span', {
233
+ class: 'vxe-checkbox--label'
234
+ }, getI18n('vxe.table.allFilter'))]))]), useScrollbar ? h(VxeUIScrollbarComponent, {
235
+ class: 'vxe-table--scrollbar-filter-body',
236
+ props: {
237
+ viewClassName: 'vxe-table--scrollbar-filter-body-view'
238
+ },
239
+ scopedSlots: {
240
+ default: () => optVNs
241
+ }
242
+ }) : h('div', {
243
+ class: 'vxe-table--filter-body'
244
+ }, optVNs)];
241
245
  },
242
246
  renderFooter(h) {
243
247
  const $xeFilterPanel = this;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_log=require("../../../ui/src/log");let warnLog=(0,_log.createComponentLog)("table").warnLog,{getI18n,getIcon,renderer,globalMixins,renderEmptyElement}=_ui.VxeUI;function filterCheckAllEvent(e,t,l){var e=e.filterStore,r=e.column;r&&r.filters&&r.filters.forEach(e=>{e._checked=l,e.checked=l}),e.isAllSelected=l,e.isIndeterminate=!1}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFilterPanel",mixins:[globalMixins.sizeMixin],props:{filterStore:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},computed:Object.assign(Object.assign({},{}),{computeHasCheckOption(){var e=this.filterStore,e=e.column;return e&&e.filters&&e.filters.some(e=>e.checked)}}),mounted(){var e=this.$xeTable.computeFilterOpts.transfer,t=this.$refs.refElem;e&&t&&document.body.appendChild(t)},beforeDestroy(){var e=this.$refs.refElem;e&&e.parentNode&&e.parentNode.removeChild(e)},methods:{changeRadioOption(e,t,l){this.$xeTable.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption(e,t,l){var r=this.$xeTable;l._checked=t,r.checkFilterOptions()},changeAllOption(e,t){var l=this,r=l.filterStore,r=r.column;r&&r.filterMultiple?filterCheckAllEvent(l,e,t):l.resetFilter(e)},changeOption(e,t,l){this.$xeTable.handleFilterChangeOption(e,t,l)},confirmFilter(e){var t=this.$xeTable,l=this.filterStore;e||warnLog("vxe.error.delFunc",["confirmFilter","saveFilterPanelByEvent"]),t.handleFilterConfirmFilter(e||new Event("click"),l.column||null)},resetFilter(e){var t=this.filterStore;this.$xeTable.handleFilterResetFilter(e,t.column||null)},renderOptions(l,e,t){let r=this;var i=r,n=r.$xeTable;let a=i.filterStore;var{column:i,maxHeight:s}=a;if(!i)return[];let{filterMultiple:o,filters:c,slots:d}=i;var i=c||[],m=d?d.filter:null,u=Object.assign({},n._currFilterParams,{option:i[0],$panel:r,$table:n}),t=t?t.renderTableFilter||t.renderFilter:null;return m?[l("div",{class:"vxe-table--filter-template",style:s?{maxHeight:(0,_dom.toCssUnit)(s)}:{}},n.callSlot(m,u,l))]:e&&t?[l("div",{class:"vxe-table--filter-template",style:s?{maxHeight:(0,_dom.toCssUnit)(s)}:{}},(0,_vn.getSlotVNs)(t.call(n,l,e,u)))]:(m=o?a.isAllSelected:!i.some(e=>e._checked),t=o&&a.isIndeterminate,[l("ul",{class:"vxe-table--filter-header"},[l("li",{class:["vxe-table--filter-option",{"is--checked":m,"is--indeterminate":t}],attrs:{title:getI18n(o?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{r.changeAllOption(e,!a.isAllSelected)}}},(o?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:m?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),l("ul",{class:"vxe-table--filter-body",style:s?{maxHeight:(0,_dom.toCssUnit)(s)}:{}},i.map(t=>{var e=t._checked;return l("li",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{r.changeOption(e,!t._checked,t)}}},(o?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])},renderFooter(e){var t,l,r,i=this,n=i.$xeTable,a=i.filterStore,s=a.column;return s&&(t=n.computeFilterOpts,n=n.computeRendererOpts,l=i.computeHasCheckOption,{filterRender:s,filterMultiple:r}=s,n=s&&(0,_utils.isEnableConf)(s)&&s.name?n[s.name]||renderer.get(s.name):null,s=!l&&!a.isAllSelected&&!a.isIndeterminate,r)&&(!n||!1!==n.showTableFilterFooter&&!1!==n.showFilterFooter&&!1!==n.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":s},attrs:{disabled:s},on:{click:i.confirmFilter}},t.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:i.resetFilter}},t.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},renderVN(e){var t,l,r,i,n,a,s=this,o=s.$xeTable,c=o,d=s.filterStore,{visible:m,column:u}=d;return u?(l=o.computeRendererOpts,r=(l=(t=u?u.filterRender:null)&&(0,_utils.isEnableConf)(t)&&t.name?l[t.name]||renderer.get(t.name):null)?l.tableFilterClassName||l.filterClassName:"",c=Object.assign({},c._currFilterParams,{$panel:s,$table:o}),i=s.computeSize,{destroyOnClose:n,className:a}=(o=o).computeFilterOpts,e("div",{ref:"refElem",class:["vxe-table--filter-wrapper","filter--prevent-default",a,l&&l.className?l.className:"",(0,_dom.getPropClass)(r,c),{["size--"+i]:i,"is--animat":o.animat,"is--multiple":u.filterMultiple,"is--active":m}],style:d.style},d.visible&&(!n||m)&&u?s.renderOptions(e,t,l).concat(s.renderFooter(e)):[])):renderEmptyElement(s)}},render(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_log=require("../../../ui/src/log");let warnLog=(0,_log.createComponentLog)("table").warnLog,{getI18n,getIcon,renderer,globalMixins,renderEmptyElement}=_ui.VxeUI;function filterCheckAllEvent(e,t,l){var e=e.filterStore,r=e.column;r&&r.filters&&r.filters.forEach(e=>{e._checked=l,e.checked=l}),e.isAllSelected=l,e.isIndeterminate=!1}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFilterPanel",mixins:[globalMixins.sizeMixin],props:{filterStore:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},computed:Object.assign(Object.assign({},{}),{computeHasCheckOption(){var e=this.filterStore,e=e.column;return e&&e.filters&&e.filters.some(e=>e.checked)}}),mounted(){var e=this.$xeTable.computeFilterOpts.transfer,t=this.$refs.refElem;e&&t&&document.body.appendChild(t)},beforeDestroy(){var e=this.$refs.refElem;e&&e.parentNode&&e.parentNode.removeChild(e)},methods:{changeRadioOption(e,t,l){this.$xeTable.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption(e,t,l){var r=this.$xeTable;l._checked=t,r.checkFilterOptions()},changeAllOption(e,t){var l=this,r=l.filterStore,r=r.column;r&&r.filterMultiple?filterCheckAllEvent(l,e,t):l.resetFilter(e)},changeOption(e,t,l){this.$xeTable.handleFilterChangeOption(e,t,l)},confirmFilter(e){var t=this.$xeTable,l=this.filterStore;e||warnLog("vxe.error.delFunc",["confirmFilter","saveFilterPanelByEvent"]),t.handleFilterConfirmFilter(e||new Event("click"),l.column||null)},resetFilter(e){var t=this.filterStore;this.$xeTable.handleFilterResetFilter(e,t.column||null)},renderOptions(l,e,t){var r=_ui.VxeUI.getComponent("VxeScrollbar");let i=this;var a=i,n=i.$xeTable;let s=a.filterStore;a=s.column;if(!a)return[];var o=n.computeFilterOpts.useScrollbar;let{filterMultiple:c,filters:d,slots:u}=a;var a=d||[],m=u?u.filter:null,p=Object.assign({},n._currFilterParams,{option:a[0],$panel:i,$table:n}),t=t?t.renderTableFilter||t.renderFilter:null;if(m)return[l("div",{class:"vxe-table--filter-template"},n.callSlot(m,p,l))];if(e&&t)return[l("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t.call(n,l,e,p)))];m=c?s.isAllSelected:!a.some(e=>e._checked),t=c&&s.isIndeterminate;let f=a.map(t=>{var e=t._checked;return l("div",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{i.changeOption(e,!t._checked,t)}}},(c?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))});return[l("div",{class:"vxe-table--filter-header"},[l("div",{class:["vxe-table--filter-option",{"is--checked":m,"is--indeterminate":t}],attrs:{title:getI18n(c?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{i.changeAllOption(e,!s.isAllSelected)}}},(c?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:m?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),o?l(r,{class:"vxe-table--scrollbar-filter-body",props:{viewClassName:"vxe-table--scrollbar-filter-body-view"},scopedSlots:{default:()=>f}}):l("div",{class:"vxe-table--filter-body"},f)]},renderFooter(e){var t,l,r,i=this,a=i.$xeTable,n=i.filterStore,s=n.column;return s&&(t=a.computeFilterOpts,a=a.computeRendererOpts,l=i.computeHasCheckOption,{filterRender:s,filterMultiple:r}=s,a=s&&(0,_utils.isEnableConf)(s)&&s.name?a[s.name]||renderer.get(s.name):null,s=!l&&!n.isAllSelected&&!n.isIndeterminate,r)&&(!a||!1!==a.showTableFilterFooter&&!1!==a.showFilterFooter&&!1!==a.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":s},attrs:{disabled:s},on:{click:i.confirmFilter}},t.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:i.resetFilter}},t.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},renderVN(e){var t,l,r,i,a,n,s=this,o=s.$xeTable,c=o,d=s.filterStore,{visible:u,column:m}=d;return m?(l=o.computeRendererOpts,r=(l=(t=m?m.filterRender:null)&&(0,_utils.isEnableConf)(t)&&t.name?l[t.name]||renderer.get(t.name):null)?l.tableFilterClassName||l.filterClassName:"",c=Object.assign({},c._currFilterParams,{$panel:s,$table:o}),i=s.computeSize,{destroyOnClose:a,className:n}=(o=o).computeFilterOpts,e("div",{ref:"refElem",class:["vxe-table--filter-wrapper","filter--prevent-default",n,l&&l.className?l.className:"",(0,_dom.getPropClass)(r,c),{["size--"+i]:i,"is--animat":o.animat,"is--multiple":m.filterMultiple,"is--active":u}],style:d.style},d.visible&&(!a||u)&&m?s.renderOptions(e,t,l).concat(s.renderFooter(e)):[])):renderEmptyElement(s)}},render(e){return this.renderVN(e)}});
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils"));var _dom=require("../../ui/src/dom");var _utils=require("../../ui/src/utils");var _ui=require("../../ui");var _cell=_interopRequireDefault(require("./cell"));var _util=require("./util");var _vn=require("../../ui/src/vn");var _anime=require("../../ui/src/anime");var _scrollbar=require("./scrollbar");var _log=require("../../ui/src/log");var _store=require("./store");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const{warnLog,errLog}=(0,_log.createComponentLog)('table');const{getConfig,getI18n,renderer,formats,interceptor,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const sourceType='table';let crossTableDragRowObj=null;function eqCellValue(newRow,oldRow,field){const val1=_xeUtils.default.get(newRow,field);const val2=_xeUtils.default.get(oldRow,field);let result=false;if((0,_utils.eqEmptyValue)(val1)&&(0,_utils.eqEmptyValue)(val2)){result=true;}else if(_xeUtils.default.isString(val1)||_xeUtils.default.isNumber(val1)){result=''+val1===''+val2;}else{result=_xeUtils.default.isEqual(val1,val2);}return{newValue:val1,oldValue:val2,result};}function getNextSortOrder($xeTable,column){const sortOpts=$xeTable.computeSortOpts;const{orders=[]}=sortOpts;const currOrder=column.order||null;const oIndex=orders.indexOf(currOrder)+1;return orders[oIndex<orders.length?oIndex:0];}const getCustomStorageMap=id=>{const version=getConfig().version;const rest=_xeUtils.default.toStringJSON(localStorage.getItem(customStorageKey)||'');const maps=rest&&rest._v===version?rest:{_v:version};return(id?maps[id]:maps)||{};};const setCustomStorageMap=(id,data)=>{const version=getConfig().version;const maps=getCustomStorageMap();maps[id]=data||undefined;maps._v=version;localStorage.setItem(customStorageKey,_xeUtils.default.toJSONString(maps));};const getRecoverRowMaps=($xeTable,keyMaps)=>{const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const restKeys={};_xeUtils.default.each(keyMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){restKeys[rowid]=row;}});return restKeys;};function handleReserveRow($xeTable,reserveRowMap){const internalData=$xeTable;const{fullDataRowIdData}=internalData;const reserveList=[];_xeUtils.default.each(reserveRowMap,(item,rowid)=>{if(fullDataRowIdData[rowid]&&reserveList.indexOf(fullDataRowIdData[rowid].row)===-1){reserveList.push(fullDataRowIdData[rowid].row);}});return reserveList;}function handleVirtualXVisible($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isScrollXBig,scrollXWidth}=reactData;const{elemStore,visibleColumn,fullColumnIdData}=internalData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(bodyScrollElem){const clientWidth=bodyScrollElem.clientWidth;let scrollLeft=bodyScrollElem.scrollLeft;if(isScrollXBig){scrollLeft=Math.ceil((scrollXWidth-clientWidth)*Math.min(1,scrollLeft/(maxXWidth-clientWidth)));}const startLeft=scrollLeft+leftFixedWidth;const endLeft=scrollLeft+clientWidth-rightFixedWidth;let leftIndex=0;let rightIndex=visibleColumn.length;while(leftIndex<rightIndex){const cIndex=Math.floor((leftIndex+rightIndex)/2);const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};if(colRest.oLeft<=startLeft){leftIndex=cIndex+1;}else{rightIndex=cIndex;}}let visibleSize=0;const toVisibleIndex=leftIndex===visibleColumn.length?leftIndex:Math.max(0,leftIndex<visibleColumn.length?leftIndex-2:0);for(let cIndex=toVisibleIndex,cLen=visibleColumn.length;cIndex<cLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};visibleSize++;if(colRest.oLeft>endLeft||visibleSize>=60){break;}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(6,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};}function handleCustomRestore($xeTable,storeData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const $xeGGWrapper=$xeGrid||$xeGantt;const{aggregateConfig,rowGroupConfig}=props;const{collectColumn}=internalData;const{isCustomAlign,isCustomHeaderAlign,isCustomFooterAlign,isCustomResizable,isCustomVisible,isCustomFixed,isCustomSort,isCustomAggGroup,isCustomAggFunc,isCustomPager}=(0,_util.handleCustomStoreConfig)($xeTable);let{alignData,headerAlignData,footerAlignData,resizableData,sortData,visibleData,fixedData,aggGroupData,aggFuncData,pagerData}=storeData;// 处理还原
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils"));var _dom=require("../../ui/src/dom");var _utils=require("../../ui/src/utils");var _ui=require("../../ui");var _cell=_interopRequireDefault(require("./cell"));var _util=require("./util");var _vn=require("../../ui/src/vn");var _anime=require("../../ui/src/anime");var _log=require("../../ui/src/log");var _store=require("./store");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const{warnLog,errLog}=(0,_log.createComponentLog)('table');const{getConfig,getI18n,renderer,scrollbarUtils,formats,interceptor,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;const{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils||{};const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const sourceType='table';let crossTableDragRowObj=null;function eqCellValue(newRow,oldRow,field){const val1=_xeUtils.default.get(newRow,field);const val2=_xeUtils.default.get(oldRow,field);let result=false;if((0,_utils.eqEmptyValue)(val1)&&(0,_utils.eqEmptyValue)(val2)){result=true;}else if(_xeUtils.default.isString(val1)||_xeUtils.default.isNumber(val1)){result=''+val1===''+val2;}else{result=_xeUtils.default.isEqual(val1,val2);}return{newValue:val1,oldValue:val2,result};}function getNextSortOrder($xeTable,column){const sortOpts=$xeTable.computeSortOpts;const{orders=[]}=sortOpts;const currOrder=column.order||null;const oIndex=orders.indexOf(currOrder)+1;return orders[oIndex<orders.length?oIndex:0];}const getCustomStorageMap=id=>{const version=getConfig().version;const rest=_xeUtils.default.toStringJSON(localStorage.getItem(customStorageKey)||'');const maps=rest&&rest._v===version?rest:{_v:version};return(id?maps[id]:maps)||{};};const setCustomStorageMap=(id,data)=>{const version=getConfig().version;const maps=getCustomStorageMap();maps[id]=data||undefined;maps._v=version;localStorage.setItem(customStorageKey,_xeUtils.default.toJSONString(maps));};const getRecoverRowMaps=($xeTable,keyMaps)=>{const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const restKeys={};_xeUtils.default.each(keyMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){restKeys[rowid]=row;}});return restKeys;};function handleReserveRow($xeTable,reserveRowMap){const internalData=$xeTable;const{fullDataRowIdData}=internalData;const reserveList=[];_xeUtils.default.each(reserveRowMap,(item,rowid)=>{if(fullDataRowIdData[rowid]&&reserveList.indexOf(fullDataRowIdData[rowid].row)===-1){reserveList.push(fullDataRowIdData[rowid].row);}});return reserveList;}function handleVirtualXVisible($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isScrollXBig,scrollXWidth}=reactData;const{elemStore,visibleColumn,fullColumnIdData}=internalData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(bodyScrollElem){const clientWidth=bodyScrollElem.clientWidth;let scrollLeft=bodyScrollElem.scrollLeft;if(isScrollXBig){scrollLeft=Math.ceil((scrollXWidth-clientWidth)*Math.min(1,scrollLeft/(maxXWidth-clientWidth)));}const startLeft=scrollLeft+leftFixedWidth;const endLeft=scrollLeft+clientWidth-rightFixedWidth;let leftIndex=0;let rightIndex=visibleColumn.length;while(leftIndex<rightIndex){const cIndex=Math.floor((leftIndex+rightIndex)/2);const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};if(colRest.oLeft<=startLeft){leftIndex=cIndex+1;}else{rightIndex=cIndex;}}let visibleSize=0;const toVisibleIndex=leftIndex===visibleColumn.length?leftIndex:Math.max(0,leftIndex<visibleColumn.length?leftIndex-2:0);for(let cIndex=toVisibleIndex,cLen=visibleColumn.length;cIndex<cLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};visibleSize++;if(colRest.oLeft>endLeft||visibleSize>=60){break;}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(6,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};}function handleCustomRestore($xeTable,storeData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const $xeGGWrapper=$xeGrid||$xeGantt;const{aggregateConfig,rowGroupConfig}=props;const{collectColumn}=internalData;const{isCustomAlign,isCustomHeaderAlign,isCustomFooterAlign,isCustomResizable,isCustomVisible,isCustomFixed,isCustomSort,isCustomAggGroup,isCustomAggFunc,isCustomPager}=(0,_util.handleCustomStoreConfig)($xeTable);let{alignData,headerAlignData,footerAlignData,resizableData,sortData,visibleData,fixedData,aggGroupData,aggFuncData,pagerData}=storeData;// 处理还原
2
2
  if(isCustomAlign&&alignData||isCustomHeaderAlign&&headerAlignData||isCustomFooterAlign&&footerAlignData||isCustomResizable&&resizableData||isCustomSort&&sortData||isCustomVisible&&visibleData||isCustomFixed&&fixedData||isCustomAggGroup&&aggGroupData||isCustomAggFunc&&aggFuncData||isCustomPager&&pagerData&&$xeGGWrapper){const sortColMaps={};if(isCustomSort&&sortData){// 转换兼容老版本数据,即将废弃兼容
3
3
  if(!_xeUtils.default.isArray(sortData)){const sortRests=[];_xeUtils.default.each(sortData,(index,colKey)=>{sortRests.push({key:colKey,index});});sortData=_xeUtils.default.orderBy(sortRests,{field:'index',order:'asc'}).map(item=>({k:item.key}));}let colNum=1;_xeUtils.default.eachTree(sortData,(sObj,index,sOjs,path,pSObj)=>{sortColMaps[sObj.k]={key:sObj.k,sNum:colNum++,pKey:pSObj?pSObj.k:null};},{children:'c'});}const colKeyMaps={};const allCols=[];const aggGroupConfs=[];_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();// 支持一级
4
4
  if(!parentColumn){if(isCustomFixed&&fixedData&&fixedData[colKey]!==undefined){column.fixed=fixedData[colKey];}}if(isCustomResizable&&resizableData&&_xeUtils.default.isNumber(resizableData[colKey])){column.resizeWidth=resizableData[colKey];}if(isCustomVisible&&visibleData&&_xeUtils.default.isBoolean(visibleData[colKey])){column.visible=visibleData[colKey];}if(isCustomAggFunc&&aggFuncData&&(aggregateConfig||rowGroupConfig)&&aggFuncData[colKey]){column.aggFunc=aggFuncData[colKey];}if(isCustomAggGroup&&aggGroupData&&aggGroupData[colKey]){aggGroupConfs.push({field:column.field});}colKeyMaps[colKey]=column;allCols.push(column);});if((aggregateConfig||rowGroupConfig)&&aggGroupConfs.length){const groupRest=handleGroupData($xeTable,internalData.tableFullData,aggGroupConfs);internalData.tableFullTreeData=[];internalData.tableFullGroupData=groupRest.treeData;reactData.isRowGroupStatus=true;reactData.rowGroupList=aggGroupConfs;$xeTable.cacheRowMap(false);}// 如果自定义了顺序
@@ -165,7 +165,7 @@ const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;//
165
165
  reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible($xeTable);if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?_xeUtils.default.toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=_xeUtils.default.toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData($xeTable);});}else{$xeTable.updateScrollYSpace();}});}function calcScrollbar($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const bodyWrapperElem=(0,_util.getRefElem)(elemStore['main-body-wrapper']);const headerTableElem=(0,_util.getRefElem)(elemStore['main-header-table']);const footerTableElem=(0,_util.getRefElem)(elemStore['main-footer-table']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const thumbXElem=$xeTable.$refs.refThumbXElem;const thumbYElem=$xeTable.$refs.refThumbYElem;let overflowY=false;let overflowX=false;if(bodyWrapperElem){const scrollbarOpts=$xeTable.computeScrollbarOpts;const barWidth=$xeTable.computeScrollYWidth;const barHeight=$xeTable.computeScrollXHeight;overflowY=scrollYHeight>bodyWrapperElem.clientHeight;// 如果是虚拟滚动条
166
166
  if(thumbYElem){reactData.scrollbarHeight=scrollbarOpts.padding?thumbYElem.offsetWidth:0;}else if(yHandleEl){reactData.scrollbarWidth=barWidth||barHeight||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;// 如果是虚拟滚动条
167
167
  if(thumbXElem){reactData.scrollbarHeight=scrollbarOpts.padding?thumbXElem.offsetHeight:0;}else if(xHandleEl){reactData.scrollbarHeight=barHeight||barWidth||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}const hHeight=headerTableElem?headerTableElem.clientHeight:0;const fHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.tHeaderHeight=hHeight;internalData.tFooterHeight=fHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(hHeight+fHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}}function handleRecalculateStyle($xeTable,reFull,reWidth,reHeight){const internalData=$xeTable;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return $xeTable.$nextTick();}const varEl=$xeTable.$refs.refVarElem;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig($xeTable,'default',defEl);calcVarRowHeightConfig($xeTable,'medium',mediumEl);calcVarRowHeightConfig($xeTable,'small',smallEl);calcVarRowHeightConfig($xeTable,'mini',miniEl);}if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}calcScrollbar($xeTable);updateStyle($xeTable);updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();return computeScrollLoad($xeTable).then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
168
- if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const defaultMinRunDelay=50;function handleLazyRecalculate($xeTable,reFull,reWidth,reHeight,options){const reactData=$xeTable;const internalData=$xeTable;const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const $xeGanttView=internalData.xeGanttView;const resizeOpts=$xeTable.computeResizeOpts;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
168
+ if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}$xeTable.updateScrollbar();internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const defaultMinRunDelay=50;function handleLazyRecalculate($xeTable,reFull,reWidth,reHeight,options){const reactData=$xeTable;const internalData=$xeTable;const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const $xeGanttView=internalData.xeGanttView;const resizeOpts=$xeTable.computeResizeOpts;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
169
169
  if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay=Math.min(Math.max(60,Math.min(800,tableData.length/8)),rceDelay+50);}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=$xeTable.$refs.refElem;$xeTable.updateScrollbar();if(el&&el.clientWidth){autoCellWidth($xeTable);updateRowExpandStyle($xeTable);}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}const renderCellSize=tableData.length*tableColumn.length;// 渲染量低的场景
170
170
  if(renderCellSize<400){rceDelay=20;}else if(renderCellSize<600){rceDelay=40;}else if(renderCellSize<800){rceDelay=80;}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
171
171
  if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}else{$xeTable.$nextTick(()=>{resolve();});}}else{resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle($xeTable,reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});}function handleResizeEvent($xeTable){const internalData=$xeTable;if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate($xeTable,true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});}function handleUpdateAggValues($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;}function handleUpdateRowGroup($xeTable,groupFields){const reactData=$xeTable;const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(_xeUtils.default.isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues($xeTable);}function handleeGroupSummary($xeTable,aggList){const internalData=$xeTable;const{fullColumnFieldData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;const aggFuncColumns=$xeTable.computeAggFuncColumns;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){_xeUtils.default.lastEach(aggList,aggRow=>{let count=0;_xeUtils.default.each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{_xeUtils.default.lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
@@ -689,7 +689,7 @@ if((0,_utils.isEnableConf)(editConfig)&&editOpts.autoClear!==false&&editOpts.tri
689
689
  * 点击排序事件
690
690
  */triggerSortEvent(evnt,column,order){const $xeTable=this;const sortOpts=$xeTable.computeSortOpts;const{multiple,allowClear}=sortOpts;const{field,sortable}=column;if(sortable||column.remoteSort){if(!order||column.order===order){if(allowClear){$xeTable.clearSort(multiple?column:null);}}else{$xeTable.sort({field,order});}$xeTable.handleColumnSortEvent(evnt,column);}},handleCellRuleUpdateStatus(type,cellParams,cellValue){const $xeTable=this;const reactData=$xeTable;const{validStore}=reactData;const{row,column}=cellParams;if($xeTable.hasCellRules){if($xeTable.hasCellRules(type,row,column)){const cell=$xeTable.getCellElement(row,column);if(cell){const customVal=!_xeUtils.default.isUndefined(cellValue);return $xeTable.validCellRules(type,row,column,cellValue).then(()=>{if(customVal&&validStore.visible){(0,_util.setCellValue)(row,column,cellValue);}$xeTable.clearValidate(row,column);}).catch(({rule})=>{if(customVal){(0,_util.setCellValue)(row,column,cellValue);}$xeTable.showValidTooltip({rule,row,column,cell});});}}}return $xeTable.$nextTick();},/**
691
691
  * @private
692
- */updateScrollbar(){const $xeTable=this;$xeTable.updateThumbSize();$xeTable.updateThumbOffset();},/**
692
+ */updateScrollbar(){const $xeTable=this;const isVScrollbar=$xeTable.computeIsVScrollbar;if(isVScrollbar){return $xeTable.$nextTick().then(()=>{$xeTable.updateThumbSize();$xeTable.updateThumbOffset();});}return Promise.resolve();},/**
693
693
  * 表头单元格按下事件
694
694
  */triggerHeaderCellMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--filter').flag;let triggerDrag=false;const isColDragCell=columnOpts.drag&&trigger==='cell';if(!(triggerInput||triggerCheckbox||triggerSort||triggerFilter)){const{column}=params;if(isColDragCell&&!column.fixed&&(isCrossDrag||isPeerDrag||!column.parentId)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleHeaderCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&(0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
695
695
  * 单元格按下事件
@@ -819,7 +819,7 @@ if(transform){return handleVirtualTreeExpand($xeTable,rows,expanded);}else{retur
819
819
  * 横向 X 可视渲染事件处理
820
820
  */triggerScrollXEvent(){const $xeTable=this;const virtualXOpts=$xeTable.computeVirtualXOpts;if(virtualXOpts.immediate){loadScrollXData($xeTable);}else{lazyScrollXData($xeTable);}},/**
821
821
  * 纵向 Y 可视渲染事件处理
822
- */triggerScrollYEvent(){const $xeTable=this;const virtualYOpts=$xeTable.computeVirtualYOpts;if(virtualYOpts.immediate){loadScrollYData($xeTable);}else{lazyScrollYData($xeTable);}},triggerBodyScrollEvent(evnt,fixedType){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{useScrollbar}=props;const{scrollYLoad,scrollXLoad}=reactData;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rowExpandEl=$xeTable.$refs.refRowExpandElem;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!useScrollbar){if(!xHandleEl){return;}if(!yHandleEl){return;}}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=0;let scrollLeft=0;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}else if(fixedType==='right'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);}else{(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(rowExpandEl,scrollTop);syncGanttScrollTop($xeTable,scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}if(intoRunScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const $xeTable=this;const $xeParentTable=$xeTable.$xeParentTable;const tableProps=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}// 如果滚轮未移动或者触摸板未变化位置
822
+ */triggerScrollYEvent(){const $xeTable=this;const virtualYOpts=$xeTable.computeVirtualYOpts;if(virtualYOpts.immediate){loadScrollYData($xeTable);}else{lazyScrollYData($xeTable);}},triggerBodyScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollYLoad,scrollXLoad}=reactData;const isVScrollbar=$xeTable.computeIsVScrollbar;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rowExpandEl=$xeTable.$refs.refRowExpandElem;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!isVScrollbar){if(!xHandleEl){return;}if(!yHandleEl){return;}}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=0;let scrollLeft=0;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}else if(fixedType==='right'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);}else{(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(rowExpandEl,scrollTop);syncGanttScrollTop($xeTable,scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}if(intoRunScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const $xeTable=this;const $xeParentTable=$xeTable.$xeParentTable;const tableProps=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}// 如果滚轮未移动或者触摸板未变化位置
823
823
  if(!deltaY&&!deltaX){return;}const{highlightHoverRow}=tableProps;const{scrollXLoad,scrollYLoad,overflowX,overflowY,expandColumn}=reactData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const{elemStore,lastScrollTop,lastScrollLeft}=internalData;const rowOpts=$xeTable.computeRowOpts;const scrollXVisible=$xeTable.computeScrollXVisible;const scrollYVisible=$xeTable.computeScrollYVisible;const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const rowExpandEl=$xeTable.$refs.refRowExpandElem;if(!bodyScrollElem){return;}const wheelSpeed=getWheelSpeed(internalData.lastSTime);const deltaTop=shiftKey?0:deltaY*wheelSpeed;const deltaLeft=(shiftKey?deltaX||deltaY:deltaX)*wheelSpeed;const currScrollTop=bodyScrollElem.scrollTop;const currScrollLeft=bodyScrollElem.scrollLeft;const scrollTop=Math.max(0,currScrollTop+deltaTop);const scrollLeft=Math.max(0,currScrollLeft+deltaLeft);const isRollX=overflowX&&scrollLeft!==lastScrollLeft;const isRollY=overflowY&&scrollTop!==lastScrollTop;if(isRollX){// 如果禁用滚动
824
824
  if(scrollXVisible===false||scrollXVisible==='hidden'){evnt.preventDefault();return;}}if(isRollY){// 如果禁用滚动
825
825
  if(scrollYVisible===false||scrollYVisible==='hidden'){evnt.preventDefault();return;}const isTopWheel=deltaTop<0;// 如果滚动位置已经是顶部或底部,则不需要触发
@@ -885,11 +885,11 @@ return $xeTable.getMergeFooterCells();},/**
885
885
  * 清除所有表尾合并
886
886
  */clearMergeFooterCells(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};reactData.mergeFootFlag++;return $xeTable.$nextTick().then(()=>{return updateStyle($xeTable);});},clearMergeFooterItems(){const $xeTable=this;// errLog('vxe.error.delFunc', ['clearMergeFooterItems', 'clearMergeFooterCells'])
887
887
  return $xeTable.clearMergeFooterCells();},handleUpdateAggData(){const $xeTable=this;const internalData=$xeTable;return loadTableData($xeTable,internalData.tableSynchData,false,true);},handlePushStack(){const $xeTable=this;const internalData=$xeTable;const keyboardOpts=$xeTable.computeKeyboardOpts;if(!keyboardOpts.isUndoRedo){return;}const{stackHistoryStore}=internalData;const stackObj=getSnapshotStackData($xeTable);stackHistoryStore.undoStacks.push(stackObj);stackHistoryStore.redoStacks=[];truncateStackHistory($xeTable);},handleUndoStackEvent(evnt){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(undoStacks.length){const stackObj=getSnapshotStackData($xeTable);redoStacks.push(stackObj);handleUpdateSnapshotStackData($xeTable,undoStacks.pop());if(evnt){$xeTable.dispatchEvent('undo',{},evnt);}return $xeTable.$nextTick(()=>{return{status:true};});}return Promise.resolve({status:false});},handleRedoStackEvent(evnt){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(redoStacks.length){const stackObj=getSnapshotStackData($xeTable);undoStacks.push(stackObj);handleUpdateSnapshotStackData($xeTable,redoStacks.pop());if(evnt){$xeTable.dispatchEvent('redo',{},evnt);}return $xeTable.$nextTick(()=>{return{status:true};});}return Promise.resolve({status:false});},handleClearStack(){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;stackHistoryStore.undoStacks=[];stackHistoryStore.redoStacks=[];return $xeTable.$nextTick();},updateZindex(){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<(0,_utils.getLastZIndex)()){internalData.tZindex=(0,_utils.nextZIndex)();}},updateCellAreas(){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;if((0,_utils.hasEnableConf)(mouseConfig,mouseOpts)&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return $xeTable.$nextTick();},undo(){const $xeTable=this;return $xeTable.handleUndoStackEvent(null);},redo(){const $xeTable=this;return $xeTable.handleRedoStackEvent(null);},clearHistory(){const $xeTable=this;return $xeTable.handleClearStack();},// 滚动条
888
- updateThumbSize(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}if(!viewEl.clientHeight||!viewEl.clientHeight){return;}const trackXEl=$xeTable.$refs.refTrackXElem;const xThumbWidth=trackXEl?(0,_scrollbar.getThumbSize)(viewEl.clientWidth,viewEl.scrollWidth,trackXEl.clientWidth):0;const thumbXElem=$xeTable.$refs.refThumbXElem;if(thumbXElem){thumbXElem.style.width=xThumbWidth+'px';}reactData.xThumbWidth=xThumbWidth;const trackYEl=$xeTable.$refs.refTrackYElem;const yThumbHeight=trackYEl?(0,_scrollbar.getThumbSize)(viewEl.clientHeight,viewEl.scrollHeight,trackYEl.clientHeight):0;const thumbYElem=$xeTable.$refs.refThumbYElem;if(thumbYElem){thumbYElem.style.height=yThumbHeight+'px';}reactData.yThumbHeight=yThumbHeight;},updateThumbOffset(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}if(!viewEl.clientHeight||!viewEl.clientHeight){return;}const{xThumbWidth,yThumbHeight}=reactData;const trackXEl=$xeTable.$refs.refTrackXElem;const thumbXElem=$xeTable.$refs.refThumbXElem;const xThumbLeft=trackXEl&&xThumbWidth?(0,_scrollbar.getThumbOffsetSize)(viewEl.scrollLeft,viewEl.clientWidth,viewEl.scrollWidth,trackXEl.clientWidth,xThumbWidth):0;internalData.xThumbLeft=xThumbLeft;if(thumbXElem&&xThumbWidth){thumbXElem.style.width=xThumbWidth+'px';thumbXElem.style.transform=`translateX(${xThumbLeft}px)`;}const trackYEl=$xeTable.$refs.refTrackYElem;const thumbYElem=$xeTable.$refs.refThumbYElem;const yThumbTop=trackYEl&&yThumbHeight?(0,_scrollbar.getThumbOffsetSize)(viewEl.scrollTop,viewEl.clientHeight,viewEl.scrollHeight,trackYEl.clientHeight,yThumbHeight):0;internalData.yThumbTop=yThumbTop;if(thumbYElem&&yThumbHeight){thumbYElem.style.height=yThumbHeight+'px';thumbYElem.style.transform=`translateY(${yThumbTop}px)`;}},clickTrackXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const trackEl=evnt.currentTarget;if(trackEl!==evnt.target){return;}const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const trackRect=trackEl.getBoundingClientRect();viewEl.scrollTo({left:(0,_scrollbar.getScrollFromClick)(evnt.clientX-trackRect.left,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth),behavior:'auto'});},clickTrackYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const trackEl=evnt.currentTarget;if(trackEl!==evnt.target){return;}const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const trackRect=trackEl.getBoundingClientRect();viewEl.scrollTo({top:(0,_scrollbar.getScrollFromClick)(evnt.clientY-trackRect.top,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight),behavior:'auto'});},pointerdownThumbXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const thumbEl=evnt.currentTarget;internalData.isThumbDrag=true;thumbEl.setPointerCapture(evnt.pointerId);const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();const pointerPosition=evnt.clientX-trackRect.left;// 记录 thumb 的偏移
889
- const thumbOffset=(0,_scrollbar.getThumbOffsetSize)(viewEl.scrollLeft,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth);internalData.thumbDragOffset=pointerPosition-thumbOffset;},pointermoveThumbXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const thumbEl=evnt.currentTarget;if(!thumbEl.hasPointerCapture(evnt.pointerId)){return;}const{elemStore,isThumbDrag,thumbDragOffset}=internalData;if(isThumbDrag){const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const thumbEl=evnt.currentTarget;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();// 更新偏移
890
- viewEl.scrollLeft=(0,_scrollbar.getScrollFromDrag)(evnt.clientX-trackRect.left,thumbDragOffset,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth);}},cleatPointerThumbEvent(evnt){const $xeTable=this;const internalData=$xeTable;const thumbEl=evnt.currentTarget;thumbEl.releasePointerCapture(evnt.pointerId);internalData.isThumbDrag=false;},pointerdownThumbYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const thumbEl=evnt.currentTarget;internalData.isThumbDrag=true;thumbEl.setPointerCapture(evnt.pointerId);const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();const pointerPosition=evnt.clientY-trackRect.top;// 记录 thumb 的偏移
891
- const thumbOffset=(0,_scrollbar.getThumbOffsetSize)(viewEl.scrollTop,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight);internalData.thumbDragOffset=pointerPosition-thumbOffset;},pointermoveThumbYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const thumbEl=evnt.currentTarget;if(!thumbEl.hasPointerCapture(evnt.pointerId)){return;}const{elemStore,isThumbDrag,thumbDragOffset}=internalData;if(isThumbDrag){const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const thumbEl=evnt.currentTarget;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();// 更新偏移
892
- viewEl.scrollTop=(0,_scrollbar.getScrollFromDrag)(evnt.clientY-trackRect.top,thumbDragOffset,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight);}},// 滚动条
888
+ updateThumbSize(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}if(!viewEl.clientHeight||!viewEl.clientHeight){return;}const trackXEl=$xeTable.$refs.refTrackXElem;const xThumbWidth=trackXEl?getThumbSize(viewEl.clientWidth,viewEl.scrollWidth,trackXEl.clientWidth):0;const thumbXElem=$xeTable.$refs.refThumbXElem;if(thumbXElem){thumbXElem.style.width=xThumbWidth+'px';}reactData.xThumbWidth=xThumbWidth;const trackYEl=$xeTable.$refs.refTrackYElem;const yThumbHeight=trackYEl?getThumbSize(viewEl.clientHeight,viewEl.scrollHeight,trackYEl.clientHeight):0;const thumbYElem=$xeTable.$refs.refThumbYElem;if(thumbYElem){thumbYElem.style.height=yThumbHeight+'px';}reactData.yThumbHeight=yThumbHeight;},updateThumbOffset(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}if(!viewEl.clientHeight||!viewEl.clientHeight){return;}const{xThumbWidth,yThumbHeight}=reactData;const trackXEl=$xeTable.$refs.refTrackXElem;const thumbXElem=$xeTable.$refs.refThumbXElem;const xThumbLeft=trackXEl&&xThumbWidth?getThumbOffsetSize(viewEl.scrollLeft,viewEl.clientWidth,viewEl.scrollWidth,trackXEl.clientWidth,xThumbWidth):0;internalData.xThumbLeft=xThumbLeft;if(thumbXElem&&xThumbWidth){thumbXElem.style.width=xThumbWidth+'px';thumbXElem.style.transform=`translateX(${xThumbLeft}px)`;}const trackYEl=$xeTable.$refs.refTrackYElem;const thumbYElem=$xeTable.$refs.refThumbYElem;const yThumbTop=trackYEl&&yThumbHeight?getThumbOffsetSize(viewEl.scrollTop,viewEl.clientHeight,viewEl.scrollHeight,trackYEl.clientHeight,yThumbHeight):0;internalData.yThumbTop=yThumbTop;if(thumbYElem&&yThumbHeight){thumbYElem.style.height=yThumbHeight+'px';thumbYElem.style.transform=`translateY(${yThumbTop}px)`;}},clickTrackXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const trackEl=evnt.currentTarget;if(trackEl!==evnt.target){return;}const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const trackRect=trackEl.getBoundingClientRect();viewEl.scrollTo({left:getScrollFromClick(evnt.clientX-trackRect.left,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth),behavior:'auto'});},clickTrackYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const trackEl=evnt.currentTarget;if(trackEl!==evnt.target){return;}const{elemStore}=internalData;const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const trackRect=trackEl.getBoundingClientRect();viewEl.scrollTo({top:getScrollFromClick(evnt.clientY-trackRect.top,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight),behavior:'auto'});},pointerdownThumbXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const thumbEl=evnt.currentTarget;internalData.isThumbDrag=true;thumbEl.setPointerCapture(evnt.pointerId);const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();const pointerPosition=evnt.clientX-trackRect.left;// 记录 thumb 的偏移
889
+ const thumbOffset=getThumbOffsetSize(viewEl.scrollLeft,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth);internalData.thumbDragOffset=pointerPosition-thumbOffset;},pointermoveThumbXEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const thumbEl=evnt.currentTarget;if(!thumbEl.hasPointerCapture(evnt.pointerId)){return;}const{elemStore,isThumbDrag,thumbDragOffset}=internalData;if(isThumbDrag){const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{xThumbWidth}=reactData;const thumbEl=evnt.currentTarget;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();// 更新偏移
890
+ viewEl.scrollLeft=getScrollFromDrag(evnt.clientX-trackRect.left,thumbDragOffset,viewEl.clientWidth,viewEl.scrollWidth,trackEl.clientWidth,xThumbWidth);}},cleatPointerThumbEvent(evnt){const $xeTable=this;const internalData=$xeTable;const thumbEl=evnt.currentTarget;thumbEl.releasePointerCapture(evnt.pointerId);internalData.isThumbDrag=false;},pointerdownThumbYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{elemStore}=internalData;const thumbEl=evnt.currentTarget;internalData.isThumbDrag=true;thumbEl.setPointerCapture(evnt.pointerId);const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();const pointerPosition=evnt.clientY-trackRect.top;// 记录 thumb 的偏移
891
+ const thumbOffset=getThumbOffsetSize(viewEl.scrollTop,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight);internalData.thumbDragOffset=pointerPosition-thumbOffset;},pointermoveThumbYEvent(evnt){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const thumbEl=evnt.currentTarget;if(!thumbEl.hasPointerCapture(evnt.pointerId)){return;}const{elemStore,isThumbDrag,thumbDragOffset}=internalData;if(isThumbDrag){const viewEl=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!viewEl){return;}const{yThumbHeight}=reactData;const thumbEl=evnt.currentTarget;const trackEl=thumbEl.parentElement;const trackRect=trackEl.getBoundingClientRect();// 更新偏移
892
+ viewEl.scrollTop=getScrollFromDrag(evnt.clientY-trackRect.top,thumbDragOffset,viewEl.clientHeight,viewEl.scrollHeight,trackEl.clientHeight,yThumbHeight);}},// 滚动条
893
893
  dispatchEvent(type,params,evnt){const $xeTable=this;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;$xeTable.$emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));},// 已废弃,使用 dispatchEvent
894
894
  emitEvent(type,params,evnt){const $xeTable=this;$xeTable.dispatchEvent(type,params,evnt);},focus(){const $xeTable=this;const internalData=$xeTable;internalData.isActivated=true;return $xeTable.$nextTick();},blur(){const $xeTable=this;const internalData=$xeTable;internalData.isActivated=false;return $xeTable.$nextTick();},/**
895
895
  * 已废弃,被 connectToolbar 替换