vxe-table 4.7.40 → 4.7.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/locale/lang/en-US.js +2 -5
- package/es/locale/lang/es-ES.js +2 -5
- package/es/locale/lang/ja-JP.js +2 -5
- package/es/locale/lang/pt-BR.js +2 -5
- package/es/locale/lang/zh-CN.js +6 -9
- package/es/locale/lang/zh-TC.js +3 -6
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +10 -6
- package/es/table/module/export/hook.js +1 -1
- package/es/table/module/filter/hook.js +3 -2
- package/es/table/module/filter/panel.js +4 -4
- package/es/table/src/header.js +1 -0
- package/es/table/src/table.js +22 -21
- package/es/ui/index.js +11 -4
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +62 -51
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -5
- package/lib/locale/lang/es-ES.js +2 -5
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -5
- package/lib/locale/lang/ja-JP.js +2 -5
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -5
- package/lib/locale/lang/pt-BR.js +2 -5
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -5
- package/lib/locale/lang/zh-CN.js +6 -9
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +6 -9
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +3 -6
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +3 -6
- package/lib/locale/lang/zh-TC.js +3 -6
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +3 -6
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +3 -6
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +12 -6
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/hook.js +1 -1
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/filter/hook.js +3 -2
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +5 -3
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/src/header.js +1 -0
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +22 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +11 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +2 -5
- package/packages/locale/lang/es-ES.ts +2 -5
- package/packages/locale/lang/ja-JP.ts +2 -5
- package/packages/locale/lang/pt-BR.ts +2 -5
- package/packages/locale/lang/zh-CN.ts +6 -9
- package/packages/locale/lang/zh-TC.ts +3 -6
- package/packages/table/module/custom/panel.ts +10 -6
- package/packages/table/module/export/hook.ts +1 -1
- package/packages/table/module/filter/hook.ts +3 -2
- package/packages/table/module/filter/panel.ts +4 -4
- package/packages/table/src/header.ts +1 -0
- package/packages/table/src/table.ts +22 -21
- package/packages/ui/index.ts +9 -2
- /package/es/{iconfont.1719657199027.ttf → iconfont.1720011186898.ttf} +0 -0
- /package/es/{iconfont.1719657199027.woff → iconfont.1720011186898.woff} +0 -0
- /package/es/{iconfont.1719657199027.woff2 → iconfont.1720011186898.woff2} +0 -0
- /package/lib/{iconfont.1719657199027.ttf → iconfont.1720011186898.ttf} +0 -0
- /package/lib/{iconfont.1719657199027.woff → iconfont.1720011186898.woff} +0 -0
- /package/lib/{iconfont.1719657199027.woff2 → iconfont.1720011186898.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(k){const L=_ui.VxeUI.getComponent("VxeModal"),A=_ui.VxeUI.getComponent("VxeButton"),y=_ui.VxeUI.getComponent("VxeInput"),F=_ui.VxeUI.getComponent("VxeTooltip"),w=_ui.VxeUI.getComponent("VxeRadioGroup"),v=(0,_vue.inject)("$xeTable",{}),H=v["reactData"],{computeCustomOpts:R,computeColumnOpts:D,computeIsMaxFixedColumn:M}=v.getComputeMaps(),S=(0,_vue.ref)(),U=(0,_vue.ref)(),K=(0,_vue.ref)(),W=(0,_vue.ref)();let n;const X=e=>{var t=k["customStore"];t.activeWrapper=!0,v.customOpenEvent(e)},z=e=>{const t=k["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||v.customCloseEvent(e)},300)},q=e=>{var t=H["customColumnList"];const{allowVisible:s,allowSort:a,allowFixed:r,allowResizable:n}=R.value;_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i||(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)}),v.closeCustom(),v.emitCustomEvent("confirm",e),v.saveCustomStore("confirm")},j=e=>{var t=k["customStore"],o=H["customColumnList"];const{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:a}=t,{allowVisible:r,allowSort:n,allowFixed:u,allowResizable:c}=R.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"}),v.closeCustom(),v.emitCustomEvent("cancel",e)},o=e=>{v.resetColumn(!0),v.closeCustom(),v.emitCustomEvent("reset",e)},G=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=H["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))},P=e=>{const t=!e.renderVisible;var o=R.value;_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),l(e),o.immediate&&(v.handleCustom(),v.saveCustomStore("update:visible")),v.checkCustomStatus()},Y=(e,t)=>{var o=M.value;e.renderFixed===t?e.renderFixed="":o&&!e.renderFixed||(e.renderFixed=t)},$=()=>{var e=k["customStore"],t=H["customColumnList"];const o=R.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.renderVisible=l,e.halfVisible=!1)}),e.isAll=l,v.checkCustomStatus()},J=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=v.getColumnById(t);e.draggable=!0,W.value=t,(0,_dom.addClass)(e,"active--drag-origin")},Q=e=>{var e=e.currentTarget.parentNode.parentNode,t=K.value;e.draggable=!1,(W.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},Z=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},ee=e=>{var t=H["customColumnList"],e=e.currentTarget,o=K.value;if(n){if(n!==e){var l=n.getAttribute("drag-pos"),i=e.getAttribute("colid");const a=v.getColumnById(i);if(!a)return;var i=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),s=n.getAttribute("colid");const r=v.getColumnById(s);if(!r)return;t.splice(i,1);s=_xeUtils.default.findIndexOf(t,e=>e.id===r.id);t.splice(s+("bottom"===l?1:0),0,a)}n.draggable=!1,n.removeAttribute("drag-pos"),(0,_dom.removeClass)(n,"active--drag-target")}W.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},te=e=>{var t=e.currentTarget,o=(n!==t&&(0,_dom.removeClass)(n,"active--drag-target"),t.getAttribute("colid")),o=v.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),n=t);{o=e;var l=K.value,i=U.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)(()=>{L||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),A||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),y||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"]),w||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{if("popup"===R.value.mode){const a=k["customStore"];var e=H["customColumnList"];const r=R.value,{modalOptions:n,allowVisible:c,allowSort:v,allowFixed:d,allowResizable:m,checkMethod:h,visibleMethod:p}=r,u=D.value;var t=Object.assign({},n);const x=M.value,_=[],g=(_xeUtils.default.eachTree(e,(t,e,o,l,i)=>{if(!p||p({column:t})){var s=t.renderVisible,a=t.halfVisible,r=(0,_utils.formatText)(t.getTitle(),1),n=t.children&&t.children.length;const u=!!h&&!h({column:t});_.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":n}],onDragstart:Z,onDragend:ee,onDragover:te},[c?(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":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||P(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)(),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:J,onMouseup:Q},[(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"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:r},r)]),m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[!s||t.children&&t.children.length?(0,_vue.h)("span","-"):y?(0,_vue.h)(y,{type:"integer",min:40,modelValue:t.renderResizeWidth,"onUpdate:modelValue"(e){t.renderResizeWidth=Math.max(40,Number(e))}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?(0,_vue.h)("span","-"):w?(0,_vue.h)(w,{modelValue:t.renderFixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:x},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:x}],"onUpdate:modelValue"(e){t.renderFixed=e}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),a.isAll),b=a.isIndeterminate;return L?(0,_vue.h)(L,{key:"popup",className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",t.className||""].join(" "),modelValue:a.visible,title:t.title||getI18n("vxe.custom.cstmTitle"),width:t.width||"50vw",minWidth:t.minWidth||700,height:t.height||"50vh",minHeight:t.minHeight||400,mask:!0,lockView:!0,showFooter:!0,resize:!0,escClosable:!0,destroyOnClose:!0,"onUpdate:modelValue"(e){a.visible=e}},{default:()=>(0,_vue.h)("div",{ref:U,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",{},[c?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),m?(0,_vue.h)("col",{style:{width:"140px"}}):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[c?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":g,"is--indeterminate":b}],title:getI18n("vxe.table.allTitle"),onClick:$},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),F?(0,_vue.h)(F,{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{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")),m?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colFixed",[u.maxFixedSize||0])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>_})])]),(0,_vue.h)("div",{ref:K,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[W.value?W.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[A?(0,_vue.h)(A,{content:r.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:G}):(0,_vue.createCommentVNode)(),A?(0,_vue.h)(A,{content:r.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:j}):(0,_vue.createCommentVNode)(),A?(0,_vue.h)(A,{status:"primary",content:r.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:q}):(0,_vue.createCommentVNode)()])}):(0,_vue.createCommentVNode)()}{var e=k["customStore"],t=H["customColumnList"],o=R.value,l=e["maxHeight"];const{checkMethod:C,visibleMethod:f,allowVisible:I,allowSort:T,allowFixed:V,trigger:E,placement:N}=o,B=M.value,O=[];var i={},t=("hover"===E&&(i.onMouseenter=X,i.onMouseleave=z),_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{if(!f||f({column:e})){var s=e.renderVisible,a=e.halfVisible,r=e.children&&e.children.length,n=(0,_utils.formatText)(e.getTitle(),1);const u=!!C&&!C({column:e});O.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":r}],onDragstart:Z,onDragend:ee,onDragover:te},[I?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||P(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)(),T&&1===e.level?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",{class:"vxe-table-custom--sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:J,onMouseup:Q},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--checkbox-label",title:n},n),!i&&V?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.renderFixed,"is--disabled":B&&!e.renderFixed}],title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{Y(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.renderFixed,"is--disabled":B&&!e.renderFixed}],title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{Y(e,"right")}})]):(0,_vue.createCommentVNode)()]))}}),e.isAll),s=e.isIndeterminate;return(0,_vue.h)("div",{ref:S,key:"simple",class:["vxe-table-custom-wrapper","placement--"+N,{"is--active":e.visible}],style:l&&!["left","right"].includes(N)?{maxHeight:l+"px"}:{}},e.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[I?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:$},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])]),(0,_vue.h)("div",{ref:U,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:()=>O}),(0,_vue.h)("div",{ref:K,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[W.value?W.value.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:G},o.resetButtonText||getI18n("vxe.table.customRestore")),o.immediate?(0,_vue.createCommentVNode)():(0,_vue.h)("button",{class:"btn--cancel",onClick:j},o.resetButtonText||getI18n("vxe.table.customCancel")),(0,_vue.h)("button",{class:"btn--confirm",onClick:q},o.confirmButtonText||getI18n("vxe.table.customConfirm"))]):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(O){const w=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeButton"),A=_ui.VxeUI.getComponent("VxeInput"),y=_ui.VxeUI.getComponent("VxeTooltip"),F=_ui.VxeUI.getComponent("VxeRadioGroup"),d=(0,_vue.inject)("$xeTable",{}),M=d["reactData"],{computeCustomOpts:H,computeColumnOpts:R,computeIsMaxFixedColumn:D}=d.getComputeMaps(),S=(0,_vue.ref)(),U=(0,_vue.ref)(),K=(0,_vue.ref)(),z=(0,_vue.ref)();let n;const W=e=>{var t=O["customStore"];t.activeWrapper=!0,d.customOpenEvent(e)},X=e=>{const t=O["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||d.customCloseEvent(e)},300)},q=e=>{var t=M["customColumnList"];const{allowVisible:s,allowSort:a,allowFixed:r,allowResizable:n}=H.value;_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i||(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")},j=e=>{var t=O["customStore"],o=M["customColumnList"];const{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:a}=t,{allowVisible:r,allowSort:n,allowFixed:c,allowResizable:u}=H.value;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=s[t]||"";r&&(e.renderVisible=o,e.visible=o),c&&(e.renderFixed=l,e.fixed=l),n&&(e.renderSortNumber=i[t]||0),u&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),d.closeCustom(),d.emitCustomEvent("cancel",e)},o=e=>{d.resetColumn(!0),d.closeCustom(),d.emitCustomEvent("reset",e)},G=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=M["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))},P=e=>{const t=!e.renderVisible;var o=H.value;_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),l(e),o.immediate&&(d.handleCustom(),d.saveCustomStore("update:visible")),d.checkCustomStatus()},Y=(e,t)=>{var o=D.value;e.renderFixed===t?e.renderFixed="":o&&!e.renderFixed||(e.renderFixed=t)},Z=()=>{var e=O["customStore"],t=M["customColumnList"];const o=H.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.renderVisible=l,e.halfVisible=!1)}),e.isAll=l,d.checkCustomStatus()},$=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=d.getColumnById(t);e.draggable=!0,z.value=t,(0,_dom.addClass)(e,"active--drag-origin")},J=e=>{var e=e.currentTarget.parentNode.parentNode,t=K.value;e.draggable=!1,(z.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},Q=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},ee=e=>{var t=M["customColumnList"],e=e.currentTarget,o=K.value;if(n){if(n!==e){var l=n.getAttribute("drag-pos"),i=e.getAttribute("colid");const a=d.getColumnById(i);if(!a)return;var i=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),s=n.getAttribute("colid");const r=d.getColumnById(s);if(!r)return;t.splice(i,1);s=_xeUtils.default.findIndexOf(t,e=>e.id===r.id);t.splice(s+("bottom"===l?1:0),0,a)}n.draggable=!1,n.removeAttribute("drag-pos"),(0,_dom.removeClass)(n,"active--drag-target")}z.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},te=e=>{var t=e.currentTarget,o=(n!==t&&(0,_dom.removeClass)(n,"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),n=t);{o=e;var l=K.value,i=U.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)(()=>{w||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),A||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),y||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{if("popup"===H.value.mode){const a=O["customStore"];var e=M["customColumnList"];const r=H.value,{modalOptions:n,allowVisible:u,allowSort:d,allowFixed:v,allowResizable:m,checkMethod:h,visibleMethod:x}=r,c=R.value["maxFixedSize"];var t=Object.assign({},n);const p=D.value,_=[],g=(_xeUtils.default.eachTree(e,(t,e,o,l,i)=>{if(!x||x({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});_.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":n}],onDragstart:Q,onDragend:ee,onDragover:te},[u?(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||P(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)(),d?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:$,onMouseup:J},[(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"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:r},r)]),m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[!s||t.children&&t.children.length?(0,_vue.h)("span","-"):A?(0,_vue.h)(A,{type:"integer",min:40,modelValue:t.renderResizeWidth,"onUpdate:modelValue"(e){t.renderResizeWidth=Math.max(40,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","-"):F?(0,_vue.h)(F,{modelValue:t.renderFixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:p},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:p}],"onUpdate:modelValue"(e){t.renderFixed=e}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),a.isAll),b=a.isIndeterminate;return w?(0,_vue.h)(w,{key:"popup",className:["vxe-table-custom-popup-wrapper","vxe-table--ignore-clear",t.className||""].join(" "),modelValue:a.visible,title:t.title||getI18n("vxe.custom.cstmTitle"),width:t.width||"50vw",minWidth:t.minWidth||700,height:t.height||"50vh",minHeight:t.minHeight||400,showZoom:t.showZoom,showMaximize:t.showMaximize,showMinimize:t.showMinimize,mask:t.mask,lockView:t.lockView,resize:t.resize,escClosable:!!t.escClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){a.visible=e}},{default:()=>(0,_vue.h)("div",{ref:U,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",{},[u?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),m?(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",{},[u?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":g,"is--indeterminate":b}],title:getI18n("vxe.table.allTitle"),onClick:Z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),y?(0,_vue.h)(y,{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{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")),m?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(c?"colFixedMax":"colFixed"),[c])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>_})])]),(0,_vue.h)("div",{ref:K,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[z.value?z.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[L?(0,_vue.h)(L,{content:r.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:G}):(0,_vue.createCommentVNode)(),L?(0,_vue.h)(L,{content:r.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:j}):(0,_vue.createCommentVNode)(),L?(0,_vue.h)(L,{status:"primary",content:r.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:q}):(0,_vue.createCommentVNode)()])}):(0,_vue.createCommentVNode)()}{var e=O["customStore"],t=M["customColumnList"],o=H.value,l=e["maxHeight"];const{checkMethod:C,visibleMethod:f,allowVisible:I,allowSort:T,allowFixed:V,trigger:E,placement:N}=o,k=D.value,B=[];var i={},t=("hover"===E&&(i.onMouseenter=W,i.onMouseleave=X),_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{if(!f||f({column:e})){var s=e.renderVisible,a=e.halfVisible,r=e.children&&e.children.length,n=(0,_utils.formatText)(e.getTitle(),1);const c=!!C&&!C({column:e});B.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":r}],onDragstart:Q,onDragend:ee,onDragover:te},[I?(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||P(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)(),T&&1===e.level?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",{class:"vxe-table-custom--sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:$,onMouseup:J},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--checkbox-label",title:n},n),!i&&V?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.renderFixed,"is--disabled":k&&!e.renderFixed}],title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{Y(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.renderFixed,"is--disabled":k&&!e.renderFixed}],title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{Y(e,"right")}})]):(0,_vue.createCommentVNode)()]))}}),e.isAll),s=e.isIndeterminate;return(0,_vue.h)("div",{ref:S,key:"simple",class:["vxe-table-custom-wrapper","placement--"+N,{"is--active":e.visible}],style:l&&!["left","right"].includes(N)?{maxHeight:l+"px"}:{}},e.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[I?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:Z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])]),(0,_vue.h)("div",{ref:U,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:K,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[z.value?z.value.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:G},o.resetButtonText||getI18n("vxe.table.customRestore")),o.immediate?(0,_vue.createCommentVNode)():(0,_vue.h)("button",{class:"btn--cancel",onClick:j},o.resetButtonText||getI18n("vxe.table.customCancel")),(0,_vue.h)("button",{class:"btn--confirm",onClick:q},o.confirmButtonText||getI18n("vxe.table.customConfirm"))]):null]:[]);return}}}});
|
|
@@ -272,7 +272,7 @@ function checkImportData(columns, fields) {
|
|
|
272
272
|
});
|
|
273
273
|
return fields.some(field => tableFields.indexOf(field) > -1);
|
|
274
274
|
}
|
|
275
|
-
const tableExportMethodKeys = ['exportData', 'importByFile', 'importData', 'saveFile', 'readFile', 'print', 'openImport', 'openExport', 'openPrint'];
|
|
275
|
+
const tableExportMethodKeys = ['exportData', 'importByFile', 'importData', 'saveFile', 'readFile', 'print', 'getPrintHtml', 'openImport', 'openExport', 'openPrint'];
|
|
276
276
|
hooks.add('tableExportModule', {
|
|
277
277
|
setupTable($xeTable) {
|
|
278
278
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},n=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:a,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:_,computeSeqOpts:s,computeRadioOpts:o,computeCheckboxOpts:n,computeColumnOpts:i}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,o)=>{var r=s.value.seqMethod||l.seqMethod;return r?r({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:o}):C.getRowSeq(e)};function M(e,t){var l=i.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const f=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=o.value,h=n.value;var l=k.value;const m=i.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,n,e,i,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&C.isTreeExpandByRow(s)){t=d,o=(o=k.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i.map((e,t)=>t%2==0?Number(e)+1:".").join(""):v(d,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(d)),s._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=f(C.isCheckedByRadioRow(d)),s._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=""+C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(d,e))&&(l=o.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,n)=>{const i={_row:s};return r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.exportMethod:a)l=a({$table:C,row:s,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n+1:v(s,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(s)),i._checkboxLabel=h.labelField?_xeUtils.default.get(s,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:s});break;case"radio":l=f(C.isCheckedByRadioRow(s)),i._radioLabel=u.labelField?_xeUtils.default.get(s,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=""+C.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(s,e))&&(l=o.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),i})},j=(e,t,l)=>{var o=i.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},p=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(M(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),o},u=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(M(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),o},U=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return o=l||e?o||!0:o},h=(n,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:i,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:r,mergeList:m}=E,s=k.value,{print:x,isHeader:g,isFooter:v,isColgroup:f,isMerge:b,colgroups:_,original:y}=n,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),f&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||i||c,l=U(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=M(n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||i||c,l=U(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=M(n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=U(t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(i=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=U(e,"showOverflow",p)?["col--ellipsis"]:[],o=i[e.id];let r=1,a=1;if(b&&m.length){var s=C.getVTRowIndex(i._row),n=C.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(m,s,n);if(s){var{rowspan:n,colspan:s}=s;if(!n||!s)return"";1<n&&(r=n),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${i._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${i._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),v&&(t=E["footerTableData"],(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=U(e,"showOverflow",p)?["col--ellipsis"]:[],o=j(n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))},m=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${M(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${j(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},I=s=>{const{remote:l,columns:n,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:C,$grid:w};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(C.preventEvent(null,"event.export",{options:s,columns:n,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(s,n,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(n),s.print||t&&t({status:!0,options:s,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),s.print||t&&t({status:!1,options:s,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:n,afterImportMethod:t}=s,{type:i,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),i)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},o=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=o,window.FileReader){const d=Object.assign({mode:"insertBottom"},s,{type:i,filename:c});var r;d.remote?n?Promise.resolve(n({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[i]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=y;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:n,rows:i}=e;checkImportData(r,n)?C.createData(i).then(e=>{let t;return t="insert"===o.mode||"insertBottom"===o.mode?C.insert(e):C.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[i.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:C})}).catch(e=>(t&&t({status:!1,options:s,$table:C}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[i]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=T;const{initStore:a,mergeList:s,isGroup:n,footerTableData:i,exportStore:d,exportParams:c}=E;var p=y["collectColumn"],u=$.value,h=_.value,m=C.getCheckboxRecords(),x=w?w.getComputeMaps().computeProxyOpts.value:{},g=!!i.length,v=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r,current:"current",modes:["current","selected"].concat(x.ajax&&x.ajax.queryAll?["all"]:[])},e),r=o.types||_xeUtils.default.keys(u._typeMaps),x=o.modes||[];const f=h.checkMethod;e=p.slice(0);const b=o["columns"];u=r.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),h=x.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(e,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=b?b.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?o.id===t:e&&l?o.property===e&&o.type===l:e?o.property===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!f&&!f({column:o}))}),Object.assign(d,{columns:e,typeList:u,modeList:h,hasFooter:g,hasMerge:v,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},o),h.some(e=>e.value===c.mode)||(c.mode=h[0].value),u.some(e=>e.value===c.type)||(c.type=u[0].value),a.export=!0,(0,_vue.nextTick)()},g={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:o}=E;const{tableFullColumn:a,afterFullData:r}=y;var s=$.value,n=k.value;const i=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=i;let h=[];c=c&&c.length?c:null;let m=i.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(i._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.property||e.field;l?t=C.getColumnById(l):r&&o?t=a.find(e=>e.property===r&&e.type===o):r?t=C.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),i.columns=x,i.colgroups=convertToRows(h),i.filename||(i.filename=getI18n(i.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),i.sheetName||(i.sheetName=document.title),!i.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(i.print||u&&u({options:i,$table:C,$grid:w}),!i.data)if(i.data=[],"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?i.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},n,{data:"_row"})):i.data=g}else if("all"===d){if("development"!==process.env.NODE_ENV||w||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),w&&!i.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:v,afterQueryAll:f,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:i};return Promise.resolve((v||l)(_)).catch(e=>e).then(e=>(i.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],f&&f(_),I(i)))}}}else"current"===d&&(i.data=r);return I(i)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=a.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0}),o=(l.sheetName||(l.sheetName=document.title),l.beforePrintMethod),r=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?r?e(_ui.VxeUI.print({title:l.sheetName,html:r,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0})):e(g.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=a.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return g.exportData(t).then(({content:e})=>({html:e}))},openImport(e){var{treeConfig:t,importConfig:l}=T;const{initStore:o,importStore:r,importParams:a}=E;var s=d.value,s=Object.assign({mode:"insertBottom",message:!0,types:_xeUtils.default.keys(s._typeMaps),modes:["insertBottom","covering"]},s,e),e=s.types||[],n=s.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||T.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},openPrint(e){var t=a.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||T.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return g},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},n=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:a,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:_,computeSeqOpts:s,computeRadioOpts:o,computeCheckboxOpts:n,computeColumnOpts:i}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,o)=>{var r=s.value.seqMethod||l.seqMethod;return r?r({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:o}):C.getRowSeq(e)};function M(e,t){var l=i.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const f=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=o.value,h=n.value;var l=k.value;const m=i.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,n,e,i,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&C.isTreeExpandByRow(s)){t=d,o=(o=k.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i.map((e,t)=>t%2==0?Number(e)+1:".").join(""):v(d,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(d)),s._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=f(C.isCheckedByRadioRow(d)),s._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=""+C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(d,e))&&(l=o.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,n)=>{const i={_row:s};return r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.exportMethod:a)l=a({$table:C,row:s,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n+1:v(s,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(s)),i._checkboxLabel=h.labelField?_xeUtils.default.get(s,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:s});break;case"radio":l=f(C.isCheckedByRadioRow(s)),i._radioLabel=u.labelField?_xeUtils.default.get(s,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=""+C.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(s,e))&&(l=o.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),i})},j=(e,t,l)=>{var o=i.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},p=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(M(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),o},u=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(M(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(j(l,t,e))).join(",")+enterSymbol})),o},U=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return o=l||e?o||!0:o},h=(n,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:i,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:r,mergeList:m}=E,s=k.value,{print:x,isHeader:g,isFooter:v,isColgroup:f,isMerge:b,colgroups:_,original:y}=n,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),f&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||i||c,l=U(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=M(n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||i||c,l=U(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=M(n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=U(t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(i=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=U(e,"showOverflow",p)?["col--ellipsis"]:[],o=i[e.id];let r=1,a=1;if(b&&m.length){var s=C.getVTRowIndex(i._row),n=C.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(m,s,n);if(s){var{rowspan:n,colspan:s}=s;if(!n||!s)return"";1<n&&(r=n),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${i._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${i._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),v&&(t=E["footerTableData"],(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=U(e,"showOverflow",p)?["col--ellipsis"]:[],o=j(n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))},m=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${M(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${j(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},I=s=>{const{remote:l,columns:n,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:C,$grid:w};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(C.preventEvent(null,"event.export",{options:s,columns:n,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(s,n,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(n),s.print||t&&t({status:!0,options:s,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),s.print||t&&t({status:!1,options:s,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:n,afterImportMethod:t}=s,{type:i,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),i)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},o=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=o,window.FileReader){const d=Object.assign({mode:"insertBottom"},s,{type:i,filename:c});var r;d.remote?n?Promise.resolve(n({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[i]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=y;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:n,rows:i}=e;checkImportData(r,n)?C.createData(i).then(e=>{let t;return t="insert"===o.mode||"insertBottom"===o.mode?C.insert(e):C.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[i.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:C})}).catch(e=>(t&&t({status:!1,options:s,$table:C}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[i]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=T;const{initStore:a,mergeList:s,isGroup:n,footerTableData:i,exportStore:d,exportParams:c}=E;var p=y["collectColumn"],u=$.value,h=_.value,m=C.getCheckboxRecords(),x=w?w.getComputeMaps().computeProxyOpts.value:{},g=!!i.length,v=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r,current:"current",modes:["current","selected"].concat(x.ajax&&x.ajax.queryAll?["all"]:[])},e),r=o.types||_xeUtils.default.keys(u._typeMaps),x=o.modes||[];const f=h.checkMethod;e=p.slice(0);const b=o["columns"];u=r.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),h=x.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(e,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=b?b.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?o.id===t:e&&l?o.property===e&&o.type===l:e?o.property===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!f&&!f({column:o}))}),Object.assign(d,{columns:e,typeList:u,modeList:h,hasFooter:g,hasMerge:v,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},o),h.some(e=>e.value===c.mode)||(c.mode=h[0].value),u.some(e=>e.value===c.type)||(c.type=u[0].value),a.export=!0,(0,_vue.nextTick)()},g={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:o}=E;const{tableFullColumn:a,afterFullData:r}=y;var s=$.value,n=k.value;const i=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=i;let h=[];c=c&&c.length?c:null;let m=i.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(i._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.property||e.field;l?t=C.getColumnById(l):r&&o?t=a.find(e=>e.property===r&&e.type===o):r?t=C.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),i.columns=x,i.colgroups=convertToRows(h),i.filename||(i.filename=getI18n(i.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),i.sheetName||(i.sheetName=document.title),!i.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(i.print||u&&u({options:i,$table:C,$grid:w}),!i.data)if(i.data=[],"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?i.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},n,{data:"_row"})):i.data=g}else if("all"===d){if("development"!==process.env.NODE_ENV||w||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),w&&!i.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:v,afterQueryAll:f,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:i};return Promise.resolve((v||l)(_)).catch(e=>e).then(e=>(i.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],f&&f(_),I(i)))}}}else"current"===d&&(i.data=r);return I(i)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=a.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0}),o=(l.sheetName||(l.sheetName=document.title),l.beforePrintMethod),r=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?r?e(_ui.VxeUI.print({title:l.sheetName,html:r,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0})):e(g.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=a.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return g.exportData(t).then(({content:e})=>({html:e}))},openImport(e){var{treeConfig:t,importConfig:l}=T;const{initStore:o,importStore:r,importParams:a}=E;var s=d.value,s=Object.assign({mode:"insertBottom",message:!0,types:_xeUtils.default.keys(s._typeMaps),modes:["insertBottom","covering"]},s,e),e=s.types||[],n=s.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||T.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},openPrint(e){var t=a.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||T.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return g},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
@@ -5,6 +5,7 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
5
5
|
var _ui = require("../../../ui");
|
|
6
6
|
var _util = require("../../src/util");
|
|
7
7
|
var _dom = require("../../../ui/src/dom");
|
|
8
|
+
var _utils = require("../../../ui/src/utils");
|
|
8
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
10
|
const {
|
|
10
11
|
renderer,
|
|
@@ -63,7 +64,7 @@ hooks.add('tableFilterModule', {
|
|
|
63
64
|
filterMultiple,
|
|
64
65
|
filterRender
|
|
65
66
|
} = column;
|
|
66
|
-
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
67
|
+
const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
67
68
|
const frMethod = column.filterRecoverMethod || (compConf ? compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod : null);
|
|
68
69
|
internalData._currFilterParams = params;
|
|
69
70
|
Object.assign(filterStore, {
|
|
@@ -158,7 +159,7 @@ hooks.add('tableFilterModule', {
|
|
|
158
159
|
filterRender
|
|
159
160
|
} = column;
|
|
160
161
|
if (filters) {
|
|
161
|
-
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
162
|
+
const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
162
163
|
const frMethod = column.filterResetMethod || (compConf ? compConf.tableFilterResetMethod || compConf.filterResetMethod : null);
|
|
163
164
|
filters.forEach(item => {
|
|
164
165
|
item._checked = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"];hooks.add("tableFilterModule",{setupTable(m){const{props:d,reactData:F,internalData:s}=m,{refTableBody:
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"];hooks.add("tableFilterModule",{setupTable(m){const{props:d,reactData:F,internalData:s}=m,{refTableBody:b,refTableFilter:g}=m.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=m.getComputeMaps(),o={checkFilterOptions(){var e=F["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,c,t){const{initStore:l,filterStore:d}=F;if(d.column===c&&d.visible)d.visible=!1;else{const{target:h,pageX:p}=e,v=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:o}=c,o=(0,_utils.isEnableConf)(o)?renderer.get(o.name):null;const a=c.filterRecoverMethod||(o?o.tableFilterRecoverMethod||o.filterRecoverMethod:null);s._currFilterParams=t,Object.assign(d,{multiple:i,options:r,column:c,style:null}),d.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||a&&a({option:e,column:c,$table:m})}),this.checkFilterOptions(),d.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var e=b.value.$el,t=g.value,t=t?t.$el:null;let l=0,r=0,i=null,o=null;t&&(l=t.offsetWidth,r=t.offsetHeight,i=t.querySelector(".vxe-table--filter-header"),o=t.querySelector(".vxe-table--filter-footer"));var t=l/2,a=e.clientWidth-l-10;let s,n;var u={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"};let f=null;r>=e.clientHeight&&(f=Math.max(60,e.clientHeight-(o?o.offsetHeight:0)-(i?i.offsetHeight:0))),"left"===c.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-t:"right"===c.fixed?n=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-c.renderWidth-t:s=h.offsetLeft+h.offsetParent.offsetLeft-t-e.scrollLeft,s?(0<(e=p+l-t+10-v)&&(s-=e),u.left=Math.min(a,Math.max(10,s))+"px"):n&&(0<(e=p+l-t+10-v)&&(n+=e),u.right=Math.max(10,n)+"px"),d.style=u,d.maxHeight=f})}m.dispatchEvent("filter-visible",{column:c,field:c.field,property:c.field,filterList:m.getCheckedFilters(),visible:d.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=(0,_utils.isEnableConf)(l)?renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.tableFilterResetMethod||l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:m})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=F;var o=h.value,a=p.value,s=l["column"],n=s["field"];const u=[],f=[];s.filters.forEach(e=>{e.checked&&(u.push(e.value),f.push(e.data))});var c=m.getCheckedFilters(),s={$table:m,$event:e,column:s,field:n,property:n,values:u,datas:f,filters:c,filterList:c};o.remote||(m.handleTableData(!0),m.checkSelectionStatus()),t&&a.area&&m.handleFilterEvent&&m.handleFilterEvent(e,s),m.dispatchEvent("filter-change",s,e),m.closeFilter(),m.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=F;if(r||e||i||t)return(r||e)&&m.updateScrollXSpace(),(i||t)&&m.updateScrollYSpace(),m.refreshScroll()}).then(()=>(m.updateCellAreas(),m.recalculate(!0))).then(()=>{setTimeout(()=>m.recalculate(),50)})}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(m,e);if(t&&t.filters){const l=s["elemStore"],r=t["fixed"];return m.scrollToColumn(t).then(()=>{var e=l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"],e=e?e.value:null;e&&(e=e.querySelector(`.vxe-header--column.${t.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t){e=(0,_util.handleFieldOrColumn)(m,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),(0,_vue.nextTick)()},clearFilter(e){var t=F["filterStore"],l=s["tableFullColumn"],r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(m,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():m.updateData()},getCheckedFilters(){var e=s["tableFullColumn"];const o=[];return e.forEach(e=>{var{field:t,filters:l}=e;const r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&o.push({column:e,field:t,property:t,values:r,datas:i})}),o}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
|
|
@@ -198,8 +198,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
198
198
|
} = filterStore;
|
|
199
199
|
const filterOpts = computeFilterOpts.value;
|
|
200
200
|
const hasCheckOption = computeHasCheckOption.value;
|
|
201
|
-
const
|
|
202
|
-
|
|
201
|
+
const {
|
|
202
|
+
filterRender
|
|
203
|
+
} = column;
|
|
204
|
+
const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
203
205
|
const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
|
|
204
206
|
return multiple && (compConf ? !(compConf.showTableFilterFooter === false || compConf.showFilterFooter === false) : true) ? [(0, _vue.h)('div', {
|
|
205
207
|
class: 'vxe-table--filter-footer'
|
|
@@ -224,7 +226,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
224
226
|
column
|
|
225
227
|
} = filterStore;
|
|
226
228
|
const filterRender = column ? column.filterRender : null;
|
|
227
|
-
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
229
|
+
const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
228
230
|
const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
|
|
229
231
|
const params = Object.assign({}, tableInternalData._currFilterParams, {
|
|
230
232
|
$panel,
|
|
@@ -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"),_vn=require("../../../ui/src/vn");const{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(o){const s=(0,_vue.inject)("$xeTable",{}),{reactData:
|
|
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"),_vn=require("../../../ui/src/vn");const{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(o){const s=(0,_vue.inject)("$xeTable",{}),{reactData:n,internalData:u,getComputeMaps:e}=s,c=e()["computeFilterOpts"],v=(0,_vue.computed)(()=>{var e=o["filterStore"];return e&&e.options.some(e=>e.checked)}),d=e=>{var t=o["filterStore"];t.options.forEach(e=>{e.checked=e._checked}),s.confirmFilterEvent(e)},i=(e,t,l)=>{var r=o["filterStore"];r.options.forEach(e=>{e._checked=!1}),l._checked=t,s.checkFilterOptions(),d(e)},_=e=>{var t=o["filterStore"];s.handleClearFilter(t.column),s.confirmFilterEvent(e)},a=(e,t,l)=>{l._checked=t,s.checkFilterOptions()},p=(e,t,l)=>{var r=o["filterStore"];r.multiple?a(0,t,l):i(e,t,l)},h=(e,t)=>{var l,r=o["filterStore"];r.multiple?(l=t,(r=o.filterStore).options.forEach(e=>{e._checked=l,e.checked=l}),r.isAllSelected=l,r.isIndeterminate=!1):_(e)},f={changeRadioOption:i,changeMultipleOption:a,changeAllOption:h,changeOption:p,confirmFilter:d,resetFilter:_};return()=>{var e=o["filterStore"],t=n["initStore"],l=e["column"],l=l?l.filterRender:null,r=(0,_utils.isEnableConf)(l)?renderer.get(l.name):null,i=r?r.tableFilterClassName||r.filterClassName:"",a=Object.assign({},u._currFilterParams,{$panel:f,$table:s});return(0,_vue.h)("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",(0,_dom.getPropClass)(i,a),{"is--animat":s.props.animat,"is--multiple":e.multiple,"is--active":e.visible}],style:e.style},t.filter?((e,t)=>{const l=o["filterStore"],{column:r,multiple:i,maxHeight:a}=l;var n=r["slots"],n=n?n.filter:null,c=Object.assign({},u._currFilterParams,{$panel:f,$table:s}),t=t?t.renderTableFilter||t.renderFilter:null;return n?[(0,_vue.h)("div",{class:"vxe-table--filter-template"},s.callSlot(n,c))]:t?[(0,_vue.h)("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t(e,c)))]:(n=i?l.isAllSelected:!l.options.some(e=>e._checked),t=i&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":n,"is--indeterminate":t}],title:getI18n(i?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{h(e,!l.isAllSelected)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:a?{maxHeight:a+"px"}:{}},l.options.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{p(e,!t._checked,t)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(l,r).concat((()=>{var e=o["filterStore"],{column:t,multiple:l}=e,r=c.value,i=v.value,t=t["filterRender"],t=(0,_utils.isEnableConf)(t)?renderer.get(t.name):null,i=!i&&!e.isAllSelected&&!e.isIndeterminate;return l&&(!t||!1!==t.showTableFilterFooter&&!1!==t.showFilterFooter)?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":i},disabled:i,onClick:d},r.confirmButtonText||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:_},r.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]})()):[])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -140,6 +140,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
140
140
|
$xeTable.dispatchEvent('resizable-change', Object.assign(Object.assign({}, params), {
|
|
141
141
|
resizeWidth
|
|
142
142
|
}), evnt);
|
|
143
|
+
setTimeout(() => $xeTable.recalculate(true), 300);
|
|
143
144
|
});
|
|
144
145
|
(0, _dom.removeClass)(tableEl, 'drag--resize');
|
|
145
146
|
};
|
|
@@ -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(W){const U=(0,_vue.inject)("$xeTable",{}),{xID:u,props:d,reactData:k,internalData:H}=U,{refElem:
|
|
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(W){const U=(0,_vue.inject)("$xeTable",{}),{xID:u,props:d,reactData:k,internalData:H}=U,{refElem:M,refTableBody:z,refLeftContainer:S,refRightContainer:$,refCellResizeBar:D}=U.getRefMaps(),c=U.getComputeMaps()["computeColumnOpts"],f=(0,_vue.ref)([]),I=(0,_vue.ref)(),p=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),O=(0,_vue.ref)(),t=()=>{var e=k["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(W.tableGroupColumn):[]},A=(e,t)=>{const r=t["column"],a=W["fixedType"];var l=z.value;const o=S.value,n=$.value,i=D.value,s=e["clientX"];var u=I.value,d=e.target;const c=t.cell=d.parentNode;let f=0;const p=l.$el;l=(0,_dom.getOffsetPos)(d,u),u=d.clientWidth,d=Math.floor(u/2);const v=(0,_util.getColReMinWidth)(t)-d;let m=l.left-c.clientWidth+u+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&&n&&(h=n.offsetLeft+y)}function T(e){e.stopPropagation(),e.preventDefault(),e=e.clientX-s;let l=h+e;e=a?0:p.scrollLeft,g?l=Math.min(l,(n?n.offsetLeft:p.clientWidth)-y-v):b?(m=(o?o.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"}k._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",k._isResize=!1,H._lastResizeTime=Date.now(),U.analyColumnWidth(),U.recalculate(!0).then(()=>{U.saveCustomStore("update:visible"),U.updateCellAreas(),U.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>U.recalculate(!0),300)}),(0,_dom.removeClass)(C,"drag--resize")},T(e),U.closeMenu&&U.closeMenu()};(0,_vue.watch)(()=>W.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=W["fixedType"],l=U["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=I,l[e+"table"]=p,l[e+"colgroup"]=v,l[e+"list"]=m,l[e+"xSpace"]=h,l[e+"repair"]=O,t()})}),(0,_vue.onUnmounted)(()=>{var e=W["fixedType"],l=U["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:x,fixedColumn:e,tableColumn:l}=W,{resizable:_,border:g,columnKey:b,headerRowClassName:t,headerCellClassName:C,headerRowStyle:r,headerCellStyle:y,showHeaderOverflow:w,headerAlign:T,align:M,mouseConfig:z}=d,{isGroup:a,currentColumn:S,scrollXLoad:$,overflowX:D,scrollbarWidth:o}=k;var n=H["visibleColumn"];const R=c.value;let i=f.value,s=l;return a?s=n:(x&&($||w)&&(s=e),i=[s]),(0,_vue.h)("div",{ref:I,class:["vxe-table--header-wrapper",x?`fixed-${x}--wrapper`:"body--wrapper"],xid:u},[x?(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:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:v},s.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(o?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},i.map((m,h)=>(0,_vue.h)("tr",{class:["vxe-header--row",t?_xeUtils.default.isFunction(t)?t({$table:U,$rowIndex:h,fixed:x,type:renderType}):t:""],style:r?_xeUtils.default.isFunction(r)?r({$table:U,$rowIndex:h,fixed:x,type:renderType}):r:null},m.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:o,headerClassName:n}=e,i=e.children&&e.children.length,s=x?e.fixed!==x&&!i:!!e.fixed&&D,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?w:r,a=a||o||T||M;let u="ellipsis"===r;o="title"===r,r=!0===r||"tooltip"===r;let d=o||r||u;var c=e.filters&&e.filters.some(e=>e.checked),f=U.getColumnIndex(e),p=U.getVTColumnIndex(e);const v={$table:U,$grid:U.xegrid,$rowIndex:h,column:e,columnIndex:f,$columnIndex:l,_columnIndex:p,fixed:x,type:renderType,isHidden:s,hasFilter:c};f={onClick:e=>U.triggerHeaderCellClickEvent(e,v),onDblclick:e=>U.triggerHeaderCellDblclickEvent(e,v)};return $&&!d&&(u=d=!0),z&&(f.onMousedown=e=>U.triggerHeaderCellMousedownEvent(e,v)),(0,_vue.h)("th",Object.assign(Object.assign({class:["vxe-header--column",e.id,{["col--"+a]:a,["col--"+t]:t,"col--last":l===m.length-1,"col--fixed":e.fixed,"col--group":i,"col--ellipsis":d,"fixed--hidden":s,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":c,"col--current":S===e},n?_xeUtils.default.isFunction(n)?n(v):n:"",C?_xeUtils.default.isFunction(C)?C(v):C:""],colid:e.id,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null,style:y?_xeUtils.default.isFunction(y)?y(v):y:null},f),{key:b||R.useKey||i?e.id:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":o,"c--tooltip":r,"c--ellipsis":u}]},e.renderHeader(v)),s||i||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:R.resizable||_)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!g||"none"===g}],onMousedown:e=>A(e,v)})])}).concat(o?[(0,_vue.h)("th",{class:"vxe-header--gutter col--gutter"})]:[]))))]),(0,_vue.h)("div",{ref:O,class:"vxe-table--header-border-line"})])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -517,7 +517,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
517
517
|
let fixedSize = 0;
|
|
518
518
|
// 只判断第一层
|
|
519
519
|
collectColumn.forEach(column => {
|
|
520
|
-
if (column.
|
|
520
|
+
if (column.renderFixed) {
|
|
521
521
|
fixedSize++;
|
|
522
522
|
}
|
|
523
523
|
});
|
|
@@ -916,9 +916,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
916
916
|
return num;
|
|
917
917
|
};
|
|
918
918
|
const handleCustomRestore = storeData => {
|
|
919
|
-
const {
|
|
920
|
-
tableFullColumn
|
|
921
|
-
} = internalData;
|
|
922
919
|
let {
|
|
923
920
|
collectColumn
|
|
924
921
|
} = internalData;
|
|
@@ -931,21 +928,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
931
928
|
let hasCustomSort = false;
|
|
932
929
|
// 处理还原
|
|
933
930
|
if (resizableData || sortData || visibleData || fixedData) {
|
|
934
|
-
|
|
931
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
|
|
935
932
|
const colKey = column.getKey();
|
|
933
|
+
// 支持一级
|
|
934
|
+
if (!parent) {
|
|
935
|
+
if (fixedData && fixedData[colKey]) {
|
|
936
|
+
column.fixed = fixedData[colKey];
|
|
937
|
+
}
|
|
938
|
+
if (sortData && _xeUtils.default.isNumber(sortData[colKey])) {
|
|
939
|
+
hasCustomSort = true;
|
|
940
|
+
column.renderSortNumber = sortData[colKey];
|
|
941
|
+
}
|
|
942
|
+
}
|
|
936
943
|
if (resizableData && _xeUtils.default.isNumber(resizableData[colKey])) {
|
|
937
944
|
column.resizeWidth = resizableData[colKey];
|
|
938
945
|
}
|
|
939
946
|
if (visibleData && _xeUtils.default.isBoolean(visibleData[colKey])) {
|
|
940
947
|
column.visible = visibleData[colKey];
|
|
941
948
|
}
|
|
942
|
-
if (fixedData && fixedData[colKey]) {
|
|
943
|
-
column.fixed = fixedData[colKey];
|
|
944
|
-
}
|
|
945
|
-
if (sortData && _xeUtils.default.isNumber(sortData[colKey])) {
|
|
946
|
-
hasCustomSort = true;
|
|
947
|
-
column.renderSortNumber = sortData[colKey];
|
|
948
|
-
}
|
|
949
949
|
});
|
|
950
950
|
// 如果自定义了顺序
|
|
951
951
|
if (hasCustomSort) {
|
|
@@ -1485,7 +1485,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1485
1485
|
filterMethod,
|
|
1486
1486
|
filterRender
|
|
1487
1487
|
} = column;
|
|
1488
|
-
const compConf = filterRender ? renderer.get(filterRender.name) : null;
|
|
1488
|
+
const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
1489
1489
|
const compFilterMethod = compConf ? compConf.tableFilterMethod || compConf.filterMethod : null;
|
|
1490
1490
|
const tdFilterMethod = compConf ? compConf.defaultTableFilterMethod || compConf.defaultFilterMethod : null;
|
|
1491
1491
|
const cellValue = (0, _util.getCellValue)(row, column);
|
|
@@ -3819,16 +3819,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3819
3819
|
const targetColumn = (0, _util.getRootColumn)($xeTable, column);
|
|
3820
3820
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value;
|
|
3821
3821
|
const columnOpts = computeColumnOpts.value;
|
|
3822
|
-
const {
|
|
3823
|
-
maxFixedSize
|
|
3824
|
-
} = columnOpts;
|
|
3825
3822
|
if (targetColumn && targetColumn.fixed !== fixed) {
|
|
3826
3823
|
// 是否超过最大固定列数量
|
|
3827
3824
|
if (!targetColumn.fixed && isMaxFixedColumn) {
|
|
3828
3825
|
if (_ui.VxeUI.modal) {
|
|
3829
3826
|
_ui.VxeUI.modal.message({
|
|
3830
3827
|
status: 'error',
|
|
3831
|
-
content: getI18n('vxe.table.maxFixedCol', [maxFixedSize])
|
|
3828
|
+
content: getI18n('vxe.table.maxFixedCol', [columnOpts.maxFixedSize])
|
|
3832
3829
|
});
|
|
3833
3830
|
}
|
|
3834
3831
|
return (0, _vue.nextTick)();
|
|
@@ -5308,7 +5305,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5308
5305
|
let hasFixedt = 0;
|
|
5309
5306
|
let hasVisible = 0;
|
|
5310
5307
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
|
|
5311
|
-
//
|
|
5308
|
+
// 只支持一级
|
|
5312
5309
|
if (!parent) {
|
|
5313
5310
|
collectColumn.forEach(column => {
|
|
5314
5311
|
const colKey = column.getKey();
|
|
@@ -5317,6 +5314,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5317
5314
|
sortData[colKey] = column.renderSortNumber;
|
|
5318
5315
|
}
|
|
5319
5316
|
});
|
|
5317
|
+
if (column.fixed && column.fixed !== column.defaultFixed) {
|
|
5318
|
+
const colKey = column.getKey();
|
|
5319
|
+
if (colKey) {
|
|
5320
|
+
hasFixedt = 1;
|
|
5321
|
+
fixedData[colKey] = column.fixed;
|
|
5322
|
+
}
|
|
5323
|
+
}
|
|
5320
5324
|
}
|
|
5321
5325
|
if (column.resizeWidth) {
|
|
5322
5326
|
const colKey = column.getKey();
|
|
@@ -5325,13 +5329,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5325
5329
|
resizableData[colKey] = column.renderWidth;
|
|
5326
5330
|
}
|
|
5327
5331
|
}
|
|
5328
|
-
if (column.fixed && column.fixed !== column.defaultFixed) {
|
|
5329
|
-
const colKey = column.getKey();
|
|
5330
|
-
if (colKey) {
|
|
5331
|
-
hasFixedt = 1;
|
|
5332
|
-
fixedData[colKey] = column.fixed;
|
|
5333
|
-
}
|
|
5334
|
-
}
|
|
5335
5332
|
if (!checkMethod || checkMethod({
|
|
5336
5333
|
column
|
|
5337
5334
|
})) {
|