vxe-table 4.13.17 → 4.13.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/locale/lang/ar-EG.js +1 -1
- package/es/locale/lang/de-DE.js +1 -1
- package/es/locale/lang/en-US.js +1 -1
- package/es/locale/lang/es-ES.js +1 -1
- package/es/locale/lang/fr-FR.d.ts +2 -0
- package/es/locale/lang/fr-FR.js +1 -1
- package/es/locale/lang/hu-HU.js +1 -1
- package/es/locale/lang/hy-AM.d.ts +2 -0
- package/es/locale/lang/hy-AM.js +1 -1
- package/es/locale/lang/id-ID.d.ts +2 -0
- package/es/locale/lang/id-ID.js +1 -1
- package/es/locale/lang/it-IT.d.ts +2 -0
- package/es/locale/lang/it-IT.js +1 -1
- package/es/locale/lang/ja-JP.js +1 -1
- package/es/locale/lang/ko-KR.js +1 -1
- package/es/locale/lang/ms-MY.d.ts +2 -0
- package/es/locale/lang/ms-MY.js +708 -0
- package/es/locale/lang/nb-NO.d.ts +2 -0
- package/es/locale/lang/nb-NO.js +1 -1
- package/es/locale/lang/pt-BR.js +1 -1
- package/es/locale/lang/ru-RU.js +1 -1
- package/es/locale/lang/th-TH.d.ts +2 -0
- package/es/locale/lang/th-TH.js +1 -1
- package/es/locale/lang/ug-CN.d.ts +2 -0
- package/es/locale/lang/ug-CN.js +1 -1
- package/es/locale/lang/uk-UA.js +1 -1
- package/es/locale/lang/uz-UZ.d.ts +2 -0
- package/es/locale/lang/uz-UZ.js +708 -0
- package/es/locale/lang/vi-VN.d.ts +2 -0
- package/es/locale/lang/vi-VN.js +1 -1
- package/es/locale/lang/zh-CHT.d.ts +2 -0
- package/es/locale/lang/zh-CHT.js +1 -1
- package/es/locale/lang/zh-CN.js +1 -1
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +1 -1
- package/es/table/module/filter/hook.js +8 -0
- package/es/table/render/index.js +21 -15
- package/es/table/src/body.js +2 -1
- package/es/table/src/table.js +52 -50
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +40 -29
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.d.ts +2 -0
- package/lib/locale/lang/ar-EG.js +1 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +728 -0
- package/lib/locale/lang/de-DE.d.ts +2 -0
- package/lib/locale/lang/de-DE.js +1 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +728 -0
- package/lib/locale/lang/en-US.js +1 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -1
- package/lib/locale/lang/es-ES.js +1 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +1 -1
- package/lib/locale/lang/fr-FR.d.ts +2 -0
- package/lib/locale/lang/fr-FR.js +1 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +728 -0
- package/lib/locale/lang/hu-HU.js +1 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +1 -1
- package/lib/locale/lang/hy-AM.d.ts +2 -0
- package/lib/locale/lang/hy-AM.js +1 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +728 -0
- package/lib/locale/lang/id-ID.d.ts +2 -0
- package/lib/locale/lang/id-ID.js +1 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +728 -0
- package/lib/locale/lang/it-IT.d.ts +2 -0
- package/lib/locale/lang/it-IT.js +1 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +728 -0
- package/lib/locale/lang/ja-JP.js +1 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +1 -1
- package/lib/locale/lang/ko-KR.js +1 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +1 -1
- package/lib/locale/lang/ms-MY.d.ts +2 -0
- package/lib/locale/lang/ms-MY.js +714 -0
- package/lib/locale/lang/ms-MY.min.js +1 -0
- package/lib/locale/lang/ms-MY.umd.js +728 -0
- package/lib/locale/lang/nb-NO.d.ts +2 -0
- package/lib/locale/lang/nb-NO.js +1 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +728 -0
- package/lib/locale/lang/pt-BR.js +1 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +1 -1
- package/lib/locale/lang/ru-RU.js +1 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +1 -1
- package/lib/locale/lang/th-TH.d.ts +2 -0
- package/lib/locale/lang/th-TH.js +1 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +728 -0
- package/lib/locale/lang/ug-CN.d.ts +2 -0
- package/lib/locale/lang/ug-CN.js +1 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +728 -0
- package/lib/locale/lang/uk-UA.js +1 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +1 -1
- package/lib/locale/lang/uz-UZ.d.ts +2 -0
- package/lib/locale/lang/uz-UZ.js +714 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -0
- package/lib/locale/lang/uz-UZ.umd.js +728 -0
- package/lib/locale/lang/vi-VN.d.ts +2 -0
- package/lib/locale/lang/vi-VN.js +1 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +728 -0
- package/lib/locale/lang/zh-CHT.d.ts +2 -0
- package/lib/locale/lang/zh-CHT.js +1 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +728 -0
- package/lib/locale/lang/zh-CN.js +1 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +1 -1
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +1 -1
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/filter/hook.js +8 -0
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/render/index.js +21 -15
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +2 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +5 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +1 -1
- package/packages/locale/lang/de-DE.ts +1 -1
- package/packages/locale/lang/en-US.ts +1 -1
- package/packages/locale/lang/es-ES.ts +1 -1
- package/packages/locale/lang/fr-FR.ts +1 -1
- package/packages/locale/lang/hu-HU.ts +1 -1
- package/packages/locale/lang/hy-AM.ts +1 -1
- package/packages/locale/lang/id-ID.ts +1 -1
- package/packages/locale/lang/it-IT.ts +1 -1
- package/packages/locale/lang/ja-JP.ts +1 -1
- package/packages/locale/lang/ko-KR.ts +1 -1
- package/packages/locale/lang/ms-MY.ts +708 -0
- package/packages/locale/lang/nb-NO.ts +1 -1
- package/packages/locale/lang/pt-BR.ts +1 -1
- package/packages/locale/lang/ru-RU.ts +1 -1
- package/packages/locale/lang/th-TH.ts +1 -1
- package/packages/locale/lang/ug-CN.ts +1 -1
- package/packages/locale/lang/uk-UA.ts +1 -1
- package/packages/locale/lang/uz-UZ.ts +708 -0
- package/packages/locale/lang/vi-VN.ts +1 -1
- package/packages/locale/lang/zh-CHT.ts +1 -1
- package/packages/locale/lang/zh-CN.ts +1 -1
- package/packages/table/module/custom/panel.ts +1 -1
- package/packages/table/module/filter/hook.ts +8 -0
- package/packages/table/render/index.ts +21 -15
- package/packages/table/src/body.ts +2 -1
- package/packages/table/src/table.ts +56 -48
- package/lib/locale/lang/zh-TC.umd.js +0 -23
- /package/es/{iconfont.1746324623861.ttf → iconfont.1746694097015.ttf} +0 -0
- /package/es/{iconfont.1746324623861.woff → iconfont.1746694097015.woff} +0 -0
- /package/es/{iconfont.1746324623861.woff2 → iconfont.1746694097015.woff2} +0 -0
- /package/es/locale/lang/{zh-TC.d.ts → ar-EG.d.ts} +0 -0
- /package/{lib/locale/lang/zh-TC.d.ts → es/locale/lang/de-DE.d.ts} +0 -0
- /package/lib/{iconfont.1746324623861.ttf → iconfont.1746694097015.ttf} +0 -0
- /package/lib/{iconfont.1746324623861.woff → iconfont.1746694097015.woff} +0 -0
- /package/lib/{iconfont.1746324623861.woff2 → iconfont.1746694097015.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(D){let U=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeDrawer"),F=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeNumberInput"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),H=(0,_vue.inject)("$xeTable",{}),{props:z,reactData:K,internalData:s}=H,{computeCustomOpts:W,computeColumnDragOpts:X,computeColumnOpts:ie,computeIsMaxFixedColumn:$,computeResizableOpts:re}=H.getComputeMaps(),V=(0,_vue.ref)(),q=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=D.customStore;t.activeWrapper=!0,H.customOpenEvent(e)},y=e=>{let t=D.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||H.customCloseEvent(e)},300)},G=({$event:e})=>{K.isCustomStatus=!0,H.saveCustom(),H.closeCustom(),H.emitCustomEvent("confirm",e)},j=({$event:e})=>{H.closeCustom(),H.emitCustomEvent("close",e)},P=({$event:e})=>{H.cancelCustom(),H.closeCustom(),H.emitCustomEvent("cancel",e)},l=e=>{H.resetCustom(!0),H.closeCustom(),H.emitCustomEvent("reset",e)},Y=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},Z=e=>{let t=!e.renderVisible;W.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),H.checkCustomStatus()},ne=e=>{W.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:width"))},J=(e,t)=>{var l=$.value;W.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},Q=()=>{H.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=q.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},ee=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=H.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},te=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},le=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},oe=c=>{let d=z.mouseConfig,m=K.customColumnList,v=s.collectColumn;let p=W.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=X.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+b,0,n);K.isDragColMove=!0,d&&(H.clearSelected&&H.clearSelected(),H.clearCellAreas)&&(H.clearCellAreas(),H.clearCopyCellArea()),H.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(K.customColumnList=v.slice(0),H.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ae=e=>{var t,l=W.value.immediate,{isCrossDrag:o,isToChildDrag:a}=X.value,s=e.currentTarget,i=(0,_dom.hasControlKey)(e),r=s.getAttribute("colid"),r=H.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},se=()=>{var e=u.value,t=X.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=W.value.mode;U||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=W.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=H.xeGrid;let t=D.customStore,c=z.resizable,{isCustomStatus:l,customColumnList:o}=K,a=W.value,d=a.immediate;var s=X.value;let{mode:i,modalOptions:r,drawerOptions:n,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=a,b=ie.value,u=b.maxFixedSize,{minWidth:g,maxWidth:C}=re.value;var f=Object.assign({},r),I=Object.assign({},n);let T=$.value,E=s.isCrossDrag;s=a.slots||{};let V=s.header,k=s.top,y=s.bottom,O=s.default,A=s.footer,B=[],S=t.isAll,N=t.isIndeterminate,w={$table:H,$grid:e,columns:o,isAllChecked:S,isAllIndeterminate:N,isCustomStatus:l};_xeUtils.default.eachTree(o,(o,a,e,t,s)=>{if(!_||_({$table:H,column:o})){let e=0,t=0;x&&(a={$table:H,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({$table:H,column:o});var u=!a;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:le,onDragend:oe,onDragover:ae},[m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Z(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?E&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:b.resizable||c)?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){ne(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||T},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||T}],"onUpdate:modelValue"(e){J(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});s={default:()=>O?H.callSlot(O,w):(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},H.callSlot(k,w)):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":N}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",N?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),y?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},H.callSlot(y,w)):renderEmptyElement(H),se()]),footer:()=>A?H.callSlot(A,w):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[F?(0,_vue.h)(F,{content:a.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),d?F?(0,_vue.h)(F,{content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!d&&F?(0,_vue.h)(F,{status:"primary",content:a.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])};return V&&(s.header=()=>H.callSlot(V,w)),"drawer"===i?L?(0,_vue.h)(L,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:t.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:I.position,resize:!!I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)():U?(0,_vue.h)(U,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,document.documentElement.clientWidth),minWidth:f.minWidth||700,height:f.height||Math.min(680,document.documentElement.clientHeight),minHeight:f.minHeight||400,showZoom:f.showZoom,showMaximize:f.showMaximize,showMinimize:f.showMinimize,mask:f.mask,lockView:f.lockView,resize:f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)()}:()=>{var e=H.xeGrid,t=D.customStore,{isCustomStatus:l,customColumnList:o}=K,a=W.value;let c=a.immediate;var s=X.value,i=t.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:r,placement:n}=a,h=$.value,_=s.isCrossDrag;var s=a.slots||{},u=s.header,b=s.top,g=s.bottom,C=s.default,s=s.footer;let f=[];var I={},T=t.isAll,E=t.isIndeterminate,e=("hover"===r&&(I.onMouseenter=k,I.onMouseleave=y),{$table:H,$grid:e,columns:o,isAllChecked:T,isAllIndeterminate:E,isCustomStatus:l});return _xeUtils.default.eachTree(o,(t,e,l,o,a)=>{if(!m||m({$table:H,column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({$table:H,column:t});var u=!s;f.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:le,onDragend:oe,onDragover:ae},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Z(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[F?(0,_vue.h)(F,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{J(t,"left")}}):(0,_vue.createCommentVNode)(),F?(0,_vue.h)(F,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{J(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+n,{"is--active":t.visible}],style:i&&!["left","right"].includes(n)?{maxHeight:i+"px"}:{}},t.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},u?H.callSlot(u,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":T,"is--indeterminate":E}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:T?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom--body"},[b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},H.callSlot(b,e)):renderEmptyElement(H),C?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},H.callSlot(C,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},I),{default:()=>f}),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},H.callSlot(g,e)):renderEmptyElement(H),se()]),a.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},s?H.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[F?(0,_vue.h)(F,{mode:"text",content:a.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),c?F?(0,_vue.h)(F,{mode:"text",content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{mode:"text",content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!c&&F?(0,_vue.h)(F,{mode:"text",status:"primary",content:a.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(D){let U=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeDrawer"),F=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeNumberInput"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),H=(0,_vue.inject)("$xeTable",{}),{props:z,reactData:K,internalData:s}=H,{computeCustomOpts:W,computeColumnDragOpts:X,computeColumnOpts:ie,computeIsMaxFixedColumn:$,computeResizableOpts:re}=H.getComputeMaps(),V=(0,_vue.ref)(),q=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=D.customStore;t.activeWrapper=!0,H.customOpenEvent(e)},y=e=>{let t=D.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||H.customCloseEvent(e)},300)},G=({$event:e})=>{K.isCustomStatus=!0,H.saveCustom(),H.closeCustom(),H.emitCustomEvent("confirm",e)},j=({$event:e})=>{H.closeCustom(),H.emitCustomEvent("close",e)},P=({$event:e})=>{H.cancelCustom(),H.closeCustom(),H.emitCustomEvent("cancel",e)},l=e=>{H.resetCustom(!0),H.closeCustom(),H.emitCustomEvent("reset",e)},Y=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},Z=e=>{let t=!e.renderVisible;W.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),H.checkCustomStatus()},ne=e=>{W.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:width"))},J=(e,t)=>{var l=$.value;W.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},Q=()=>{H.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=q.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},ee=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=H.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},te=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},le=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},oe=c=>{let d=z.mouseConfig,m=K.customColumnList,v=s.collectColumn;let p=W.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=X.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+b,0,n);K.isDragColMove=!0,d&&(H.clearSelected&&H.clearSelected(),H.clearCellAreas)&&(H.clearCellAreas(),H.clearCopyCellArea()),H.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(K.customColumnList=v.slice(0),H.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ae=e=>{var t,l=W.value.immediate,{isCrossDrag:o,isToChildDrag:a}=X.value,s=e.currentTarget,i=(0,_dom.hasControlKey)(e),r=s.getAttribute("colid"),r=H.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},se=()=>{var e=u.value,t=X.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=W.value.mode;U||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=W.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=H.xeGrid;let t=D.customStore,c=z.resizable,{isCustomStatus:l,customColumnList:o}=K,a=W.value,d=a.immediate;var s=X.value;let{mode:i,modalOptions:r,drawerOptions:n,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=a,b=ie.value,u=b.maxFixedSize,{minWidth:g,maxWidth:C}=re.value;var f=Object.assign({},r),I=Object.assign({},n);let T=$.value,E=s.isCrossDrag;s=a.slots||{};let V=s.header,k=s.top,y=s.bottom,O=s.default,A=s.footer,B=[],S=t.isAll,N=t.isIndeterminate,w={$table:H,$grid:e,columns:o,isAllChecked:S,isAllIndeterminate:N,isCustomStatus:l};_xeUtils.default.eachTree(o,(o,a,e,t,s)=>{if(!_||_({$table:H,column:o})){let e=0,t=0;x&&(a={$table:H,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({$table:H,column:o});var u=!a;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:le,onDragend:oe,onDragover:ae},[m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Z(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?E&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:b.resizable||c)?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){ne(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||T},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||T}],"onUpdate:modelValue"(e){J(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});s={default:()=>O?H.callSlot(O,w):(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},H.callSlot(k,w)):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":N}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",N?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),y?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},H.callSlot(y,w)):renderEmptyElement(H),se()]),footer:()=>A?H.callSlot(A,w):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[F?(0,_vue.h)(F,{content:a.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),d?F?(0,_vue.h)(F,{content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!d&&F?(0,_vue.h)(F,{status:"primary",content:a.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])};return V&&(s.header=()=>H.callSlot(V,w)),"drawer"===i?L?(0,_vue.h)(L,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:t.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:I.position,resize:!!I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)():U?(0,_vue.h)(U,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,document.documentElement.clientWidth),minWidth:f.minWidth||700,height:f.height||Math.min(680,document.documentElement.clientHeight),minHeight:f.minHeight||400,showZoom:f.showZoom,showMaximize:f.showMaximize,showMinimize:f.showMinimize,mask:f.mask,lockView:f.lockView,resize:f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)()}:()=>{var e=H.xeGrid,t=D.customStore,{isCustomStatus:l,customColumnList:o}=K,a=W.value;let c=a.immediate;var s=X.value,i=t.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:r,placement:n}=a,h=$.value,_=s.isCrossDrag;var s=a.slots||{},u=s.header,b=s.top,g=s.bottom,C=s.default,s=s.footer;let f=[];var I={},T=t.isAll,E=t.isIndeterminate,e=("hover"===r&&(I.onMouseenter=k,I.onMouseleave=y),{$table:H,$grid:e,columns:o,isAllChecked:T,isAllIndeterminate:E,isCustomStatus:l});return _xeUtils.default.eachTree(o,(t,e,l,o,a)=>{if(!m||m({$table:H,column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({$table:H,column:t});var u=!s;f.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:le,onDragend:oe,onDragover:ae},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Z(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[F?(0,_vue.h)(F,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{J(t,"left")}}):(0,_vue.createCommentVNode)(),F?(0,_vue.h)(F,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{J(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+n,{"is--active":t.visible}],style:i&&!["left","right"].includes(n)?{maxHeight:i+"px"}:{}},t.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},u?H.callSlot(u,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":T,"is--indeterminate":E}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:T?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom--body"},[b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},H.callSlot(b,e)):renderEmptyElement(H),C?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},H.callSlot(C,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},I),{default:()=>f}),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},H.callSlot(g,e)):renderEmptyElement(H),se()]),a.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},s?H.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[F?(0,_vue.h)(F,{mode:"text",content:a.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),c?F?(0,_vue.h)(F,{mode:"text",content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{mode:"text",content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!c&&F?(0,_vue.h)(F,{mode:"text",status:"primary",content:a.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
@@ -398,10 +398,18 @@ hooks.add('tableFilterModule', {
|
|
|
398
398
|
handleFilterConfirmFilter(null);
|
|
399
399
|
return (0, _vue.nextTick)();
|
|
400
400
|
},
|
|
401
|
+
saveFilterPanelByEvent(evnt) {
|
|
402
|
+
handleFilterConfirmFilter(evnt);
|
|
403
|
+
return (0, _vue.nextTick)();
|
|
404
|
+
},
|
|
401
405
|
resetFilterPanel() {
|
|
402
406
|
handleFilterResetFilter(null);
|
|
403
407
|
return (0, _vue.nextTick)();
|
|
404
408
|
},
|
|
409
|
+
resetFilterPanelByEvent(evnt) {
|
|
410
|
+
handleFilterResetFilter(evnt);
|
|
411
|
+
return (0, _vue.nextTick)();
|
|
412
|
+
},
|
|
405
413
|
getCheckedFilters() {
|
|
406
414
|
const {
|
|
407
415
|
tableFullColumn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_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,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilterPanel","resetFilterPanel","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(
|
|
1
|
+
var _vue=require("vue"),_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,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilterPanel","resetFilterPanel","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(_){let{props:d,reactData:h,internalData:g}=_,{refElem:k,refTableFilter:C}=_.getRefMaps(),{computeFilterOpts:b,computeMouseOpts:f}=_.getComputeMaps(),i=e=>{var t=h.filterStore;t.options.forEach(e=>{e.checked=e._checked}),_.confirmFilterEvent(e)},n=(e,t,l)=>{var r=h.filterStore;r.options.forEach(e=>{e._checked=!1}),l._checked=t,_.checkFilterOptions(),i(e)},a=(e,t,l)=>{l._checked=t,_.checkFilterOptions()},t=e=>{var t=h.filterStore;_.handleClearFilter(t.column),_.confirmFilterEvent(e)},o={checkFilterOptions(){var e=h.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,i,t){let{initStore:l,filterStore:m}=h,F=g.elemStore;if(m.column===i&&m.visible)m.visible=!1;else{let c=k.value,{scrollTop:u,scrollLeft:s,visibleHeight:d,visibleWidth:h}=(0,_dom.getDomNode)();let f=b.value.transfer,v=c.getBoundingClientRect(),p=e.currentTarget;var{filters:n,filterMultiple:a,filterRender:o}=i,o=(0,_utils.isEnableConf)(o)?renderer.get(o.name):null;let r=i.filterRecoverMethod||(o?o.tableFilterRecoverMethod||o.filterRecoverMethod:null);g._currFilterParams=t,Object.assign(m,{multiple:a,options:n,column:i,style:null}),m.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||r&&r({option:e,column:i,$table:_})}),this.checkFilterOptions(),m.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{if((0,_util.getRefElem)(F["main-header-scroll"])){var r=C.value,r=r?r.getRefMaps().refElem.value:null;if(r){var i=p.getBoundingClientRect(),n=r.querySelector(".vxe-table--filter-header"),a=r.querySelector(".vxe-table--filter-footer"),r=r.offsetWidth,o=r/2;let e=0,t=0,l=0;f?(e=i.left-o+s,t=i.top+p.clientHeight+u,l=Math.min(Math.max(v.height,Math.floor(d/2)),Math.max(80,d-t-(n?n.clientHeight:0)-(a?a.clientHeight:0)-28)),e<16?e=16:e>h-r-16&&(e=h-r-16)):(e=i.left-v.left-o,t=i.top-v.top+p.clientHeight,l=Math.max(40,c.clientHeight-t-(n?n.clientHeight:0)-(a?a.clientHeight:0)-14),e<1?e=1:e>c.clientWidth-r-1&&(e=c.clientWidth-r-1)),m.style={top:(0,_dom.toCssUnit)(t),left:(0,_dom.toCssUnit)(e)},m.maxHeight=l}}})}_.dispatchEvent("filter-visible",{column:i,field:i.field,property:i.field,filterList:_.getCheckedFilters(),visible:m.visible},e)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){r=(0,_utils.isEnableConf)(r)?renderer.get(r.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:_})}}},handleColumnConfirmFilter(e,t){var l=d.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=h;var n=b.value,a=f.value,o=e.field;let c=[],u=[];e.filters.forEach(e=>{e.checked&&(c.push(e.value),u.push(e.data))});var s=_.getCheckedFilters(),e={$table:_,$event:t,column:e,field:o,property:o,values:c,datas:u,filters:s,filterList:s};return n.remote||(_.handleTableData(!0),_.checkSelectionStatus()),l&&a.area&&_.handleFilterEvent&&_.handleFilterEvent(t,e),t&&_.dispatchEvent("filter-change",e,t),_.closeFilter(),_.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=h;if(r||e||i||t)return(r||e)&&_.updateScrollXSpace(),(i||t)&&_.updateScrollYSpace(),_.refreshScroll()}).then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>{setTimeout(()=>_.recalculate(),50)})},confirmFilterEvent(e){var t=h.filterStore,t=t.column;_.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption:n,handleFilterChangeMultipleOption:a,handleFilterChangeOption(e,t,l){var r=h.filterStore;r.multiple?a(0,t,l):n(e,t,l)},handleFilterConfirmFilter:i,handleFilterResetFilter:t};return Object.assign(Object.assign({},{openFilter(e){let r=(0,_util.handleFieldOrColumn)(_,e);if(r&&r.filters){let t=g.elemStore,l=r.fixed;return _.scrollToColumn(r).then(()=>{var e=(0,_util.getRefElem)(t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"]);e&&(e=e.querySelector(`.vxe-header--column.${r.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(_,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?_.handleColumnConfirmFilter(e,new Event("click")):(0,_vue.nextTick)()},clearFilter(e){var t=h.filterStore,l=g.tableFullColumn,r=b.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(_,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():_.updateData()},saveFilterPanel(){return i(null),(0,_vue.nextTick)()},saveFilterPanelByEvent(e){return i(e),(0,_vue.nextTick)()},resetFilterPanel(){return t(null),(0,_vue.nextTick)()},resetFilterPanelByEvent(e){return t(e),(0,_vue.nextTick)()},getCheckedFilters(){var e=g.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e;let r=[],i=[];l&&l.length&&(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},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
|
|
@@ -422,12 +422,15 @@ function renderNativeOptgroups(renderOpts, params, renderOptionsMethods) {
|
|
|
422
422
|
} = renderOpts;
|
|
423
423
|
const groupOptions = optionGroupProps.options || 'options';
|
|
424
424
|
const groupLabel = optionGroupProps.label || 'label';
|
|
425
|
-
|
|
426
|
-
return (
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
425
|
+
if (optionGroups) {
|
|
426
|
+
return optionGroups.map((group, gIndex) => {
|
|
427
|
+
return (0, _vue.h)('optgroup', {
|
|
428
|
+
key: gIndex,
|
|
429
|
+
label: group[groupLabel]
|
|
430
|
+
}, renderOptionsMethods(group[groupOptions], renderOpts, params));
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
return [];
|
|
431
434
|
}
|
|
432
435
|
/**
|
|
433
436
|
* 渲染原生的 option 标签
|
|
@@ -444,15 +447,18 @@ function renderNativeOptions(options, renderOpts, params) {
|
|
|
444
447
|
const valueProp = optionProps.value || 'value';
|
|
445
448
|
const disabledProp = optionProps.disabled || 'disabled';
|
|
446
449
|
const cellValue = isImmediateCell(renderOpts, params) ? (0, _util.getCellValue)(row, column) : column.model.value;
|
|
447
|
-
|
|
448
|
-
return
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
450
|
+
if (options) {
|
|
451
|
+
return options.map((option, oIndex) => {
|
|
452
|
+
return (0, _vue.h)('option', {
|
|
453
|
+
key: oIndex,
|
|
454
|
+
value: option[valueProp],
|
|
455
|
+
disabled: option[disabledProp],
|
|
456
|
+
/* eslint-disable eqeqeq */
|
|
457
|
+
selected: option[valueProp] == cellValue
|
|
458
|
+
}, option[labelProp]);
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
return [];
|
|
456
462
|
}
|
|
457
463
|
function nativeFilterRender(renderOpts, params) {
|
|
458
464
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n))):[]}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o])):[]}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Ge=(0,_vue.inject)("$xeTable",{}),{xID:z,props:We,context:$,reactData:Pe,internalData:Ve}=Ge,{computeEditOpts:Xe,computeMouseOpts:Ke,computeCellOffsetWidth:Ye,computeAreaOpts:Je,computeDefaultRowHeight:Qe,computeEmptyOpts:A,computeTooltipOpts:Ze,computeRadioOpts:e,computeExpandOpts:oe,computeTreeOpts:p,computeCheckboxOpts:el,computeCellOpts:ll,computeValidOpts:tl,computeRowOpts:al,computeColumnOpts:rl,computeRowDragOpts:ol,computeColumnDragOpts:l,computeResizableOpts:il,computeVirtualXOpts:sl,computeVirtualYOpts:dl}=Ge.getComputeMaps(),q=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),nl=()=>{var e=We.delayHover,{lastScrollTime:l,isDragResize:t}=Pe;return!!(t||l&&Date.now()<l+e)},ul=(e,l,t)=>{var{row:a,column:r}=l,o=Ve.afterFullData,i=We.treeConfig,s=p.value,{slots:r,treeNode:n}=r,d=Ve.fullAllDataRowIdData;if(r&&r.line)return Ge.callSlot(r.line,l);r=d[e];let u=0,c=null;return r&&(u=r.level,c=r.items[r.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ge.eqRow(o[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ge):0)+16+"px"}})])]:[]},se=(q,e,l,F,H,t,a,U,r,o,L,j,i)=>{var s=Ge.xeGrid,{columnKey:N,resizable:n,showOverflow:d,border:B,height:u,treeConfig:G,cellClassName:W,cellStyle:P,align:V,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=We,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:x,mergeBodyFlag:le,calcCellHeightFlag:h,resizeHeightFlag:m,resizeWidthFlag:te,editStore:ae,isAllOverflow:re,validErrorMaps:w}=Pe,{fullAllDataRowIdData:f,fullColumnIdData:_,mergeBodyCellMaps:oe,visibleColumn:ie,afterFullData:se,mergeBodyList:ne,scrollXStore:de,scrollYStore:ue}=Ve,ce=ll.value,b=tl.value,pe=el.value,ve=Xe.value,y=Ze.value,ge=il.value,xe=sl.value,he=dl.value,{isAllColumnDrag:ge,isAllRowDrag:me}=ge,C=al.value,D=ol.value,we=Qe.value,h=h?ce.height||C.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:_e}=D,be=rl.value,ye=Ke.value,Ce=Je.value,De=Ye.value,Ce=Ce.selectCellToRow,{type:Re,cellRender:Ee,editRender:Oe,align:Ie,showOverflow:Se,className:Me,treeNode:ke,rowResize:Te,padding:E,verticalAlign:O,slots:ze}=o,I=ce.verticalAlign,ae=ae.actived,f=f[e]||{},S=o.id,_=_[S]||{},M=Oe||Ee,M=M?renderer.get(M.name):null,$e=M?M.tableCellClassName||M.cellClassName:null,Ae=M?M.tableCellStyle||M.cellStyle:"";let qe=y.showAll;var Fe=_.index,y=_._index,_=(0,_utils.isEnableConf)(Oe),m=m?f.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===v?ce.padding:v:E,v=_xeUtils.default.eqNull(Se)?d:Se,E="ellipsis"===v;let T="title"===v,z=!0===v||"tooltip"===v;d=re||T||z||E,Se=_xeUtils.default.isBoolean(o.resizable)?o.resizable:be.resizable||n,v=!!h,n=0<m;let He;h={},m=Ie||(M?M.tableCellAlign:"")||V,Ie=_xeUtils.default.eqNull(O)?I:O,M=w[e+":"+S],V=c&&b.showMessage&&("default"===b.message?u||1<g.length:"inline"===b.message),I={colid:S};let $={$table:Ge,$grid:s,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:a,$rowIndex:U,_rowIndex:r,column:o,columnIndex:Fe,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:H,visibleData:se,data:g,items:i},A=!1,Ue=!1,Le=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(Ue=!(!R||!R($))),(T||z||qe||p)&&(h.onMouseenter=e=>{nl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||qe)&&Ge.triggerBodyTooltipEvent(e,$),Ge.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(z||qe||p)&&(h.onMouseleave=e=>{nl()||((z||qe)&&Ge.handleTargetLeaveEvent(e),Ge.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(A||pe.range||K)&&(h.onMousedown=e=>{Ge.triggerCellMousedownEvent(e,$)}),A&&(h.onMouseup=Ge.triggerCellMouseupEvent),h.onClick=e=>{Ge.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Ge.triggerCellDblclickEvent(e,$)}));if(le&&ne.length){O=oe[r+":"+y];if(O){var{rowspan:w,colspan:c}=O;if(!w||!c)return null;1<w&&(Le=!0,I.rowspan=w),1<c&&(Le=!0,I.colspan=c)}}else if(X){var{rowspan:u=1,colspan:s=1}=X($)||{};if(!u||!s)return null;1<u&&(I.rowspan=u),1<s&&(I.colspan=s)}!(k=k&&Le&&(1<I.colspan||1<I.rowspan)?!1:k)&&Y&&(Oe||Ee)&&(ve.showStatus||ve.showUpdateStatus)&&(He=Ge.isUpdateByRow(t,o.field));q=x&&!d,a=f.resizeHeight||ce.height||C.height||f.height||we,U=L===j.length-1,se=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let je=!1;Le||J&&(0,_util.getRowid)(Ge,J)===e||(x&&!G&&!he.immediate&&(r<ue.visibleStartIndex-ue.preloadSize||r>ue.visibleEndIndex+ue.preloadSize)||ee&&!xe.immediate&&!o.fixed&&(y<de.visibleStartIndex-de.preloadSize||y>de.visibleEndIndex+de.preloadSize))&&(je=!0);g={};if(d&&te){let l=I.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=ie[Fe+e];Ne&&(l+=Ne.renderWidth)}g.width=o.renderWidth-De*l+"px"}x||d||v||n?g.height=a+"px":g.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g})):(i.push(...ul(e,$,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g,title:T?Ge.getCellLabel(t,o):null},je?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell($))])),V&&M&&(D=M.rule,R=ze?ze.valid:null,p=Object.assign(Object.assign(Object.assign({},$),M),{rule:M}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,p)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?Ge.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},M.content)]])]))));let Be=!1;return K&&ye.area&&Ce&&((y||!0!==Ce)&&Ce!==o.field||(Be=!0)),!k&&Se&&ge&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!B||"none"===B}],onMousedown:e=>Ge.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Ge.handleColResizeDblclickEvent(e,$)})),(Te||me)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ge.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Ge.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ie?"col--vertical-"+Ie:"",m?"col--"+m:"",Re?"col--"+Re:"",{"col--last":U,"col--tree-node":ke,"col--edit":_,"col--ellipsis":d,"col--cs-height":v,"col--rs-height":n,"col--to-row":Be,"col--auto-height":q,"fixed--width":!se,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||je,"is--drag-cell":A&&(fe||_e||!H),"is--drag-disabled":Ue,"col--dirty":He,"col--active":Y&&_&&ae.row===t&&(ae.column===o||"row"===ve.mode),"col--valid-error":!!M,"col--current":Z===o},(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(Me,$),(0,_dom.getPropClass)(W,$)],key:N||ee||x||be.useKey||C.useKey||be.drag?S:L},I),{style:Object.assign({},_xeUtils.default.isFunction(Ae)?Ae($):Ae,_xeUtils.default.isFunction(P)?P($):P)}),h),F&&k?[]:i)},ie=(h,m,w,f)=>{let _=Ge.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=We,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:k,scrollYLoad:T,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,isDragColMove:H,rowExpandHeightFlag:U,isRowGroupStatus:L}=Pe,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ve,Q=el.value,Z=e.value,P=p.value,V=Xe.value,X=al.value,K=rl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ge).handleGetRowId,re=O||L;return w.forEach((a,r)=>{let o=ae(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{nl()||Ge.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{nl()||Ge.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ge,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=A&&!!$&&!!W[o];let e=!1,l=[],t=!1;E&&(t=Ge.isInsertByRow(a)),!O||T||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[o]),!X.drag||L||O&&!Y||(p.onDragstart=Ge.handleRowDragDragstartEvent,p.onDragend=Ge.handleRowDragDragendEvent,p.onDragover=Ge.handleRowDragDragoverEvent);c=["vxe-body--row",re?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ge.eqRow(q,a),"row--checked":Q.highlight&&Ge.isCheckedByCheckboxRow(a),"row--pending":!!F&&!!G[o],"row--group":c},(0,_dom.getPropClass)(D,v)];let x=f.map((e,l)=>se(d,o,h,m,n,a,s,r,u,e,l,f,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(H?"":"-disabled"),tag:"tr",class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=oe.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:f.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:_,$table:Ge,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:f.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,f))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=F,l[e+"table"]=H,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ge.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=We,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:f}=Pe,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:y}=Ve,C=al.value,D=A.value,R=Ke.value,E=ol.value,O=oe.value;let I=d,S=r,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||o||i||(M=!0),c||!a&&p||(S=_),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ge,w)])&&(x=d._index,m=I[0],O=I[I.length-1],o=b[(0,_util.getRowid)(Ge,m)],i=b[(0,_util.getRowid)(Ge,O)],o)&&i&&(p=o._index,_=i._index,x<p?I=[w].concat(I):_<x&&(I=I.concat([w]))),a||n||v&&f&&2<S.length&&(g=y[f.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],o=y[b.id],O)&&o&&(i=O._index,p=o._index,d<i?S=[f].concat(S):p<d&&(S=S.concat([f])));let k;_=e?e.empty:null,k=_?Ge.callSlot(_,{$table:Ge,$grid:l}):(w=(x=D.name?renderer.get(D.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(D,{$table:Ge})):We.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ge.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:F,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ge):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:H,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ge.triggerCellAreaExtendMousedownEvent&&Ge.triggerCellAreaExtendMousedownEvent(e,{$table:Ge,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ge),a?renderEmptyElement(Ge):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Ge=(0,_vue.inject)("$xeTable",{}),{xID:z,props:We,context:$,reactData:Pe,internalData:Ve}=Ge,{computeEditOpts:Xe,computeMouseOpts:Ke,computeCellOffsetWidth:Ye,computeAreaOpts:Je,computeDefaultRowHeight:Qe,computeEmptyOpts:A,computeTooltipOpts:Ze,computeRadioOpts:e,computeExpandOpts:oe,computeTreeOpts:p,computeCheckboxOpts:el,computeCellOpts:ll,computeValidOpts:tl,computeRowOpts:al,computeColumnOpts:rl,computeRowDragOpts:ol,computeColumnDragOpts:l,computeResizableOpts:il,computeVirtualXOpts:sl,computeVirtualYOpts:dl}=Ge.getComputeMaps(),q=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),nl=()=>{var e=We.delayHover,{lastScrollTime:l,isDragResize:t}=Pe;return!!(t||l&&Date.now()<l+e)},ul=(e,l,t)=>{var{row:a,column:r}=l,o=Ve.afterFullData,i=We.treeConfig,s=p.value,{slots:r,treeNode:n}=r,d=Ve.fullAllDataRowIdData;if(r&&r.line)return Ge.callSlot(r.line,l);r=d[e];let u=0,c=null;return r&&(u=r.level,c=r.items[r.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ge.eqRow(o[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ge):0)+16+"px"}})])]:[]},se=(q,e,l,F,H,t,a,U,r,o,L,j,i)=>{var s=Ge.xeGrid,{columnKey:N,resizable:n,showOverflow:d,border:B,height:u,treeConfig:G,cellClassName:W,cellStyle:P,align:V,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=We,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:x,mergeBodyFlag:le,calcCellHeightFlag:h,resizeHeightFlag:m,resizeWidthFlag:te,editStore:ae,isAllOverflow:re,validErrorMaps:w}=Pe,{fullAllDataRowIdData:f,fullColumnIdData:_,mergeBodyCellMaps:oe,visibleColumn:ie,afterFullData:se,mergeBodyList:ne,scrollXStore:de,scrollYStore:ue}=Ve,ce=ll.value,b=tl.value,pe=el.value,ve=Xe.value,y=Ze.value,ge=il.value,xe=sl.value,he=dl.value,{isAllColumnDrag:ge,isAllRowDrag:me}=ge,C=al.value,D=ol.value,we=Qe.value,h=h?ce.height||C.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:_e}=D,be=rl.value,ye=Ke.value,Ce=Je.value,De=Ye.value,Ce=Ce.selectCellToRow,{type:Re,cellRender:Ee,editRender:Oe,align:Ie,showOverflow:Se,className:Me,treeNode:ke,rowResize:Te,padding:E,verticalAlign:O,slots:ze}=o,I=ce.verticalAlign,ae=ae.actived,f=f[e]||{},S=o.id,_=_[S]||{},M=Oe||Ee,M=M?renderer.get(M.name):null,$e=M?M.tableCellClassName||M.cellClassName:null,Ae=M?M.tableCellStyle||M.cellStyle:"";let qe=y.showAll;var Fe=_.index,y=_._index,_=(0,_utils.isEnableConf)(Oe),m=m?f.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===v?ce.padding:v:E,v=_xeUtils.default.eqNull(Se)?d:Se,E="ellipsis"===v;let T="title"===v,z=!0===v||"tooltip"===v;d=re||T||z||E,Se=_xeUtils.default.isBoolean(o.resizable)?o.resizable:be.resizable||n,v=!!h,n=0<m;let He;h={},m=Ie||(M?M.tableCellAlign:"")||V,Ie=_xeUtils.default.eqNull(O)?I:O,M=w[e+":"+S],V=c&&b.showMessage&&("default"===b.message?u||1<g.length:"inline"===b.message),I={colid:S};let $={$table:Ge,$grid:s,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:a,$rowIndex:U,_rowIndex:r,column:o,columnIndex:Fe,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:H,visibleData:se,data:g,items:i},A=!1,Ue=!1,Le=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(Ue=!(!R||!R($))),(T||z||qe||p)&&(h.onMouseenter=e=>{nl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||qe)&&Ge.triggerBodyTooltipEvent(e,$),Ge.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(z||qe||p)&&(h.onMouseleave=e=>{nl()||((z||qe)&&Ge.handleTargetLeaveEvent(e),Ge.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(A||pe.range||K)&&(h.onMousedown=e=>{Ge.triggerCellMousedownEvent(e,$)}),A&&(h.onMouseup=Ge.triggerCellMouseupEvent),h.onClick=e=>{Ge.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Ge.triggerCellDblclickEvent(e,$)}));if(le&&ne.length){O=oe[r+":"+y];if(O){var{rowspan:w,colspan:c}=O;if(!w||!c)return null;1<w&&(Le=!0,I.rowspan=w),1<c&&(Le=!0,I.colspan=c)}}else if(X){var{rowspan:u=1,colspan:s=1}=X($)||{};if(!u||!s)return null;1<u&&(I.rowspan=u),1<s&&(I.colspan=s)}!(k=k&&Le&&(1<I.colspan||1<I.rowspan)?!1:k)&&Y&&(Oe||Ee)&&(ve.showStatus||ve.showUpdateStatus)&&(He=Ge.isUpdateByRow(t,o.field));q=x&&!d,a=f.resizeHeight||ce.height||C.height||f.height||we,U=L===j.length-1,se=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let je=!1;Le||J&&(0,_util.getRowid)(Ge,J)===e||(x&&!G&&!he.immediate&&(r<ue.visibleStartIndex-ue.preloadSize||r>ue.visibleEndIndex+ue.preloadSize)||ee&&!xe.immediate&&!o.fixed&&(y<de.visibleStartIndex-de.preloadSize||y>de.visibleEndIndex+de.preloadSize))&&(je=!0);g={};if(d&&te){let l=I.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=ie[Fe+e];Ne&&(l+=Ne.renderWidth)}g.width=o.renderWidth-De*l+"px"}x||d||v||n?g.height=a+"px":g.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g})):(i.push(...ul(e,$,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g,title:T?Ge.getCellLabel(t,o):null},je?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell($))])),V&&M&&(D=M.rule,R=ze?ze.valid:null,p=Object.assign(Object.assign(Object.assign({},$),M),{rule:M}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,p)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?Ge.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},M.content)]])]))));let Be=!1;return K&&ye.area&&Ce&&((y||!0!==Ce)&&Ce!==o.field||(Be=!0)),!k&&Se&&ge&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!B||"none"===B}],onMousedown:e=>Ge.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Ge.handleColResizeDblclickEvent(e,$)})),(Te||me)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ge.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Ge.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ie?"col--vertical-"+Ie:"",m?"col--"+m:"",Re?"col--"+Re:"",{"col--last":U,"col--tree-node":ke,"col--edit":_,"col--ellipsis":d,"col--cs-height":v,"col--rs-height":n,"col--to-row":Be,"col--auto-height":q,"fixed--width":!se,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||je,"is--drag-cell":A&&(fe||_e||!H),"is--drag-disabled":Ue,"col--dirty":He,"col--active":Y&&_&&ae.row===t&&(ae.column===o||"row"===ve.mode),"col--valid-error":!!M,"col--current":Z===o},(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(Me,$),(0,_dom.getPropClass)(W,$)],key:N||ee||x||be.useKey||C.useKey||be.drag?S:L},I),{style:Object.assign({},_xeUtils.default.isFunction(Ae)?Ae($):Ae,_xeUtils.default.isFunction(P)?P($):P)}),h),F&&k?[]:i)},ie=(h,m,w,f)=>{let _=Ge.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=We,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:k,scrollYLoad:T,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,isDragColMove:H,rowExpandHeightFlag:U,isRowGroupStatus:L}=Pe,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ve,Q=el.value,Z=e.value,P=p.value,V=Xe.value,X=al.value,K=rl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ge).handleGetRowId,re=O||L;return w.forEach((a,r)=>{let o=ae(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{nl()||Ge.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{nl()||Ge.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ge,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=A&&!!$&&!!W[o];let e=!1,l=[],t=!1;E&&(t=Ge.isInsertByRow(a)),!O||T||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[o]),!X.drag||L||O&&!Y||(p.onDragstart=Ge.handleRowDragDragstartEvent,p.onDragend=Ge.handleRowDragDragendEvent,p.onDragover=Ge.handleRowDragDragoverEvent);c=["vxe-body--row",re?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ge.eqRow(q,a),"row--checked":Q.highlight&&Ge.isCheckedByCheckboxRow(a),"row--pending":!!F&&!!G[o],"row--group":c},(0,_dom.getPropClass)(D,v)];let x=f.map((e,l)=>se(d,o,h,m,n,a,s,r,u,e,l,f,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(H?"":"-disabled"),tag:"tr",class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=oe.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:f.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:_,$table:Ge,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:f.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,f))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=F,l[e+"table"]=H,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ge.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=We,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:f}=Pe,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:y}=Ve,C=al.value,D=A.value,R=Ke.value,E=ol.value,O=oe.value;let I=d,S=r,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||o||i||(M=!0),c||!a&&p||(S=_),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ge,w)])&&(x=d._index,m=I[0],O=I[I.length-1],o=b[(0,_util.getRowid)(Ge,m)],i=b[(0,_util.getRowid)(Ge,O)],o)&&i&&(p=o._index,_=i._index,x<p?I=[w].concat(I):_<x&&(I=I.concat([w]))),a||n||v&&f&&2<S.length&&(g=y[f.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],o=y[b.id],O)&&o&&(i=O._index,p=o._index,d<i?S=[f].concat(S):p<d&&(S=S.concat([f])));let k;_=e?e.empty:null,k=_?Ge.callSlot(_,{$table:Ge,$grid:l}):(w=(x=D.name?renderer.get(D.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(D,{$table:Ge})):We.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ge.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:F,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ge):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:H,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ge.triggerCellAreaExtendMousedownEvent&&Ge.triggerCellAreaExtendMousedownEvent(e,{$table:Ge,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ge),a?renderEmptyElement(Ge):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -704,13 +704,9 @@ fullList=handleVirtualTreeToList();}const tableData=scrollYLoad?fullList.slice(s
|
|
|
704
704
|
const fullDataRowIdMaps={};const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;_xeUtils.default.eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(treeConfig&&lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:childrenField});}else if(isRowGroupStatus){const rowGroupOpts=computeRowGroupOpts.value;const{mapChildrenField}=rowGroupOpts;_xeUtils.default.eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=_xeUtils.default.clone(fullData,true);const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
|
|
705
705
|
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;_xeUtils.default.eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},/**
|
|
706
706
|
* 指定列宽的列进行拆分
|
|
707
|
-
*/analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if((0,_dom.isPx)(column.width)){pxList.push(column);}else if((0,_dom.isScale)(column.width)){scaleList.push(column);}else if((0,_dom.isPx)(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if((0,_dom.isScale)(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{overflowX,scrollbarHeight}=reactData;const{elemStore,visibleColumn}=internalData;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const
|
|
708
|
-
|
|
709
|
-
let
|
|
710
|
-
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const tableHeight=tableEl.clientHeight;const offsetX=evnt.clientX-dragClientX;let left=dragPosLeft+offsetX;const scrollLeft=fixedType?0:bodyScrollElem.scrollLeft;if(isLeftFixed){// 左固定列(不允许超过右侧固定列、不允许超过右边距)
|
|
711
|
-
left=Math.min(left,(rightContainerElem?rightContainerElem.offsetLeft:bodyScrollElem.clientWidth)-fixedOffsetWidth-minInterval);}else if(isRightFixed){// 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
|
|
712
|
-
dragMinLeft=(leftContainerElem?leftContainerElem.clientWidth:0)+fixedOffsetWidth+minInterval;left=Math.min(left,dragPosLeft+cell.clientWidth-minInterval);}else{dragMinLeft=Math.max(bodyScrollElem.scrollLeft,dragMinLeft);// left = Math.min(left, bodyScrollElem.clientWidth + bodyScrollElem.scrollLeft - 40)
|
|
713
|
-
}dragLeft=Math.max(left,dragMinLeft);const resizeBarLeft=Math.max(1,dragLeft-scrollLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeColTip',[resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft)]);const tableWrapperWidth=tableEl.clientWidth;const wrapperRect=wrapperElem.getBoundingClientRect();const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-wrapperRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}(0,_dom.removeClass)(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});const colMinWidth=(0,_util.getColReMinWidth)(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},handleRowResizeMousedownEvent(evnt,params){evnt.stopPropagation();evnt.preventDefault();const{row}=params;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=computeScrollbarYToLeft.value;const resizableOpts=computeResizableOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const tableEl=refElem.value;const resizeBarElem=refRowResizeBar.value;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=computeDefaultRowHeight.value;const currCellHeight=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(_xeUtils.default.toNumber(cellStyle.paddingTop)+_xeUtils.default.toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
|
|
707
|
+
*/analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if((0,_dom.isPx)(column.width)){pxList.push(column);}else if((0,_dom.isScale)(column.width)){scaleList.push(column);}else if((0,_dom.isPx)(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if((0,_dom.isScale)(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{columnStore,overflowX,scrollbarHeight}=reactData;const{elemStore,visibleColumn}=internalData;const{leftList,rightList}=columnStore;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const dragBtnElem=evnt.target;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});let dragLeft=0;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const tableRect=tableEl.getBoundingClientRect();const rightContainerRect=rightContainerElem?rightContainerElem.getBoundingClientRect():null;const cellRect=cell.getBoundingClientRect();const dragBtnRect=dragBtnElem.getBoundingClientRect();const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=Math.floor(dragBtnWidth/2);const dragPosLeft=dragBtnRect.x-tableRect.x+dragBtnOffsetWidth;const minInterval=(0,_util.getColReMinWidth)(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
|
|
708
|
+
const dragMinLeft=isRightFixed?0:cellRect.x-tableRect.x+dragBtnWidth+minInterval;const dragMaxLeft=cellRect.x-tableRect.x+cell.clientWidth-minInterval;let fixedLeftRemainWidth=0;let fixedRightRemainWidth=0;if(isLeftFixed||isRightFixed){let isMach=false;const fixedColumn=isLeftFixed?leftList:rightList;for(let i=0;i<fixedColumn.length;i++){const item=fixedColumn[i];if(isMach){fixedLeftRemainWidth+=item.renderWidth;}else{isMach=item.id===resizeColumn.id;if(!isMach){fixedRightRemainWidth+=item.renderWidth;}}}}// 处理拖动事件
|
|
709
|
+
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const tableHeight=tableEl.clientHeight;const offsetX=evnt.clientX-dragClientX;let left=dragPosLeft+offsetX;if(isLeftFixed){if(rightContainerRect){left=Math.min(left,rightContainerRect.x-tableRect.x-fixedLeftRemainWidth-minInterval);}}else if(isRightFixed){if(leftContainerElem){left=Math.max(left,leftContainerElem.clientWidth+fixedRightRemainWidth+minInterval);}left=Math.min(left,dragMaxLeft);}dragLeft=Math.max(left,dragMinLeft);const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}(0,_dom.removeClass)(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});const colMinWidth=(0,_util.getColReMinWidth)(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},handleRowResizeMousedownEvent(evnt,params){evnt.stopPropagation();evnt.preventDefault();const{row}=params;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=computeScrollbarYToLeft.value;const resizableOpts=computeResizableOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const tableEl=refElem.value;const resizeBarElem=refRowResizeBar.value;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=computeDefaultRowHeight.value;const currCellHeight=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(_xeUtils.default.toNumber(cellStyle.paddingTop)+_xeUtils.default.toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
|
|
714
710
|
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}(0,_dom.removeClass)(tableEl,'row-drag--resize');};updateEvent(evnt);},handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowRest,el);el.removeAttribute('data-calc-row');const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{});const isCustomResizable=isAllCustom||storageOpts.resizable;const isCustomVisible=isAllCustom||storageOpts.visible;const isCustomFixed=isAllCustom||storageOpts.fixed;const isCustomSort=isAllCustom||storageOpts.sort;if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
|
|
715
711
|
reactData.isCustomStatus=true;}if((customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort)){if(!tableId){(0,_log.errLog)('vxe.error.reqProp',['id']);return(0,_vue.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:{},visibleData:{},fixedData:{}}:tableMethods.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return(0,_vue.nextTick)();},handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}tablePrivateMethods.analyColumnWidth();return tableMethods.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},preventEvent(evnt,type,args,next,end){let evntList=interceptor.get(type);// 兼容老版本
|
|
716
712
|
if(!evntList.length&&type==='event.clearEdit'){evntList=interceptor.get('event.clearActived');if(process.env.NODE_ENV==='development'){if(evntList.length){(0,_log.warnLog)('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}}// 兼容老版本
|
|
@@ -770,7 +766,7 @@ if((0,_utils.isEnableConf)(editConfig)&&editOpts.trigger==='dblclick'){if(active
|
|
|
770
766
|
* 多选,选中所有事件
|
|
771
767
|
*/triggerCheckAllEvent(evnt,value){const checkboxOpts=computeCheckboxOpts.value;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}handleCheckAllEvent(evnt,value);},/**
|
|
772
768
|
* 单选,行选中事件
|
|
773
|
-
*/triggerRadioRowEvent(evnt,params){const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=computeRadioOpts.value;const{trigger}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow(newValue);}else if(!radioOpts.strict){isChange=oldValue===newValue;if(isChange){newValue=null;$xeTable.clearRadioRow();}}if(isChange){dispatchEvent('radio-change',Object.assign({oldValue,newValue},params),evnt);}},triggerCurrentColumnEvent(evnt,params){const{currentColumn:oldValue}=reactData;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;const{column:newValue}=params;const{trigger}=currentColumnOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({column:newValue,$table:$xeTable})){$xeTable.setCurrentColumn(newValue);if(isChange){dispatchEvent('current-column-change',Object.assign({oldValue,newValue},params),evnt);}}else{dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const{currentRow:oldValue}=reactData;const rowOpts=computeRowOpts.value;const currentRowOpts=computeCurrentRowOpts.value;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;const{row:newValue}=params;const{trigger}=currentRowOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({row:newValue,$table:$xeTable})){$xeTable.setCurrentRow(newValue);if(isChange){dispatchEvent('current-row-change',Object.assign({oldValue,newValue},params),evnt);// 已废弃
|
|
769
|
+
*/triggerRadioRowEvent(evnt,params){const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=computeRadioOpts.value;const{trigger,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow(newValue);}else if(!radioOpts.strict){isChange=oldValue===newValue;if(isChange){newValue=null;$xeTable.clearRadioRow();}}if(isChange){dispatchEvent('radio-change',Object.assign({oldValue,newValue},params),evnt);}}},triggerCurrentColumnEvent(evnt,params){const{currentColumn:oldValue}=reactData;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;const{column:newValue}=params;const{trigger}=currentColumnOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({column:newValue,$table:$xeTable})){$xeTable.setCurrentColumn(newValue);if(isChange){dispatchEvent('current-column-change',Object.assign({oldValue,newValue},params),evnt);}}else{dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const{currentRow:oldValue}=reactData;const rowOpts=computeRowOpts.value;const currentRowOpts=computeCurrentRowOpts.value;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;const{row:newValue}=params;const{trigger}=currentRowOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({row:newValue,$table:$xeTable})){$xeTable.setCurrentRow(newValue);if(isChange){dispatchEvent('current-row-change',Object.assign({oldValue,newValue},params),evnt);// 已废弃
|
|
774
770
|
dispatchEvent('current-change',Object.assign({oldValue,newValue},params),evnt);}}else{dispatchEvent('current-row-disabled',params,evnt);}},/**
|
|
775
771
|
* 展开行事件
|
|
776
772
|
*/triggerRowExpandEvent(evnt,params){const{expandColumn}=reactData;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=computeExpandOpts.value;const{row}=params;const{lazy,trigger}=expandOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=(0,_util.getRowid)($xeTable,row);if(!lazy||!rowExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isRowExpandByRow(row);const columnIndex=expandColumn?$xeTable.getColumnIndex(expandColumn):-1;const $columnIndex=expandColumn?$xeTable.getVMColumnIndex(expandColumn):-1;$xeTable.setRowExpand(row,expanded);dispatchEvent('toggle-row-expand',{expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)},evnt);}},/**
|
|
@@ -883,7 +879,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
|
|
|
883
879
|
// if (checkboxColumn && internalData.tableFullData.length > 300 && !checkboxOpts.checkField) {
|
|
884
880
|
// warnLog('vxe.error.checkProp', ['checkbox-config.checkField'])
|
|
885
881
|
// }
|
|
886
|
-
if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){(0,_log.warnLog)('vxe.error.scrollErrProp',['column.type=expand']);}return tableMethods.recalculate();});});const staticColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.staticColumns.length,()=>{staticColumnFlag.value++;});(0,_vue.watch)(()=>reactData.staticColumns,()=>{staticColumnFlag.value++;});(0,_vue.watch)(staticColumnFlag,()=>{handleColumn(_xeUtils.default.clone(reactData.staticColumns));});const tableColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.tableColumn.length,()=>{tableColumnFlag.value++;});(0,_vue.watch)(()=>reactData.tableColumn,()=>{tableColumnFlag.value++;});(0,_vue.watch)(tableColumnFlag,()=>{tablePrivateMethods.analyColumnWidth();});(0,_vue.watch)(()=>reactData.upDataFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.updateData();});});(0,_vue.watch)(()=>reactData.reColumnFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.refreshColumn();});});const reScrollFlag=(0,_vue.ref)(0);(0,_vue.watch)(computeSize,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>props.showHeader,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>props.showFooter,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>reactData.overflowX,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>reactData.overflowY,()=>{reScrollFlag.value++;});(0,_vue.watch)(reScrollFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.recalculate(true).then(()=>tableMethods.refreshScroll());});});const reLayoutFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.height,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.maxHeight,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarXToTop,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarYToLeft,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>_ui.VxeUI.getLanguage(),()=>{reLayoutFlag.value++;});(0,_vue.watch)(reLayoutFlag,()=>{(0,_vue.nextTick)(()=>tableMethods.recalculate(true));});const footFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.footerData?props.footerData.length:-1,()=>{footFlag.value++;});(0,_vue.watch)(()=>props.footerData,()=>{footFlag.value++;});(0,_vue.watch)(footFlag,()=>{tableMethods.updateFooter();});(0,_vue.watch)(()=>props.syncResize,value=>{if(value){handleUpdateResize();(0,_vue.nextTick)(()=>{handleUpdateResize();setTimeout(()=>handleUpdateResize());});}});const mergeCellFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeCells?props.mergeCells.length:-1,()=>{mergeCellFlag.value++;});(0,_vue.watch)(()=>props.mergeCells,()=>{mergeCellFlag.value++;});(0,_vue.watch)(mergeCellFlag,()=>{tableMethods.clearMergeCells();(0,_vue.nextTick)(()=>{if(props.mergeCells){tableMethods.setMergeCells(props.mergeCells);}});});const mergeFooterItemFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeFooterItems?props.mergeFooterItems.length:-1,()=>{mergeFooterItemFlag.value++;});(0,_vue.watch)(()=>props.mergeFooterItems,()=>{mergeFooterItemFlag.value++;});(0,_vue.watch)(mergeFooterItemFlag,()=>{tableMethods.clearMergeFooterItems();(0,_vue.nextTick)(()=>{if(props.mergeFooterItems){tableMethods.setMergeFooterItems(props.mergeFooterItems);}});});(0,_vue.watch)(computeRowGroupFields,val=>{handleUpdateRowGroup(val);});if($xeTabs){(0,_vue.watch)(()=>$xeTabs?$xeTabs.reactData.resizeFlag:null,()=>{handleGlobalResizeEvent();});}hooks.forEach(options=>{const{setupTable}=options;if(setupTable){const hookRest=setupTable($xeTable);if(hookRest&&_xeUtils.default.isObject(hookRest)){Object.assign($xeTable,hookRest);}}});tablePrivateMethods.preventEvent(null,'created',{$table:$xeTable});let resizeObserver;(0,_vue.onActivated)(()=>{tableMethods.recalculate().then(()=>tableMethods.refreshScroll());tablePrivateMethods.preventEvent(null,'activated',{$table:$xeTable});});(0,_vue.onDeactivated)(()=>{internalData.isActivated=false;tablePrivateMethods.preventEvent(null,'deactivated',{$table:$xeTable});});(0,_vue.onMounted)(()=>{const columnOpts=computeColumnOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const rowGroupOpts=computeRowGroupOpts.value;const{groupFields}=rowGroupOpts;if(columnOpts.drag||rowOpts.drag||customOpts.allowSort){(0,_dom.initTpImg)();}handleUpdateRowGroup(groupFields);(0,_vue.nextTick)(()=>{const{data,exportConfig,importConfig,treeConfig,showOverflow,highlightCurrentRow,highlightCurrentColumn}=props;const{scrollXStore,scrollYStore}=internalData;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const mouseOpts=computeMouseOpts.value;const exportOpts=computeExportOpts.value;const importOpts=computeImportOpts.value;const currentRowOpts=computeCurrentRowOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const keyboardOpts=computeKeyboardOpts.value;if(props.rowId){(0,_log.warnLog)('vxe.error.delProp',['row-id','row-config.keyField']);}if(props.rowKey){(0,_log.warnLog)('vxe.error.delProp',['row-key','row-config.useKey']);}if(props.columnKey){(0,_log.warnLog)('vxe.error.delProp',['column-id','column-config.useKey']);}if(!(props.rowId||rowOpts.keyField)&&(checkboxOpts.reserve||checkboxOpts.checkRowKeys||radioOpts.reserve||radioOpts.checkRowKey||expandOpts.expandRowKeys||treeOpts.expandRowKeys)){(0,_log.warnLog)('vxe.error.reqProp',['row-config.keyField']);}if(props.editConfig&&(editOpts.showStatus||editOpts.showUpdateStatus||editOpts.showInsertStatus)&&!props.keepSource){(0,_log.warnLog)('vxe.error.reqProp',['keep-source']);}if(treeConfig&&(treeOpts.showLine||treeOpts.line)
|
|
882
|
+
if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){(0,_log.warnLog)('vxe.error.scrollErrProp',['column.type=expand']);}return tableMethods.recalculate();});});const staticColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.staticColumns.length,()=>{staticColumnFlag.value++;});(0,_vue.watch)(()=>reactData.staticColumns,()=>{staticColumnFlag.value++;});(0,_vue.watch)(staticColumnFlag,()=>{handleColumn(_xeUtils.default.clone(reactData.staticColumns));});const tableColumnFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>reactData.tableColumn.length,()=>{tableColumnFlag.value++;});(0,_vue.watch)(()=>reactData.tableColumn,()=>{tableColumnFlag.value++;});(0,_vue.watch)(tableColumnFlag,()=>{tablePrivateMethods.analyColumnWidth();});(0,_vue.watch)(()=>reactData.upDataFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.updateData();});});(0,_vue.watch)(()=>reactData.reColumnFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.refreshColumn();});});const reScrollFlag=(0,_vue.ref)(0);(0,_vue.watch)(computeSize,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>props.showHeader,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>props.showFooter,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>reactData.overflowX,()=>{reScrollFlag.value++;});(0,_vue.watch)(()=>reactData.overflowY,()=>{reScrollFlag.value++;});(0,_vue.watch)(reScrollFlag,()=>{(0,_vue.nextTick)(()=>{tableMethods.recalculate(true).then(()=>tableMethods.refreshScroll());});});const reLayoutFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.height,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>props.maxHeight,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarXToTop,()=>{reLayoutFlag.value++;});(0,_vue.watch)(computeScrollbarYToLeft,()=>{reLayoutFlag.value++;});(0,_vue.watch)(()=>_ui.VxeUI.getLanguage(),()=>{reLayoutFlag.value++;});(0,_vue.watch)(reLayoutFlag,()=>{(0,_vue.nextTick)(()=>tableMethods.recalculate(true));});const footFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.footerData?props.footerData.length:-1,()=>{footFlag.value++;});(0,_vue.watch)(()=>props.footerData,()=>{footFlag.value++;});(0,_vue.watch)(footFlag,()=>{tableMethods.updateFooter();});(0,_vue.watch)(()=>props.syncResize,value=>{if(value){handleUpdateResize();(0,_vue.nextTick)(()=>{handleUpdateResize();setTimeout(()=>handleUpdateResize());});}});const mergeCellFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeCells?props.mergeCells.length:-1,()=>{mergeCellFlag.value++;});(0,_vue.watch)(()=>props.mergeCells,()=>{mergeCellFlag.value++;});(0,_vue.watch)(mergeCellFlag,()=>{tableMethods.clearMergeCells();(0,_vue.nextTick)(()=>{if(props.mergeCells){tableMethods.setMergeCells(props.mergeCells);}});});const mergeFooterItemFlag=(0,_vue.ref)(0);(0,_vue.watch)(()=>props.mergeFooterItems?props.mergeFooterItems.length:-1,()=>{mergeFooterItemFlag.value++;});(0,_vue.watch)(()=>props.mergeFooterItems,()=>{mergeFooterItemFlag.value++;});(0,_vue.watch)(mergeFooterItemFlag,()=>{tableMethods.clearMergeFooterItems();(0,_vue.nextTick)(()=>{if(props.mergeFooterItems){tableMethods.setMergeFooterItems(props.mergeFooterItems);}});});(0,_vue.watch)(computeRowGroupFields,val=>{handleUpdateRowGroup(val);});if($xeTabs){(0,_vue.watch)(()=>$xeTabs?$xeTabs.reactData.resizeFlag:null,()=>{handleGlobalResizeEvent();});}hooks.forEach(options=>{const{setupTable}=options;if(setupTable){const hookRest=setupTable($xeTable);if(hookRest&&_xeUtils.default.isObject(hookRest)){Object.assign($xeTable,hookRest);}}});tablePrivateMethods.preventEvent(null,'created',{$table:$xeTable});let resizeObserver;(0,_vue.onActivated)(()=>{tableMethods.recalculate().then(()=>tableMethods.refreshScroll());tablePrivateMethods.preventEvent(null,'activated',{$table:$xeTable});});(0,_vue.onDeactivated)(()=>{internalData.isActivated=false;tablePrivateMethods.preventEvent(null,'deactivated',{$table:$xeTable});});(0,_vue.onMounted)(()=>{const columnOpts=computeColumnOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const rowGroupOpts=computeRowGroupOpts.value;const{groupFields}=rowGroupOpts;if(columnOpts.drag||rowOpts.drag||customOpts.allowSort){(0,_dom.initTpImg)();}handleUpdateRowGroup(groupFields);(0,_vue.nextTick)(()=>{const{data,exportConfig,importConfig,treeConfig,showOverflow,highlightCurrentRow,highlightCurrentColumn}=props;const{scrollXStore,scrollYStore}=internalData;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const customOpts=computeCustomOpts.value;const mouseOpts=computeMouseOpts.value;const exportOpts=computeExportOpts.value;const importOpts=computeImportOpts.value;const currentRowOpts=computeCurrentRowOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const keyboardOpts=computeKeyboardOpts.value;if(props.rowId){(0,_log.warnLog)('vxe.error.delProp',['row-id','row-config.keyField']);}if(props.rowKey){(0,_log.warnLog)('vxe.error.delProp',['row-key','row-config.useKey']);}if(props.columnKey){(0,_log.warnLog)('vxe.error.delProp',['column-id','column-config.useKey']);}if(!(props.rowId||rowOpts.keyField)&&(checkboxOpts.reserve||checkboxOpts.checkRowKeys||radioOpts.reserve||radioOpts.checkRowKey||expandOpts.expandRowKeys||treeOpts.expandRowKeys)){(0,_log.warnLog)('vxe.error.reqProp',['row-config.keyField']);}if(props.editConfig&&(editOpts.showStatus||editOpts.showUpdateStatus||editOpts.showInsertStatus)&&!props.keepSource){(0,_log.warnLog)('vxe.error.reqProp',['keep-source']);}if(treeConfig&&(treeOpts.showLine||treeOpts.line)&&!showOverflow){(0,_log.warnLog)('vxe.error.reqProp',['show-overflow']);}if(treeConfig&&!treeOpts.transform&&props.stripe){(0,_log.warnLog)('vxe.error.noTree',['stripe']);}if(props.showFooter&&!(props.footerMethod||props.footerData)){(0,_log.warnLog)('vxe.error.reqProp',['footer-data | footer-method']);}if(rowOpts.height){(0,_log.warnLog)('vxe.error.delProp',['row-config.height','cell-config.height']);}if(props.highlightCurrentRow){(0,_log.warnLog)('vxe.error.delProp',['highlight-current-row','row-config.isCurrent']);}if(props.highlightHoverRow){(0,_log.warnLog)('vxe.error.delProp',['highlight-hover-row','row-config.isHover']);}if(props.highlightCurrentColumn){(0,_log.warnLog)('vxe.error.delProp',['highlight-current-column','column-config.isCurrent']);}if(props.highlightHoverColumn){(0,_log.warnLog)('vxe.error.delProp',['highlight-hover-column','column-config.isHover']);}if(props.resizable){(0,_log.warnLog)('vxe.error.delProp',['resizable','column-config.resizable']);}// if (props.scrollY) {
|
|
887
883
|
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
888
884
|
// }
|
|
889
885
|
// if (props.scrollX) {
|