vxe-table 4.17.9 → 4.17.11

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.
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(N){let{props:R,reactData:L,internalData:S}=N,{computeTreeOpts:V,computePrintOpts:n,computeExportOpts:B,computeImportOpts:c,computeCustomOpts:k,computeSeqOpts:i,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:s}=N.getComputeMaps(),_=e=>{var t=V.value,t=t.children||t.childrenField;return e[t]&&e[t].length},$=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:N,row:t,rowIndex:N.getRowIndex(t),_rowIndex:N.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:N.getColumnIndex(r),_columnIndex:N.getVTColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=s.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:N}):(e.isTitle?t.getTitle():t.field)||""}let y=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,w=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(m,h,e)=>{let{isAllExpand:x,mode:g}=m;var t=R.treeConfig;let f=r.value,v=o.value;var l=V.value;let b=s.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(N).handleGetRowId;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=i(d);if(!p[o]){e=l&&l._row?l._row:l,l=e?i(e):"";if(x||!e||u[l]&&N.isTreeExpandByRow(e)){var a=_(d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&N.isTreeExpandByRow(d)};h.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||b.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||b.exportMethod)l=o({$table:N,row:d,column:e,options:m});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===g?a:$(a,d,s,e,t);break;case"checkbox":l=y(N.isCheckedByCheckboxRow(d)),i._checkboxLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._checkboxDisabled=v.checkMethod&&!v.checkMethod({$table:N,row:d});break;case"radio":l=y(N.isCheckedByRadioRow(d)),i._radioLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._radioDisabled=f.checkMethod&&!f.checkMethod({$table:N,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=N.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=N.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=w(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,s)=>{let n={_row:i};return h.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||b.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:N,row:i,column:e,options:m});else switch(e.type){case"seq":var a=s+1;l="all"===g?a:$(a,i,s,e,t);break;case"checkbox":l=y(N.isCheckedByCheckboxRow(i)),n._checkboxLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",n._checkboxDisabled=v.checkMethod&&!v.checkMethod({$table:N,row:i});break;case"radio":l=y(N.isCheckedByRadioRow(i)),n._radioLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",n._radioDisabled=f.checkMethod&&!f.checkMethod({$table:N,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=N.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=N.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=w(l)}),n})},T=(e,t,l)=>{var r=s.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=N.getVTColumnIndex(l);return a?a({$table:N,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=L.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),o},p=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=L.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),o},E=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=L;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=R,{isAllSelected:m,isIndeterminate:o}=L,h=S.mergeBodyCellMaps,i=V.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:$}=s,y="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!$?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=E(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${y}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=E(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,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="${y}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||c,r=E(t,"showOverflow",u)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=E(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b){var i=N.getVTRowIndex(n._row),s=N.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=L.footerTableData,(t=getFooterData(N,s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=E(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${y}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,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="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,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>"}),l.isFooter&&(t=L.footerTableData,getFooterData(N,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},P=l=>{let r=N.xeGrid,o=N.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:N,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=(e=>{let l=N.xeGrid,r=N.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:N,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)})(l);t(N.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return u(e,t,l,r);case"txt":return p(e,t,l,r);case"html":return m(t,l,r);case"xml":return h(t,l,r)}return""})(N,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:N,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:N,$grid:r,$gantt:o});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:N})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,N.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?N.createData(c).then(e=>{let t;return"insert"!==l.mode&&"insertBottom"!==l.mode||(t=N.insertAt(e,-1)),t="insertTop"===l.mode?N.insert(e):N.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:N})}).catch(e=>(t&&t({status:!1,options:i,$table:N}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},W=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),q=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var l=N.xeGrid,r=N.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=R,{initStore:n,isGroup:d,footerTableData:c,exportStore:u,exportParams:p}=L,{collectColumn:m,mergeBodyList:h,mergeFooterList:x}=S,g=B.value,f=k.value,v=N.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},c=!!c.length,h=!(!h.length&&!x.length);let b=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:h,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);x=b.types||_xeUtils.default.keys(g._typeMaps),i=b.modes||[];let _=f.checkMethod;s=m.slice(0);let{columns:$,excludeFields:y,includeFields:w}=b;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=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(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=$&&$.length?W(b,e,$):y||w?q(b,e,w,y):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!_&&!_({$table:N,column:e})}),Object.assign(u,{columns:s,typeList:o,modeList:e,hasFooter:c,hasMerge:h,hasTree:a,isPrint:t,hasColgroup:d,visible:!0}),Object.assign(p,{mode:v.length?"selected":"current"},b);let{filename:C,sheetName:T,mode:E,type:M}=p;return C&&(_xeUtils.default.isFunction(C)?p.filename=C({options:b,$table:N,$grid:l,$gantt:r}):p.filename=""+C),T&&(_xeUtils.default.isFunction(T)?p.sheetName=T({options:b,$table:N,$grid:l,$gantt:r}):p.sheetName=""+T),e.some(e=>e.value===E)||(p.mode=e[0].value),o.some(e=>e.value===M)||(p.type=o[0].value),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){let n=N.xeGrid,d=N.xeGantt;var c=n||d,{treeConfig:e,showHeader:u,showFooter:p}=R,t=L.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:r,collectColumn:o,mergeBodyList:i,mergeFooterList:m}=S;var h=B.value,x=V.value;let g=c?c.getComputeMaps().computeProxyOpts.value:{};var f=!(!i.length&&!m.length);let v=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:t,isMerge:f,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},h,s),{filename:b,sheetName:_,type:$,mode:y,columns:w,original:C,columnFilterMethod:T,beforeExportMethod:E,includeFields:M,excludeFields:k}=v,F=[],U=N.getCheckboxRecords(),I=(y=y||(U.length?"selected":"current"),!1),j=[],D=(j=w&&w.length?(I=!0,w):_xeUtils.default.searchTree(o,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?W(v,e,w):k||M?q(v,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:""})),O=(I||T||(T=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):C?!!e.field:defaultFilterExportColumn(e)),D.columnFilterMethod=T),F=j?(D._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(j,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=N.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=N.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=N.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!T||T({$table:N,$grid:n,$gantt:d,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?o:a,(e,t)=>e.visible&&(!T||T({$table:N,$grid:n,$gantt:d,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),D.columns=O,D.colgroups=convertToRows(F),b&&(_xeUtils.default.isFunction(b)?D.filename=b({options:v,$table:N,$grid:n,$gantt:d}):D.filename=""+b),D.filename||(D.filename=getI18n(D.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(_xeUtils.default.isFunction(_)?D.sheetName=_({options:v,$table:N,$grid:n,$gantt:d}):D.sheetName=""+_),D.sheetName||(D.sheetName=document.title||""),!D.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(h._typeMaps),$))return(0,_log.errLog)("vxe.error.notType",[$]),["xlsx","pdf"].includes($)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(D.print||E&&E({options:D,$table:N,$grid:n,$gantt:d}),D.data)D._isCustomData=!0;else{if(D.data=[],"selected"===y)-1<["html","pdf"].indexOf($)&&e?D.data=_xeUtils.default.searchTree(N.getTableData().fullData,e=>-1<N.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):D.data=U;else if("all"===y&&(c||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),c)&&!D.remote){u=c.reactData,p=c.getComputeMaps().computeProxyOpts;let e=p.value;f=u.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};s=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(s||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:N,$grid:n,$gantt:d,sort:f.length?f[0]:{},sorts:f,filters:u.filterData,form:u.formData,options:D};return Promise.resolve((t||s)(l)).then(e=>{var t=o.list;return D.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$table:N,$grid:n,$gantt:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),P(D)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===y&&(D.data=e?r:l)}return P(D)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:N}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:N}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:N}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=N.xeGrid,r=N.xeGantt;var t=n.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:N,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:a,html:s,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:N,$grid:l,$gantt:r}):void 0})):e(x.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:N,$grid:l,$gantt:r}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=n.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return N.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=R;let{initStore:r,importStore:o,importParams:a}=L;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=B.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return R.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=n.value,t=Object.assign({message:!0},t,e);return R.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(N){let{props:R,reactData:L,internalData:S}=N,{computeTreeOpts:V,computePrintOpts:n,computeExportOpts:B,computeImportOpts:c,computeCustomOpts:k,computeSeqOpts:i,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:s}=N.getComputeMaps(),_=e=>{var t=V.value,t=t.children||t.childrenField;return e[t]&&e[t].length},$=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:N,row:t,rowIndex:N.getRowIndex(t),_rowIndex:N.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:N.getColumnIndex(r),_columnIndex:N.getVTColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=s.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:N}):(e.isTitle?t.getTitle():t.field)||""}let y=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,w=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(m,h,e)=>{let{isAllExpand:x,mode:g}=m;var t=R.treeConfig;let f=r.value,v=o.value;var l=V.value;let b=s.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(N).handleGetRowId;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=i(d);if(!p[o]){e=l&&l._row?l._row:l,l=e?i(e):"";if(x||!e||u[l]&&N.isTreeExpandByRow(e)){var a=_(d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&N.isTreeExpandByRow(d)};h.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||b.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||b.exportMethod)l=o({$table:N,row:d,column:e,options:m});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===g?a:$(a,d,s,e,t);break;case"checkbox":l=y(N.isCheckedByCheckboxRow(d)),i._checkboxLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._checkboxDisabled=v.checkMethod&&!v.checkMethod({$table:N,row:d});break;case"radio":l=y(N.isCheckedByRadioRow(d)),i._radioLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._radioDisabled=f.checkMethod&&!f.checkMethod({$table:N,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=N.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=N.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=w(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,s)=>{let n={_row:i};return h.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||b.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:N,row:i,column:e,options:m});else switch(e.type){case"seq":var a=s+1;l="all"===g?a:$(a,i,s,e,t);break;case"checkbox":l=y(N.isCheckedByCheckboxRow(i)),n._checkboxLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",n._checkboxDisabled=v.checkMethod&&!v.checkMethod({$table:N,row:i});break;case"radio":l=y(N.isCheckedByRadioRow(i)),n._radioLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",n._radioDisabled=f.checkMethod&&!f.checkMethod({$table:N,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=N.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=N.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=w(l)}),n})},T=(e,t,l)=>{var r=s.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=N.getVTColumnIndex(l);return a?a({$table:N,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=L.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),o},p=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=L.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),o},E=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=L;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=R,{isAllSelected:m,isIndeterminate:o}=L,h=S.mergeBodyCellMaps,i=V.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:$}=s,y="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!$?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=E(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${y}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=E(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,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="${y}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||c,r=E(t,"showOverflow",u)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=E(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b){var i=N.getVTRowIndex(n._row),s=N.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=L.footerTableData,(t=getFooterData(N,s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=E(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${y}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,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="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,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>"}),l.isFooter&&(t=L.footerTableData,getFooterData(N,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},P=l=>{let r=N.xeGrid,o=N.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:N,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=(e=>{let l=N.xeGrid,r=N.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:N,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)})(l);t(N.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return u(e,t,l,r);case"txt":return p(e,t,l,r);case"html":return m(t,l,r);case"xml":return h(t,l,r)}return""})(N,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:N,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:N,$grid:r,$gantt:o});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:N})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,N.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?N.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?N.insertAt(e,-1):"insertTop"===l.mode?N.insert(e):N.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:N})}).catch(e=>(t&&t({status:!1,options:i,$table:N}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},W=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),q=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var l=N.xeGrid,r=N.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=R,{initStore:n,isGroup:d,footerTableData:c,exportStore:u,exportParams:p}=L,{collectColumn:m,mergeBodyList:h,mergeFooterList:x}=S,g=B.value,f=k.value,v=N.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},c=!!c.length,h=!(!h.length&&!x.length);let b=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:h,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);x=b.types||_xeUtils.default.keys(g._typeMaps),i=b.modes||[];let _=f.checkMethod;s=m.slice(0);let{columns:$,excludeFields:y,includeFields:w}=b;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=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(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=$&&$.length?W(b,e,$):y||w?q(b,e,w,y):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!_&&!_({$table:N,column:e})}),Object.assign(u,{columns:s,typeList:o,modeList:e,hasFooter:c,hasMerge:h,hasTree:a,isPrint:t,hasColgroup:d,visible:!0}),Object.assign(p,{mode:v.length?"selected":"current"},b);let{filename:C,sheetName:T,mode:E,type:M}=p;return C&&(_xeUtils.default.isFunction(C)?p.filename=C({options:b,$table:N,$grid:l,$gantt:r}):p.filename=""+C),T&&(_xeUtils.default.isFunction(T)?p.sheetName=T({options:b,$table:N,$grid:l,$gantt:r}):p.sheetName=""+T),e.some(e=>e.value===E)||(p.mode=e[0].value),o.some(e=>e.value===M)||(p.type=o[0].value),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){let n=N.xeGrid,d=N.xeGantt;var c=n||d,{treeConfig:e,showHeader:u,showFooter:p}=R,t=L.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:r,collectColumn:o,mergeBodyList:i,mergeFooterList:m}=S;var h=B.value,x=V.value;let g=c?c.getComputeMaps().computeProxyOpts.value:{};var f=!(!i.length&&!m.length);let v=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:t,isMerge:f,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},h,s),{filename:b,sheetName:_,type:$,mode:y,columns:w,original:C,columnFilterMethod:T,beforeExportMethod:E,includeFields:M,excludeFields:k}=v,F=[],U=N.getCheckboxRecords(),I=(y=y||(U.length?"selected":"current"),!1),j=[],D=(j=w&&w.length?(I=!0,w):_xeUtils.default.searchTree(o,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?W(v,e,w):k||M?q(v,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:""})),O=(I||T||(T=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):C?!!e.field:defaultFilterExportColumn(e)),D.columnFilterMethod=T),F=j?(D._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(j,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=N.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=N.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=N.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!T||T({$table:N,$grid:n,$gantt:d,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?o:a,(e,t)=>e.visible&&(!T||T({$table:N,$grid:n,$gantt:d,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),D.columns=O,D.colgroups=convertToRows(F),b&&(_xeUtils.default.isFunction(b)?D.filename=b({options:v,$table:N,$grid:n,$gantt:d}):D.filename=""+b),D.filename||(D.filename=getI18n(D.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(_xeUtils.default.isFunction(_)?D.sheetName=_({options:v,$table:N,$grid:n,$gantt:d}):D.sheetName=""+_),D.sheetName||(D.sheetName=document.title||""),!D.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(h._typeMaps),$))return(0,_log.errLog)("vxe.error.notType",[$]),["xlsx","pdf"].includes($)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(D.print||E&&E({options:D,$table:N,$grid:n,$gantt:d}),D.data)D._isCustomData=!0;else{if(D.data=[],"selected"===y)-1<["html","pdf"].indexOf($)&&e?D.data=_xeUtils.default.searchTree(N.getTableData().fullData,e=>-1<N.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):D.data=U;else if("all"===y&&(c||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),c)&&!D.remote){u=c.reactData,p=c.getComputeMaps().computeProxyOpts;let e=p.value;f=u.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};s=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(s||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:N,$grid:n,$gantt:d,sort:f.length?f[0]:{},sorts:f,filters:u.filterData,form:u.formData,options:D};return Promise.resolve((t||s)(l)).then(e=>{var t=o.list;return D.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$table:N,$grid:n,$gantt:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),P(D)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===y&&(D.data=e?r:l)}return P(D)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:N}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:N}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:N}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=N.xeGrid,r=N.xeGantt;var t=n.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:N,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:a,html:s,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:N,$grid:l,$gantt:r}):void 0})):e(x.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:N,$grid:l,$gantt:r}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=n.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return N.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=R;let{initStore:r,importStore:o,importParams:a}=L;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=B.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return R.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=n.value,t=Object.assign({message:!0},t,e);return R.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -296,6 +296,7 @@ function getFooterContent(params) {
296
296
  itemValue = _xeUtils.default.get(row, column.field);
297
297
  }
298
298
  const footParams = Object.assign(params, {
299
+ cellValue: itemValue,
299
300
  itemValue
300
301
  });
301
302
  if (footerFormatter) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?t.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:s,computeTreeOpts:d}=t.getComputeMaps(),t=t.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=s,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(s||o&&o.showRowIcon)&&(!c||c(e))&&(!a||d.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=r.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=s.value;if(!o.drag||!s||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,s=a.isRowGroupStatus,{showHeaderOverflow:d,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(d)?n:d;let c="title"===o,C=!0===o||"tooltip"===o;n={},(c||C||u)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(n.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),d=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),s&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,d):i?t.callSlot(i,l):[d])]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:s,cellRender:d,footerFormatter:i}=t,s=s||d,d=o?o.footer:null;if(d)return l.callSlot(d,e);let u="";u=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:u});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(d=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?d.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(s){r=renderer.get(s.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(s,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(u,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:s,rowGroupNode:d,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=s||a&&("column"===c?l.field===t.groupField:d);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return n&&(0,_utils.isEnableConf)(u)&&i?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:s,slots:d,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=d?d.default:null,d=d?d.groupContent||d["group-content"]:null;let g="";if(o&&s&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,v=v.value,{mode:h,showTotal:_,totalMethod:E,countFields:b,contentMethod:m,mapChildrenField:f}=v,v=v.calcValuesMethod||v.countMethod||v.aggregateMethod,x=o.groupField,D=o.groupContent,f=f&&o[f]||[],T=o.childCount,a=a[x]||{},a={$table:l,groupField:x,groupColumn:a?a.column:null,column:r,groupValue:D,childList:f,childCount:T,aggValue:null,children:f,totalValue:T};if(d)return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:x,groupContent:D,childList:f,childCount:T},e)));("column"===h?s===o.groupField:c)?(g=D,m&&(g=""+m(a)),_&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,E?E(a):T,T]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||b&&b.includes(s))&&v&&(a.aggValue=T,g=""+v(a))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){d=renderer.get(n.name);if(d){x=d.renderTableCell||d.renderCell,f=d.renderTableDefault||d.renderDefault,h=i?x:f;if(h)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(h(n,Object.assign({$type:i?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}o=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(o),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,s=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:s,padding:d,indent:i}=s.value,u=(0,_util.getRowid)(t,a),r=!!r&&!!n[u];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==s&&d&&i?{paddingLeft:o*i+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:s,level:d}=l,s=s.slots,s=s?s.icon:null;if(s)return t.callSlot(s,l);var s=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,s=s.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:E}=s,b=s.children||s.childrenField,s=s.hasChild||s.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[s],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:d*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!d||d({$table:t,row:i}),C=!!s,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},s&&(C=!s({$table:t,row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,d)):(s=[],c&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),s)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,{selectCheckboxMaps:d,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,_=!1,E=!0,b=!1;var m,f={},d=(n||(m=(0,_util.getRowid)(t,e),_=!!o&&!!d[m],p&&s&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(E=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||s)&&(h=!!i[m]),f.onClick=e=>{!b&&E&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:b,visible:E,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,d)):(c=[],E&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,d):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":b,"is--indeterminate":h,"is--hidden":!E}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,d=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let _=!1,E=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),E=!!o&&_xeUtils.default.get(e,C),p&&s&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||s)&&(_=!!d[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:m,visible:b,indeterminate:_}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":m,"is--indeterminate":i&&!E?e[i]:_,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=t.internalData,d=t.getComputeMaps().computeExpandOpts,{lazy:d,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=d.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],d&&(E=!!s[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?u||getIcon().TABLE_EXPAND_LOADED:_?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:s,editRender:d}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(d)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:s,formatter:d}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(s.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(s,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,s=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:s,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return d?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?t.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:s,computeTreeOpts:d}=t.getComputeMaps(),t=t.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=s,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(s||o&&o.showRowIcon)&&(!c||c(e))&&(!a||d.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=r.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=s.value;if(!o.drag||!s||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,s=a.isRowGroupStatus,{showHeaderOverflow:d,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(d)?n:d;let c="title"===o,C=!0===o||"tooltip"===o;n={},(c||C||u)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(n.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),d=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),s&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,d):i?t.callSlot(i,l):[d])]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:s,cellRender:d,footerFormatter:i}=t,s=s||d,d=o?o.footer:null;if(d)return l.callSlot(d,e);let u="";u=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{cellValue:u,itemValue:u});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(d=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?d.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(s){r=renderer.get(s.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(s,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(u,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:s,rowGroupNode:d,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=s||a&&("column"===c?l.field===t.groupField:d);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return n&&(0,_utils.isEnableConf)(u)&&i?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:s,slots:d,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=d?d.default:null,d=d?d.groupContent||d["group-content"]:null;let g="";if(o&&s&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,v=v.value,{mode:h,showTotal:_,totalMethod:E,countFields:b,contentMethod:m,mapChildrenField:f}=v,v=v.calcValuesMethod||v.countMethod||v.aggregateMethod,x=o.groupField,D=o.groupContent,f=f&&o[f]||[],T=o.childCount,a=a[x]||{},a={$table:l,groupField:x,groupColumn:a?a.column:null,column:r,groupValue:D,childList:f,childCount:T,aggValue:null,children:f,totalValue:T};if(d)return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:x,groupContent:D,childList:f,childCount:T},e)));("column"===h?s===o.groupField:c)?(g=D,m&&(g=""+m(a)),_&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,E?E(a):T,T]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||b&&b.includes(s))&&v&&(a.aggValue=T,g=""+v(a))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){d=renderer.get(n.name);if(d){x=d.renderTableCell||d.renderCell,f=d.renderTableDefault||d.renderDefault,h=i?x:f;if(h)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(h(n,Object.assign({$type:i?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}o=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(o),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,s=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:s,padding:d,indent:i}=s.value,u=(0,_util.getRowid)(t,a),r=!!r&&!!n[u];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==s&&d&&i?{paddingLeft:o*i+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:s,level:d}=l,s=s.slots,s=s?s.icon:null;if(s)return t.callSlot(s,l);var s=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,s=s.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:E}=s,b=s.children||s.childrenField,s=s.hasChild||s.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[s],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:d*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!d||d({$table:t,row:i}),C=!!s,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},s&&(C=!s({$table:t,row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,d)):(s=[],c&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),s)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,{selectCheckboxMaps:d,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,_=!1,E=!0,b=!1;var m,f={},d=(n||(m=(0,_util.getRowid)(t,e),_=!!o&&!!d[m],p&&s&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(E=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||s)&&(h=!!i[m]),f.onClick=e=>{!b&&E&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:b,visible:E,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,d)):(c=[],E&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,d):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":b,"is--indeterminate":h,"is--hidden":!E}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,d=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let _=!1,E=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),E=!!o&&_xeUtils.default.get(e,C),p&&s&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||s)&&(_=!!d[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:m,visible:b,indeterminate:_}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":m,"is--indeterminate":i&&!E?e[i]:_,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=t.internalData,d=t.getComputeMaps().computeExpandOpts,{lazy:d,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=d.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],d&&(E=!!s[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?u||getIcon().TABLE_EXPAND_LOADED:_?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:s,editRender:d}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(d)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:s,formatter:d}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(s.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(s,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,s=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:s,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return d?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
@@ -212,7 +212,10 @@ if(sYLoad){scrollYStore.endIndex=scrollYStore.visibleSize;}if(sYLoad){if(reactDa
212
212
  if(!(props.height||props.maxHeight)){(0,_log.errLog)('vxe.error.reqProp',['height | max-height | virtual-y-config={enabled: false}']);}// if (!props.showOverflow) {
213
213
  // warnLog('vxe.error.reqProp', ['table.show-overflow'])
214
214
  // }
215
- if(props.spanMethod){(0,_log.errLog)('vxe.error.scrollErrProp',['table.span-method']);}}handleReserveStatus();$xeTable.checkSelectionStatus();$xeTable.dispatchEvent('data-change',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);return new Promise(resolve=>{(0,_vue.nextTick)().then(()=>handleRecalculateStyle(false,false,false)).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();}).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
215
+ // if (props.spanMethod) {
216
+ // warnLog('vxe.error.scrollErrProp', ['span-method'])
217
+ // }
218
+ }handleReserveStatus();$xeTable.checkSelectionStatus();$xeTable.dispatchEvent('data-change',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);return new Promise(resolve=>{(0,_vue.nextTick)().then(()=>handleRecalculateStyle(false,false,false)).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();}).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
216
219
  if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}reactData.isRowLoading=false;handleRecalculateStyle(false,false,false);updateTreeLineStyle();// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
217
220
  if(!props.showOverflow){setTimeout(()=>{handleLazyRecalculate(false,true,true);setTimeout(()=>handleLazyRecalculate(false,true,true),3000);},2000);}// 是否变更虚拟滚动
218
221
  if(oldScrollYLoad===sYLoad){(0,_util.restoreScrollLocation)($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();resolve();});}else{setTimeout(()=>{(0,_util.restoreScrollLocation)($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();resolve();});});}});});});};/**
@@ -692,8 +695,9 @@ if(force){// 更新数据,处理筛选和排序
692
695
  updateAfterFullData();// 如果为虚拟树,将树结构拍平
693
696
  fullList=handleVirtualTreeToList();}const tableData=scrollYLoad?fullList.slice(scrollYStore.startIndex,scrollYStore.endIndex):fullList.slice(0);const visibleDataRowIdMaps={};tableData.forEach((row,$index)=>{const rowid=(0,_util.getRowid)($xeTable,row);const rest=fullDataRowIdData[rowid];if(rest){rest.$index=$index;}visibleDataRowIdMaps[rowid]=row;});reactData.tableData=tableData;internalData.visibleDataRowIdData=visibleDataRowIdMaps;if($xeGanttView&&$xeGanttView.updateViewData){$xeGanttView.updateViewData();}return(0,_vue.nextTick)();},/**
694
697
  * 更新数据行的 Map
695
- */cacheRowMap(isReset){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:Object.assign({},fullAllDataRowIdData);// 存在已删除数据
696
- const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){(0,_log.errLog)('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,_tIndex:-1,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;_xeUtils.default.eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(treeConfig&&lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;_xeUtils.default.eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=_xeUtils.default.clone(fullData,true);const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
698
+ */cacheRowMap(isReset){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps,rowExpandedMaps,selectCheckboxMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:Object.assign({},fullAllDataRowIdData);// 存在已删除数据
699
+ const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){(0,_log.errLog)('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,_tIndex:-1,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;// 更新缓存
700
+ if(selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}if(rowExpandedMaps[rowid]){rowExpandedMaps[rowid]=row;}idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;_xeUtils.default.eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(treeConfig&&lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;_xeUtils.default.eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=_xeUtils.default.clone(fullData,true);const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
697
701
  if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;_xeUtils.default.eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},/**
698
702
  * 指定列宽的列进行拆分
699
703
  */analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if((0,_dom.isPx)(column.width)){pxList.push(column);}else if((0,_dom.isScale)(column.width)){scaleList.push(column);}else if((0,_dom.isPx)(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if((0,_dom.isScale)(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{columnStore,overflowX,scrollbarHeight}=reactData;const{visibleColumn}=internalData;const{leftList,rightList}=columnStore;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const dragBtnElem=evnt.target;let cell=dragBtnElem.parentElement;let resizeColumn=column;const isDragGroupCol=column.children&&column.children.length;if(isDragGroupCol){resizeColumn=(0,_util.getLastChildColumn)(column);if(isDragGroupCol){const trEl=cell?cell.parentElement:null;const theadEl=trEl?trEl.parentElement:null;cell=theadEl?theadEl.querySelector(`.vxe-header--column[colid="${resizeColumn.id}"]`):null;}}if(!cell){return;}const cellParams=_xeUtils.default.assign(params,{cell,$table:$xeTable});let dragLeft=0;const tableRect=tableEl.getBoundingClientRect();const rightContainerRect=rightContainerElem?rightContainerElem.getBoundingClientRect():null;const cellRect=cell.getBoundingClientRect();const dragBtnRect=dragBtnElem.getBoundingClientRect();const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=_xeUtils.default.floor(dragBtnWidth/2);const dragPosLeft=dragBtnRect.x-tableRect.x+dragBtnOffsetWidth;const minInterval=(0,_util.getColReMinWidth)(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
@@ -840,9 +844,9 @@ updateScrollXSpace(){const{scrollXLoad,overflowX,scrollXWidth}=reactData;const{v
840
844
  let isScrollXBig=false;let ySpaceWidth=scrollXWidth;if(scrollXWidth>maxXWidth){// 触右
841
845
  if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}if(!(scrollXLoad&&overflowX)){xSpaceLeft=0;}if(getConfig().scrollMarginStyle){// 已废弃方式
842
846
  if(headerTableElem){headerTableElem.style.marginLeft=headerTableElem.getAttribute('xvm')?`${xSpaceLeft}px`:'';}if(bodyTableElem){bodyTableElem.style.marginLeft=`${xSpaceLeft}px`;}if(footerTableElem){footerTableElem.style.marginLeft=footerTableElem.getAttribute('xvm')?`${xSpaceLeft}px`:'';}}else{if(headerTableElem){headerTableElem.style.transform=headerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}if(bodyTableElem){bodyTableElem.style.transform=`translate(${xSpaceLeft}px, ${reactData.scrollYTop||0}px)`;}if(footerTableElem){footerTableElem.style.transform=footerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}}const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});reactData.scrollXLeft=xSpaceLeft;reactData.scrollXWidth=ySpaceWidth;reactData.isScrollXBig=isScrollXBig;const scrollXSpaceEl=refScrollXSpaceElem.value;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}calcScrollbar();if(isScrollXBig&&mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSXSpace){$xeGanttView.handleUpdateSXSpace();}return(0,_vue.nextTick)().then(()=>{updateStyle();});}},// 更新纵向 Y 可视渲染上下剩余空间大小
843
- updateScrollYSpace(){const{isAllOverflow,overflowY,scrollYLoad,scrollYHeight,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const $xeGanttView=internalData.xeGanttView;const{startIndex}=scrollYStore;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);const leftBodyTableElem=(0,_util.getRefElem)(elemStore['left-body-table']);const rightbodyTableElem=(0,_util.getRefElem)(elemStore['right-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let sYHeight=scrollYHeight;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){sYHeight=afterFullData.length*defaultRowHeight;if(sYHeight>maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];let rowid=(0,_util.getRowid)($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=(0,_util.getRowid)($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};// 如果为空时还没计算完数据,保持原高度不变
847
+ updateScrollYSpace(){const{isAllOverflow,overflowY,scrollYLoad,scrollYHeight,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const $xeGanttView=internalData.xeGanttView;const{startIndex}=scrollYStore;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);const leftBodyTableElem=(0,_util.getRefElem)(elemStore['left-body-table']);const rightbodyTableElem=(0,_util.getRefElem)(elemStore['right-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let sYHeight=scrollYHeight;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){sYHeight=afterFullData.length*defaultRowHeight;if(sYHeight>maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];if(firstRow){let rowid=(0,_util.getRowid)($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=(0,_util.getRowid)($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};// 如果为空时还没计算完数据,保持原高度不变
844
848
  if(rowRest.oTop){sYHeight=(rowRest.oTop||0)+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);// 是否展开行
845
- if(expandColumn&&rowExpandedMaps[rowid]){sYHeight+=rowRest.expandHeight||expandOpts.height||0;}}if(sYHeight>maxYHeight){isScrollYBig=true;}}}else{if(bodyTableElem){sYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
849
+ if(expandColumn&&rowExpandedMaps[rowid]){sYHeight+=rowRest.expandHeight||expandOpts.height||0;}}if(sYHeight>maxYHeight){isScrollYBig=true;}}else{sYHeight=bodyTableElem?bodyTableElem.clientHeight:0;}}}else{if(bodyTableElem){sYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
846
850
  let ySpaceHeight=sYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底
847
851
  if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHeight){scrollYTop=maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(getConfig().scrollMarginStyle){if(leftBodyTableElem){leftBodyTableElem.style.marginTop=`${scrollYTop}px`;}if(bodyTableElem){bodyTableElem.style.marginTop=`${scrollYTop}px`;}if(rightbodyTableElem){rightbodyTableElem.style.marginTop=`${scrollYTop}px`;}}else{if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=ySpaceHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar();if(isScrollYBig&&mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSYSpace){$xeGanttView.handleUpdateSYSpace();}return(0,_vue.nextTick)().then(()=>{updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return(0,_vue.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return(0,_vue.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
848
852
  * 处理固定列的显示状态