vxe-table 4.7.92 → 4.7.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +28 -19
- package/es/table/src/body.js +1 -1
- package/es/table/src/footer.js +6 -2
- package/es/table/src/header.js +6 -2
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +57 -27
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +33 -19
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/body.js +1 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +10 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +10 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/custom/panel.ts +28 -19
- package/packages/table/src/body.ts +1 -1
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/header.ts +7 -2
- /package/es/{iconfont.1729312019466.ttf → iconfont.1729564536280.ttf} +0 -0
- /package/es/{iconfont.1729312019466.woff → iconfont.1729564536280.woff} +0 -0
- /package/es/{iconfont.1729312019466.woff2 → iconfont.1729564536280.woff2} +0 -0
- /package/lib/{iconfont.1729312019466.ttf → iconfont.1729564536280.ttf} +0 -0
- /package/lib/{iconfont.1729312019466.woff → iconfont.1729564536280.woff} +0 -0
- /package/lib/{iconfont.1729312019466.woff2 → iconfont.1729564536280.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(L){const F=_ui.VxeUI.getComponent("VxeModal"),A=_ui.VxeUI.getComponent("VxeDrawer"),M=_ui.VxeUI.getComponent("VxeButton"),U=_ui.VxeUI.getComponent("VxeInput"),H=_ui.VxeUI.getComponent("VxeTooltip"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),d=(0,_vue.inject)("$xeTable",{}),S=d["reactData"],{computeCustomOpts:D,computeColumnOpts:K,computeIsMaxFixedColumn:z}=d.getComputeMaps(),W=(0,_vue.ref)(),X=(0,_vue.ref)(),q=(0,_vue.ref)(),j=(0,_vue.ref)();let u;const G=e=>{var t=L["customStore"];t.activeWrapper=!0,d.customOpenEvent(e)},$=e=>{const t=L["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||d.customCloseEvent(e)},300)},P=({$event:e})=>{var t=S["customColumnList"];const{allowVisible:s,allowSort:a,allowFixed:r,allowResizable:n}=D.value;_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i?e.fixed=i.fixed:(a&&(e.renderSortNumber=t+1),r&&(e.fixed=e.renderFixed)),n&&e.renderVisible&&(!e.children||e.children.length)&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),s&&(e.visible=e.renderVisible)}),d.closeCustom(),d.emitCustomEvent("confirm",e),d.saveCustomStore("confirm")},Y=({$event:e})=>{d.closeCustom(),d.emitCustomEvent("close",e)},Z=({$event:e})=>{var t=L["customStore"],o=S["customColumnList"];const{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:a}=t,{allowVisible:r,allowSort:n,allowFixed:u,allowResizable:c}=D.value;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=s[t]||"";r&&(e.renderVisible=o,e.visible=o),u&&(e.renderFixed=l,e.fixed=l),n&&(e.renderSortNumber=i[t]||0),c&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),d.closeCustom(),d.emitCustomEvent("cancel",e)},o=e=>{d.resetColumn(!0),d.closeCustom(),d.emitCustomEvent("reset",e)},J=({$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&&o(t)}):o(t)},l=t=>{var e=S["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),l(e))},Q=e=>{const t=!e.renderVisible;D.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),d.handleCustom(),d.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),l(e),d.checkCustomStatus()},ee=(e,t)=>{var o=z.value;D.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):o&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),d.handleCustom(),d.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):o&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},te=()=>{var e=L["customStore"],t=S["customColumnList"],o=D.value;const l=o["checkMethod"],i=!e.isAll;o.immediate?(_xeUtils.default.eachTree(t,e=>{l&&!l({column:e})||(e.visible=i,e.renderVisible=i,e.halfVisible=!1)}),e.isAll=i,d.handleCustom(),d.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(t,e=>{l&&!l({column:e})||(e.renderVisible=i,e.halfVisible=!1)}),e.isAll=i),d.checkCustomStatus()},oe=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=d.getColumnById(t);e.draggable=!0,j.value=t,(0,_dom.addClass)(e,"active--drag-origin")},le=e=>{var e=e.currentTarget.parentNode.parentNode,t=q.value;e.draggable=!1,(j.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},ie=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},se=e=>{var t=S["customColumnList"],o=D.value,e=e.currentTarget,l=q.value;if(u){if(u!==e){var i=u.getAttribute("drag-pos"),s=e.getAttribute("colid");const r=d.getColumnById(s);if(!r)return;var s=_xeUtils.default.findIndexOf(t,e=>e.id===r.id),a=u.getAttribute("colid");const n=d.getColumnById(a);if(!n)return;t.splice(s,1);a=_xeUtils.default.findIndexOf(t,e=>e.id===n.id);t.splice(a+("bottom"===i?1:0),0,r)}u.draggable=!1,u.removeAttribute("drag-pos"),(0,_dom.removeClass)(u,"active--drag-target")}j.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),l&&(l.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin"),o.immediate&&(_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i||(e.renderSortNumber=t+1)}),d.handleCustom(),d.saveCustomStore("update:sort"))},ae=e=>{var t=e.currentTarget,o=(u!==t&&(0,_dom.removeClass)(u,"active--drag-target"),t.getAttribute("colid")),o=d.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),u=t);{o=e;var l=q.value,i=X.value;i&&l&&(e=(t=i.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{var e=D.value["mode"];F||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),A||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),U||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),H||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=D.value;if(["modal","drawer","popup"].includes(""+e.mode)){const r=L["customStore"];e=S["customColumnList"];const n=D.value,{modalOptions:u,drawerOptions:c,allowVisible:d,allowSort:m,allowFixed:v,allowResizable:x,checkMethod:h,visibleMethod:_}=n,p=K.value["maxFixedSize"];var t=n["mode"],o=Object.assign({},u),l=Object.assign({},c);const g=z.value,b=[],C=(_xeUtils.default.eachTree(e,(t,e,o,l,i)=>{if(!_||_({column:t})){var s=t.renderVisible,a=t.halfVisible,r=(0,_utils.formatText)(t.getTitle(),1),n=t.children&&t.children.length;const c=!!h&&!h({column:t});var u=!s;b.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":n}],onDragstart:ie,onDragend:se,onDragover:ae},[d?(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":s,"is--indeterminate":a,"is--disabled":c}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{c||Q(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:oe,onMouseup:le}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("span","-")]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},["html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--name",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--name",title:r},r)]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[t.children&&t.children.length?(0,_vue.h)("span","-"):U?(0,_vue.h)(U,{type:"integer",disabled:u,modelValue:t.renderResizeWidth,"onUpdate:modelValue"(e){t.renderResizeWidth=Math.max(0,Number(e))}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:t.renderFixed||"",type:"button",size:"mini",disabled:u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:u||g},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:u||g}],"onUpdate:modelValue"(e){t.renderFixed=e}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),r.isAll),f=r.isIndeterminate,T=j.value;e={default:()=>(0,_vue.h)("div",{ref:X,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[d?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),x?(0,_vue.h)("col",{style:{width:"140px"}}):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[d?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":C,"is--indeterminate":f}],title:getI18n("vxe.table.allTitle"),onClick:te},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",f?getIcon().TABLE_CHECKBOX_INDETERMINATE:C?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),H?(0,_vue.h)(H,{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip"),popupClassName:"vxe-table--ignore-clear"},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})}):(0,_vue.createCommentVNode)()]):(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)(),v?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(p?"colFixedMax":"colFixed"),[p])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>b})])]),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[T?T.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[M?(0,_vue.h)(M,{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:J}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:Z}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:P}):(0,_vue.createCommentVNode)()])};return"drawer"===t?A?(0,_vue.h)(A,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",l.className||""].join(" "),modelValue:r.visible,title:l.title||getI18n("vxe.custom.cstmTitle"),width:l.width||Math.min(880,document.documentElement.clientWidth),position:l.position,escClosable:!!l.escClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){r.visible=e}},e):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",o.className||""].join(" "),modelValue:r.visible,title:o.title||getI18n("vxe.custom.cstmTitle"),width:o.width||Math.min(880,document.documentElement.clientWidth),minWidth:o.minWidth||700,height:o.height||Math.min(680,document.documentElement.clientHeight),minHeight:o.minHeight||400,showZoom:o.showZoom,showMaximize:o.showMaximize,showMinimize:o.showMinimize,mask:o.mask,lockView:o.lockView,resize:o.resize,escClosable:!!o.escClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){r.visible=e}},e):(0,_vue.createCommentVNode)()}{t=L["customStore"],l=S["customColumnList"],o=D.value,e=t["maxHeight"];const{checkMethod:I,visibleMethod:V,allowVisible:E,allowSort:N,allowFixed:w,trigger:k,placement:O}=o,y=z.value,B=[];var i={},l=("hover"===k&&(i.onMouseenter=G,i.onMouseleave=$),_xeUtils.default.eachTree(l,(e,t,o,l,i)=>{if(!V||V({column:e})){var s=e.renderVisible,a=e.halfVisible,r=e.children&&e.children.length,n=(0,_utils.formatText)(e.getTitle(),1);const c=!!I&&!I({column:e});var u=!s;B.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":r}],onDragstart:ie,onDragend:se,onDragover:ae},[E?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":a,"is--disabled":c}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{c||Q(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),N&&1===e.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":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:oe,onMouseup:le}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===e.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),!i&&w?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[M?(0,_vue.h)(M,{mode:"text",icon:"left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===e.renderFixed?"primary":"",disabled:u||y&&!e.renderFixed,title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{ee(e,"left")}}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{mode:"text",icon:"right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===e.renderFixed?"primary":"",disabled:u||y&&!e.renderFixed,title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{ee(e,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),t.isAll),s=t.isIndeterminate,a=j.value;return(0,_vue.h)("div",{ref:W,key:"simple",class:["vxe-table-custom-wrapper","placement--"+O,{"is--active":t.visible}],style:e&&!["left","right"].includes(O)?{maxHeight:e+"px"}:{}},t.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[E?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":l,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:te},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:l?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:X,class:"vxe-table-custom--list-wrapper"},[(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--body",name:"vxe-table-custom--list",tag:"ul"},i),{default:()=>B}),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[a&&"html"!==a.type?a.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[M?(0,_vue.h)(M,{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customRestore"),onClick:J}):(0,_vue.createCommentVNode)(),o.immediate?M?(0,_vue.h)(M,{mode:"text",content:o.closeButtonText||getI18n("vxe.table.customClose"),onClick:Y}):(0,_vue.createCommentVNode)():M?(0,_vue.h)(M,{mode:"text",content:o.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:Z}):(0,_vue.createCommentVNode)(),!o.immediate&&M?(0,_vue.h)(M,{mode:"text",status:"primary",content:o.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:P}):(0,_vue.createCommentVNode)()]):null]:[]);return}}}});
|
|
1
|
+
"use strict";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}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(L){const F=_ui.VxeUI.getComponent("VxeModal"),A=_ui.VxeUI.getComponent("VxeDrawer"),M=_ui.VxeUI.getComponent("VxeButton"),U=_ui.VxeUI.getComponent("VxeInput"),H=_ui.VxeUI.getComponent("VxeTooltip"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),d=(0,_vue.inject)("$xeTable",{}),S=d["reactData"],{computeCustomOpts:D,computeColumnOpts:K,computeIsMaxFixedColumn:z}=d.getComputeMaps(),W=(0,_vue.ref)(),X=(0,_vue.ref)(),q=(0,_vue.ref)(),j=(0,_vue.ref)();let u;const G=e=>{var t=L["customStore"];t.activeWrapper=!0,d.customOpenEvent(e)},$=e=>{const t=L["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||d.customCloseEvent(e)},300)},P=({$event:e})=>{var t=S["customColumnList"];const{allowVisible:s,allowSort:a,allowFixed:r,allowResizable:n}=D.value;_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i?e.fixed=i.fixed:(a&&(e.renderSortNumber=t+1),r&&(e.fixed=e.renderFixed)),n&&e.renderVisible&&(!e.children||e.children.length)&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),s&&(e.visible=e.renderVisible)}),d.closeCustom(),d.emitCustomEvent("confirm",e),d.saveCustomStore("confirm")},Y=({$event:e})=>{d.closeCustom(),d.emitCustomEvent("close",e)},Z=({$event:e})=>{var t=L["customStore"],o=S["customColumnList"];const{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:a}=t,{allowVisible:r,allowSort:n,allowFixed:u,allowResizable:c}=D.value;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=s[t]||"";r&&(e.renderVisible=o,e.visible=o),u&&(e.renderFixed=l,e.fixed=l),n&&(e.renderSortNumber=i[t]||0),c&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),d.closeCustom(),d.emitCustomEvent("cancel",e)},o=e=>{d.resetColumn(!0),d.closeCustom(),d.emitCustomEvent("reset",e)},J=({$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&&o(t)}):o(t)},l=t=>{var e=S["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),l(e))},Q=e=>{const t=!e.renderVisible;D.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),d.handleCustom(),d.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),l(e),d.checkCustomStatus()},ee=(e,t)=>{var o=z.value;D.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):o&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),d.handleCustom(),d.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):o&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},te=()=>{var e=L["customStore"],t=S["customColumnList"],o=D.value;const{checkMethod:l,visibleMethod:i}=o,s=!e.isAll;o.immediate?(_xeUtils.default.eachTree(t,e=>{i&&!i({column:e})||l&&!l({column:e})||(e.visible=s,e.renderVisible=s,e.halfVisible=!1)}),e.isAll=s,d.handleCustom(),d.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(t,e=>{i&&!i({column:e})||l&&!l({column:e})||(e.renderVisible=s,e.halfVisible=!1)}),e.isAll=s),d.checkCustomStatus()},oe=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=d.getColumnById(t);e.draggable=!0,j.value=t,(0,_dom.addClass)(e,"active--drag-origin")},le=e=>{var e=e.currentTarget.parentNode.parentNode,t=q.value;e.draggable=!1,(j.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},ie=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},se=e=>{var t=S["customColumnList"],o=D.value,e=e.currentTarget,l=q.value;if(u){if(u!==e){var i=u.getAttribute("drag-pos"),s=e.getAttribute("colid");const r=d.getColumnById(s);if(!r)return;var s=_xeUtils.default.findIndexOf(t,e=>e.id===r.id),a=u.getAttribute("colid");const n=d.getColumnById(a);if(!n)return;t.splice(s,1);a=_xeUtils.default.findIndexOf(t,e=>e.id===n.id);t.splice(a+("bottom"===i?1:0),0,r)}u.draggable=!1,u.removeAttribute("drag-pos"),(0,_dom.removeClass)(u,"active--drag-target")}j.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),l&&(l.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin"),o.immediate&&(_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i||(e.renderSortNumber=t+1)}),d.handleCustom(),d.saveCustomStore("update:sort"))},ae=e=>{var t=e.currentTarget,o=(u!==t&&(0,_dom.removeClass)(u,"active--drag-target"),t.getAttribute("colid")),o=d.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),u=t);{o=e;var l=q.value,i=X.value;i&&l&&(e=(t=i.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{var e=D.value["mode"];F||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),A||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),U||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),H||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=D.value;if(["modal","drawer","popup"].includes(""+e.mode)){const r=L["customStore"];e=S["customColumnList"];const n=D.value,{modalOptions:u,drawerOptions:c,allowVisible:d,allowSort:m,allowFixed:v,allowResizable:h,checkMethod:x,visibleMethod:_}=n,p=K.value["maxFixedSize"];var t=n["mode"],o=Object.assign({},u),l=Object.assign({},c);const g=z.value,b=[],C=(_xeUtils.default.eachTree(e,(t,e,o,l,i)=>{if(!_||_({column:t})){var s=t.renderVisible,a=t.halfVisible,r=(0,_utils.formatText)(t.getTitle(),1),n=t.children&&t.children.length;const c=!!x&&!x({column:t});var u=!s;b.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":n}],onDragstart:ie,onDragend:se,onDragover:ae},[d?(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":s,"is--indeterminate":a,"is--disabled":c}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{c||Q(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c||u}],title:getI18n("vxe.custom.setting.sortHelpTip")},c||u?{}:{onMousedown:oe,onMouseup:le}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("span","-")]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},["html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--name",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--name",title:r},r)]),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[t.children&&t.children.length?(0,_vue.h)("span","-"):U?(0,_vue.h)(U,{type:"integer",disabled:c||u,modelValue:t.renderResizeWidth,"onUpdate:modelValue"(e){t.renderResizeWidth=Math.max(0,Number(e))}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:t.renderFixed||"",type:"button",size:"mini",disabled:c||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||u||g},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||u||g}],"onUpdate:modelValue"(e){t.renderFixed=e}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),r.isAll),f=r.isIndeterminate,T=j.value;e={default:()=>(0,_vue.h)("div",{ref:X,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[d?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),h?(0,_vue.h)("col",{style:{width:"140px"}}):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[d?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":C,"is--indeterminate":f}],title:getI18n("vxe.table.allTitle"),onClick:te},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",f?getIcon().TABLE_CHECKBOX_INDETERMINATE:C?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),m?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),H?(0,_vue.h)(H,{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip"),popupClassName:"vxe-table--ignore-clear"},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(p?"colFixedMax":"colFixed"),[p])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>b})])]),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[T?T.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[M?(0,_vue.h)(M,{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:J}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:Z}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:P}):(0,_vue.createCommentVNode)()])};return"drawer"===t?A?(0,_vue.h)(A,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",l.className||""].join(" "),modelValue:r.visible,title:l.title||getI18n("vxe.custom.cstmTitle"),width:l.width||Math.min(880,document.documentElement.clientWidth),position:l.position,escClosable:!!l.escClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){r.visible=e}},e):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",o.className||""].join(" "),modelValue:r.visible,title:o.title||getI18n("vxe.custom.cstmTitle"),width:o.width||Math.min(880,document.documentElement.clientWidth),minWidth:o.minWidth||700,height:o.height||Math.min(680,document.documentElement.clientHeight),minHeight:o.minHeight||400,showZoom:o.showZoom,showMaximize:o.showMaximize,showMinimize:o.showMinimize,mask:o.mask,lockView:o.lockView,resize:o.resize,escClosable:!!o.escClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){r.visible=e}},e):(0,_vue.createCommentVNode)()}{t=L["customStore"],l=S["customColumnList"],o=D.value,e=t["maxHeight"];const{checkMethod:I,visibleMethod:V,allowVisible:E,allowSort:N,allowFixed:w,trigger:k,placement:O}=o,y=z.value,B=[];var i={},l=("hover"===k&&(i.onMouseenter=G,i.onMouseleave=$),_xeUtils.default.eachTree(l,(e,t,o,l,i)=>{if(!V||V({column:e})){var s=e.renderVisible,a=e.halfVisible,r=e.children&&e.children.length,n=(0,_utils.formatText)(e.getTitle(),1);const c=!!I&&!I({column:e});var u=!s;B.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--hidden":c||u,"is--group":r}],onDragstart:ie,onDragend:se,onDragover:ae},[E?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":a,"is--disabled":c}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{c||Q(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),N&&1===e.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":c||u}],title:getI18n("vxe.custom.setting.sortHelpTip")},c||u?{}:{onMousedown:oe,onMouseup:le}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===e.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),!i&&w?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[M?(0,_vue.h)(M,{mode:"text",icon:"left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===e.renderFixed?"primary":"",disabled:c||u||y&&!e.renderFixed,title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{ee(e,"left")}}):(0,_vue.createCommentVNode)(),M?(0,_vue.h)(M,{mode:"text",icon:"right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===e.renderFixed?"primary":"",disabled:c||u||y&&!e.renderFixed,title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{ee(e,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),t.isAll),s=t.isIndeterminate,a=j.value;return(0,_vue.h)("div",{ref:W,key:"simple",class:["vxe-table-custom-wrapper","placement--"+O,{"is--active":t.visible}],style:e&&!["left","right"].includes(O)?{maxHeight:e+"px"}:{}},t.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[E?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":l,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:te},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:l?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:X,class:"vxe-table-custom--list-wrapper"},[(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--body",name:"vxe-table-custom--list",tag:"ul"},i),{default:()=>B}),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[a&&"html"!==a.type?a.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[M?(0,_vue.h)(M,{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customRestore"),onClick:J}):(0,_vue.createCommentVNode)(),o.immediate?M?(0,_vue.h)(M,{mode:"text",content:o.closeButtonText||getI18n("vxe.table.customClose"),onClick:Y}):(0,_vue.createCommentVNode)():M?(0,_vue.h)(M,{mode:"text",content:o.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:Z}):(0,_vue.createCommentVNode)(),!o.immediate&&M?(0,_vue.h)(M,{mode:"text",status:"primary",content:o.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:P}):(0,_vue.createCommentVNode)()]):null]:[]);return}}}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -234,7 +234,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
234
234
|
let hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
235
235
|
let isDirty;
|
|
236
236
|
const tdOns = {};
|
|
237
|
-
const cellAlign = align || allAlign;
|
|
237
|
+
const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
238
238
|
const errorValidItem = validErrorMaps[`${rowid}:${colid}`];
|
|
239
239
|
const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
|
|
240
240
|
const attrs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{getI18n,renderer}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){const ie=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:ne,context:y,reactData:ue,internalData:ce}=ie,{refTableHeader:_,refTableBody:b,refTableFooter:q,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:j}=ie.getRefMaps(),{computeEditOpts:de,computeMouseOpts:B,computeSYOpts:pe,computeEmptyOpts:N,computeKeyboardOpts:Y,computeTooltipOpts:xe,computeRadioOpts:e,computeExpandOpts:A,computeTreeOpts:d,computeCheckboxOpts:ve,computeValidOpts:me,computeRowOpts:he,computeColumnOpts:fe}=ie.getComputeMaps(),C=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),E=(0,_vue.ref)(),p=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},ge=()=>{var e=ne["delayHover"],{lastScrollTime:l,_isResize:t}=ue;return!!(t||l&&Date.now()<l+e)},v=(e,l)=>{let t=1;if(e){var o=d.value,r=e[o.children||o.childrenField];if(r&&ie.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=v(r[e],l)}return t},we=e=>{var{row:l,column:t}=e,o=ce["afterFullData"],r=ne["treeConfig"],a=d.value,{slots:t,treeNode:s}=t,i=ce["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(ie,l)];let n=0,u=0,c=[];return i&&(n=i.level,u=i._index,c=i.items),t&&t.line?ie.callSlot(t.line,e):(i=ie.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=v(l[t-1],e)),ue.rowHeight*o-(t?1:12-p())})(e,c,u)}px`,left:n*a.indent+(n?2-p():0)+16+"px"}})])]:[])},P=(e,l,t,o,r,a,s,i,n,u,U,q)=>{var{columnKey:j,height:c,showOverflow:d,cellClassName:B,cellStyle:p,align:v,spanMethod:N,mouseConfig:Y,editConfig:W,editRules:h,tooltipConfig:F}=ne,{tableData:V,overflowX:g,scrollYLoad:A,currentColumn:P,mergeList:x,editStore:m,isAllOverflow:X,validErrorMaps:f}=ue,K=ce["afterFullData"],w=me.value,z=ve.value,y=de.value,_=xe.value,G=he.value,b=pe.value,J=fe.value,{type:Q,cellRender:Z,editRender:T,align:S,showOverflow:C,className:ee,treeNode:le,slots:te}=n,m=m["actived"],b=b["rHeight"],O=G["height"],L=n.id,R=T||Z,R=R?renderer.get(R.name):null,oe=R?R.tableCellClassName||R.cellClassName:null,R=R?R.tableCellStyle||R.cellStyle:"";const H=_.showAll;var _=ie.getColumnIndex(n),re=ie.getVTColumnIndex(n),ae=(0,_utils.isEnableConf)(T);let $=t?n.fixed!==t:n.fixed&&g;g=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?d:C;let E="ellipsis"===g;const M="title"===g,I=!0===g||"tooltip"===g;let D=M||I||E,se;C={},g=S||v,S=f[l+":"+L],v=h&&w.showMessage&&("default"===w.message?c||1<V.length:"inline"===w.message),f={colid:L};const k={$table:ie,$grid:ie.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:i,column:n,columnIndex:_,$columnIndex:u,_columnIndex:re,fixed:t,type:renderType,isHidden:$,level:o,visibleData:K,data:V,items:q};if(A&&!D&&(E=D=!0),(M||I||H||F)&&(C.onMouseenter=e=>{ge()||(M?(0,_dom.updateCellTitle)(e.currentTarget,n):(I||H)&&ie.triggerBodyTooltipEvent(e,k),ie.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(I||H||F)&&(C.onMouseleave=e=>{ge()||((I||H)&&ie.handleTargetLeaveEvent(e),ie.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(z.range||Y)&&(C.onMousedown=e=>{ie.triggerCellMousedownEvent(e,k)}),C.onClick=e=>{ie.triggerCellClickEvent(e,k)},C.onDblclick=e=>{ie.triggerCellDblclickEvent(e,k)},x.length){h=(0,_util.mergeBodyMethod)(x,i,re);if(h){var{rowspan:c,colspan:e}=h;if(!c||!e)return null;1<c&&(f.rowspan=c),1<e&&(f.colspan=e)}}else if(N){var{rowspan:l=1,colspan:a=1}=N(k)||{};if(!l||!a)return null;1<l&&(f.rowspan=l),1<a&&(f.colspan=a)}!($=$&&x&&(1<f.colspan||1<f.rowspan)?!1:$)&&W&&(T||Z)&&(y.showStatus||y.showUpdateStatus)&&(se=ie.isUpdateByRow(r,n.field));s=[];return $&&d&&X?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":E}],style:{maxHeight:D&&(b||O)?`${b||O}px`:""}})):(s.push(...we(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":E}],style:{maxHeight:D&&(b||O)?`${b||O}px`:""},title:M?ie.getCellLabel(r,n):null},n.renderCell(k))),v&&S&&(_=S.rule,t=te?te.valid:null,o=Object.assign(Object.assign({},k),S),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(w.className,o)],style:_&&_.maxWidth?{width:_.maxWidth+"px"}:null},t?ie.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)])))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",L,{["col--"+g]:g,["col--"+Q]:Q,"col--last":u===U.length-1,"col--tree-node":le,"col--edit":ae,"col--ellipsis":D,"col--height":!!G.height,"fixed--hidden":$,"col--dirty":se,"col--active":W&&ae&&m.row===r&&(m.column===n||"row"===y.mode),"col--valid-error":!!S,"col--current":P===n},(0,_dom.getPropClass)(oe,k),(0,_dom.getPropClass)(ee,k),(0,_dom.getPropClass)(B,k)],key:j||J.useKey?L:u},f),{style:Object.assign({height:D&&(b||O)?`${b||O}px`:""},_xeUtils.default.isFunction(R)?R(k):R,_xeUtils.default.isFunction(p)?p(k):p)}),C),s)},V=(x,m,f)=>{const{stripe:w,rowKey:y,highlightHoverRow:_,rowClassName:b,rowStyle:T,showOverflow:S,editConfig:C,treeConfig:O}=ne,{hasFixedColumn:L,treeExpandedMaps:R,scrollYLoad:H,rowExpandedMaps:$,expandColumn:E,selectRadioRow:M,pendingRowMaps:I,pendingRowList:D}=ue,k=ce["fullAllDataRowIdData"],U=ve.value,q=e.value,j=d.value,B=de.value,N=he.value,Y=j["transform"],W=j.children||j.childrenField,F=[];return m.forEach((t,o)=>{var e={};let r;r=ie.getRowIndex(t),(N.isHover||_)&&(e.onMouseenter=e=>{ge()||ie.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{ge()||ie.clearHoverRow()});const a=(0,_util.getRowid)(ie,t);var l=k[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var u,c,d,l={$table:ie,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},p=E&&!!$[a];let v=!1,h=[],g=!1;C&&(g=ie.isInsertByRow(t)),!O||H||Y||(h=t[W],v=h&&0<h.length&&!!R[a]),F.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(ie.getVTRowIndex(t)+1)%2==0,"is--new":g,"is--expand-row":p,"is--expand-tree":v,"row--new":g&&(B.showStatus||B.showInsertStatus),"row--radio":q.highlight&&ie.eqRow(M,t),"row--checked":U.highlight&&ie.isCheckedByCheckboxRow(t),"row--pending":D.length&&!!I[a]},(0,_dom.getPropClass)(b,l)],rowid:a,style:T?_xeUtils.default.isFunction(T)?T(l):T:null,key:y||N.useKey||O?a:o},e),f.map((e,l)=>P(i,a,x,s,t,r,o,n,e,l,f,m)))),p&&({height:l,padding:p}=A.value,u={},c=(l&&(u.height=l+"px"),O&&(u.paddingLeft=s*j.indent+30+"px"),E)["showOverflow"],c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?S:c,d={$table:ie,seq:i,column:E,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},F.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":p}],key:"expand_"+a,style:T?_xeUtils.default.isFunction(T)?T(d):T:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!L,"col--ellipsis":c},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:u},[E.renderData(d)])])]))),v&&F.push(...V(x,h,f))}),F};let r;const M=(e,l,t,o)=>{(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ue.lastScrollTime=Date.now()},300))},o=e=>{var l=f["fixedType"],t=ne["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ue,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=ce,n=he.value,u=_.value,c=b.value,d=q.value,p=T.value,v=S.value,h=j.value,g=C.value,u=u?u.$el:null,d=d?d.$el:null,c=c.$el,p=p?p.$el:null,v=v?v.$el:null,x=a["main-body-ySpace"],x=x?x.value:null,a=a["main-body-xSpace"],a=a?a.value:null,x=(r&&x?x:c).clientHeight,a=(o&&a?a:c).clientWidth;let m=g.scrollTop;g=c.scrollLeft,i=g!==i,s=m!==s;ce.lastScrollTop=m,ce.lastScrollLeft=g,ue.lastScrollTime=Date.now(),(n.isHover||t)&&ie.clearHoverRow(),p&&"left"===l?(m=p.scrollTop,M(0,m,c,v)):v&&"right"===l?(m=v.scrollTop,M(0,m,c,p)):(i&&(u&&(u.scrollLeft=c.scrollLeft),d)&&(d.scrollLeft=c.scrollLeft),(p||v)&&(ie.checkScrolling(),s)&&M(0,m,p,v)),o&&i&&ie.triggerScrollXEvent(e),r&&s&&ie.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ie.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:g,scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth,bodyHeight:x,bodyWidth:a,isX:i,isY:s},e)};let m,I=0,D=0,k=0,U=!1;const h=(r,a,e,s,i)=>{var l=ce["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ue,n=b.value,u=T.value,c=S.value;const d=u?u.$el:null,p=c?c.$el:null,v=n.$el;u=l["main-body-ySpace"],c=u?u.value:null,n=l["main-body-xSpace"],u=n?n.value:null;const h=(o&&c?c:v).clientHeight,g=(t&&u?u:v).clientWidth;l=U===a?Math.max(0,I-k):0;U=a,I=Math.abs(a?e-l:e+l),D=0,k=0,clearTimeout(m);const x=()=>{var e,l,t,o;k<I&&(e=f["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(D=Math.max(5,Math.floor(1.5*D)),(k+=D)>I&&(D-=k-I),v),o=o+D*(a?-1:1),v.scrollTop=o,d&&(d.scrollTop=o),p&&(p.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(x,10)),ie.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:v.scrollTop,scrollLeft:v.scrollLeft,scrollHeight:v.scrollHeight,scrollWidth:v.scrollWidth,bodyHeight:h,bodyWidth:g,isX:s,isY:i},r))};x()},W=e=>{var{deltaY:l,deltaX:t}=e,o=ne["highlightHoverRow"],r=ue["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ce,i=he.value,n=b.value,u=C.value,n=n.$el,c=l<0;(c?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=u!==a)&&(e.preventDefault(),ce.lastScrollTop=u,ce.lastScrollLeft=n,ue.lastScrollTime=Date.now(),(i.isHover||o)&&ie.clearHoverRow(),h(e,c,l,t,s),r)&&ie.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f["fixedType"],l=ce["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=O,l[e+"colgroup"]=L,l[e+"list"]=R,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=E,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=f["fixedType"],l=ce["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=f;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=ne,{tableData:i,mergeList:n,scrollYLoad:u,isAllOverflow:c}=ue,d=ce["visibleColumn"],p=y["slots"],v=pe.value,h=N.value,g=Y.value,x=B.value;l&&(t=ue.expandColumn||!(u||r&&c)||n.length||a||o&&g.isMerge?d:e);let m;u=p?p.empty:null;return m=u?ie.callSlot(u,{$table:ie,$grid:ie.xegrid}):(c=(r=h.name?renderer.get(h.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(c(h,{$table:ie})):ne.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w},"wheel"===v.mode?{onWheel:W}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:R},V(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ie.triggerCellExtendMousedownEvent(e,{$table:ie,fixed:l,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:E},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
|
|
1
|
+
"use strict";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}}const{getI18n,renderer}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){const ne=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:ue,context:y,reactData:ce,internalData:de}=ne,{refTableHeader:_,refTableBody:b,refTableFooter:q,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:j}=ne.getRefMaps(),{computeEditOpts:pe,computeMouseOpts:B,computeSYOpts:ve,computeEmptyOpts:N,computeKeyboardOpts:Y,computeTooltipOpts:me,computeRadioOpts:e,computeExpandOpts:V,computeTreeOpts:d,computeCheckboxOpts:he,computeValidOpts:fe,computeRowOpts:ge,computeColumnOpts:we}=ne.getComputeMaps(),C=(0,_vue.ref)(),O=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),E=(0,_vue.ref)(),p=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},xe=()=>{var e=ue["delayHover"],{lastScrollTime:l,_isResize:t}=ce;return!!(t||l&&Date.now()<l+e)},v=(e,l)=>{let t=1;if(e){var o=d.value,r=e[o.children||o.childrenField];if(r&&ne.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=v(r[e],l)}return t},ye=e=>{var{row:l,column:t}=e,o=de["afterFullData"],r=ue["treeConfig"],a=d.value,{slots:t,treeNode:s}=t,i=de["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(ne,l)];let n=0,u=0,c=[];return i&&(n=i.level,u=i._index,c=i.items),t&&t.line?ne.callSlot(t.line,e):(i=ne.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=v(l[t-1],e)),ce.rowHeight*o-(t?1:12-p())})(e,c,u)}px`,left:n*a.indent+(n?2-p():0)+16+"px"}})])]:[])},P=(e,l,t,U,o,r,a,s,i,n,q,j)=>{var{columnKey:B,height:u,showOverflow:c,cellClassName:N,cellStyle:d,align:p,spanMethod:Y,mouseConfig:W,editConfig:F,editRules:v,tooltipConfig:A}=ue,{tableData:V,overflowX:h,scrollYLoad:P,currentColumn:X,mergeList:g,editStore:x,isAllOverflow:K,validErrorMaps:m}=ce,z=de["afterFullData"],f=fe.value,G=he.value,w=pe.value,y=me.value,J=ge.value,_=ve.value,Q=we.value,{type:Z,cellRender:ee,editRender:b,align:T,showOverflow:S,className:le,treeNode:te,slots:oe}=i,x=x["actived"],_=_["rHeight"],C=J["height"],O=i.id,L=b||ee,L=L?renderer.get(L.name):null,re=L?L.tableCellClassName||L.cellClassName:null,R=L?L.tableCellStyle||L.cellStyle:"";const H=y.showAll;var y=ne.getColumnIndex(i),ae=ne.getVTColumnIndex(i),se=(0,_utils.isEnableConf)(b);let $=t?i.fixed!==t:i.fixed&&h;h=_xeUtils.default.isUndefined(S)||_xeUtils.default.isNull(S)?c:S;let E="ellipsis"===h;const M="title"===h,I=!0===h||"tooltip"===h;let D=M||I||E,ie;S={},h=T||(L?L.tableCellAlign:"")||p,T=m[l+":"+O],L=v&&f.showMessage&&("default"===f.message?u||1<V.length:"inline"===f.message),p={colid:O};const k={$table:ne,$grid:ne.xegrid,isEdit:!1,seq:e,rowid:l,row:o,rowIndex:r,$rowIndex:a,_rowIndex:s,column:i,columnIndex:y,$columnIndex:n,_columnIndex:ae,fixed:t,type:renderType,isHidden:$,level:U,visibleData:z,data:V,items:j};if(P&&!D&&(E=D=!0),(M||I||H||A)&&(S.onMouseenter=e=>{xe()||(M?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||H)&&ne.triggerBodyTooltipEvent(e,k),ne.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(I||H||A)&&(S.onMouseleave=e=>{xe()||((I||H)&&ne.handleTargetLeaveEvent(e),ne.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(G.range||W)&&(S.onMousedown=e=>{ne.triggerCellMousedownEvent(e,k)}),S.onClick=e=>{ne.triggerCellClickEvent(e,k)},S.onDblclick=e=>{ne.triggerCellDblclickEvent(e,k)},g.length){m=(0,_util.mergeBodyMethod)(g,s,ae);if(m){var{rowspan:v,colspan:u}=m;if(!v||!u)return null;1<v&&(p.rowspan=v),1<u&&(p.colspan=u)}}else if(Y){var{rowspan:e=1,colspan:l=1}=Y(k)||{};if(!e||!l)return null;1<e&&(p.rowspan=e),1<l&&(p.colspan=l)}!($=$&&g&&(1<p.colspan||1<p.rowspan)?!1:$)&&F&&(b||ee)&&(w.showStatus||w.showUpdateStatus)&&(ie=ne.isUpdateByRow(o,i.field));r=[];return $&&c&&K?r.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":E}],style:{maxHeight:D&&(_||C)?`${_||C}px`:""}})):(r.push(...ye(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":E}],style:{maxHeight:D&&(_||C)?`${_||C}px`:""},title:M?ne.getCellLabel(o,i):null},i.renderCell(k))),L&&T&&(a=T.rule,y=oe?oe.valid:null,t=Object.assign(Object.assign({},k),T),r.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(f.className,t)],style:a&&a.maxWidth?{width:a.maxWidth+"px"}:null},y?ne.callSlot(y,t):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},T.content)])))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+h]:h,["col--"+Z]:Z,"col--last":n===q.length-1,"col--tree-node":te,"col--edit":se,"col--ellipsis":D,"col--height":!!J.height,"fixed--hidden":$,"col--dirty":ie,"col--active":F&&se&&x.row===o&&(x.column===i||"row"===w.mode),"col--valid-error":!!T,"col--current":X===i},(0,_dom.getPropClass)(re,k),(0,_dom.getPropClass)(le,k),(0,_dom.getPropClass)(N,k)],key:B||Q.useKey?O:n},p),{style:Object.assign({height:D&&(_||C)?`${_||C}px`:""},_xeUtils.default.isFunction(R)?R(k):R,_xeUtils.default.isFunction(d)?d(k):d)}),S),r)},A=(x,m,f)=>{const{stripe:w,rowKey:y,highlightHoverRow:_,rowClassName:b,rowStyle:T,showOverflow:S,editConfig:C,treeConfig:O}=ue,{hasFixedColumn:L,treeExpandedMaps:R,scrollYLoad:H,rowExpandedMaps:$,expandColumn:E,selectRadioRow:M,pendingRowMaps:I,pendingRowList:D}=ce,k=de["fullAllDataRowIdData"],U=he.value,q=e.value,j=d.value,B=pe.value,N=ge.value,Y=j["transform"],W=j.children||j.childrenField,F=[];return m.forEach((t,o)=>{var e={};let r;r=ne.getRowIndex(t),(N.isHover||_)&&(e.onMouseenter=e=>{xe()||ne.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{xe()||ne.clearHoverRow()});const a=(0,_util.getRowid)(ne,t);var l=k[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var u,c,d,l={$table:ne,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},p=E&&!!$[a];let v=!1,h=[],g=!1;C&&(g=ne.isInsertByRow(t)),!O||H||Y||(h=t[W],v=h&&0<h.length&&!!R[a]),F.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(ne.getVTRowIndex(t)+1)%2==0,"is--new":g,"is--expand-row":p,"is--expand-tree":v,"row--new":g&&(B.showStatus||B.showInsertStatus),"row--radio":q.highlight&&ne.eqRow(M,t),"row--checked":U.highlight&&ne.isCheckedByCheckboxRow(t),"row--pending":D.length&&!!I[a]},(0,_dom.getPropClass)(b,l)],rowid:a,style:T?_xeUtils.default.isFunction(T)?T(l):T:null,key:y||N.useKey||O?a:o},e),f.map((e,l)=>P(i,a,x,s,t,r,o,n,e,l,f,m)))),p&&({height:l,padding:p}=V.value,u={},c=(l&&(u.height=l+"px"),O&&(u.paddingLeft=s*j.indent+30+"px"),E)["showOverflow"],c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?S:c,d={$table:ne,seq:i,column:E,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},F.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":p}],key:"expand_"+a,style:T?_xeUtils.default.isFunction(T)?T(d):T:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!L,"col--ellipsis":c},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:u},[E.renderData(d)])])]))),v&&F.push(...A(x,h,f))}),F};let r;const M=(e,l,t,o)=>{(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ce.lastScrollTime=Date.now()},300))},o=e=>{var l=f["fixedType"],t=ue["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ce,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=de,n=ge.value,u=_.value,c=b.value,d=q.value,p=T.value,v=S.value,h=j.value,g=C.value,u=u?u.$el:null,d=d?d.$el:null,c=c.$el,p=p?p.$el:null,v=v?v.$el:null,x=a["main-body-ySpace"],x=x?x.value:null,a=a["main-body-xSpace"],a=a?a.value:null,x=(r&&x?x:c).clientHeight,a=(o&&a?a:c).clientWidth;let m=g.scrollTop;g=c.scrollLeft,i=g!==i,s=m!==s;de.lastScrollTop=m,de.lastScrollLeft=g,ce.lastScrollTime=Date.now(),(n.isHover||t)&&ne.clearHoverRow(),p&&"left"===l?(m=p.scrollTop,M(0,m,c,v)):v&&"right"===l?(m=v.scrollTop,M(0,m,c,p)):(i&&(u&&(u.scrollLeft=c.scrollLeft),d)&&(d.scrollLeft=c.scrollLeft),(p||v)&&(ne.checkScrolling(),s)&&M(0,m,p,v)),o&&i&&ne.triggerScrollXEvent(e),r&&s&&ne.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ne.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:g,scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth,bodyHeight:x,bodyWidth:a,isX:i,isY:s},e)};let m,I=0,D=0,k=0,U=!1;const h=(r,a,e,s,i)=>{var l=de["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ce,n=b.value,u=T.value,c=S.value;const d=u?u.$el:null,p=c?c.$el:null,v=n.$el;u=l["main-body-ySpace"],c=u?u.value:null,n=l["main-body-xSpace"],u=n?n.value:null;const h=(o&&c?c:v).clientHeight,g=(t&&u?u:v).clientWidth;l=U===a?Math.max(0,I-k):0;U=a,I=Math.abs(a?e-l:e+l),D=0,k=0,clearTimeout(m);const x=()=>{var e,l,t,o;k<I&&(e=f["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(D=Math.max(5,Math.floor(1.5*D)),(k+=D)>I&&(D-=k-I),v),o=o+D*(a?-1:1),v.scrollTop=o,d&&(d.scrollTop=o),p&&(p.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(x,10)),ne.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:v.scrollTop,scrollLeft:v.scrollLeft,scrollHeight:v.scrollHeight,scrollWidth:v.scrollWidth,bodyHeight:h,bodyWidth:g,isX:s,isY:i},r))};x()},W=e=>{var{deltaY:l,deltaX:t}=e,o=ue["highlightHoverRow"],r=ce["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=de,i=ge.value,n=b.value,u=C.value,n=n.$el,c=l<0;(c?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=u!==a)&&(e.preventDefault(),de.lastScrollTop=u,de.lastScrollLeft=n,ce.lastScrollTime=Date.now(),(i.isHover||o)&&ne.clearHoverRow(),h(e,c,l,t,s),r)&&ne.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f["fixedType"],l=de["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=O,l[e+"colgroup"]=L,l[e+"list"]=R,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=E,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=f["fixedType"],l=de["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=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()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=f;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=ue,{tableData:i,mergeList:n,scrollYLoad:u,isAllOverflow:c}=ce,d=de["visibleColumn"],p=y["slots"],v=ve.value,h=N.value,g=Y.value,x=B.value;l&&(t=ce.expandColumn||!(u||r&&c)||n.length||a||o&&g.isMerge?d:e);let m;u=p?p.empty:null;return m=u?ne.callSlot(u,{$table:ne,$grid:ne.xegrid}):(c=(r=h.name?renderer.get(h.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(c(h,{$table:ne})):ue.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w},"wheel"===v.mode?{onWheel:W}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:R},A(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ne.triggerCellExtendMousedownEvent(e,{$table:ne,fixed:l,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:E},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _vue = require("vue");
|
|
8
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
9
|
+
var _ui = require("../../ui");
|
|
9
10
|
var _dom = require("../../ui/src/dom");
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
const {
|
|
13
|
+
renderer
|
|
14
|
+
} = _ui.VxeUI;
|
|
11
15
|
const renderType = 'footer';
|
|
12
16
|
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
13
17
|
for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
|
|
@@ -247,13 +251,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
247
251
|
showFooterOverflow,
|
|
248
252
|
footerAlign,
|
|
249
253
|
align,
|
|
250
|
-
footerClassName
|
|
254
|
+
footerClassName,
|
|
255
|
+
editRender,
|
|
256
|
+
cellRender
|
|
251
257
|
} = column;
|
|
258
|
+
const renderOpts = editRender || cellRender;
|
|
259
|
+
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
252
260
|
const showAllTip = tooltipOpts.showAll;
|
|
253
261
|
const isColGroup = column.children && column.children.length;
|
|
254
262
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
|
|
255
263
|
const footOverflow = _xeUtils.default.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
|
|
256
|
-
const footAlign = footerAlign ||
|
|
264
|
+
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
257
265
|
let showEllipsis = footOverflow === 'ellipsis';
|
|
258
266
|
const showTitle = footOverflow === 'title';
|
|
259
267
|
const showTooltip = footOverflow === true || footOverflow === 'tooltip';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(s){const q=(0,_vue.inject)("$xeTable",{}),{xID:n,props:a,reactData:u,internalData:c}=q,{refTableHeader:d,refTableBody:p,refValidTooltip:f}=q.getRefMaps(),{computeTooltipOpts:i,computeColumnOpts:v}=q.getComputeMaps(),x=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),_=(0,_vue.ref)(),b=(0,_vue.ref)(),R=e=>{var l=s["fixedType"],t=u["scrollXLoad"],o=c["lastScrollLeft"],r=f.value,n=d.value,a=p.value,n=n?n.$el:null,i=x.value,a=a.$el,i=i.scrollLeft,o=i!==o;c.lastScrollLeft=i,u.lastScrollTime=Date.now(),n&&(n.scrollLeft=i),a&&(a.scrollLeft=i),t&&o&&q.triggerScrollXEvent(e),o&&r&&r.reactData.visible&&r.updatePlacement(),q.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:a.scrollTop,scrollLeft:i,isX:o,isY:!1},e)};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=s["fixedType"],l=c["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=x,l[e+"table"]=m,l[e+"colgroup"]=g,l[e+"list"]=_,l[e+"xSpace"]=b})}),(0,_vue.onUnmounted)(()=>{var e=s["fixedType"],l=c["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null});return()=>{let{fixedType:y,fixedColumn:e,tableColumn:h,footerTableData:w}=s;const{footerRowClassName:l,footerCellClassName:T,footerRowStyle:t,footerCellStyle:C,footerAlign:I,footerSpanMethod:S,align:F,columnKey:$,showFooterOverflow:O}=a;var o=c["visibleColumn"];const{scrollXLoad:D,overflowX:L,scrollbarWidth:r,currentColumn:M,mergeFooterList:j}=u,A=i.value,k=v.value;return y&&(h=u.expandColumn||!D&&!O||j.length&&S?o:e),(0,_vue.h)("div",{ref:x,class:["vxe-table--footer-wrapper",y?`fixed-${y}--wrapper`:"body--wrapper"],xid:n,onScroll:R},[y?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:b,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:m,class:"vxe-table--footer",xid:n,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},h.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(r?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:_},w.map((g,_)=>{const b=_;var e={$table:q,row:g,_rowIndex:_,$rowIndex:b,fixed:y,type:renderType};return(0,_vue.h)("tr",{class:["vxe-footer--row",l?_xeUtils.default.isFunction(l)?l(e):l:""],style:t?_xeUtils.default.isFunction(t)?t(e):t:null},h.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:s}=l,i=i||s,s=i?renderer.get(i.name):null;const u=A.showAll;i=l.children&&l.children.length,i=y?l.fixed!==y&&!i:l.fixed&&L,o=_xeUtils.default.eqNull(o)?O:o,r=r||(s?s.tableFooterCellAlign:"")||I||n||(s?s.tableCellAlign:"")||F;let c="ellipsis"===o;const d="title"===o,p=!0===o||"tooltip"===o;let f=d||p||c;var n={colid:l.id},s={},o=q.getColumnIndex(l),v=q.getVTColumnIndex(l),x=v;const m={$table:q,$grid:q.xegrid,row:g,rowIndex:_,_rowIndex:_,$rowIndex:b,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:g,fixed:y,type:renderType,data:w};if(D&&!f&&(c=f=!0),(d||p||u)&&(s.onMouseenter=e=>{d?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||u)&&q.triggerFooterTooltipEvent(e,m)}),(p||u)&&(s.onMouseleave=e=>{(p||u)&&q.handleTargetLeaveEvent(e)}),s.onClick=e=>{q.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},s.onDblclick=e=>{q.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},j.length){o=mergeFooterMethod(j,_,v);if(o){var{rowspan:x,colspan:v}=o;if(!x||!v)return null;1<x&&(n.rowspan=x),1<v&&(n.colspan=v)}}else if(S){var{rowspan:o=1,colspan:x=1}=S(m)||{};if(!o||!x)return null;1<o&&(n.rowspan=o),1<x&&(n.colspan=x)}return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":e===h.length-1,"fixed--hidden":i,"col--ellipsis":f,"col--current":M===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:C?_xeUtils.default.isFunction(C)?C(m):C:null}),s),{key:$||k.useKey?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":d,"c--tooltip":p,"c--ellipsis":c}]},l.renderFooter(m))])}).concat(r?[(0,_vue.h)("td",{class:"vxe-footer--gutter col--gutter"})]:[]))}))])])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -6,9 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _vue = require("vue");
|
|
8
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
9
|
+
var _ui = require("../../ui");
|
|
9
10
|
var _util = require("./util");
|
|
10
11
|
var _dom = require("../../ui/src/dom");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
const {
|
|
14
|
+
renderer
|
|
15
|
+
} = _ui.VxeUI;
|
|
12
16
|
const renderType = 'header';
|
|
13
17
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
14
18
|
name: 'VxeTableHeader',
|
|
@@ -285,13 +289,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
285
289
|
showHeaderOverflow,
|
|
286
290
|
headerAlign,
|
|
287
291
|
align,
|
|
288
|
-
headerClassName
|
|
292
|
+
headerClassName,
|
|
293
|
+
editRender,
|
|
294
|
+
cellRender
|
|
289
295
|
} = column;
|
|
290
296
|
const colid = column.id;
|
|
297
|
+
const renderOpts = editRender || cellRender;
|
|
298
|
+
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
291
299
|
const isColGroup = column.children && column.children.length;
|
|
292
300
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : !!column.fixed && overflowX;
|
|
293
301
|
const headOverflow = _xeUtils.default.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
294
|
-
const headAlign = headerAlign ||
|
|
302
|
+
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
295
303
|
let showEllipsis = headOverflow === 'ellipsis';
|
|
296
304
|
const showTitle = headOverflow === 'title';
|
|
297
305
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(
|
|
1
|
+
"use strict";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");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(H){const I=(0,_vue.inject)("$xeTable",{}),{xID:s,props:d,reactData:U,internalData:k}=I,{refElem:M,refTableBody:z,refLeftContainer:R,refRightContainer:S,refCellResizeBar:$}=I.getRefMaps(),c=I.getComputeMaps()["computeColumnOpts"],f=(0,_vue.ref)([]),A=(0,_vue.ref)(),p=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),x=(0,_vue.ref)(),t=()=>{var e=U["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(H.tableGroupColumn):[]},O=(e,t)=>{const r=t["column"],a=H["fixedType"];var l=z.value;const n=R.value,o=S.value,i=$.value,u=e["clientX"];var s=A.value,d=e.target;const c=t.cell=d.parentNode;let f=0;const p=l.$el;l=(0,_dom.getOffsetPos)(d,s),s=d.clientWidth,d=Math.floor(s/2);const v=(0,_util.getColReMinWidth)(t)-d;let m=l.left-c.clientWidth+s+v,h=l.left+d;const x=document.onmousemove,_=document.onmouseup,g="left"===a,b="right"===a,C=M.value;let y=0;if(g||b){var w=g?"nextElementSibling":"previousElementSibling";let e=c[w];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(y+=e.offsetWidth),e=e[w];b&&o&&(h=o.offsetLeft+y)}function T(e){e.stopPropagation(),e.preventDefault(),e=e.clientX-u;let l=h+e;e=a?0:p.scrollLeft,g?l=Math.min(l,(o?o.offsetLeft:p.clientWidth)-y-v):b?(m=(n?n.clientWidth:0)+y+v,l=Math.min(l,h+c.clientWidth-v)):m=Math.max(p.scrollLeft,m),f=Math.max(l,m),i.style.left=f-e+"px"}U._isResize=!0,(0,_dom.addClass)(C,"drag--resize"),i.style.display="block",document.onmousemove=T,document.onmouseup=function(e){document.onmousemove=x,document.onmouseup=_;const l=r.renderWidth+(b?h-f:f-h);r.resizeWidth=l,i.style.display="none",U._isResize=!1,k._lastResizeTime=Date.now(),I.analyColumnWidth(),I.recalculate(!0).then(()=>{I.saveCustomStore("update:visible"),I.updateCellAreas(),I.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>I.recalculate(!0),300)}),(0,_dom.removeClass)(C,"drag--resize")},T(e),I.closeMenu&&I.closeMenu()};(0,_vue.watch)(()=>H.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=H["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=A,l[e+"table"]=p,l[e+"colgroup"]=v,l[e+"list"]=m,l[e+"xSpace"]=h,l[e+"repair"]=x,t()})}),(0,_vue.onUnmounted)(()=>{var e=H["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null});return()=>{const{fixedType:_,fixedColumn:e,tableColumn:l}=H,{resizable:g,border:b,columnKey:C,headerRowClassName:t,headerCellClassName:y,headerRowStyle:r,headerCellStyle:w,showHeaderOverflow:T,headerAlign:M,align:z,mouseConfig:R}=d,{isGroup:a,currentColumn:S,scrollXLoad:$,overflowX:D,scrollbarWidth:n}=U;var o=k["visibleColumn"];const W=c.value;let i=f.value,u=l;return a?u=o:(_&&($||T)&&(u=e),i=[u]),(0,_vue.h)("div",{ref:A,class:["vxe-table--header-wrapper",_?`fixed-${_}--wrapper`:"body--wrapper"],xid:s},[_?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:h,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:p,class:"vxe-table--header",xid:s,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:v},u.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},i.map((h,x)=>(0,_vue.h)("tr",{class:["vxe-header--row",t?_xeUtils.default.isFunction(t)?t({$table:I,$rowIndex:x,fixed:_,type:renderType}):t:""],style:r?_xeUtils.default.isFunction(r)?r({$table:I,$rowIndex:x,fixed:_,type:renderType}):r:null},h.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:n,headerClassName:o,editRender:i,cellRender:u}=e,s=e.id,i=i||u,u=i?renderer.get(i.name):null,i=e.children&&e.children.length,d=_?e.fixed!==_&&!i:!!e.fixed&&D,r=_xeUtils.default.eqNull(r)?T:r,a=a||(u?u.tableHeaderCellAlign:"")||M||n||(u?u.tableCellAlign:"")||z;let c="ellipsis"===r;n="title"===r,u=!0===r||"tooltip"===r;let f=n||u||c;var r=e.filters&&e.filters.some(e=>e.checked),p=I.getColumnIndex(e),v=I.getVTColumnIndex(e);const m={$table:I,$grid:I.xegrid,$rowIndex:x,column:e,columnIndex:p,$columnIndex:l,_columnIndex:v,fixed:_,type:renderType,isHidden:d,hasFilter:r};p={onClick:e=>I.triggerHeaderCellClickEvent(e,m),onDblclick:e=>I.triggerHeaderCellDblclickEvent(e,m)};return $&&!f&&(c=f=!0),R&&(p.onMousedown=e=>I.triggerHeaderCellMousedownEvent(e,m)),(0,_vue.h)("th",Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===h.length-1,"col--fixed":e.fixed,"col--group":i,"col--ellipsis":f,"fixed--hidden":d,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"col--current":S===e},o?_xeUtils.default.isFunction(o)?o(m):o:"",y?_xeUtils.default.isFunction(y)?y(m):y:""],colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null,style:w?_xeUtils.default.isFunction(w)?w(m):w:null},p),{key:C||W.useKey||i?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":u,"c--ellipsis":c}]},e.renderHeader(m)),d||i||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:W.resizable||g)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!b||"none"===b}],onMousedown:e=>O(e,m)})])}).concat(n?[(0,_vue.h)("th",{class:"vxe-header--gutter col--gutter"})]:[]))))]),(0,_vue.h)("div",{ref:x,class:"vxe-table--header-border-line"})])}}});
|
package/lib/ui/index.js
CHANGED
|
@@ -13,9 +13,9 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.7.
|
|
16
|
+
const version = exports.version = "4.7.94";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
|
-
_core.VxeUI.tableVersion = "4.7.
|
|
18
|
+
_core.VxeUI.tableVersion = "4.7.94";
|
|
19
19
|
_core.VxeUI.setConfig({
|
|
20
20
|
emptyCell: ' ',
|
|
21
21
|
table: {
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.94",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.94",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.7.
|
|
11
|
+
const version = `table v${"4.7.94"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.94",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.94",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"style": "lib/style.css",
|
|
29
29
|
"typings": "types/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"vxe-pc-ui": "^4.2.
|
|
31
|
+
"vxe-pc-ui": "^4.2.26"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/resize-observer-browser": "^0.1.11",
|
|
@@ -217,25 +217,33 @@ export default defineComponent({
|
|
|
217
217
|
const { customStore } = props
|
|
218
218
|
const { customColumnList } = reactData
|
|
219
219
|
const customOpts = computeCustomOpts.value
|
|
220
|
-
const { checkMethod } = customOpts
|
|
220
|
+
const { checkMethod, visibleMethod } = customOpts
|
|
221
221
|
const isAll = !customStore.isAll
|
|
222
222
|
if (customOpts.immediate) {
|
|
223
223
|
XEUtils.eachTree(customColumnList, (column) => {
|
|
224
|
-
if (
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
if (visibleMethod && !visibleMethod({ column })) {
|
|
225
|
+
return
|
|
226
|
+
}
|
|
227
|
+
if (checkMethod && !checkMethod({ column })) {
|
|
228
|
+
return
|
|
228
229
|
}
|
|
230
|
+
column.visible = isAll
|
|
231
|
+
column.renderVisible = isAll
|
|
232
|
+
column.halfVisible = false
|
|
229
233
|
})
|
|
230
234
|
customStore.isAll = isAll
|
|
231
235
|
$xeTable.handleCustom()
|
|
232
236
|
$xeTable.saveCustomStore('update:visible')
|
|
233
237
|
} else {
|
|
234
238
|
XEUtils.eachTree(customColumnList, (column) => {
|
|
235
|
-
if (
|
|
236
|
-
|
|
237
|
-
|
|
239
|
+
if (visibleMethod && !visibleMethod({ column })) {
|
|
240
|
+
return
|
|
241
|
+
}
|
|
242
|
+
if (checkMethod && !checkMethod({ column })) {
|
|
243
|
+
return
|
|
238
244
|
}
|
|
245
|
+
column.renderVisible = isAll
|
|
246
|
+
column.halfVisible = false
|
|
239
247
|
})
|
|
240
248
|
customStore.isAll = isAll
|
|
241
249
|
}
|
|
@@ -386,6 +394,7 @@ export default defineComponent({
|
|
|
386
394
|
key: column.id,
|
|
387
395
|
colid: column.id,
|
|
388
396
|
class: ['vxe-table-custom--option', `level--${column.level}`, {
|
|
397
|
+
'is--hidden': isDisabled || isHidden,
|
|
389
398
|
'is--group': isColGroup
|
|
390
399
|
}],
|
|
391
400
|
onDragstart: sortDragstartEvent,
|
|
@@ -417,10 +426,10 @@ export default defineComponent({
|
|
|
417
426
|
}, [
|
|
418
427
|
h('span', {
|
|
419
428
|
class: ['vxe-table-custom--sort-btn', {
|
|
420
|
-
'is--disabled': isHidden
|
|
429
|
+
'is--disabled': isDisabled || isHidden
|
|
421
430
|
}],
|
|
422
431
|
title: getI18n('vxe.custom.setting.sortHelpTip'),
|
|
423
|
-
...(isHidden
|
|
432
|
+
...(isDisabled || isHidden
|
|
424
433
|
? {}
|
|
425
434
|
: {
|
|
426
435
|
onMousedown: sortMousedownEvent,
|
|
@@ -452,7 +461,7 @@ export default defineComponent({
|
|
|
452
461
|
mode: 'text',
|
|
453
462
|
icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
|
|
454
463
|
status: column.renderFixed === 'left' ? 'primary' : '',
|
|
455
|
-
disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
|
|
464
|
+
disabled: isDisabled || isHidden || (isMaxFixedColumn && !column.renderFixed),
|
|
456
465
|
title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
|
|
457
466
|
onClick: () => {
|
|
458
467
|
changeFixedOption(column, 'left')
|
|
@@ -464,7 +473,7 @@ export default defineComponent({
|
|
|
464
473
|
mode: 'text',
|
|
465
474
|
icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
|
|
466
475
|
status: column.renderFixed === 'right' ? 'primary' : '',
|
|
467
|
-
disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
|
|
476
|
+
disabled: isDisabled || isHidden || (isMaxFixedColumn && !column.renderFixed),
|
|
468
477
|
title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
|
|
469
478
|
onClick: () => {
|
|
470
479
|
changeFixedOption(column, 'right')
|
|
@@ -641,10 +650,10 @@ export default defineComponent({
|
|
|
641
650
|
column.level === 1
|
|
642
651
|
? h('span', {
|
|
643
652
|
class: ['vxe-table-custom-popup--column-sort-btn', {
|
|
644
|
-
'is--disabled': isHidden
|
|
653
|
+
'is--disabled': isDisabled || isHidden
|
|
645
654
|
}],
|
|
646
655
|
title: getI18n('vxe.custom.setting.sortHelpTip'),
|
|
647
|
-
...(isHidden
|
|
656
|
+
...(isDisabled || isHidden
|
|
648
657
|
? {}
|
|
649
658
|
: {
|
|
650
659
|
onMousedown: sortMousedownEvent,
|
|
@@ -683,7 +692,7 @@ export default defineComponent({
|
|
|
683
692
|
VxeUIInputComponent
|
|
684
693
|
? h(VxeUIInputComponent, {
|
|
685
694
|
type: 'integer',
|
|
686
|
-
disabled: isHidden,
|
|
695
|
+
disabled: isDisabled || isHidden,
|
|
687
696
|
modelValue: column.renderResizeWidth,
|
|
688
697
|
'onUpdate:modelValue' (value: any) {
|
|
689
698
|
column.renderResizeWidth = Math.max(0, Number(value))
|
|
@@ -705,11 +714,11 @@ export default defineComponent({
|
|
|
705
714
|
modelValue: column.renderFixed || '',
|
|
706
715
|
type: 'button',
|
|
707
716
|
size: 'mini',
|
|
708
|
-
disabled: isHidden,
|
|
717
|
+
disabled: isDisabled || isHidden,
|
|
709
718
|
options: [
|
|
710
|
-
{ label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
|
|
711
|
-
{ label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
|
|
712
|
-
{ label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
|
|
719
|
+
{ label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isDisabled || isHidden || isMaxFixedColumn },
|
|
720
|
+
{ label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isDisabled || isHidden },
|
|
721
|
+
{ label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isDisabled || isHidden || isMaxFixedColumn }
|
|
713
722
|
],
|
|
714
723
|
'onUpdate:modelValue' (value: any) {
|
|
715
724
|
column.renderFixed = value
|
|
@@ -161,7 +161,7 @@ export default defineComponent({
|
|
|
161
161
|
let hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
162
162
|
let isDirty
|
|
163
163
|
const tdOns: any = {}
|
|
164
|
-
const cellAlign = align || allAlign
|
|
164
|
+
const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
165
165
|
const errorValidItem = validErrorMaps[`${rowid}:${colid}`]
|
|
166
166
|
const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? (height || tableData.length > 1) : validOpts.message === 'inline')
|
|
167
167
|
const attrs: any = { colid }
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { createCommentVNode, defineComponent, h, ref, Ref, PropType, inject, nextTick, onMounted, onUnmounted } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
+
import { VxeUI } from '../../ui'
|
|
3
4
|
import { updateCellTitle, getPropClass } from '../../ui/src/dom'
|
|
4
5
|
|
|
5
6
|
import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods, VxeColumnPropTypes, VxeTableDefines } from '../../../types'
|
|
6
7
|
|
|
8
|
+
const { renderer } = VxeUI
|
|
9
|
+
|
|
7
10
|
const renderType = 'footer'
|
|
8
11
|
|
|
9
12
|
function mergeFooterMethod (mergeFooterList: VxeTableDefines.MergeItem[], _rowIndex: number, _columnIndex: number) {
|
|
@@ -180,12 +183,14 @@ export default defineComponent({
|
|
|
180
183
|
class: ['vxe-footer--row', footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
181
184
|
style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
|
|
182
185
|
}, tableColumn.map((column, $columnIndex) => {
|
|
183
|
-
const { type, showFooterOverflow, footerAlign, align, footerClassName } = column
|
|
186
|
+
const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column
|
|
187
|
+
const renderOpts = editRender || cellRender
|
|
188
|
+
const compConf = renderOpts ? renderer.get(renderOpts.name) : null
|
|
184
189
|
const showAllTip = tooltipOpts.showAll
|
|
185
190
|
const isColGroup = column.children && column.children.length
|
|
186
191
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX
|
|
187
192
|
const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow
|
|
188
|
-
const footAlign = footerAlign ||
|
|
193
|
+
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
189
194
|
let showEllipsis = footOverflow === 'ellipsis'
|
|
190
195
|
const showTitle = footOverflow === 'title'
|
|
191
196
|
const showTooltip = footOverflow === true || footOverflow === 'tooltip'
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { createCommentVNode, defineComponent, h, ref, Ref, PropType, inject, nextTick, watch, onMounted, onUnmounted } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
+
import { VxeUI } from '../../ui'
|
|
3
4
|
import { convertHeaderColumnToRows, getColReMinWidth } from './util'
|
|
4
5
|
import { hasClass, getOffsetPos, addClass, removeClass } from '../../ui/src/dom'
|
|
5
6
|
|
|
6
7
|
import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods, VxeTableDefines, VxeColumnPropTypes } from '../../../types'
|
|
7
8
|
|
|
9
|
+
const { renderer } = VxeUI
|
|
10
|
+
|
|
8
11
|
const renderType = 'header'
|
|
9
12
|
|
|
10
13
|
export default defineComponent({
|
|
@@ -228,12 +231,14 @@ export default defineComponent({
|
|
|
228
231
|
class: ['vxe-header--row', headerRowClassName ? (XEUtils.isFunction(headerRowClassName) ? headerRowClassName({ $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType }) : headerRowClassName) : ''],
|
|
229
232
|
style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle({ $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType }) : headerRowStyle) : null
|
|
230
233
|
}, cols.map((column, $columnIndex) => {
|
|
231
|
-
const { type, showHeaderOverflow, headerAlign, align, headerClassName } = column
|
|
234
|
+
const { type, showHeaderOverflow, headerAlign, align, headerClassName, editRender, cellRender } = column
|
|
232
235
|
const colid = column.id
|
|
236
|
+
const renderOpts = editRender || cellRender
|
|
237
|
+
const compConf = renderOpts ? renderer.get(renderOpts.name) : null
|
|
233
238
|
const isColGroup = column.children && column.children.length
|
|
234
239
|
const fixedHiddenColumn = fixedType ? (column.fixed !== fixedType && !isColGroup) : !!column.fixed && overflowX
|
|
235
240
|
const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
|
|
236
|
-
const headAlign = headerAlign ||
|
|
241
|
+
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
|
|
237
242
|
let showEllipsis = headOverflow === 'ellipsis'
|
|
238
243
|
const showTitle = headOverflow === 'title'
|
|
239
244
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|