vxe-table 3.12.0 → 3.12.1-beta.1

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 (55) hide show
  1. package/es/grid/src/grid.js +46 -9
  2. package/es/grid/style.css +14 -0
  3. package/es/grid/style.min.css +1 -1
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/table/module/export/mixin.js +1 -1
  9. package/es/table/src/body.js +9 -6
  10. package/es/table/src/column.js +2 -2
  11. package/es/table/src/group.js +2 -2
  12. package/es/table/src/methods.js +21 -9
  13. package/es/toolbar/src/toolbar.js +2 -2
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/dom.js +6 -0
  16. package/es/ui/src/log.js +1 -1
  17. package/es/vxe-grid/style.css +14 -0
  18. package/es/vxe-grid/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +42 -13
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/grid/style/style.css +14 -0
  22. package/lib/grid/style/style.min.css +1 -1
  23. package/lib/index.css +1 -1
  24. package/lib/index.min.css +1 -1
  25. package/lib/index.umd.js +79 -31
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/style.css +1 -1
  28. package/lib/style.min.css +1 -1
  29. package/lib/table/module/export/mixin.js +1 -1
  30. package/lib/table/module/export/mixin.min.js +1 -1
  31. package/lib/table/src/body.js +7 -5
  32. package/lib/table/src/body.min.js +1 -1
  33. package/lib/table/src/methods.js +21 -10
  34. package/lib/table/src/methods.min.js +1 -1
  35. package/lib/ui/index.js +1 -1
  36. package/lib/ui/index.min.js +1 -1
  37. package/lib/ui/src/dom.js +7 -0
  38. package/lib/ui/src/dom.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-grid/style/style.css +14 -0
  42. package/lib/vxe-grid/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/grid/src/grid.ts +49 -10
  45. package/packages/table/module/export/mixin.ts +1 -1
  46. package/packages/table/src/body.ts +7 -5
  47. package/packages/table/src/methods.ts +22 -10
  48. package/packages/ui/src/dom.ts +7 -0
  49. package/styles/components/grid.scss +13 -0
  50. /package/es/{iconfont.1735661059384.ttf → iconfont.1735808839640.ttf} +0 -0
  51. /package/es/{iconfont.1735661059384.woff → iconfont.1735808839640.woff} +0 -0
  52. /package/es/{iconfont.1735661059384.woff2 → iconfont.1735808839640.woff2} +0 -0
  53. /package/lib/{iconfont.1735661059384.ttf → iconfont.1735808839640.ttf} +0 -0
  54. /package/lib/{iconfont.1735661059384.woff → iconfont.1735808839640.woff} +0 -0
  55. /package/lib/{iconfont.1735661059384.woff2 → iconfont.1735808839640.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"),_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,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$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,p,u,e){let{isAllExpand:i,mode:h}=p;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=[],a=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(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.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:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({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({row:d});break;default:p.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))&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),r.push(Object.assign(i,d))}},{children:t}),r}return e.map((i,n)=>{let s={_row:i};return u.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:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===h?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:p.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))&&(l=a.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,a=o.editRender||o.cellRender;let i=o.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod;a=e.getVTColumnIndex(o);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_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){let r=csvBOM;return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),r}function toTxt(l,o,e,t){let r="";return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),r}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;return r=e.scrollXLoad||e.scrollYLoad?r||!0:r}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:o,treeOpts:a,isAllSelected:s,isIndeterminate:r,headerAlign:p,align:u,footerAlign:i,showOverflow:h,showHeaderOverflow:m,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let C=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(C.push("<thead>"),b&&!$?y.forEach(e=>{C.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",m)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var i=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):C.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",m)?["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}" ${s?"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>`),C.push("</thead>")),t.length&&(C.push("<tbody>"),o?t.forEach(r=>{C.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",h)?["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*a.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*a.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*a.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=>{C.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",h)?["col--ellipsis"]:[],o=s[e.id];let r=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),C.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(C.push("<tfoot>"),t.forEach(r=>{C.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",h)?["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>`)}),C.push("</tfoot>"));t=!s&&r?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return C.push("</table>",t),x?C.join(""):(0,_util2.createHtmlPage)(n,C.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:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_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:a,columns:i,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(a){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:i,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,i,e))))}}).then(e=>(clearColumnConvert(i),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),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 parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let o={},r=Date.now();t.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(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,o))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),o))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{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(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){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 checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:a}=l,i={fields:[],rows:[]};switch(o.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&("development"!==process.env.NODE_ENV||_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(r,a,i){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);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"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:a,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(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:r})}).catch(e=>(t&&t({status:!1,options:i,$table:r}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_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,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.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(i,o)){l=o;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:a,showFooter:i}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:p,exportStore:u,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},p=!!p.length,s=!(!s.length&&!d.length),d=Object.assign({message:!0,isHeader:a,isFooter:i,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:["current","selected"].concat(v.ajax&&v.ajax.queryAll?["all"]:[])},t),a=d.types||_xeUtils.default.keys(f._typeMaps),i=d.modes||[];let b=x.checkMethod;v=m.slice(0);let _=d.columns;t=a.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),f=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(v,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=_?_.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)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!b&&!b({column:o}))}),Object.assign(u,{columns:v,typeList:t,modeList:f,hasFooter:p,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:g.length?"selected":"current"},d);let{filename:y,sheetName:$,mode:w,type:C}=h;return y&&(_xeUtils.default.isFunction(y)?h.filename=y({options:d,$table:e,$grid:o}):h.filename=""+y),$&&(_xeUtils.default.isFunction($)?h.sheetName=$({options:d,$table:e,$grid:o}):h.sheetName=""+$),f.some(e=>e.value===w)||(h.mode=f[0].value),t.some(e=>e.value===C)||(h.type=t[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,s=n.$xeGrid,{isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:o,treeConfig:r,treeOpts:i,exportOpts:d}=this;e=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},d,{print:!1},e);let{filename:c,sheetName:p,type:u,mode:h,columns:m,original:f,columnFilterMethod:x,beforeExportMethod:g,includeFields:v,excludeFields:b}=e,_=[];var y=m&&m.length?m:null;let $=Object.assign({},e,{filename:"",sheetName:""}),w=(y||x||($.columnFilterMethod=({column:e})=>(!b||!_xeUtils.default.includes(b,e.field))&&(v?!!_xeUtils.default.includes(v,e.field):f?e.field:defaultFilterExportColumn(e))),_=y?($._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(y,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=a.find(e=>e.field===l&&e.type===t):l?o=n.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!x||x({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!x||x({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(_,e=>{e.children&&e.children.length||w.push(e)},{children:"childNodes"}),$.columns=w,$.colgroups=convertToRows(_),c&&(_xeUtils.default.isFunction(c)?$.filename=c({options:e,$table:n,$grid:s}):$.filename=""+c),$.filename||($.filename=getI18n($.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),p&&(_xeUtils.default.isFunction(p)?$.sheetName=p({options:e,$table:n,$grid:s}):$.sheetName=""+p),$.sheetName||($.sheetName=document.title||""),!$.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(d._typeMaps),u))return(0,_log.errLog)("vxe.error.notType",[u]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(u)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if($.print||g&&g({options:$,$table:n,$grid:s}),!e.data)if($.data=[],"selected"===h){let t=n.getCheckboxRecords();-1<["html","pdf"].indexOf(u)&&r?e.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(t,e),Object.assign({},i,{data:"_row"})):e.data=t}else if("all"===h){if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),s&&!$.remote){var y=s,C=s.computeProxyOpts,E=y.sortData;let{beforeQueryAll:e,afterQueryAll:o,ajax:t={}}=C,r=C.response||C.props||{};C=t.queryAll;let a=t.queryAllSuccess,i=t.queryAllError;if("development"!==process.env.NODE_ENV||C||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),C){let l={$table:n,$grid:s,sort:E.length?E[0]:{},sorts:E,filters:y.filterData,form:y.formData,options:$};return Promise.resolve((e||C)(l)).then(e=>{var t=r.list;return $.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:s}):_xeUtils.default.get(e,t):e)||[],o&&o(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(n,$)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===h&&($.data=o);return handleExport(n,e)},_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="",a=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),i=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:r,html:i,customStyle:o.style,beforeMethod:a?({html:e})=>a({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:a?({html:e})=>a({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"development"!==process.env.NODE_ENV||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"development"!==process.env.NODE_ENV||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"),_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,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$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,p,u,e){let{isAllExpand:i,mode:h}=p;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=[],a=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(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.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:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({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({row:d});break;default:p.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))&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),r.push(Object.assign(i,d))}},{children:t}),r}return e.map((i,n)=>{let s={_row:i};return u.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:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===h?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:p.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))&&(l=a.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,a=o.editRender||o.cellRender;let i=o.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod;a=e.getVTColumnIndex(o);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_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){let r=csvBOM;return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),r}function toTxt(l,o,e,t){let r="";return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),r}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;return r=e.scrollXLoad||e.scrollYLoad?r||!0:r}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:o,treeOpts:a,isAllSelected:s,isIndeterminate:r,headerAlign:p,align:u,footerAlign:i,showOverflow:h,showHeaderOverflow:m,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let C=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(C.push("<thead>"),b&&!$?y.forEach(e=>{C.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",m)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var i=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):C.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",m)?["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}" ${s?"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>`),C.push("</thead>")),t.length&&(C.push("<tbody>"),o?t.forEach(r=>{C.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",h)?["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*a.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*a.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*a.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=>{C.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",h)?["col--ellipsis"]:[],o=s[e.id];let r=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),C.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(C.push("<tfoot>"),t.forEach(r=>{C.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",h)?["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>`)}),C.push("</tfoot>"));t=!s&&r?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return C.push("</table>",t),x?C.join(""):(0,_util2.createHtmlPage)(n,C.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:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_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:a,columns:i,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(a){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:i,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,i,e))))}}).then(e=>(clearColumnConvert(i),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),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 parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let o={},r=Date.now();t.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(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,o))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),o))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{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(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){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 checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:a}=l,i={fields:[],rows:[]};switch(o.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&("development"!==process.env.NODE_ENV||_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(r,a,i){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);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"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:a,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(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:r})}).catch(e=>(t&&t({status:!1,options:i,$table:r}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_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,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.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(i,o)){l=o;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:a,showFooter:i}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:p,exportStore:u,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},p=!!p.length,s=!(!s.length&&!d.length),d=Object.assign({message:!0,isHeader:a,isFooter:i,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:["current","selected"].concat(v.ajax&&v.ajax.queryAll?["all"]:[])},t),a=d.types||_xeUtils.default.keys(f._typeMaps),i=d.modes||[];let b=x.checkMethod;v=m.slice(0);let _=d.columns;t=a.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),f=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(v,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=_?_.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)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!b&&!b({column:o}))}),Object.assign(u,{columns:v,typeList:t,modeList:f,hasFooter:p,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:g.length?"selected":"current"},d);let{filename:y,sheetName:$,mode:w,type:C}=h;return y&&(_xeUtils.default.isFunction(y)?h.filename=y({options:d,$table:e,$grid:o}):h.filename=""+y),$&&(_xeUtils.default.isFunction($)?h.sheetName=$({options:d,$table:e,$grid:o}):h.sheetName=""+$),f.some(e=>e.value===w)||(h.mode=f[0].value),t.some(e=>e.value===C)||(h.type=t[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(n){let s=this,d=s.$xeGrid,{isGroup:e,tableGroupColumn:t,tableFullColumn:a,afterFullData:l,treeConfig:o,treeOpts:r,exportOpts:i}=this;n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},i,{print:!1},n);let{filename:c,sheetName:p,type:u,mode:h,columns:m,original:f,columnFilterMethod:x,beforeExportMethod:g,includeFields:v,excludeFields:b}=n,_=[];var y=m&&m.length?m:null;let $=Object.assign({},n,{filename:"",sheetName:""}),w=(y||x||($.columnFilterMethod=({column:e})=>(!b||!_xeUtils.default.includes(b,e.field))&&(v?!!_xeUtils.default.includes(v,e.field):f?e.field:defaultFilterExportColumn(e))),_=y?($._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(y,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=a.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!x||x({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:a,(e,t)=>e.visible&&(!x||x({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(_,e=>{e.children&&e.children.length||w.push(e)},{children:"childNodes"}),$.columns=w,$.colgroups=convertToRows(_),c&&(_xeUtils.default.isFunction(c)?$.filename=c({options:n,$table:s,$grid:d}):$.filename=""+c),$.filename||($.filename=getI18n($.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),p&&(_xeUtils.default.isFunction(p)?$.sheetName=p({options:n,$table:s,$grid:d}):$.sheetName=""+p),$.sheetName||($.sheetName=document.title||""),!$.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),u))return(0,_log.errLog)("vxe.error.notType",[u]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(u)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if($.print||g&&g({options:$,$table:s,$grid:d}),!n.data)if($.data=[],"selected"===h){let t=s.getCheckboxRecords();-1<["html","pdf"].indexOf(u)&&o?n.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(t,e),Object.assign({},r,{data:"_row"})):n.data=t}else if("all"===h){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!$.remote){var y=d,n=d.computeProxyOpts,C=y.sortData;let{beforeQueryAll:e,afterQueryAll:o,ajax:t={}}=n,r=n.response||n.props||{};n=t.queryAll;let a=t.queryAllSuccess,i=t.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:d,sort:C.length?C[0]:{},sorts:C,filters:y.filterData,form:y.formData,options:$};return Promise.resolve((e||n)(l)).then(e=>{var t=r.list;return $.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:d}):_xeUtils.default.get(e,t):e)||[],o&&o(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(s,$)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===h&&($.data=l);return handleExport(s,$)},_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="",a=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),i=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:r,html:i,customStyle:o.style,beforeMethod:a?({html:e})=>a({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:a?({html:e})=>a({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"development"!==process.env.NODE_ENV||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"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
@@ -339,12 +339,14 @@ function renderColumn(h, _vm, $xeTable, seq, rowid, fixedType, rowLevel, row, ro
339
339
  }
340
340
  }
341
341
  let cellHeight = '';
342
- if (hasEllipsis && (scrollYRHeight || rowHeight)) {
343
- cellHeight = `${scrollYRHeight || rowHeight}px`;
344
- } else if (scrollXLoad || scrollYLoad) {
345
- if (!hasEllipsis) {
346
- cellHeight = `${rest.height || 24}px`;
342
+ if (hasEllipsis) {
343
+ if (scrollYRHeight || rowHeight) {
344
+ cellHeight = `${scrollYRHeight || rowHeight}px`;
345
+ } else if (!isAllOverflow) {
346
+ cellHeight = `${rest.height || 18}px`;
347
347
  }
348
+ } else {
349
+ cellHeight = `${rest.height || 18}px`;
348
350
  }
349
351
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
350
352
  if (!$columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
@@ -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"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:w,isAllOverflow:X,align:z,currentColumn:P,cellClassName:j,cellStyle:K,mergeList:G,spanMethod:J,radioOpts:Q,checkboxOpts:Z,expandOpts:ee,treeOpts:le,tooltipOpts:x,mouseConfig:te,editConfig:y,editOpts:f,editRules:re,validOpts:b,editStore:oe,tooltipConfig:se,rowOpts:S,columnOpts:ae,mouseOpts:ie,areaOpts:T,validErrorMaps:_}=l,ne=l.computeRowDragOpts,de=ne.disabledMethod,T=T.selectCellToRow,{type:ce,cellRender:pe,editRender:C,align:ue,showOverflow:$,className:ge,treeNode:he,slots:me}=d,ve=l.computeCellOpts.verticalAlign,oe=oe.actived,v=v.rHeight,E=S.height,O=C||pe,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:"",xe=O?O.tableCellStyle||O.cellStyle:"";let R=x.showAll||x.enabled;var x=l.getColumnIndex(d),ye=l.getVTColumnIndex(d),fe=(0,_utils.isEnableConf)(C);let D=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?w:$,$="ellipsis"===m;let I="title"===m,M=!0===m||"tooltip"===m;m=w||I||M||$;let be;var L={},A=A[r],ue=ue||(O?O.tableCellAlign:"")||z,O=_[r+":"+d.id],z=re&&b.showMessage&&("default"===b.message?h||1<g.length:"inline"===b.message),_={colid:d.id};let Se=p["cell-mouseenter"],Te=p["cell-mouseleave"];re=C&&y&&"dblclick"===f.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:x,$columnIndex:c,_columnIndex:ye,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:g,items:q},k=!1,_e=!1;if((k=S.drag?"row"===ne.trigger||d.dragSort&&"cell"===ne.trigger:k)&&(_e=!(!de||!de(Y))),(I||M||R||Se||se)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(M||R)&&l.triggerBodyTooltipEvent(e,Y),Se&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(M||R||Te||se)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((M||R)&&l.handleTargetLeaveEvent(e),Te&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||Z.range||te)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),k&&(L.mouseup=l.triggerCellMouseupEvent),(S.isCurrent||V||p["cell-click"]||C&&y||"row"===ee.trigger||"cell"===ee.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===Z.trigger||"checkbox"===d.type&&"cell"===Z.trigger||"row"===le.trigger||d.treeNode&&"cell"===le.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(re||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),G.length){h=(0,_util.mergeBodyMethod)(G,B,ye);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(_.rowspan=t),1<r&&(_.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(_.rowspan=i),1<n&&(_.colspan=n)}!(D=D&&G&&(1<_.colspan||1<_.rowspan)?!1:D)&&y&&(C||pe)&&(f.showStatus||f.showUpdateStatus)&&(be=l.isUpdateByRow(a,d.field));x=[];D&&w&&X?x.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(x.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&O&&(o=O.rule,s=me?me.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),x.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Ce="";m&&(v||E)?Ce=`${v||E}px`:!N&&!W||m||(Ce=`${A.height||24}px`),te&&ie.area&&T&&((c||!0!==T)&&T!==d.field||x.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ue]:ue,["col--vertical-"+ve]:ve,["col--"+ce]:ce,"col--last":c===U.length-1,"col--tree-node":he,"col--edit":fe,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":D,"is--drag-cell":k,"is--drag-disabled":_e,"col--dirty":be,"col--active":y&&fe&&oe.row===a&&(oe.column===d||"row"===f.mode),"col--valid-error":!!O,"col--current":P===d},(0,_utils.getClass)(we,Y),(0,_utils.getClass)(ge,Y),(0,_utils.getClass)(j,Y)],key:F||N||W||ae.useKey||S.useKey||ae.drag?d.id:c,attrs:_,style:Object.assign({height:Ce},_xeUtils.default.isFunction(xe)?xe(Y):xe,_xeUtils.default.isFunction(K)?K(Y):K),on:L},x)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:h,scrollXLoad:m,scrollYLoad:v,isAllOverflow:w,isDragRowMove:x,expandColumn:y,dragRow:f,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:S,fullColumnIdData:T}=o,_=l.computeRowOpts,C=l.computeSYOpts,$=l.computeEmptyOpts,E=l.computeMouseOpts,O=l.computeRowDragOpts;let R=h,D=d;n&&(D=!(m||v||c&&w)||y||p||u?o:i||[]),v&&f&&2<R.length&&(h=S[(0,_util.getRowid)(l,f)])&&(c=h._index,w=R[0],y=R[R.length-1],p=S[(0,_util.getRowid)(l,w)],u=S[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?R=[f].concat(R):v<c&&(R=R.concat([f]))),n||r||m&&b&&2<D.length&&(h=T[b.id])&&(w=h._index,S=D[0],y=D[D.length-1],p=T[S.id],u=T[y.id],p)&&u&&(o=p._index,v=u._index,w<o?D=[b].concat(D):v<w&&(D=D.concat([b])));let I;I=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(f=(c=$.name?renderer.get($.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(f.call(this,t,$,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");r={scroll:this.scrollEvent};return"wheel"===C.mode&&(r.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:r},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},D.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag&&O.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(x?"":"-disabled")}},renderRows(t,this,l,n,R,D)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,R,D))]),t("div",{class:"vxe-table--checkbox-range"}),g&&E.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},E.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},I)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
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"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:u,afterFullData:A,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:X,isAllOverflow:z,align:P,currentColumn:j,cellClassName:K,cellStyle:G,mergeList:J,spanMethod:Q,radioOpts:Z,checkboxOpts:ee,expandOpts:le,treeOpts:te,tooltipOpts:w,mouseConfig:re,editConfig:x,editOpts:y,editRules:oe,validOpts:f,editStore:se,tooltipConfig:ae,rowOpts:b,columnOpts:ie,mouseOpts:ne,areaOpts:S,validErrorMaps:T}=l,de=l.computeRowDragOpts,ce=de.disabledMethod,S=S.selectCellToRow,{type:pe,cellRender:ue,editRender:_,align:ge,showOverflow:C,className:he,treeNode:me,slots:ve}=d,we=l.computeCellOpts.verticalAlign,se=se.actived,v=v.rHeight,$=b.height,E=_||ue,E=E?renderer.get(E.name):null,xe=E?E.tableCellClassName||E.cellClassName:"",ye=E?E.tableCellStyle||E.cellStyle:"";let O=w.showAll||w.enabled;var w=l.getColumnIndex(d),fe=l.getVTColumnIndex(d),be=(0,_utils.isEnableConf)(_);let R=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?X:C,C="ellipsis"===m;let D="title"===m,I=!0===m||"tooltip"===m;m=X||D||I||C;let Se;var M={},u=u[r],ge=ge||(E?E.tableCellAlign:"")||P,E=T[r+":"+d.id],P=oe&&f.showMessage&&("default"===f.message?h||1<g.length:"inline"===f.message),T={colid:d.id};let Te=p["cell-mouseenter"],_e=p["cell-mouseleave"];oe=_&&x&&"dblclick"===y.trigger;let L={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:w,$columnIndex:c,_columnIndex:fe,fixed:o,type:renderType,isHidden:R,level:s,visibleData:A,data:g,items:q},Y=!1,Ce=!1;if((Y=b.drag?"row"===de.trigger||d.dragSort&&"cell"===de.trigger:Y)&&(Ce=!(!ce||!ce(L))),(D||I||O||Te||ae)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(D?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||O)&&l.triggerBodyTooltipEvent(e,L),Te&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||O||_e||ae)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((I||O)&&l.handleTargetLeaveEvent(e),_e&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(Y||ee.range||re)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,L)}),Y&&(M.mouseup=l.triggerCellMouseupEvent),(b.isCurrent||V||p["cell-click"]||_&&x||"row"===le.trigger||"cell"===le.trigger||"row"===Z.trigger||"radio"===d.type&&"cell"===Z.trigger||"row"===ee.trigger||"checkbox"===d.type&&"cell"===ee.trigger||"row"===te.trigger||d.treeNode&&"cell"===te.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,L)}),(oe||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,L)}),J.length){h=(0,_util.mergeBodyMethod)(J,B,fe);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(T.rowspan=t),1<r&&(T.colspan=r)}}else if(Q){var{rowspan:i=1,colspan:n=1}=Q(L)||{};if(!i||!n)return null;1<i&&(T.rowspan=i),1<n&&(T.colspan=n)}!(R=R&&J&&(1<T.colspan||1<T.rowspan)?!1:R)&&x&&(_||ue)&&(y.showStatus||y.showUpdateStatus)&&(Se=l.isUpdateByRow(a,d.field));w=[];R&&X&&z?w.push(e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""}})):(w.push(...renderLine(e,H,l,L),e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""},attrs:{title:D?l.getCellLabel(a,d):null}},d.renderCell(e,L))),P&&E&&(o=E.rule,s=ve?ve.valid:null,A=Object.assign(Object.assign(Object.assign({},L),E),{rule:E}),w.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,E)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[s?l.callSlot(s,A,e):[e("span",{class:"vxe-cell--valid-error-msg"},E.content)]])]))));let k="";m?v||$?k=`${v||$}px`:z||(k=`${u.height||18}px`):k=`${u.height||18}px`,re&&ne.area&&S&&((c||!0!==S)&&S!==d.field||w.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ge]:ge,["col--vertical-"+we]:we,["col--"+pe]:pe,"col--last":c===U.length-1,"col--tree-node":me,"col--edit":be,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":R,"is--drag-cell":Y,"is--drag-disabled":Ce,"col--dirty":Se,"col--active":x&&be&&se.row===a&&(se.column===d||"row"===y.mode),"col--valid-error":!!E,"col--current":j===d},(0,_utils.getClass)(xe,L),(0,_utils.getClass)(he,L),(0,_utils.getClass)(K,L)],key:F||N||W||ie.useKey||b.useKey||ie.drag?d.id:c,attrs:T,style:Object.assign({height:k},_xeUtils.default.isFunction(ye)?ye(L):ye,_xeUtils.default.isFunction(G)?G(L):G),on:M},w)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:h,scrollXLoad:m,scrollYLoad:v,isAllOverflow:w,isDragRowMove:x,expandColumn:y,dragRow:f,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:S,fullColumnIdData:T}=o,_=l.computeRowOpts,C=l.computeSYOpts,$=l.computeEmptyOpts,E=l.computeMouseOpts,O=l.computeRowDragOpts;let R=h,D=d;n&&(D=!(m||v||c&&w)||y||p||u?o:i||[]),v&&f&&2<R.length&&(h=S[(0,_util.getRowid)(l,f)])&&(c=h._index,w=R[0],y=R[R.length-1],p=S[(0,_util.getRowid)(l,w)],u=S[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?R=[f].concat(R):v<c&&(R=R.concat([f]))),n||r||m&&b&&2<D.length&&(h=T[b.id])&&(w=h._index,S=D[0],y=D[D.length-1],p=T[S.id],u=T[y.id],p)&&u&&(o=p._index,v=u._index,w<o?D=[b].concat(D):v<w&&(D=D.concat([b])));let I;I=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(f=(c=$.name?renderer.get($.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(f.call(this,t,$,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");r={scroll:this.scrollEvent};return"wheel"===C.mode&&(r.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:r},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},D.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag&&O.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(x?"":"-disabled")}},renderRows(t,this,l,n,R,D)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,R,D))]),t("div",{class:"vxe-table--checkbox-range"}),g&&E.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},E.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},I)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
@@ -341,14 +341,13 @@ const calcCellHeight = $xeTable => {
341
341
  } = props;
342
342
  const {
343
343
  tableData,
344
- scrollXLoad,
345
- scrollYLoad
344
+ scrollXLoad
346
345
  } = reactData;
347
346
  const {
348
347
  fullAllDataRowIdData
349
348
  } = internalData;
350
349
  const el = $xeTable.$refs.refElem;
351
- if (!showOverflow && (scrollXLoad || scrollYLoad) && el) {
350
+ if (!showOverflow && el) {
352
351
  let paddingTop = 0;
353
352
  let paddingBottom = 0;
354
353
  let calcPadding = false;
@@ -617,7 +616,7 @@ const handleScrollToRowColumn = ($xeTable, fieldOrColumn, row) => {
617
616
  function handleRecalculateLayout($xeTable, reFull) {
618
617
  const internalData = $xeTable;
619
618
  const el = $xeTable.$refs.refElem;
620
- internalData.reRunTime = Date.now();
619
+ internalData.rceRunTime = Date.now();
621
620
  if (!el || !el.clientWidth) {
622
621
  return $xeTable.$nextTick();
623
622
  }
@@ -653,10 +652,14 @@ function checkLastSyncScroll($xeTable, isRollX, isRollY) {
653
652
  internalData.bodyScrollType = '';
654
653
  internalData.inFooterScroll = false;
655
654
  if (isRollX && scrollXLoad) {
656
- $xeTable.updateScrollXData();
655
+ $xeTable.updateScrollXData().then(() => {
656
+ $xeTable.loadScrollXData();
657
+ });
657
658
  }
658
659
  if (isRollY && scrollYLoad) {
659
- $xeTable.updateScrollYData();
660
+ $xeTable.updateScrollYData().then(() => {
661
+ $xeTable.loadScrollYData();
662
+ });
660
663
  }
661
664
  $xeTable.updateCellAreas();
662
665
  }, 200);
@@ -2884,6 +2887,7 @@ const Methods = {
2884
2887
  saveCustomStore(type) {
2885
2888
  const $xeTable = this;
2886
2889
  const props = $xeTable;
2890
+ const reactData = $xeTable;
2887
2891
  const {
2888
2892
  customConfig
2889
2893
  } = props;
@@ -2899,6 +2903,9 @@ const Methods = {
2899
2903
  const isCustomVisible = isAllCustom || storageOpts.visible;
2900
2904
  const isCustomFixed = isAllCustom || storageOpts.fixed;
2901
2905
  const isCustomSort = isAllCustom || storageOpts.sort;
2906
+ if (type !== 'reset') {
2907
+ reactData.isCustomStatus = true;
2908
+ }
2902
2909
  if ((customConfig ? (0, _utils.isEnableConf)(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
2903
2910
  if (!tableId) {
2904
2911
  (0, _log.errLog)('vxe.error.reqProp', ['id']);
@@ -3189,7 +3196,7 @@ const Methods = {
3189
3196
  return new Promise(resolve => {
3190
3197
  const {
3191
3198
  rceTimeout,
3192
- reRunTime
3199
+ rceRunTime
3193
3200
  } = internalData;
3194
3201
  const resizeOpts = $xeTable.computeResizeOpts;
3195
3202
  const refreshDelay = resizeOpts.refreshDelay || 20;
@@ -3199,7 +3206,7 @@ const Methods = {
3199
3206
  }
3200
3207
  if (rceTimeout) {
3201
3208
  clearTimeout(rceTimeout);
3202
- if (reRunTime && reRunTime + (refreshDelay - 5) < Date.now()) {
3209
+ if (rceRunTime && rceRunTime + (refreshDelay - 5) < Date.now()) {
3203
3210
  resolve(handleRecalculateLayout($xeTable, !!reFull));
3204
3211
  } else {
3205
3212
  $xeTable.$nextTick(() => {
@@ -8265,7 +8272,9 @@ const Methods = {
8265
8272
  scrollXStore.offsetSize = offsetXSize;
8266
8273
  scrollXStore.visibleSize = visibleXSize;
8267
8274
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
8268
- $xeTable.updateScrollXData();
8275
+ $xeTable.updateScrollXData().then(() => {
8276
+ $xeTable.loadScrollXData();
8277
+ });
8269
8278
  } else {
8270
8279
  $xeTable.updateScrollXSpace();
8271
8280
  }
@@ -8282,7 +8291,9 @@ const Methods = {
8282
8291
  scrollYStore.offsetSize = offsetYSize;
8283
8292
  scrollYStore.visibleSize = visibleYSize;
8284
8293
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
8285
- $xeTable.updateScrollYData();
8294
+ $xeTable.updateScrollYData().then(() => {
8295
+ $xeTable.loadScrollYData();
8296
+ });
8286
8297
  } else {
8287
8298
  $xeTable.updateScrollYSpace();
8288
8299
  }