vxe-table 3.14.0-beta.21 → 3.14.0-beta.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/export/mixin.js +1 -1
  3. package/es/table/module/keyboard/mixin.js +62 -27
  4. package/es/table/src/methods.js +9 -18
  5. package/es/table/src/table.js +4 -1
  6. package/es/ui/index.js +2 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/index.umd.js +84 -51
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/module/export/mixin.js +1 -1
  12. package/lib/table/module/export/mixin.min.js +1 -1
  13. package/lib/table/module/keyboard/mixin.js +67 -29
  14. package/lib/table/module/keyboard/mixin.min.js +1 -1
  15. package/lib/table/src/methods.js +8 -17
  16. package/lib/table/src/methods.min.js +1 -1
  17. package/lib/table/src/table.js +4 -1
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +2 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +2 -2
  24. package/packages/table/module/export/mixin.ts +1 -1
  25. package/packages/table/module/keyboard/mixin.ts +69 -30
  26. package/packages/table/src/methods.ts +9 -18
  27. package/packages/table/src/table.ts +4 -1
  28. package/packages/ui/index.ts +1 -0
  29. /package/es/{iconfont.1742437924038.ttf → iconfont.1742535187527.ttf} +0 -0
  30. /package/es/{iconfont.1742437924038.woff → iconfont.1742535187527.woff} +0 -0
  31. /package/es/{iconfont.1742437924038.woff2 → iconfont.1742535187527.woff2} +0 -0
  32. /package/lib/{iconfont.1742437924038.ttf → iconfont.1742535187527.ttf} +0 -0
  33. /package/lib/{iconfont.1742437924038.woff → iconfont.1742535187527.woff} +0 -0
  34. /package/lib/{iconfont.1742437924038.woff2 → iconfont.1742535187527.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({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 g=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||g.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||g.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({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({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||g.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({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({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(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.columnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,o){var r=e.columnOpts,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(e,t){let 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 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(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(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,mergeList:f}=l,g=d.computeTreeOpts,{print:x,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",E=[`<table class="${["vxe-table","border--"+toTableBorder(o),x?"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&&(E.push("<thead>"),_&&!C?$.forEach(e=>{E.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 ${x?"":`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 ${x?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):E.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 ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"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>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(r=>{E.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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._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}" ${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*g.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*g.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_${c}" ${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(s=>{E.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=s[e.id];let r=1,i=1;if(y&&f.length){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(f,a,n);if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(n,t)).length)&&(E.push("<tfoot>"),l.forEach(r=>{E.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 ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,o,e,t){let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</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(r,i,a){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=a,{type:s,filename:d}=(0,_utils.parseFile)(i);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),r._importResolve=null,r._importReject=null},o=e=>{l(e),r._importResolve=null,r._importReject=null};if(r._importResolve=e,r._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},a,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:i,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:i,options:t,columns:r.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),o({status:!1})},e.onload=e=>{handleImport(r,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:a,$table:r})}).catch(e=>(t&&t({status:!1,options:a,$table:r}),Promise.reject(e))):(!1!==a.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),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(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:i,showFooter:a}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:u,exportStore:p,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,g=e.computeCustomOpts,x=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},u=!!u.length,s=!(!s.length&&!d.length);let b=Object.assign({message:!0,isHeader:i,isFooter:a,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},t);d=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=g.checkMethod;a=m.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=d.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),t=i.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,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||!!_&&!_({column:e})}),Object.assign(p,{columns:a,typeList:v,modeList:t,hasFooter:u,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:x.length?"selected":"current"},b);let{filename:w,sheetName:E,mode:T,type:F}=h;return w&&(_xeUtils.default.isFunction(w)?h.filename=w({options:b,$table:e,$grid:o}):h.filename=""+w),E&&(_xeUtils.default.isFunction(E)?h.sheetName=E({options:b,$table:e,$grid:o}):h.sheetName=""+E),t.some(e=>e.value===T)||(h.mode=t[0].value),v.some(e=>e.value===F)||(h.type=v[0].value),n.export=!0,e.$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(e){let n=this;var t=n,s=n,l=n;let d=n.$xeGrid;var{treeConfig:t,showHeader:c,showFooter:u}=t,{mergeList:s,mergeFooterList:o,isGroup:r}=s;let{tableFullColumn:i,afterFullData:a,collectColumn:p}=l;var l=n.computeExportOpts,h=n.computeTreeOpts;let m=d?d.computeProxyOpts:{};s=!(!s.length&&!o.length);let f=Object.assign({message:!0,isHeader:c,isFooter:u,isColgroup:r,isMerge:s,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,e),{filename:g,sheetName:x,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:E}=f,T=[],F=n.getCheckboxRecords();b=b||(F.length?"selected":"current");o=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):E||w?handleFilterFields(f,e,w,E):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(o||$||(M.columnFilterMethod=({column:e})=>(!E||!_xeUtils.default.includes(E,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),T=o?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(o,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=n.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=n.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=n.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(r?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(T,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(T),g&&(_xeUtils.default.isFunction(g)?M.filename=g({options:f,$table:n,$grid:d}):M.filename=""+g),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),x&&(_xeUtils.default.isFunction(x)?M.sheetName=x({options:f,$table:n,$grid:d}):M.sheetName=""+x),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._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:n,$grid:d}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&t?M.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!M.remote){c=d;let e=d.computeProxyOpts;u=c.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};s=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:n,$grid:d,sort:u.length?u[0]:{},sorts:u,filters:c.filterData,form:c.formData,options:M};return Promise.resolve((t||s)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:d}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(n,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=a);return handleExport(n,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,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({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 g=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||g.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||g.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({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({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||g.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({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({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(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.columnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,o){var r=e.columnOpts,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(e,t){let 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 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(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(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,mergeList:f}=l,g=d.computeTreeOpts,{print:x,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",E=[`<table class="${["vxe-table","border--"+toTableBorder(o),x?"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&&(E.push("<thead>"),_&&!C?$.forEach(e=>{E.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 ${x?"":`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 ${x?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):E.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 ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"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>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(r=>{E.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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._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}" ${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*g.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*g.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_${c}" ${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(s=>{E.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=s[e.id];let r=1,i=1;if(y&&f.length){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(f,a,n);if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(n,t)).length)&&(E.push("<tfoot>"),l.forEach(r=>{E.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 ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,o,e,t){let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</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(r,i,a){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=a,{type:s,filename:d}=(0,_utils.parseFile)(i);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),r._importResolve=null,r._importReject=null},o=e=>{l(e),r._importResolve=null,r._importReject=null};if(r._importResolve=e,r._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},a,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:i,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:i,options:t,columns:r.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),o({status:!1})},e.onload=e=>{handleImport(r,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:a,$table:r})}).catch(e=>(t&&t({status:!1,options:a,$table:r}),Promise.reject(e))):(!1!==a.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),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(e,t,l){var o=e.xeGrid,{treeConfig:r,showHeader:i,showFooter:a}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:u,exportStore:p,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,g=e.computeCustomOpts,x=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},u=!!u.length,s=!(!s.length&&!d.length);let b=Object.assign({message:!0,isHeader:i,isFooter:a,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},t);d=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=g.checkMethod;a=m.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=d.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),t=i.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,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||!!_&&!_({column:e})}),Object.assign(p,{columns:a,typeList:v,modeList:t,hasFooter:u,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:x.length?"selected":"current"},b);let{filename:w,sheetName:E,mode:T,type:F}=h;return w&&(_xeUtils.default.isFunction(w)?h.filename=w({options:b,$table:e,$grid:o}):h.filename=""+w),E&&(_xeUtils.default.isFunction(E)?h.sheetName=E({options:b,$table:e,$grid:o}):h.sheetName=""+E),t.some(e=>e.value===T)||(h.mode=t[0].value),v.some(e=>e.value===F)||(h.type=v[0].value),n.export=!0,e.$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(e){let n=this;var t=n,s=n,l=n;let d=n.$xeGrid;var{treeConfig:t,showHeader:c,showFooter:u}=t,{mergeList:s,mergeFooterList:o,isGroup:r}=s;let{tableFullColumn:i,afterFullData:a,collectColumn:p}=l;var l=n.computeExportOpts,h=n.computeTreeOpts;let m=d?d.computeProxyOpts:{};s=!(!s.length&&!o.length);let f=Object.assign({message:!0,isHeader:c,isFooter:u,isColgroup:r,isMerge:s,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,e),{filename:g,sheetName:x,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:E}=f,T=[],F=n.getCheckboxRecords();b=b||(F.length?"selected":"current");o=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):E||w?handleFilterFields(f,e,w,E):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(o||$||(M.columnFilterMethod=({column:e})=>(!E||!_xeUtils.default.includes(E,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),T=o?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(o,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=n.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=n.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=n.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(r?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(T,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(T),g&&(_xeUtils.default.isFunction(g)?M.filename=g({options:f,$table:n,$grid:d}):M.filename=""+g),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),x&&(_xeUtils.default.isFunction(x)?M.sheetName=x({options:f,$table:n,$grid:d}):M.sheetName=""+x),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._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:n,$grid:d}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&t?M.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!M.remote){c=d;let e=d.computeProxyOpts;u=c.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};s=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:n,$grid:d,sort:u.length?u[0]:{},sorts:u,filters:c.filterData,form:c.formData,options:M};return Promise.resolve((t||s)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:d}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(n,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=a);return handleExport(n,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)}}};
@@ -111,6 +111,39 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
111
111
  }
112
112
  return rangeRows;
113
113
  }
114
+ function handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow) {
115
+ const internalData = $xeTable;
116
+ const {
117
+ afterFullData,
118
+ visibleColumn
119
+ } = internalData;
120
+ const params = Object.assign({}, args);
121
+ const _rowIndex = $xeTable.getVTRowIndex(params.row);
122
+ const _columnIndex = $xeTable.getVTColumnIndex(params.column);
123
+ evnt.preventDefault();
124
+ if (isUpArrow && _rowIndex > 0) {
125
+ // 移动到上一行
126
+ params.rowIndex = _rowIndex - 1;
127
+ params.row = afterFullData[params.rowIndex];
128
+ } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
129
+ // 移动到下一行
130
+ params.rowIndex = _rowIndex + 1;
131
+ params.row = afterFullData[params.rowIndex];
132
+ } else if (isLeftArrow && _columnIndex) {
133
+ // 移动到左侧单元格
134
+ params.columnIndex = _columnIndex - 1;
135
+ params.column = visibleColumn[params.columnIndex];
136
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
137
+ // 移动到右侧单元格
138
+ params.columnIndex = _columnIndex + 1;
139
+ params.column = visibleColumn[params.columnIndex];
140
+ }
141
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
142
+ params.cell = $xeTable.getCellElement(params.row, params.column);
143
+ $xeTable.handleSelected(params, evnt);
144
+ });
145
+ return params;
146
+ }
114
147
  var _default = exports.default = {
115
148
  methods: {
116
149
  // 处理 Tab 键移动
@@ -282,38 +315,43 @@ var _default = exports.default = {
282
315
  }
283
316
  },
284
317
  // 处理可编辑方向键移动
285
- moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
318
+ moveArrowSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
286
319
  const $xeTable = this;
287
- const internalData = $xeTable;
320
+ const props = $xeTable;
288
321
  const {
289
- afterFullData,
290
- visibleColumn
291
- } = internalData;
292
- const params = Object.assign({}, args);
293
- const _rowIndex = $xeTable.getVTRowIndex(params.row);
294
- const _columnIndex = $xeTable.getVTColumnIndex(params.column);
295
- evnt.preventDefault();
296
- if (isUpArrow && _rowIndex > 0) {
297
- // 移动到上一行
298
- params.rowIndex = _rowIndex - 1;
299
- params.row = afterFullData[params.rowIndex];
300
- } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
301
- // 移动到下一行
302
- params.rowIndex = _rowIndex + 1;
303
- params.row = afterFullData[params.rowIndex];
304
- } else if (isLeftArrow && _columnIndex) {
305
- // 移动到左侧单元格
306
- params.columnIndex = _columnIndex - 1;
307
- params.column = visibleColumn[params.columnIndex];
308
- } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
309
- // 移动到右侧单元格
310
- params.columnIndex = _columnIndex + 1;
311
- params.column = visibleColumn[params.columnIndex];
322
+ highlightCurrentRow,
323
+ highlightCurrentColumn
324
+ } = props;
325
+ const rowOpts = $xeTable.computeRowOpts;
326
+ const columnOpts = $xeTable.computeColumnOpts;
327
+ handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
328
+ // 当前行按键上下移动
329
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
330
+ $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
312
331
  }
313
- $xeTable.scrollToRow(params.row, params.column).then(() => {
314
- params.cell = $xeTable.getCellElement(params.row, params.column);
315
- $xeTable.handleSelected(params, evnt);
316
- });
332
+ // 当前行按键左右移动
333
+ if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
334
+ $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
335
+ }
336
+ },
337
+ moveEnterSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
338
+ const $xeTable = this;
339
+ const rowOpts = $xeTable.computeRowOpts;
340
+ const currentRowOpts = $xeTable.computeCurrentRowOpts;
341
+ const columnOpts = $xeTable.computeColumnOpts;
342
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
343
+ const params = handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
344
+ if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
345
+ $xeTable.triggerCurrentRowEvent(evnt, params);
346
+ }
347
+ if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
348
+ $xeTable.triggerCurrentColumnEvent(evnt, params);
349
+ }
350
+ },
351
+ // 处理可编辑方向键移动
352
+ moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
353
+ const $xeTable = this;
354
+ handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
317
355
  },
318
356
  handleCellMousedownEvent(evnt, params) {
319
357
  const $xeTable = this;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var n,r,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,n,r,i){var s=t.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:c}=t,d=t.computeRowOpts,a=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let g=0,f=[],m=0;var x=0<i,p=t.scrollYLoad,w=t.afterFullData;if(m=x?r+i:n.height-r+Math.abs(i),p){n=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&s)f=x?w.slice(n,n+Math.ceil(m/h)):w.slice(n-Math.floor(m/h),n+1);else if(x)for(let e=n;e<w.length;e++){var v=w[e],C=u[t.getRowid(v)]||{};if(g+=C.resizeHeight||a.height||d.height||C.height||h,f.push(v),g>m)return f}else for(let e=n;0<=e;e--){var b=w[e],R=u[t.getRowid(b)]||{};if(g+=R.resizeHeight||a.height||d.height||R.height||h,f.push(b),g>m)return f}}else for(var T=x?"next":"previous";o&&g<m;){var I=t.getRowNode(o);I&&(f.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return f}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var n=o.editConfig,{afterFullData:r,visibleColumn:i}=o,s=o.computeEditOpts,u=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,a=o.computeCurrentColumnOpts;let h,g,f,m=Object.assign({},e);var e=o.getVTRowIndex(m.row),x=o.getVTColumnIndex(m.column),t=(l.preventDefault(),t?x<=0?0<e&&(g=e-1,h=r[g],f=i.length-1):f=x-1:x>=i.length-1?e<r.length-1&&(g=e+1,h=r[g],f=0):f=x+1,i[f]);t&&(h?(m.rowIndex=g,m.row=h):m.rowIndex=e,m.columnIndex=f,m.column=t,m.cell=o.getCellElement(m.row,m.column),u.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,m),d.isCurrent&&a.isFollowSelected&&o.triggerCurrentColumnEvent(l,m),n?"click"!==s.trigger&&"dblclick"!==s.trigger||("row"===s.mode?o.handleEdit(m,l):o.scrollToRow(m.row,m.column).then(()=>{o.handleSelected(m,l)})):o.scrollToRow(m.row,m.column).then(()=>{o.handleSelected(m,l)}))},moveCurrentRow(e,t,l){let o=this;var n=o,r=o,i=o,n=n.treeConfig;let s=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let u;if(s?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===s,{children:i}),e&&0<n?u=i[n-1]:t&&n<i.length-1&&(u=i[n+1])):(i=o.getVTRowIndex(s),e&&0<i?u=r[i-1]:t&&i<r.length-1&&(u=r[i+1])):u=r[0],u){l.preventDefault();let e={$table:o,row:u,rowIndex:o.getRowIndex(u),$rowIndex:o.getVMRowIndex(u)};o.scrollToRow(u).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,n,r){let i=this;var{afterFullData:s,visibleColumn:u}=i;let c=Object.assign({},e);var e=i.getVTRowIndex(c.row),d=i.getVTColumnIndex(c.column);r.preventDefault(),l&&0<e?(c.rowIndex=e-1,c.row=s[c.rowIndex]):n&&e<s.length-1?(c.rowIndex=e+1,c.row=s[c.rowIndex]):t&&d?(c.columnIndex=d-1,c.column=u[c.columnIndex]):o&&d<u.length-1&&(c.columnIndex=d+1,c.column=u[c.columnIndex]),i.scrollToRow(c.row,c.column).then(()=>{c.cell=i.getCellElement(c.row,c.column),i.handleSelected(c,r)})},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:n,checkboxConfig:r,checkboxOpts:i,mouseConfig:s,mouseOpts:u}=this;if(s&&u.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),s&&u.selected&&(l&&"cell"!==o.mode||n(t,e))},handleCheckboxRangeEvent(e,k){let O=this;var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=k;if("checkbox"===n.type){let E=l;if(o&&"left"===n.fixed?E=o:t&&"right"===n.fixed&&(E=t),E){let t=O.$refs.refElem,s=e.clientX,u=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,a=this.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,E);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,x=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=u-p.y,v=null,C=!1,b=1,R=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-s,l=l-u+(E.scrollTop-x);let o=Math.abs(l),n=Math.abs(t),r=f,i=m;l<g?(r+=l)<g&&(r=g,o=f):o=Math.min(o,E.scrollHeight-f-g),t<g?(i+=t,n>m&&(i=g,n=m)):n=Math.min(n,E.clientWidth-m-g),c.style.height=o+"px",c.style.width=n+"px",c.style.left=i+"px",c.style.top=r+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,k,d,p,w,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{O.handleBatchSelectRows([e],-1===a.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(v),v=null},_=r=>{I(),v=setTimeout(()=>{var e,t,l,o,n;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,n=Math.ceil(50*b/i),C?t+l<o?(this.scrollTo(e,t+n),_(r),T(r)):I():t?(this.scrollTo(e,t-n),_(r),T(r)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(C=!1,b=l-t,v||_(e)):t>l+E.clientHeight?(C=!0,b=t-l-E.clientHeight,v||_(e)):v&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var n,r,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,n,r,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,a=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var p=0<i,C=t.scrollYLoad,v=t.afterFullData;if(f=p?r+i:n.height-r+Math.abs(i),C){n=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&u)m=p?v.slice(n,n+Math.ceil(f/h)):v.slice(n-Math.floor(f/h),n+1);else if(p)for(let e=n;e<v.length;e++){var w=v[e],x=s[t.getRowid(w)]||{};if(g+=x.resizeHeight||a.height||d.height||x.height||h,m.push(w),g>f)return m}else for(let e=n;0<=e;e--){var R=v[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||a.height||d.height||b.height||h,m.push(R),g>f)return m}}else for(var T=p?"next":"previous";o&&g<f;){var I=t.getRowNode(o);I&&(m.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,n,r,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),n&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):r&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var n=o.editConfig,{afterFullData:r,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,a=o.computeCurrentColumnOpts;let h,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),p=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?p<=0?0<e&&(g=e-1,h=r[g],m=i.length-1):m=p-1:p>=i.length-1?e<r.length-1&&(g=e+1,h=r[g],m=0):m=p+1,i[m]);t&&(h?(f.rowIndex=g,f.row=h):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&a.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),n?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var n=o,r=o,i=o,n=n.treeConfig;let u=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===u,{children:i}),e&&0<n?s=i[n-1]:t&&n<i.length-1&&(s=i[n+1])):(i=o.getVTRowIndex(u),e&&0<i?s=r[i-1]:t&&i<r.length-1&&(s=r[i+1])):s=r[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,n,r){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeColumnOpts;handleMoveSelected(i,r,e,t,l,o,n),(l||n)&&(c.isCurrent||u)&&i.moveCurrentRow(l,n,r),(t||o)&&(d.isCurrent||s)&&i.moveCurrentColumn(t,o,r)},moveEnterSelected(e,t,l,o,n,r){var i=this,u=i.computeRowOpts,s=i.computeCurrentRowOpts,c=i.computeColumnOpts,d=i.computeCurrentColumnOpts,e=handleMoveSelected(i,r,e,t,l,o,n);u.isCurrent&&s.isFollowSelected&&i.triggerCurrentRowEvent(r,e),c.isCurrent&&d.isFollowSelected&&i.triggerCurrentColumnEvent(r,e)},moveSelected(e,t,l,o,n,r){handleMoveSelected(this,r,e,t,l,o,n)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:n,checkboxConfig:r,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||n(t,e))},handleCheckboxRangeEvent(e,_){let S=this;var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=_;if("checkbox"===n.type){let E=l;if(o&&"left"===n.fixed?E=o:t&&"right"===n.fixed&&(E=t),E){let t=S.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,a=this.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,p=E.scrollTop,i=d.offsetHeight,C=d.getBoundingClientRect(),v=s-C.y,w=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-p);let o=Math.abs(l),n=Math.abs(t),r=m,i=f;l<g?(r+=l)<g&&(r=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,n>f&&(i=g,n=f)):n=Math.min(n,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=n+"px",c.style.left=i+"px",c.style.top=r+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,_,d,C,v,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{S.handleBatchSelectRows([e],-1===a.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},I=()=>{clearTimeout(w),w=null},O=r=>{I(),w=setTimeout(()=>{var e,t,l,o,n;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,n=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+n),O(r),T(r)):I():t?(this.scrollTo(e,t-n),O(r),T(r)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(x=!1,R=l-t,w||O(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,w||O(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}}};
@@ -2902,7 +2902,7 @@ const Methods = {
2902
2902
  */
2903
2903
  getParentHeight() {
2904
2904
  const $xeTable = this;
2905
- const $xeGrid = $xeTable.$xeGrid;
2905
+ const $xeGrid = $xeTable.xeGrid;
2906
2906
  const props = $xeTable;
2907
2907
  const {
2908
2908
  height
@@ -4191,6 +4191,7 @@ const Methods = {
4191
4191
  mapChildrenField
4192
4192
  } = treeOpts;
4193
4193
  const {
4194
+ isEvery,
4194
4195
  remote: allRemoteFilter,
4195
4196
  filterMethod: allFilterMethod
4196
4197
  } = filterOpts;
@@ -4303,7 +4304,7 @@ const Methods = {
4303
4304
  // 筛选虚拟树
4304
4305
  tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, {
4305
4306
  original: true,
4306
- isEvery: true,
4307
+ isEvery,
4307
4308
  children: mapChildrenField,
4308
4309
  mapChildren: childrenField
4309
4310
  });
@@ -4317,7 +4318,7 @@ const Methods = {
4317
4318
  // 还原虚拟树
4318
4319
  tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
4319
4320
  original: true,
4320
- isEvery: true,
4321
+ isEvery,
4321
4322
  children: mapChildrenField,
4322
4323
  mapChildren: childrenField
4323
4324
  });
@@ -4394,7 +4395,7 @@ const Methods = {
4394
4395
  // 还原虚拟树
4395
4396
  tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
4396
4397
  original: true,
4397
- isEvery: true,
4398
+ isEvery,
4398
4399
  children: treeOpts.mapChildrenField,
4399
4400
  mapChildren: childrenField
4400
4401
  });
@@ -5943,12 +5944,10 @@ const Methods = {
5943
5944
  treeConfig,
5944
5945
  treeOpts,
5945
5946
  highlightCurrentRow,
5946
- highlightCurrentColumn,
5947
5947
  currentRow,
5948
5948
  bodyCtxMenu,
5949
5949
  rowOpts
5950
5950
  } = this;
5951
- const columnOpts = $xeTable.computeColumnOpts;
5952
5951
  const {
5953
5952
  selected,
5954
5953
  actived
@@ -6042,7 +6041,7 @@ const Methods = {
6042
6041
  if (keyboardOpts.enterToTab) {
6043
6042
  this.moveTabSelected(activeParams, hasShiftKey, evnt);
6044
6043
  } else {
6045
- this.moveSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
6044
+ this.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
6046
6045
  }
6047
6046
  } else {
6048
6047
  if (keyboardOpts.enterToTab) {
@@ -6078,7 +6077,7 @@ const Methods = {
6078
6077
  return;
6079
6078
  }
6080
6079
  }
6081
- this.moveSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
6080
+ this.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
6082
6081
  if (enterMethod) {
6083
6082
  enterMethod(etrParams);
6084
6083
  }
@@ -6103,15 +6102,7 @@ const Methods = {
6103
6102
  if (!isEditStatus) {
6104
6103
  // 如果按下了方向键
6105
6104
  if (selected.row && selected.column) {
6106
- $xeTable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
6107
- }
6108
- // 当前行按键上下移动
6109
- if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
6110
- $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
6111
- }
6112
- // 当前行按键左右移动
6113
- if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
6114
- $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
6105
+ $xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
6115
6106
  }
6116
6107
  }
6117
6108
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {