vxe-table 3.15.28 → 3.15.30
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/grid/src/grid.js +39 -42
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +11 -27
- package/es/table/module/export/mixin.js +65 -139
- package/es/table/module/filter/mixin.js +1 -0
- package/es/table/module/menu/mixin.js +2 -6
- package/es/table/module/validator/mixin.js +99 -41
- package/es/table/src/methods.js +110 -89
- package/es/table/src/table.js +6 -8
- package/es/table/style.css +6 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +6 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +24 -26
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +358 -615
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +11 -27
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +78 -168
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +1 -0
- package/lib/table/module/menu/mixin.js +2 -6
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +97 -40
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/methods.js +121 -95
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +8 -10
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +6 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +6 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +39 -41
- package/packages/table/module/edit/mixin.ts +11 -27
- package/packages/table/module/export/mixin.ts +96 -158
- package/packages/table/module/filter/mixin.ts +1 -0
- package/packages/table/module/menu/mixin.ts +2 -6
- package/packages/table/module/validator/mixin.ts +101 -40
- package/packages/table/src/methods.ts +115 -90
- package/packages/table/src/table.ts +6 -8
- package/styles/components/table.scss +14 -0
- /package/es/{iconfont.1747176212818.ttf → iconfont.1747357311626.ttf} +0 -0
- /package/es/{iconfont.1747176212818.woff → iconfont.1747357311626.woff} +0 -0
- /package/es/{iconfont.1747176212818.woff2 → iconfont.1747357311626.woff2} +0 -0
- /package/lib/{iconfont.1747176212818.ttf → iconfont.1747357311626.ttf} +0 -0
- /package/lib/{iconfont.1747176212818.woff → iconfont.1747357311626.woff} +0 -0
- /package/lib/{iconfont.1747176212818.woff2 → iconfont.1747357311626.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,i){var a=e.computeSeqOpts.seqMethod||r.seqMethod;return a?a({$table:e,row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:i}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:a,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let x=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],i=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(a||!e||i.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let a={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||x.exportMethod)l=r({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?i:getSeq(c,i,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),a._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",a._checkboxDisabled=f.checkMethod&&!f.checkMethod({$table:c,row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),a._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",a._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(d,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}a[e.id]=toStringValue(l)}),i.set(d,1),r.push(Object.assign(a,d))}},{children:t}),r}return e.map((a,n)=>{let s={_row:a};return p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:a,column:e,options:u});else switch(e.type){case"seq":var i=n+1;l="all"===h?i:getSeq(c,i,a,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(a)),s._checkboxLabel=f.labelField?_xeUtils.default.get(a,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({$table:c,row:a});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(a)),s._radioLabel=m.labelField?_xeUtils.default.get(a,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:a});break;default:u.original?l=(0,_util.getCellValue)(a,e):(l=c.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(a,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let{columns:t,dataFilterMethod:o}=e,r=e.data;return o&&(r=r.filter((e,t)=>o({$table:l,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,i=o.editRender||o.cellRender;let a=o.footerExportMethod;a=(a=!a&&i&&i.name&&(i=renderer.get(i.name))?i.tableFooterExportMethod||i.footerExportMethod||i.footerCellExportMethod:a)||r.footerExportMethod;i=e.getVTColumnIndex(o);return a?a({$table:e,items:l,itemIndex:i,row:l,_columnIndex:i,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[i]):_xeUtils.default.get(l,o.field)}function getFooterData(l,e,t){let o=e.footerFilterMethod;return o?t.filter((e,t)=>o({$table: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 toCsv(l,o,e,t){var r=l;let i=csvBOM;return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),i}function toTxt(l,o,e,t){var r=l;let i="";return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),i}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function toHtml(d,n,e,t){var l=d;let{id:c,border:o,treeConfig:r,headerAlign:s,align:u,footerAlign:i,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:a}=l,f=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:g,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),g?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,i=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||i++,r+=e.renderWidth},{children:"childNodes"});var a=r-i;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${g?"":`style="width: ${a}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${g?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),r?t.forEach(r=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,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 ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.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 ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.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 ${g?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`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 ${g?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,o=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let r=1,i=1;if(y){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=f[a+":"+n];if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}" title="${t}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,n,t)).length)&&(T.push("<tfoot>"),l.forEach(r=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),g?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let i=['<?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="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{i+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),i+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:i}=t;if(!i)return i=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:i});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}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 handleExport(l,o){let r=l.$xeGrid,{remote:i,columns:a,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:a,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,a,e))))}}).then(e=>(clearColumnConvert(a),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}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 toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,i){e=e.split(enterSymbol);let a=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(i);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),a.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let 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(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let 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 handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:i}=l,a={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(o.type){case"csv":a=parseCsv(d,e);break;case"txt":a=parseTxt(d,e);break;case"html":a=parseHTML(d,e);break;case"xml":a=parseXML(d,e)}let{fields:c,rows:u}=a;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}function handleFileImport(i,a,n){let s=i;var e=i.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(a);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),i._importResolve=null,i._importReject=null},o=e=>{l(e),i._importResolve=null,i._importReject=null};if(i._importResolve=e,i._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:a,options:t,$table:i})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,i.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(i,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:i})}).catch(e=>(t&&t({status:!1,options:n,$table:i}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,i)=>{let a=s.types||[],n=!a.length||a.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+a.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(a,o)){l=o;break}}l?(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),i({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o){return(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(n,e,t){var l=n.$xeGrid,{treeConfig:o,showHeader:r,showFooter:i}=n,{initStore:a,isGroup:s,footerTableData:d,exportStore:c,exportParams:u}=n,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=n,f=n.computeExportOpts,x=n.computeCustomOpts,g=n.getCheckboxRecords(),v=l?l.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:i,isColgroup:s,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);m=b.types||_xeUtils.default.keys(f._typeMaps),r=b.modes||[];let _=x.checkMethod;i=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(i,(e,t,l,o,r)=>{var i=e.children&&e.children.length;let a=!1;a=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({$table:n,column:e})}),Object.assign(c,{columns:i,typeList:v,modeList:e,hasFooter:d,hasMerge:h,hasTree:o,isPrint:t,hasColgroup:s,visible:!0}),Object.assign(u,{mode:g.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=u;return w&&(_xeUtils.default.isFunction(w)?u.filename=w({options:b,$table:n,$grid:l}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:n,$grid:l}):u.sheetName=""+T),e.some(e=>e.value===E)||(u.mode=e[0].value),v.some(e=>e.value===F)||(u.type=v[0].value),a.export=!0,n.$nextTick()}let getConvertColumns=e=>{let 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,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};var _default=exports.default={methods:{_exportData(n){let s=this;var e=s,d=s,t=s;let c=s.$xeGrid;var{treeConfig:e,showHeader:l,showFooter:u}=e,{mergeFooterList:d,isGroup:o}=d;let{tableFullColumn:i,afterFullData:r,mergeBodyList:a,collectColumn:p}=t;var t=s.computeExportOpts,h=s.computeTreeOpts;let m=c?c.computeProxyOpts:{};d=!(!a.length&&!d.length);let f=Object.assign({message:!0,isHeader:l,isTitle:l,isFooter:u,isColgroup:o,isMerge:d,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},t,n),{filename:x,sheetName:g,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:T}=f,E=[],F=s.getCheckboxRecords();b=b||(F.length?"selected":"current");l=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):T||w?handleFilterFields(f,e,w,T):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(l||$||(M.columnFilterMethod=({column:e})=>(!T||!_xeUtils.default.includes(T,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),E=l?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(l,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=s.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=s.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=i.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!$||$({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(o?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(E,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(E),x&&(_xeUtils.default.isFunction(x)?M.filename=x({options:f,$table:s,$grid:c}):M.filename=""+x),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?M.sheetName=g({options:f,$table:s,$grid:c}):M.sheetName=""+g),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),v))return(0,_log.errLog)("vxe.error.notType",[v]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(v)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(M.print||C&&C({options:M,$table:s,$grid:c}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&e?M.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||c||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!M.remote){u=c;let e=c.computeProxyOpts;d=u.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:c,sort:d.length?d[0]:{},sorts:d,filters:u.filterData,form:u.formData,options:M};return Promise.resolve((t||n)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:c}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(s,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=r);return handleExport(s,M)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",i=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),a=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,r,o,a){var i=e.computeSeqOpts.seqMethod||o.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1<["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:i,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,x=c.computeCheckboxOpts;var l=c.computeTreeOpts;let g=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||g.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||g.exportMethod)l=o({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?a:getSeq(c,a,d,s,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=x.labelField?_xeUtils.default.get(d,x.labelField):"",i._checkboxDisabled=x.checkMethod&&!x.checkMethod({$table:c,row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:t}),o}return e.map((i,s)=>{let n={_row:i};return p.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||g.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:c,row:i,column:e,options:u});else switch(e.type){case"seq":var a=s+1;l="all"===h?a:getSeq(c,a,i,s,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),n._checkboxLabel=x.labelField?_xeUtils.default.get(i,x.labelField):"",n._checkboxDisabled=x.checkMethod&&!x.checkMethod({$table:c,row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),n._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",n._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:i});break;default:u.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=toStringValue(l)}),n})}function getExportData(l,e){let{columns:t,dataFilterMethod:r}=e,o=e.data;return r&&(o=o.filter((e,t)=>r({$table:l,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.computeColumnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,r){var o=e.computeColumnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(l,e,t){let r=e.footerFilterMethod;return r?t.filter((e,t)=>r({$table: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 toCsv(l,r,e,t){var o=l;let a=csvBOM;return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),a}function toTxt(l,r,e,t){var o=l;let a="";return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:r,scrollYLoad:t}=e;return o=r||t?o||!0:o}function toHtml(d,s,e,t){var l=d;let{id:c,border:r,treeConfig:o,headerAlign:n,align:u,footerAlign:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,x=d.mergeBodyCellMaps,g=d.computeTreeOpts,{print:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=s,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(r),f?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),o?t.forEach(o=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._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="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,r=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=n[t];let o=1,a=1;if(y){var i=d.getVTRowIndex(n._row),s=d.getVTColumnIndex(e),i=x[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return l&&r.push("col--"+l),"radio"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,s,t)).length)&&(T.push("<tfoot>"),l.forEach(o=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],r=getFooterCellValue(d,s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(s,T.join(""))}function toXML(l,r,e,t){var o=l;let a=['<?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="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}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 handleExport(l,r){let o=l.$xeGrid,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(a){var e={options:r,$table:l,$grid:o};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:i,colgroups:s,datas:e},()=>downloadFile(l,r,getContent(l,r,i,e))))}}).then(e=>(clearColumnConvert(i),r.print||t&&t({status:!0,options:r,$table:l,$grid:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),r.print||t&&t({status:!1,options:r,$table:l,$grid:o});return Promise.reject({status:!1})})}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 toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]},s={},n={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(s[t]=e),l&&(n[e.getTitle()]=e)});var d={fieldMaps:s,titleMaps:n};switch(r.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>s[e]||n[e])?l.createData(u).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,s){let n=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=s,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},r=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},s,{type:c,filename:u});var o;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=n.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),r({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:a})}).catch(e=>(t&&t({status:!1,options:s,$table:a}),Promise.reject(e))):(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,r,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)})}function handleFilterFields(e,t,l,r){return(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(s,e,t){var l=s.$xeGrid,{treeConfig:r,showHeader:o,showFooter:a}=s,{initStore:i,isGroup:n,footerTableData:d,exportStore:c,exportParams:u}=s,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=s,x=s.computeExportOpts,g=s.computeCustomOpts,f=s.getCheckboxRecords(),v=l?l.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:o,isTitle:o,isFooter:a,isColgroup:n,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);m=b.types||_xeUtils.default.keys(x._typeMaps),o=b.modes||[];let _=g.checkMethod;a=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=o.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(a,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!_&&!_({$table:s,column:e})}),Object.assign(c,{columns:a,typeList:v,modeList:e,hasFooter:d,hasMerge:h,hasTree:r,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(u,{mode:f.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=u;return w&&(_xeUtils.default.isFunction(w)?u.filename=w({options:b,$table:s,$grid:l}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:s,$grid:l}):u.sheetName=""+T),e.some(e=>e.value===E)||(u.mode=e[0].value),v.some(e=>e.value===F)||(u.type=v[0].value),i.export=!0,s.$nextTick()}let getConvertColumns=e=>{let 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,r=(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=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(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};var _default=exports.default={methods:{_exportData(s){let n=this;var e=n,t=n,l=n;let d=n.$xeGrid;var{treeConfig:e,showHeader:r,showFooter:c}=e,t=t.isGroup;let{tableFullColumn:a,afterFullData:o,collectColumn:i,mergeBodyList:u,mergeFooterList:p}=l;var l=n.computeExportOpts,h=n.computeTreeOpts;let m=d?d.computeProxyOpts:{};var x=!(!u.length&&!p.length);let g=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:c,isColgroup:t,isMerge:x,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,s),{filename:f,sheetName:v,type:b,mode:_,columns:y,original:$,columnFilterMethod:C,beforeExportMethod:w,includeFields:T,excludeFields:E}=g,F=[],M=n.getCheckboxRecords();_=_||(M.length?"selected":"current");r=y&&y.length?y:_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=y&&y.length?handleFilterColumns(g,e,y):E||T?handleFilterFields(g,e,T,E):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let k=Object.assign({},g,{filename:"",sheetName:""}),U=(r||C||(C=({column:e})=>(!E||!_xeUtils.default.includes(E,e.field))&&(T?!!_xeUtils.default.includes(T,e.field):$?!!e.field:defaultFilterExportColumn(e)),k.columnFilterMethod=C),F=r?(k._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(r,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=n.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=n.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=n.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!C||C({$table:n,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?i:a,(e,t)=>e.visible&&(!C||C({$table:n,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||U.push(e)},{children:"childNodes"}),k.columns=U,k.colgroups=convertToRows(F),f&&(_xeUtils.default.isFunction(f)?k.filename=f({options:g,$table:n,$grid:d}):k.filename=""+f),k.filename||(k.filename=getI18n(k.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),v&&(_xeUtils.default.isFunction(v)?k.sheetName=v({options:g,$table:n,$grid:d}):k.sheetName=""+v),k.sheetName||(k.sheetName=document.title||""),!k.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._typeMaps),b))return(0,_log.errLog)("vxe.error.notType",[b]),["xlsx","pdf"].includes(b)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(k.print||w&&w({options:k,$table:n,$grid:d}),!k.data)if(k.data=[],"selected"===_)-1<["html","pdf"].indexOf(b)&&e?k.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(M,e),Object.assign({},h,{data:"_row"})):k.data=M;else if("all"===_){if(d||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!k.remote){c=d;let e=d.computeProxyOpts;x=c.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};s=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(s||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:n,$grid:d,sort:x.length?x[0]:{},sorts:x,filters:c.filterData,form:c.formData,options:k};return Promise.resolve((t||s)(l)).then(e=>{var t=o.list;return k.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(n,k)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===_&&(k.data=o);return handleExport(n,k)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let r=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:o,afterImportMethod:a}=r;return o&&o({options:r,$table:this}),_ui.VxeUI.readFile(r).catch(e=>(a&&a({status:!1,options:r,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,r)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this;var t=l.$xeGrid;let r=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=r.sheetName;let o="",a=(o=(o=e?_xeUtils.default.isFunction(e)?e({options:r,$table:l,$grid:t}):""+e:o)||document.title||"",r.beforePrintMethod),i=r.html||r.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:o,html:i,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$table:l}):void 0})):e(l.exportData(r).then(({content:e})=>_ui.VxeUI.print({title:o,html:e,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var{treeConfig:t,importConfig:l}=this;let{initStore:r,importStore:o,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
@@ -49,6 +49,7 @@ var _default = exports.default = {
|
|
|
49
49
|
if (column && column.filters) {
|
|
50
50
|
column.filters = (0, _util.toFilters)(options || []);
|
|
51
51
|
if (isUpdate) {
|
|
52
|
+
// 已废弃,即将去掉事件触发 new Event('click') -> null
|
|
52
53
|
return $xeTable.handleColumnConfirmFilter(column, new Event('click'));
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -150,9 +150,7 @@ var _default = exports.default = {
|
|
|
150
150
|
this.handleOpenMenuEvent(evnt, layout, params);
|
|
151
151
|
// 在 v4 中废弃事件 cell-context-menu、header-cell-context-menu、footer-cell-context-menu
|
|
152
152
|
if (this.$listeners[`${typePrefix}cell-context-menu`]) {
|
|
153
|
-
|
|
154
|
-
(0, _log.warnLog)('vxe.error.delEvent', [`${typePrefix}cell-context-menu`, `${typePrefix}cell-menu`]);
|
|
155
|
-
}
|
|
153
|
+
(0, _log.warnLog)('vxe.error.delEvent', [`${typePrefix}cell-context-menu`, `${typePrefix}cell-menu`]);
|
|
156
154
|
this.emitEvent(`${typePrefix}cell-context-menu`, params, evnt);
|
|
157
155
|
} else {
|
|
158
156
|
this.emitEvent(`${typePrefix}cell-menu`, params, evnt);
|
|
@@ -335,9 +333,7 @@ var _default = exports.default = {
|
|
|
335
333
|
}
|
|
336
334
|
// 在 v4 中废弃事件 context-menu-click
|
|
337
335
|
if (this.$listeners['context-menu-click']) {
|
|
338
|
-
|
|
339
|
-
(0, _log.warnLog)('vxe.error.delEvent', ['context-menu-click', 'menu-click']);
|
|
340
|
-
}
|
|
336
|
+
(0, _log.warnLog)('vxe.error.delEvent', ['context-menu-click', 'menu-click']);
|
|
341
337
|
this.emitEvent('context-menu-click', params, evnt);
|
|
342
338
|
} else {
|
|
343
339
|
this.emitEvent('menu-click', params, evnt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,i,n,o){let s;var r=_xeUtils.default.findIndexOf(o,e=>t[l]===e);if(i)n&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=r-1;0<=e;e--)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[o.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=r+1;e<o.length;e++)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&this.ctxMenuLinkEvent(e,t[l])},handleGlobalContextmenuEvent(t){var e=this,l=e.$xeGrid,i=e;let{$refs:n,tId:o,editStore:s,menuConfig:r,contextMenu:u,ctxMenuStore:d,ctxMenuOpts:h,mouseConfig:a,mouseOpts:c}=this;var v=s.selected,e=e.$refs.refTableFilter,f=["header","body","footer"];if((0,_utils.isEnableConf)(r)||u){if(d.visible&&n.refTableMenu&&(0,_dom.getEventTargetNode)(t,n.refTableMenu.$el).flag)return void t.preventDefault();if(i._keyCtx){var i="body",g={type:i,$grid:l,$table:this,keyboard:!0,columns:this.visibleColumn.slice(0),$event:t};if(a&&c.area){var m=this.getActiveCellArea();if(m&&m.row&&m.column)return g.row=m.row,g.column=m.column,void this.handleOpenMenuEvent(t,i,g)}else if(a&&c.selected&&v.row&&v.column)return g.row=v.row,g.column=v.column,void this.handleOpenMenuEvent(t,i,g)}for(let e=0;e<f.length;e++){var x=f[e],b=(0,_dom.getEventTargetNode)(t,this.$el,`vxe-${x}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===o),E={type:x,$grid:l,$table:this,columns:this.visibleColumn.slice(0),$event:t};if(b.flag){var b=b.targetElem,p=this.getColumnNode(b).item;let e=x+"-";return Object.assign(E,{column:p,columnIndex:this.getColumnIndex(p),cell:b}),"body"===x&&(p=this.getRowNode(b.parentNode).item,e="",E.row=p,E.rowIndex=this.getRowIndex(p)),this.handleOpenMenuEvent(t,x,E),void(this.$listeners[e+"cell-context-menu"]?(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,i,n,o){let s;var r=_xeUtils.default.findIndexOf(o,e=>t[l]===e);if(i)n&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=r-1;0<=e;e--)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[o.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=r+1;e<o.length;e++)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&this.ctxMenuLinkEvent(e,t[l])},handleGlobalContextmenuEvent(t){var e=this,l=e.$xeGrid,i=e;let{$refs:n,tId:o,editStore:s,menuConfig:r,contextMenu:u,ctxMenuStore:d,ctxMenuOpts:h,mouseConfig:a,mouseOpts:c}=this;var v=s.selected,e=e.$refs.refTableFilter,f=["header","body","footer"];if((0,_utils.isEnableConf)(r)||u){if(d.visible&&n.refTableMenu&&(0,_dom.getEventTargetNode)(t,n.refTableMenu.$el).flag)return void t.preventDefault();if(i._keyCtx){var i="body",g={type:i,$grid:l,$table:this,keyboard:!0,columns:this.visibleColumn.slice(0),$event:t};if(a&&c.area){var m=this.getActiveCellArea();if(m&&m.row&&m.column)return g.row=m.row,g.column=m.column,void this.handleOpenMenuEvent(t,i,g)}else if(a&&c.selected&&v.row&&v.column)return g.row=v.row,g.column=v.column,void this.handleOpenMenuEvent(t,i,g)}for(let e=0;e<f.length;e++){var x=f[e],b=(0,_dom.getEventTargetNode)(t,this.$el,`vxe-${x}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===o),E={type:x,$grid:l,$table:this,columns:this.visibleColumn.slice(0),$event:t};if(b.flag){var b=b.targetElem,p=this.getColumnNode(b).item;let e=x+"-";return Object.assign(E,{column:p,columnIndex:this.getColumnIndex(p),cell:b}),"body"===x&&(p=this.getRowNode(b.parentNode).item,e="",E.row=p,E.rowIndex=this.getRowIndex(p)),this.handleOpenMenuEvent(t,x,E),void(this.$listeners[e+"cell-context-menu"]?((0,_log.warnLog)("vxe.error.delEvent",[e+"cell-context-menu",e+"cell-menu"]),this.emitEvent(e+"cell-context-menu",E,t)):this.emitEvent(e+"cell-menu",E,t))}if((0,_dom.getEventTargetNode)(t,this.$el,`vxe-table--${x}-wrapper`,e=>e.getAttribute("xid")===o).flag)return void("cell"===h.trigger?t.preventDefault():this.handleOpenMenuEvent(t,x,E))}}e&&!(0,_dom.getEventTargetNode)(t,e.$el).flag&&this.closeFilter(),this.closeMenu()},handleOpenMenuEvent(l,i,c){let{isCtxMenu:n,ctxMenuStore:v,ctxMenuOpts:e}=this;i=e[i];let o=e.visibleMethod;if(i){let{options:t,disabled:e}=i;e?l.preventDefault():n&&t&&t.length&&(c.options=t,this.preventEvent(l,"event.showMenu",c,()=>{if(!o||o(c)){l.preventDefault(),this.updateZindex();let{scrollTop:n,scrollLeft:o,visibleHeight:s,visibleWidth:r}=(0,_dom.getDomNode)(),u=l.clientY+n,d=l.clientX+o,i=()=>{Object.assign(v,{args:c,visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:this.tZindex,top:u+"px",left:d+"px"}}),this.$nextTick(()=>{var e=this.$refs.refTableMenu.$el,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:i}=(0,_dom.getAbsolutePos)(e),e=e+t-s,i=i+l-r;-10<e&&(v.style.top=Math.max(n+2,u-t-2)+"px"),-10<i&&(v.style.left=Math.max(o+2,d-l-2)+"px")})},{keyboard:e,row:h,column:a}=c;e&&h&&a?this.scrollToRow(h,a).then(()=>{var e=this.getCellElement(h,a),{boundingTop:t,boundingLeft:l}=(0,_dom.getAbsolutePos)(e);u=t+n+Math.floor(e.offsetHeight/2),d=l+o+Math.floor(e.offsetWidth/2),i()}):i()}else this.closeMenu()}))}this.closeFilter()},ctxMenuMouseoverEvent(e,t,l){let d=e.currentTarget;var i=this.ctxMenuStore;e.preventDefault(),e.stopPropagation(),i.selected=t,(i.selectChild=l)||(i.showChild=(0,_utils.hasChildrenList)(t),i.showChild&&this.$nextTick(()=>{var n=d.nextElementSibling;if(n){var{boundingTop:o,boundingLeft:s,visibleHeight:r,visibleWidth:u}=(0,_dom.getAbsolutePos)(d),o=o+d.offsetHeight;let e="",t="",l=(s+d.offsetWidth+n.offsetWidth>u-10&&(e="auto",t=d.offsetWidth+"px"),""),i="";o+n.offsetHeight>r-10&&(l="auto",i="0"),n.style.left=e,n.style.right=t,n.style.top=l,n.style.bottom=i}}))},ctxMenuMouseoutEvent(e,t){var l=this.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,i=this.$xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({menu:t,$grid:i,$table:this,$event:e},this.ctxMenuStore.args),l&&l.menuMethod&&l.menuMethod(t,e),this.$listeners["context-menu-click"]?((0,_log.warnLog)("vxe.error.delEvent",["context-menu-click","menu-click"]),this.emitEvent("context-menu-click",t,e)):this.emitEvent("menu-click",t,e),this.closeMenu())}}};
|
|
@@ -49,32 +49,107 @@ class Rule {
|
|
|
49
49
|
return this.content;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
// 如果存在 pattern,判断正则
|
|
53
|
+
function validREValue(pattern, val) {
|
|
54
|
+
if (pattern && !(_xeUtils.default.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
// 如果存在 max,判断最大值
|
|
60
|
+
function validMaxValue(max, num) {
|
|
61
|
+
if (!_xeUtils.default.eqNull(max) && num > _xeUtils.default.toNumber(max)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
// 如果存在 min,判断最小值
|
|
67
|
+
function validMinValue(min, num) {
|
|
68
|
+
if (!_xeUtils.default.eqNull(min) && num < _xeUtils.default.toNumber(min)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
function validRuleValue(rule, val, required) {
|
|
53
74
|
const {
|
|
54
75
|
type,
|
|
55
76
|
min,
|
|
56
77
|
max,
|
|
57
78
|
pattern
|
|
58
79
|
} = rule;
|
|
80
|
+
const isArrType = type === 'array';
|
|
59
81
|
const isNumType = type === 'number';
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
// 如果存在 min,判断最小值
|
|
66
|
-
if (!_xeUtils.default.eqNull(min) && numVal < _xeUtils.default.toNumber(min)) {
|
|
67
|
-
return true;
|
|
82
|
+
const isStrType = type === 'string';
|
|
83
|
+
const strVal = `${val}`;
|
|
84
|
+
if (!validREValue(pattern, strVal)) {
|
|
85
|
+
return false;
|
|
68
86
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
87
|
+
if (isArrType) {
|
|
88
|
+
if (!_xeUtils.default.isArray(val)) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (required) {
|
|
92
|
+
if (!val.length) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!validMinValue(min, val.length)) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (!validMaxValue(max, val.length)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
} else if (isNumType) {
|
|
103
|
+
const numVal = Number(val);
|
|
104
|
+
if (isNaN(numVal)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
if (!validMinValue(min, numVal)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
if (!validMaxValue(max, numVal)) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
if (isStrType) {
|
|
115
|
+
if (!_xeUtils.default.isString(val)) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (required) {
|
|
120
|
+
if (!strVal) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (!validMinValue(min, strVal.length)) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
if (!validMaxValue(max, strVal.length)) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
72
130
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
function checkRuleStatus(rule, val) {
|
|
134
|
+
const {
|
|
135
|
+
required
|
|
136
|
+
} = rule;
|
|
137
|
+
const isEmptyVal = _xeUtils.default.eqNull(val);
|
|
138
|
+
if (required) {
|
|
139
|
+
if (isEmptyVal) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
if (!validRuleValue(rule, val, required)) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
if (!isEmptyVal) {
|
|
147
|
+
if (!validRuleValue(rule, val, required)) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
76
151
|
}
|
|
77
|
-
return
|
|
152
|
+
return true;
|
|
78
153
|
}
|
|
79
154
|
var _default = exports.default = {
|
|
80
155
|
methods: {
|
|
@@ -82,10 +157,8 @@ var _default = exports.default = {
|
|
|
82
157
|
* 完整校验,和 validate 的区别就是会给有效数据中的每一行进行校验
|
|
83
158
|
*/
|
|
84
159
|
_fullValidate(rows, cb) {
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
(0, _log.warnLog)('vxe.error.notValidators', ['fullValidate(rows, callback)', 'fullValidate(rows)']);
|
|
88
|
-
}
|
|
160
|
+
if (_xeUtils.default.isFunction(cb)) {
|
|
161
|
+
(0, _log.warnLog)('vxe.error.notValidators', ['fullValidate(rows, callback)', 'fullValidate(rows)']);
|
|
89
162
|
}
|
|
90
163
|
return this.beginValidate(rows, null, cb, true);
|
|
91
164
|
},
|
|
@@ -93,10 +166,8 @@ var _default = exports.default = {
|
|
|
93
166
|
* 快速校验,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
94
167
|
*/
|
|
95
168
|
_validate(rows, cb) {
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
(0, _log.warnLog)('vxe.error.notValidators', ['validate(rows, callback)', 'validate(rows)']);
|
|
99
|
-
}
|
|
169
|
+
if (_xeUtils.default.isFunction(cb)) {
|
|
170
|
+
(0, _log.warnLog)('vxe.error.notValidators', ['validate(rows, callback)', 'validate(rows)']);
|
|
100
171
|
}
|
|
101
172
|
return this.beginValidate(rows, null, cb);
|
|
102
173
|
},
|
|
@@ -357,9 +428,7 @@ var _default = exports.default = {
|
|
|
357
428
|
const cellValue = _xeUtils.default.isUndefined(val) ? _xeUtils.default.get(row, property) : val;
|
|
358
429
|
rules.forEach(rule => {
|
|
359
430
|
const {
|
|
360
|
-
type,
|
|
361
431
|
trigger,
|
|
362
|
-
required,
|
|
363
432
|
validator
|
|
364
433
|
} = rule;
|
|
365
434
|
if (validType === 'all' || !trigger || validType === trigger) {
|
|
@@ -383,9 +452,7 @@ var _default = exports.default = {
|
|
|
383
452
|
if (tcvMethod) {
|
|
384
453
|
customValid = tcvMethod(validParams);
|
|
385
454
|
} else {
|
|
386
|
-
|
|
387
|
-
(0, _log.warnLog)('vxe.error.notValidators', [validator]);
|
|
388
|
-
}
|
|
455
|
+
(0, _log.errLog)('vxe.error.notValidators', [validator]);
|
|
389
456
|
}
|
|
390
457
|
} else {
|
|
391
458
|
(0, _log.errLog)('vxe.error.notValidators', [validator]);
|
|
@@ -416,17 +483,7 @@ var _default = exports.default = {
|
|
|
416
483
|
}
|
|
417
484
|
}
|
|
418
485
|
} else {
|
|
419
|
-
|
|
420
|
-
const isArrVal = _xeUtils.default.isArray(cellValue);
|
|
421
|
-
let hasEmpty = true;
|
|
422
|
-
if (isArrType || isArrVal) {
|
|
423
|
-
hasEmpty = !isArrVal || !cellValue.length;
|
|
424
|
-
} else if (_xeUtils.default.isString(cellValue)) {
|
|
425
|
-
hasEmpty = (0, _utils.eqEmptyValue)(cellValue.trim());
|
|
426
|
-
} else {
|
|
427
|
-
hasEmpty = (0, _utils.eqEmptyValue)(cellValue);
|
|
428
|
-
}
|
|
429
|
-
if (required ? hasEmpty || validErrorRuleValue(rule, cellValue) : !hasEmpty && validErrorRuleValue(rule, cellValue)) {
|
|
486
|
+
if (!checkRuleStatus(rule, cellValue)) {
|
|
430
487
|
this.validRuleErr = true;
|
|
431
488
|
errorRules.push(new Rule(rule));
|
|
432
489
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,s="array"===e,u="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(s){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(u){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t){var l=e.required,i=_xeUtils.default.eqNull(t);if(l){if(i)return!1;if(!validRuleValue(e,t,l))return!1}else if(!i&&!validRuleValue(e,t,l))return!1;return!0}var _default=exports.default={methods:{_fullValidate(e,t){return _xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return _xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,s,a){let i=this;var r=i,u=i;let n={},{editRules:o,treeConfig:d}=r,{afterFullData:t,pendingRowMaps:h,removeRowMaps:c}=u;r=i.computeTreeOpts,u=r.children||r.childrenField;let g,f=(!0===e?g=t:e&&(_xeUtils.default.isFunction(e)?s=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||this.getInsertRecords().concat(this.getUpdateRecords()),[]),v=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});if(o){let t=l&&l.length?l:this.getColumns();r=r=>{var e=(0,_util.getRowid)(i,r);if(!c[e]&&!h[e]&&(a||!this.validRuleErr)){let e=[];t.forEach(l=>{let i=_xeUtils.default.isString(l)?l:l.field;!a&&this.validRuleErr||!_xeUtils.default.has(o,i)||e.push(this.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:this.getRowIndex(r),row:r,columnIndex:this.getColumnIndex(l),column:l,field:i,$table:this};if(n[i]||(n[i]=[]),v[(0,_util.getRowid)(this,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},n[i].push(t),!a)return this.validRuleErr=!0,Promise.reject(t)}))}),f.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(g,r,{children:u}):g.forEach(r),Promise.all(f).then(()=>{let e=Object.keys(n);return this.validErrorMaps=this.handleErrMsgMode(v),this.$nextTick().then(()=>{if(e.length)return Promise.reject(n[e[0]][0]);s&&s()})}).catch(a=>new Promise((e,t)=>{let l=()=>{this.$nextTick(()=>{s?(s(n),e()):("obsolete"===getConfig().validToReject?t:e)(n)})};var i,r=()=>{a.cell=this.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),this.handleValidError(a).then(l)};!1===this.validOpts.autoPos?l():(i=a.row,this.scrollToRow(i,a.column).then(r))}))}return this.validErrorMaps={},this.$nextTick().then(()=>{s&&s()})},hasCellRules(t,e,l){var i=this.editRules,l=l.property;return!(!l||!i)&&(i=_xeUtils.default.get(i,l))&&_xeUtils.default.find(i,e=>"all"===t||!e.trigger||t===e.trigger)},validCellRules(e,n,o,t){var l=this.editRules,i=o.property;let d=[],h=[];if(i&&l){let u=_xeUtils.default.get(l,i);if(u){let s=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(n,i):t;u.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===e||!l||e===l)if(i){var r,a={cellValue:s,rule:t,rules:u,row:n,rowIndex:this.getRowIndex(n),column:o,columnIndex:this.getColumnIndex(o),field:o.property,$table:this};let e;_xeUtils.default.isString(i)?(r=validators.get(i))&&(r=r.tableCellValidatorMethod||r.cellValidatorMethod)?e=r(a):(0,_log.errLog)("vxe.error.notValidators",[i]):e=i(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)}))):e.catch&&h.push(e.catch(e=>{this.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:l,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,s)||(this.validRuleErr=!0,d.push(new Rule(t)))})}}return Promise.all(h).then(()=>{var e;if(d.length)return e={rules:d,rule:d[0]},Promise.reject(e)})},_clearValidate(e,t){var{validOpts:l,validErrorMaps:i}=this,r=this.$refs.refValidTooltip,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e)),s={};if(r&&r.visible&&r.close(),"single"===l.msgMode)this.validErrorMaps={};else{if(e.length&&a.length)s=Object.assign({},i),e.forEach(t=>{a.forEach(e=>{e=(0,_util.getRowid)(this,t)+":"+e.id;s[e]&&delete s[e]})});else if(e.length){let l=e.map(e=>""+(0,_util.getRowid)(this,e));_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[0])&&(s[t]=e)})}else if(a.length){let l=a.map(e=>""+e.id);_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[1])&&(s[t]=e)})}this.validErrorMaps=s}return this.$nextTick()},triggerValidate(r){let{editConfig:e,editStore:t,editRules:l,editOpts:a,validOpts:i}=this;var s=t.actived;if(l&&"single"===i.msgMode&&(this.validErrorMaps={}),e&&l&&s.row){let{row:t,column:l,cell:i}=s.args;if(this.hasCellRules(r,t,l))return this.validCellRules(r,t,l).then(()=>{"row"===a.mode&&this.clearValidate(t,l)}).catch(({rule:e})=>e.trigger&&r!==e.trigger?Promise.resolve():(e={rule:e,row:t,column:l,cell:i},this.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var{$refs:t,height:l,validStore:i,validErrorMaps:r,tableData:a,validOpts:s}=this,{rule:u,row:n,column:o,cell:d}=e,t=t.refValidTooltip,h=u.content;return i.visible=!0,"single"===s.msgMode?this.validErrorMaps={[(0,_util.getRowid)(this,n)+":"+o.id]:{column:o,row:n,rule:u,content:h}}:this.validErrorMaps=Object.assign({},r,{[(0,_util.getRowid)(this,n)+":"+o.id]:{column:o,row:n,rule:u,content:h}}),this.emitEvent("valid-error",e,null),t&&("tooltip"===s.message||"default"===s.message&&!l&&a.length<2)?t.open(d,h):this.$nextTick()}}};
|