vxe-table 3.19.9 → 3.19.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.
- package/es/style.css +1 -1
- package/es/table/module/export/mixin.js +1 -1
- package/es/table/src/cell.js +1 -0
- package/es/table/src/methods.js +30 -18
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +36 -23
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/mixin.js +1 -2
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/cell.js +1 -0
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +32 -19
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/module/export/mixin.ts +1 -1
- package/packages/table/src/cell.ts +1 -0
- package/packages/table/src/methods.ts +32 -20
- /package/es/{iconfont.1762392676329.ttf → iconfont.1762498935526.ttf} +0 -0
- /package/es/{iconfont.1762392676329.woff → iconfont.1762498935526.woff} +0 -0
- /package/es/{iconfont.1762392676329.woff2 → iconfont.1762498935526.woff2} +0 -0
- /package/lib/{iconfont.1762392676329.ttf → iconfont.1762498935526.ttf} +0 -0
- /package/lib/{iconfont.1762392676329.woff → iconfont.1762498935526.woff} +0 -0
- /package/lib/{iconfont.1762392676329.woff2 → iconfont.1762498935526.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,r,o,a){var i=e.computeSeqOpts.seqMethod||o.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),_columnIndex:e.getVTColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(h,m,g,e){let{isAllExpand:x,mode:f}=m;var t=h.treeConfig;let v=h.computeRadioOpts,b=h.computeCheckboxOpts;var l=h.computeTreeOpts;let _=h.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(h).handleGetRowId;return _xeUtils.default.eachTree(e,(e,n,t,s,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]&&h.isTreeExpandByRow(e)){var a=hasTreeChildren(h,d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&h.isTreeExpandByRow(d)};g.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||_.exportMethod)l=o({$table:h,row:d,column:e,options:m});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===f?a:getSeq(h,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(d)),i._checkboxLabel=b.labelField?_xeUtils.default.get(d,b.labelField):"",i._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:d});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(d)),i._radioLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=h.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,n)=>{let s={_row:i};return g.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:h,row:i,column:e,options:m});else switch(e.type){case"seq":var a=n+1;l="all"===f?a:getSeq(h,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(i)),s._checkboxLabel=b.labelField?_xeUtils.default.get(i,b.labelField):"",s._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:i});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(i)),s._radioLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",s._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=h.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let r=l.$xeGrid,o=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.computeColumnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,r){var o=e.computeColumnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(l,e,t){let r=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 toCsv(l,r,e,t){var o=l;let a=csvBOM;return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),a}function toTxt(l,r,e,t){var o=l;let a="";return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:r,scrollYLoad:t}=e;return o=r||t?o||!0:o}function toHtml(d,n,e,t){var l=d;let{id:c,border:r,treeConfig:o,headerAlign:s,align:u,footerAlign:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,g=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:$,colgroups:y,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(r),f?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?y.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),o?t.forEach(o=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,r=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let o=1,a=1;if($){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=g[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return l&&r.push("col--"+l),"radio"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,n,t)).length)&&(T.push("<tfoot>"),l.forEach(o=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,r,e,t){var o=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let o=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=r;return new Promise(t=>{if(i){var e={options:r,$table:l,$grid:o,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:n,colgroups:s,datas:e},()=>downloadFile(l,r,getContent(l,r,n,e))))}}).then(e=>(clearColumnConvert(n),r.print||t&&t({status:!0,options:r,$table:l,$grid:o,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),r.print||t&&t({status:!1,options:r,$table:l,$grid:o,$gantt:a});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],n=[];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);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(r.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},r=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var o;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),r({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,r,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)})}function handleFilterFields(e,t,l,r){return(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(n,e,t){var l=n.$xeGrid,r=n.$xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=n,{initStore:d,isGroup:c,footerTableData:u,exportStore:p,exportParams:h}=n,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=n,f=n.computeExportOpts,v=n.computeCustomOpts,b=n.getCheckboxRecords(),o=o?o.computeProxyOpts:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:c,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);x=_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=v.checkMethod;s=m.slice(0);let{columns:y,excludeFields:C,includeFields:w}=_;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=y&&y.length?handleFilterColumns(_,e,y):C||w?handleFilterFields(_,e,w,C):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:n,column:e})}),Object.assign(p,{columns:s,typeList:o,modeList:e,hasFooter:u,hasMerge:g,hasTree:a,isPrint:t,hasColgroup:c,visible:!0}),Object.assign(h,{mode:b.length?"selected":"current"},_);let{filename:T,sheetName:E,mode:F,type:M}=h;return T&&(_xeUtils.default.isFunction(T)?h.filename=T({options:_,$table:n,$grid:l,$gantt:r}):h.filename=""+T),E&&(_xeUtils.default.isFunction(E)?h.sheetName=E({options:_,$table:n,$grid:l,$gantt:r}):h.sheetName=""+E),e.some(e=>e.value===F)||(h.mode=e[0].value),o.some(e=>e.value===M)||(h.type=o[0].value),d.export=!0,n.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let n=this;var t=n,l=n,r=n;let s=n.$xeGrid,d=n.$xeGantt;var c=s||d,{treeConfig:t,showHeader:u,showFooter:p}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:o,afterTreeFullData:i,collectColumn:h,mergeBodyList:m,mergeFooterList:g}=r;var r=n.computeExportOpts,x=n.computeTreeOpts;let f=c?c.computeProxyOpts:{};var v=!(!m.length&&!g.length);let b=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:l,isMerge:v,useStyle:!0,current:"current",modes:(f.ajax&&f.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},r,e),{filename:_,sheetName:$,type:y,mode:C,columns:w,original:T,columnFilterMethod:E,beforeExportMethod:F,includeFields:M,excludeFields:k}=b,I=[],U=n.getCheckboxRecords(),j=(C=C||(U.length?"selected":"current"),!1),O=[],V=(O=w&&w.length?(j=!0,w):_xeUtils.default.searchTree(h,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?handleFilterColumns(b,e,w):k||M?handleFilterFields(b,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},b,{filename:"",sheetName:""})),L=(j||E||(E=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):T?!!e.field:defaultFilterExportColumn(e)),V.columnFilterMethod=E),I=O?(V._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(O,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)&&(!E||E({$table:n,$grid:s,$gantt:d,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?h:a,(e,t)=>e.visible&&(!E||E({$table:n,$grid:s,$gantt:d,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(I,e=>{e.children&&e.children.length||L.push(e)},{children:"childNodes"}),V.columns=L,V.colgroups=convertToRows(I),_&&(_xeUtils.default.isFunction(_)?V.filename=_({options:b,$table:n,$grid:s,$gantt:d}):V.filename=""+_),V.filename||(V.filename=getI18n(V.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),$&&(_xeUtils.default.isFunction($)?V.sheetName=$({options:b,$table:n,$grid:s,$gantt:d}):V.sheetName=""+$),V.sheetName||(V.sheetName=document.title||""),!V.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(r._typeMaps),y))return(0,_log.errLog)("vxe.error.notType",[y]),["xlsx","pdf"].includes(y)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(V.print||F&&F({options:V,$table:n,$grid:s,$gantt:d}),V.data)V._isCustomData=!0;else if(V.data=[],"selected"===C)-1<["html","pdf"].indexOf(y)&&t?V.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):V.data=U;else if("all"===C){if(c||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!V.remote){u=c;let e=c.computeProxyOpts;p=u.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};v=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(v||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),v){let l={$table:n,$grid:s,$gantt:d,sort:p.length?p[0]:{},sorts:p,filters:u.filterData,form:u.formData,options:V};return Promise.resolve((t||v)(l)).then(e=>{var t=o.list;return V.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$table:n,$grid:s,$gantt:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(n,V)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===C&&(V.data=t?i:o);return handleExport(n,V)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let r=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:o,afterImportMethod:a}=r;return o&&o({options:r,$table:this}),_ui.VxeUI.readFile(r).catch(e=>(a&&a({status:!1,options:r,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,r)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,r=l.$xeGrid,o=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:r,$gantt:o}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:i,html:s,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:r,$gantt:o}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:r,$gantt:o}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var{treeConfig:t,importConfig:l}=this;let{initStore:r,importStore:o,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=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=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,r,o,a){var i=e.computeSeqOpts.seqMethod||o.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),_columnIndex:e.getVTColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(h,m,g,e){let{isAllExpand:x,mode:f}=m;var t=h.treeConfig;let v=h.computeRadioOpts,b=h.computeCheckboxOpts;var l=h.computeTreeOpts;let _=h.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(h).handleGetRowId;return _xeUtils.default.eachTree(e,(e,n,t,s,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]&&h.isTreeExpandByRow(e)){var a=hasTreeChildren(h,d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&h.isTreeExpandByRow(d)};g.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||_.exportMethod)l=o({$table:h,row:d,column:e,options:m});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===f?a:getSeq(h,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(d)),i._checkboxLabel=b.labelField?_xeUtils.default.get(d,b.labelField):"",i._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:d});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(d)),i._radioLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=h.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,n)=>{let s={_row:i};return g.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:h,row:i,column:e,options:m});else switch(e.type){case"seq":var a=n+1;l="all"===f?a:getSeq(h,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(i)),s._checkboxLabel=b.labelField?_xeUtils.default.get(i,b.labelField):"",s._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:i});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(i)),s._radioLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",s._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=h.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let r=l.$xeGrid,o=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.computeColumnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,r){var o=e.computeColumnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(l,e,t){let r=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 toCsv(l,r,e,t){var o=l;let a=csvBOM;return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),a}function toTxt(l,r,e,t){var o=l;let a="";return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:r,scrollYLoad:t}=e;return o=r||t?o||!0:o}function toHtml(d,n,e,t){var l=d;let{id:c,border:r,treeConfig:o,headerAlign:s,align:u,footerAlign:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,g=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:$,colgroups:y,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(r),f?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?y.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),o?t.forEach(o=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,r=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let o=1,a=1;if($){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=g[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return l&&r.push("col--"+l),"radio"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,n,t)).length)&&(T.push("<tfoot>"),l.forEach(o=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,r,e,t){var o=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let o=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=r;return new Promise(t=>{if(i){var e={options:r,$table:l,$grid:o,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:n,colgroups:s,datas:e},()=>downloadFile(l,r,getContent(l,r,n,e))))}}).then(e=>(clearColumnConvert(n),r.print||t&&t({status:!0,options:r,$table:l,$grid:o,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),r.print||t&&t({status:!1,options:r,$table:l,$grid:o,$gantt:a});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],n=[];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);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(r.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return t="insert"===r.mode||"insertBottom"===r.mode?l.insertAt(e,-1):"insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},r=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var o;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),r({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,r,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)})}function handleFilterFields(e,t,l,r){return(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(n,e,t){var l=n.$xeGrid,r=n.$xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=n,{initStore:d,isGroup:c,footerTableData:u,exportStore:p,exportParams:h}=n,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=n,f=n.computeExportOpts,v=n.computeCustomOpts,b=n.getCheckboxRecords(),o=o?o.computeProxyOpts:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:c,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);x=_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=v.checkMethod;s=m.slice(0);let{columns:y,excludeFields:C,includeFields:w}=_;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=y&&y.length?handleFilterColumns(_,e,y):C||w?handleFilterFields(_,e,w,C):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:n,column:e})}),Object.assign(p,{columns:s,typeList:o,modeList:e,hasFooter:u,hasMerge:g,hasTree:a,isPrint:t,hasColgroup:c,visible:!0}),Object.assign(h,{mode:b.length?"selected":"current"},_);let{filename:T,sheetName:E,mode:F,type:M}=h;return T&&(_xeUtils.default.isFunction(T)?h.filename=T({options:_,$table:n,$grid:l,$gantt:r}):h.filename=""+T),E&&(_xeUtils.default.isFunction(E)?h.sheetName=E({options:_,$table:n,$grid:l,$gantt:r}):h.sheetName=""+E),e.some(e=>e.value===F)||(h.mode=e[0].value),o.some(e=>e.value===M)||(h.type=o[0].value),d.export=!0,n.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let n=this;var t=n,l=n,r=n;let s=n.$xeGrid,d=n.$xeGantt;var c=s||d,{treeConfig:t,showHeader:u,showFooter:p}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:o,afterTreeFullData:i,collectColumn:h,mergeBodyList:m,mergeFooterList:g}=r;var r=n.computeExportOpts,x=n.computeTreeOpts;let f=c?c.computeProxyOpts:{};var v=!(!m.length&&!g.length);let b=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:l,isMerge:v,useStyle:!0,current:"current",modes:(f.ajax&&f.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},r,e),{filename:_,sheetName:$,type:y,mode:C,columns:w,original:T,columnFilterMethod:E,beforeExportMethod:F,includeFields:M,excludeFields:k}=b,I=[],U=n.getCheckboxRecords(),j=(C=C||(U.length?"selected":"current"),!1),O=[],V=(O=w&&w.length?(j=!0,w):_xeUtils.default.searchTree(h,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?handleFilterColumns(b,e,w):k||M?handleFilterFields(b,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},b,{filename:"",sheetName:""})),L=(j||E||(E=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):T?!!e.field:defaultFilterExportColumn(e)),V.columnFilterMethod=E),I=O?(V._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(O,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)&&(!E||E({$table:n,$grid:s,$gantt:d,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?h:a,(e,t)=>e.visible&&(!E||E({$table:n,$grid:s,$gantt:d,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(I,e=>{e.children&&e.children.length||L.push(e)},{children:"childNodes"}),V.columns=L,V.colgroups=convertToRows(I),_&&(_xeUtils.default.isFunction(_)?V.filename=_({options:b,$table:n,$grid:s,$gantt:d}):V.filename=""+_),V.filename||(V.filename=getI18n(V.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),$&&(_xeUtils.default.isFunction($)?V.sheetName=$({options:b,$table:n,$grid:s,$gantt:d}):V.sheetName=""+$),V.sheetName||(V.sheetName=document.title||""),!V.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(r._typeMaps),y))return(0,_log.errLog)("vxe.error.notType",[y]),["xlsx","pdf"].includes(y)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(V.print||F&&F({options:V,$table:n,$grid:s,$gantt:d}),V.data)V._isCustomData=!0;else if(V.data=[],"selected"===C)-1<["html","pdf"].indexOf(y)&&t?V.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):V.data=U;else if("all"===C){if(c||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!V.remote){u=c;let e=c.computeProxyOpts;p=u.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};v=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(v||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),v){let l={$table:n,$grid:s,$gantt:d,sort:p.length?p[0]:{},sorts:p,filters:u.filterData,form:u.formData,options:V};return Promise.resolve((t||v)(l)).then(e=>{var t=o.list;return V.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$table:n,$grid:s,$gantt:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(n,V)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===C&&(V.data=t?i:o);return handleExport(n,V)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let r=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:o,afterImportMethod:a}=r;return o&&o({options:r,$table:this}),_ui.VxeUI.readFile(r).catch(e=>(a&&a({status:!1,options:r,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,r)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,r=l.$xeGrid,o=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:r,$gantt:o}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:i,html:s,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:r,$gantt:o}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:r,$gantt:o}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var{treeConfig:t,importConfig:l}=this;let{initStore:r,importStore:o,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=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=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
package/lib/table/src/cell.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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(e,l){let{$table:t,column:r}=l,n=r.titlePrefix||r.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){t.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){t.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(e,l){let{$table:t,column:r}=l,n=r.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){t.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){t.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(e,l){let t=l.$table;var r=t.$scopedSlots,n=t.dragConfig,{icon:o,trigger:a,disabledMethod:d}=t.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let i=d&&d(l);d=r.rowDragIcon||r["row-drag-icon"],r={};return"cell"!==a&&(r.mousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},r.mouseup=t.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],on:r},d?t.callSlot(d,l,e):[e("i",{class:o||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,t){var{$table:r,column:n,level:o}=l,n=n.dragSort,{treeConfig:a,dragConfig:d}=r,i=r.computeRowOpts,s=r.computeTreeOpts,{showIcon:r,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=r.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),g=[];return n&&i.drag&&(r||d&&d.showRowIcon)&&(!C||C(l))&&(!a||s.transform&&(c||u||!o))&&g.unshift(renderCellDragIcon(e,l)),g.concat(_xeUtils.default.isArray(t)?t:[t])}function renderHeaderCellDragIcon(e,t){let{$table:r,column:l}=t;var n=r.$scopedSlots,o=l.slots,a=r.computeColumnOpts,{showIcon:d,icon:i,trigger:s,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:g}=r.computeColumnDragOpts;if(!a.drag||!d||C&&!C(t)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(r);{let l=g&&g(t);a=(o?o.columnDragIcon||o["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==s&&(d.mousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.mouseup=r.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},a?r.callSlot(a,t,e):[e("i",{class:i||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,t){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(t)?t:[t],renderTitleSuffixIcon(e,l)]}function getRenderDefaultColumnTitle(e,l,t){return"html"===l.type&&_xeUtils.default.isString(t)?e("span",{key:"ch",domProps:{innerHTML:t}}):e("span",{key:"ct"},(0,_vn.getSlotVNs)(t))}function renderTitleContent(e,l,t){let{$table:r,column:n}=l;var o=r;let a=r;var o=o.showHeaderOverflow,d=a.isRowGroupStatus,{showHeaderOverflow:i,slots:s}=n,s=s?s.title:null;let c=r.computeHeaderTooltipOpts.showAll;o=_xeUtils.default.eqNull(i)?o:i;let u="title"===o,C=!0===o||"tooltip"===o;i={},(u||C||c)&&(i.mouseenter=e=>{a.isDragResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,n):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(i.mouseleave=e=>{a.isDragResize||(C||c)&&r.handleTargetLeaveEvent(e)}),o=getRenderDefaultColumnTitle(e,n,t);return[e("span",{class:"vxe-cell--title",on:i},d&&n.aggFunc&&r.getPivotTableAggregateRenderColTitles?r.getPivotTableAggregateRenderColTitles(e,n,o):s?r.callSlot(s,l,e):[o])]}function getFooterContent(e,l){var{$table:t,column:r,_columnIndex:n,row:o,items:a}=l,{slots:d,editRender:i,cellRender:s,footerFormatter:c}=r,i=i||s;if(d&&d.footer)return t.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(a)?a[n]:_xeUtils.default.get(o,r.field);s=Object.assign(l,{itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(s):(n=(a=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?a.tableFooterCellFormatMethod:null)?""+(d?n(s,...c.slice(1)):n(s)):"";if(i){o=renderer.get(i.name),r=o?o.renderTableFooter||o.renderFooter:null;if(r)return(0,_vn.getSlotVNs)(r.call(t,e,i,s))}return[(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,l){var{column:t,row:r,$table:n}=l,o=n.editConfig,a=n.isRowGroupStatus,{type:d,treeNode:i,rowGroupNode:s,editRender:c}=t,u=n.computeAggregateOpts.mode,C=n.computeCheckboxOpts,n=n.computeEditOpts,g=i||a&&("column"===u?t.field===r.groupField:s);switch(d){case"seq":return g?Cell.renderDeepIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return g?Cell.renderDeepRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return C.checkField?g?Cell.renderDeepSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):g?Cell.renderDeepSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return g?Cell.renderDeepHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return o&&(0,_utils.isEnableConf)(n)&&c?"cell"===n.mode?g?Cell.renderDeepCellEdit(e,l):Cell.renderCellEdit(e,l):g?Cell.renderDeepRowEdit(e,l):Cell.renderRowEdit(e,l):g?Cell.renderDeepCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:t,$table:r}=l,n=r.editConfig,r=r.computeEditOpts,{type:t,filters:o,sortable:a,editRender:d}=t;switch(t){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(o&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(o)return Cell.renderFilterHeader(e,l)}return n&&(0,_utils.isEnableConf)(r)&&d?Cell.renderEditHeader(e,l):o&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):o?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}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,l){var{$table:t,column:r}=l,{slots:n,editRender:o,cellRender:a}=r,o=o||a;if(n&&n.header)return renderTitleContent(e,l,t.callSlot(n.header,l,e));if(o){a=renderer.get(o.name),n=a?a.renderTableHeader||a.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(t,e,o,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:t,row:r,column:n}=l,o=t,a=t.isRowGroupStatus,d=t.editConfig,{field:i,slots:s,editRender:c,cellRender:u,rowGroupNode:C,aggFunc:g,formatter:p}=n,d=d&&(0,_utils.isEnableConf)(c)?c:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,s=s?s.groupContent||s["group-content"]:null;let E="";if(a&&i&&r.isAggregate){var a=r,o=o.fullColumnFieldData,b=t.computeAggregateOpts,{mode:m,showTotal:v,totalMethod:f,countFields:x,contentMethod:h,mapChildrenField:_}=b,b=b.calcValuesMethod||b.countMethod||b.aggregateMethod,T=a.groupField,D=a.groupContent,_=_&&a[_]||[],I=a.childCount,o=o[T]||{},o={$table:t,groupField:T,groupColumn:o?o.column:null,column:n,groupValue:D,childList:_,childCount:I,aggValue:null,children:_,totalValue:I};if(s)return renderCellBaseVNs(e,l,t.callSlot(s,Object.assign({groupField:T,groupContent:D,childList:_,childCount:I},l),e));("column"===m?i===a.groupField:C)?(E=D,h&&(E=""+h(o)),v&&(E=getI18n("vxe.table.rowGroupContentTotal",[E,f?f(o):I,I]))):t.getPivotTableAggregateCellAggValue?E=t.getPivotTableAggregateCellAggValue(l):(!0===g||x&&x.includes(i))&&b&&(o.aggValue=I,E=""+b(o))}else{if(u)return renderCellBaseVNs(e,l,t.callSlot(u,l,e));if(d&&!p){s=renderer.get(d.name),T=s?s.renderTableDefault||s.renderDefault:null,_=s?s.renderTableCell||s.renderCell:null,m=c?_:T;if(m)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(m.call(t,e,d,Object.assign({$type:c?"edit":"cell"},l))))}E=t.getCellLabel(r,n)}a=c?c.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[c&&(0,_utils.eqEmptyValue)(E)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(E,1))])])},renderDeepCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderRowGroupBtn(e,l,t){let r=l.$table;var n=r,o=r,{row:a,level:d}=l,n=n.rowGroupExpandedFlag,o=o.rowGroupExpandedMaps,{mode:i,padding:s,indent:c}=r.computeAggregateOpts,u=(0,_util.getRowid)(r,a),n=!!n&&!!o[u];return e("div",{class:["vxe-row-group--tree-node",{"is--expanded":n}],style:"column"!==i&&s&&c?{paddingLeft:d*c+"px"}:void 0},[a.isAggregate?e("span",{class:"vxe-row-group--node-btn",on:{click(e){r.triggerRowGroupExpandEvent(e,l)}}},[e("i",{class:n?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(r),e("div",{class:"vxe-row-group-cell"},t)])},renderTreeNodeBtn(e,l,t){let{$table:r,isHidden:n}=l;var o=r.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:i}=r,s=r.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{padding:g,indent:p,lazy:E,trigger:b,iconLoaded:m,showIcon:v,iconOpen:f,iconClose:x}=s,h=s.children||s.childrenField,s=s.hasChild||s.hasChildField,h=c[h],h=h&&h.length,u=u?u.icon:null;let _=!1,T=!1,D=!1,I=!1;var w={};return u?r.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(r,c),T=!!o&&!!d[u],E&&(o=a[u],D=!!i[u],_=c[s],I=!!o.treeLoaded)),b&&"default"!==b||(w.click=e=>{r.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:g&&p?{paddingLeft:C*p+"px"}:void 0},[v&&(!E||I?h:h||_)?[e("div",{class:"vxe-cell--tree-btn",on:w},[e("i",{class:D?m||getIcon().TABLE_TREE_LOADED:T?f||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE})])]:null,e("div",{class:"vxe-tree-cell"},t)])])},renderDeepNodeBtn(e,l,t){var{$table:r,row:n,column:o}=l,a=o.rowGroupNode,d=r.rowGroupList;if(d.length){d=r.computeAggregateOpts.mode;if("column"===d?o.field===n.groupField:a)return[Cell.renderRowGroupBtn(e,l,t)]}return[Cell.renderTreeNodeBtn(e,l,t)]},renderSeqHeader(e,l){var{$table:t,column:r}=l,n=r.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?t.callSlot(n.header,l,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e,l){var{$table:t,column:r}=l,n=t.treeConfig,o=t.computeSeqOpts,r=r.slots;return r&&r.default?renderCellBaseVNs(e,l,t.callSlot(r.default,l,e)):(t=l.seq,r=o.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(r?r(l):n?t:(o.startIndex||0)+t,1))]))},renderDeepIndexCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:t,column:r}=l,n=r.slots,o=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,o?t.callSlot(o,l,e):[e("span",{class:"vxe-radio--label"},n?t.callSlot(n,l,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(e,l){let{$table:t,column:r,isHidden:n}=l;var o=t.selectRadioRow,a=r.slots,{labelField:d,checkMethod:i,visibleMethod:s}=t.computeRadioOpts,c=l.row,u=a?a.default:null,a=a?a.radio:null,o=c===o;let C=!s||s({$table:t,row:c}),g=!!i,p;n||(p={click(e){!g&&C&&t.triggerRadioRowEvent(e,l)}},i&&(g=!i({$table:t,row:c})));s=Object.assign(Object.assign({},l),{checked:o,disabled:g,visible:C});return a?renderCellBaseVNs(e,l,t.callSlot(a,s,e)):(i=[],C&&i.push(e("span",{class:["vxe-radio--icon",o?getIcon().TABLE_RADIO_CHECKED:g?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&i.push(e("span",{class:"vxe-radio--label"},u?t.callSlot(u,s,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":o,"is--disabled":g}],on:p},i)]))},renderDeepRadioCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:t,column:r,isHidden:n}=l;let{isAllSelected:o,isIndeterminate:a}=t,d=t.computeIsAllCheckboxDisabled;var i=r.slots,s=i?i.header:null,i=i?i.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=t.computeCheckboxOpts,g=r.getTitle(),p={},E=(n||(p.click=e=>{d||t.triggerCheckAllEvent(e,!o)}),Object.assign(Object.assign({},l),{checked:o,disabled:d,indeterminate:a}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,s?t.callSlot(s,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":o,"is--disabled":d,"is--indeterminate":a}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:p},[e("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:d?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(i||g?[e("span",{class:"vxe-checkbox--label"},i?t.callSlot(i,E,e):g)]:[]))]:[e("span",{class:"vxe-checkbox--label"},i?t.callSlot(i,E,e):g)]))},renderCheckboxCell(e,l){let{$table:t,row:r,column:n,isHidden:o}=l;var a=t.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:i}=t,{selectCheckboxMaps:s,treeIndeterminateRowMaps:c}=t,u=t.computeAggregateOpts.mapChildrenField;let{labelField:C,checkMethod:g,visibleMethod:p}=t.computeCheckboxOpts;var E=n.slots,b=E?E.default:null,E=E?E.checkbox:null;let m=!1,v=!1,f=!0,x=!1;var h,_={},s=(o||(h=(0,_util.getRowid)(t,r),v=!!d&&!!s[h],g&&i&&t.isAggregateRecord(r)?(d=r[u||""])&&d.length&&!d.every(e=>!g({$table:t,row:e}))||(x=!0):(f=!p||p({$table:t,row:r}),x=g?!g({$table:t,row:r}):!!g),(a||i)&&(m=!!c[h]),_.click=e=>{!x&&f&&t.triggerCheckRowEvent(e,l,!v)}),Object.assign(Object.assign({},l),{checked:v,disabled:x,visible:f,indeterminate:m}));return E?renderCellBaseVNs(e,l,t.callSlot(E,s,e)):(u=[],f&&u.push(e("span",{class:["vxe-checkbox--icon",m?getIcon().TABLE_CHECKBOX_INDETERMINATE:v?getIcon().TABLE_CHECKBOX_CHECKED:x?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(b||C)&&u.push(e("span",{class:"vxe-checkbox--label"},b?t.callSlot(b,s,e):_xeUtils.default.get(r,C))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":x,"is--indeterminate":m,"is--hidden":!f}],on:_},u)]))},renderDeepSelectionCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:t,row:r,column:n,isHidden:o}=l;var a=t.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:i}=t,s=t.treeIndeterminateRowMaps,c=t.computeAggregateOpts.mapChildrenField,u=t.computeCheckboxOpts;let{labelField:C,checkField:g,checkMethod:p,visibleMethod:E}=u;var u=u.indeterminateField||u.halfField,b=n.slots,m=b?b.default:null,b=b?b.checkbox:null;let v=!1,f=!1,x=!0,h=!1;var _,T={},c=(o||(_=(0,_util.getRowid)(t,r),f=!!d&&_xeUtils.default.get(r,g),p&&i&&t.isAggregateRecord(r)?(d=r[c||""])&&d.length&&!d.every(e=>!p({$table:t,row:e}))||(h=!0):(x=!E||E({$table:t,row:r}),h=p?!p({$table:t,row:r}):!!p),(a||i)&&(v=!!s[_]),T.click=e=>{!h&&x&&t.triggerCheckRowEvent(e,l,!f)}),Object.assign(Object.assign({},l),{checked:f,disabled:h,visible:x,indeterminate:v}));return b?renderCellBaseVNs(e,l,t.callSlot(b,c,e)):(d=[],x&&d.push(e("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:f?getIcon().TABLE_CHECKBOX_CHECKED:h?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(m||C)&&d.push(e("span",{class:"vxe-checkbox--label"},m?t.callSlot(m,c,e):_xeUtils.default.get(r,C))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":f,"is--disabled":h,"is--indeterminate":u&&!f?r[u]:v,"is--hidden":!x}],on:T},d)]))},renderDeepSelectionCellByProp(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:t,isHidden:r,row:n,column:o}=l;var a=t.isRowGroupStatus,{rowExpandedMaps:d,rowExpandLazyLoadedMaps:i}=t,{lazy:s,labelField:c,iconLoaded:u,showIcon:C,iconOpen:g,iconClose:p,visibleMethod:E}=t.computeExpandOpts,b=o.slots,m=b?b.default:null,b=b?b.icon:null;let v=!1,f=!1;return a&&n.isAggregate?renderCellBaseVNs(e,l,[]):b?renderCellBaseVNs(e,l,t.callSlot(b,l,e)):(r||(a=(0,_util.getRowid)(t,n),v=!!d[a],s&&(f=!!i[a])),renderCellBaseVNs(e,l,[!C||E&&!E(l)?renderEmptyElement(t):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{mousedown(e){e.stopPropagation()},click(e){t.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",f?u||getIcon().TABLE_EXPAND_LOADED:v?g||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),m||c?e("span",{class:"vxe-table--expand-label"},m?t.callSlot(m,l,e):_xeUtils.default.get(n,c)):renderEmptyElement(t)]))},renderExpandData(e,l){var{$table:t,column:r}=l,{slots:r,contentRender:n}=r;if(r&&r.content)return t.callSlot(r.content,l,e);if(n){r=renderer.get(n.name),r=r?r.renderTableExpand||r.renderExpand:null;if(r)return(0,_vn.getSlotVNs)(r.call(t,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:t,column:r}=l,r=r.slots;return r&&r.default?renderCellBaseVNs(e,l,t.callSlot(r.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderDeepHTMLCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:t,column:r}=l;var{showIcon:n,allowBtn:o,ascTitle:a,descTitle:d,iconLayout:i,iconAsc:s,iconDesc:c,iconVisibleMethod:u}=t.computeSortOpts,{order:C,slots:g}=r;return!n||u&&!u(l)?[]:(n=g?g.sort:null)?(0,_vn.getSlotVNs)(t.callSlot(n,l,e)):[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${i}-layout`]},[e("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===C}],attrs:{title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||"")},on:o?{click(e){e.stopPropagation(),t.triggerSortEvent(e,r,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===C}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:o?{click(e){e.stopPropagation(),t.triggerSortEvent(e,r,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:t,column:r,hasFilter:n}=l;var o=t.filterStore,{showIcon:a,iconNone:d,iconMatch:i,iconVisibleMethod:s}=t.computeFilterOpts;return!a||s&&!s(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":o.visible&&o.column===r}],on:{click(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}}},[e("i",{class:["vxe-filter--btn",n?i||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")}})])]},renderEditHeader(e,l){var{$table:t,column:r}=l,{editConfig:n,editRules:o}=t,a=t.computeEditOpts,{sortable:d,filters:i,editRender:s}=r;let c=!1,u=(o&&(o=_xeUtils.default.get(o,r.field))&&(c=o.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&({showAsterisk:r,showIcon:o,icon:n}=a,u=[c&&r?e("i",{class:"vxe-cell--required-icon"},[e("i",{class:"vxe-cell--required-icon"})]):renderEmptyElement(t),(0,_utils.isEnableConf)(s)&&o?e("i",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(n)?(0,_vn.getSlotVNs)(n({})):[e("i",{class:n||getIcon().TABLE_EDIT})]):renderEmptyElement(t)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:t,column:r}=l,t=t.editStore,t=t.actived,r=r.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(r)&&t&&t.row===l.row)},renderDeepRowEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:t,column:r}=l,t=t.editStore,t=t.actived,r=r.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(r)&&t&&t.row===l.row&&t.column===l.column)},renderDeepCellEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,t,r){var{$table:n,row:o,column:a}=l,d=n.isRowGroupStatus,{slots:a,field:i,editRender:s,formatter:c}=a,u=renderer.get(s.name),u=u?u.renderTableEdit||u.renderEdit:null,C=a?a.default:null,g=a?a.groupContent||a["group-content"]:null,p=Object.assign({$type:"",isEdit:r},l);if(r)return a&&a.edit?n.callSlot(a.edit,p,e):u?(0,_vn.getSlotVNs)(u.call(n,e,s,p)):[];if(d&&i&&o.isAggregate){r=n.computeAggregateOpts.mapChildrenField,a=o.groupField,u=r&&o[r]||[];if(g)return renderCellBaseVNs(e,l,n.callSlot(g,Object.assign({groupField:a,groupContent:o.groupContent,childList:u,childCount:o.childCount},l),e))}else if(C)return renderCellBaseVNs(e,l,n.callSlot(C,p,e));return c?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(p)])]):Cell.renderDefaultCell.call(t,e,p)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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(e,l){let{$table:t,column:r}=l,n=r.titlePrefix||r.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){t.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){t.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(e,l){let{$table:t,column:r}=l,n=r.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){t.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){t.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(e,l){let t=l.$table;var r=t.$scopedSlots,n=t.dragConfig,{icon:o,trigger:a,disabledMethod:d}=t.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let i=d&&d(l);d=r.rowDragIcon||r["row-drag-icon"],r={};return"cell"!==a&&(r.mousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},r.mouseup=t.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],on:r},d?t.callSlot(d,l,e):[e("i",{class:o||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,t){var{$table:r,column:n,level:o}=l,n=n.dragSort,{treeConfig:a,dragConfig:d}=r,i=r.computeRowOpts,s=r.computeTreeOpts,{showIcon:r,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=r.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),g=[];return n&&i.drag&&(r||d&&d.showRowIcon)&&(!C||C(l))&&(!a||s.transform&&(c||u||!o))&&g.unshift(renderCellDragIcon(e,l)),g.concat(_xeUtils.default.isArray(t)?t:[t])}function renderHeaderCellDragIcon(e,t){let{$table:r,column:l}=t;var n=r.$scopedSlots,o=l.slots,a=r.computeColumnOpts,{showIcon:d,icon:i,trigger:s,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:g}=r.computeColumnDragOpts;if(!a.drag||!d||C&&!C(t)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(r);{let l=g&&g(t);a=(o?o.columnDragIcon||o["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==s&&(d.mousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.mouseup=r.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},a?r.callSlot(a,t,e):[e("i",{class:i||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,t){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(t)?t:[t],renderTitleSuffixIcon(e,l)]}function getRenderDefaultColumnTitle(e,l,t){return"html"===l.type&&_xeUtils.default.isString(t)?e("span",{key:"ch",domProps:{innerHTML:t}}):e("span",{key:"ct"},(0,_vn.getSlotVNs)(t))}function renderTitleContent(e,l,t){let{$table:r,column:n}=l;var o=r;let a=r;var o=o.showHeaderOverflow,d=a.isRowGroupStatus,{showHeaderOverflow:i,slots:s}=n,s=s?s.title:null;let c=r.computeHeaderTooltipOpts.showAll;o=_xeUtils.default.eqNull(i)?o:i;let u="title"===o,C=!0===o||"tooltip"===o;i={},(u||C||c)&&(i.mouseenter=e=>{a.isDragResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,n):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(i.mouseleave=e=>{a.isDragResize||(C||c)&&r.handleTargetLeaveEvent(e)}),o=getRenderDefaultColumnTitle(e,n,t);return[e("span",{class:"vxe-cell--title",on:i},d&&n.aggFunc&&r.getPivotTableAggregateRenderColTitles?r.getPivotTableAggregateRenderColTitles(e,n,o):s?r.callSlot(s,l,e):[o])]}function getFooterContent(e,l){var{$table:t,column:r,_columnIndex:n,row:o,items:a}=l,{slots:d,editRender:i,cellRender:s,footerFormatter:c}=r,i=i||s;if(d&&d.footer)return t.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(a)?a[n]:_xeUtils.default.get(o,r.field);s=Object.assign(l,{cellValue:u,itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(s):(n=(a=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?a.tableFooterCellFormatMethod:null)?""+(d?n(s,...c.slice(1)):n(s)):"";if(i){o=renderer.get(i.name),r=o?o.renderTableFooter||o.renderFooter:null;if(r)return(0,_vn.getSlotVNs)(r.call(t,e,i,s))}return[(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,l){var{column:t,row:r,$table:n}=l,o=n.editConfig,a=n.isRowGroupStatus,{type:d,treeNode:i,rowGroupNode:s,editRender:c}=t,u=n.computeAggregateOpts.mode,C=n.computeCheckboxOpts,n=n.computeEditOpts,g=i||a&&("column"===u?t.field===r.groupField:s);switch(d){case"seq":return g?Cell.renderDeepIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return g?Cell.renderDeepRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return C.checkField?g?Cell.renderDeepSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):g?Cell.renderDeepSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return g?Cell.renderDeepHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return o&&(0,_utils.isEnableConf)(n)&&c?"cell"===n.mode?g?Cell.renderDeepCellEdit(e,l):Cell.renderCellEdit(e,l):g?Cell.renderDeepRowEdit(e,l):Cell.renderRowEdit(e,l):g?Cell.renderDeepCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:t,$table:r}=l,n=r.editConfig,r=r.computeEditOpts,{type:t,filters:o,sortable:a,editRender:d}=t;switch(t){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(o&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(o)return Cell.renderFilterHeader(e,l)}return n&&(0,_utils.isEnableConf)(r)&&d?Cell.renderEditHeader(e,l):o&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):o?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}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,l){var{$table:t,column:r}=l,{slots:n,editRender:o,cellRender:a}=r,o=o||a;if(n&&n.header)return renderTitleContent(e,l,t.callSlot(n.header,l,e));if(o){a=renderer.get(o.name),n=a?a.renderTableHeader||a.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(t,e,o,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:t,row:r,column:n}=l,o=t,a=t.isRowGroupStatus,d=t.editConfig,{field:i,slots:s,editRender:c,cellRender:u,rowGroupNode:C,aggFunc:g,formatter:p}=n,d=d&&(0,_utils.isEnableConf)(c)?c:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,s=s?s.groupContent||s["group-content"]:null;let E="";if(a&&i&&r.isAggregate){var a=r,o=o.fullColumnFieldData,b=t.computeAggregateOpts,{mode:m,showTotal:v,totalMethod:f,countFields:x,contentMethod:h,mapChildrenField:_}=b,b=b.calcValuesMethod||b.countMethod||b.aggregateMethod,T=a.groupField,D=a.groupContent,_=_&&a[_]||[],I=a.childCount,o=o[T]||{},o={$table:t,groupField:T,groupColumn:o?o.column:null,column:n,groupValue:D,childList:_,childCount:I,aggValue:null,children:_,totalValue:I};if(s)return renderCellBaseVNs(e,l,t.callSlot(s,Object.assign({groupField:T,groupContent:D,childList:_,childCount:I},l),e));("column"===m?i===a.groupField:C)?(E=D,h&&(E=""+h(o)),v&&(E=getI18n("vxe.table.rowGroupContentTotal",[E,f?f(o):I,I]))):t.getPivotTableAggregateCellAggValue?E=t.getPivotTableAggregateCellAggValue(l):(!0===g||x&&x.includes(i))&&b&&(o.aggValue=I,E=""+b(o))}else{if(u)return renderCellBaseVNs(e,l,t.callSlot(u,l,e));if(d&&!p){s=renderer.get(d.name),T=s?s.renderTableDefault||s.renderDefault:null,_=s?s.renderTableCell||s.renderCell:null,m=c?_:T;if(m)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(m.call(t,e,d,Object.assign({$type:c?"edit":"cell"},l))))}E=t.getCellLabel(r,n)}a=c?c.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[c&&(0,_utils.eqEmptyValue)(E)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(E,1))])])},renderDeepCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderRowGroupBtn(e,l,t){let r=l.$table;var n=r,o=r,{row:a,level:d}=l,n=n.rowGroupExpandedFlag,o=o.rowGroupExpandedMaps,{mode:i,padding:s,indent:c}=r.computeAggregateOpts,u=(0,_util.getRowid)(r,a),n=!!n&&!!o[u];return e("div",{class:["vxe-row-group--tree-node",{"is--expanded":n}],style:"column"!==i&&s&&c?{paddingLeft:d*c+"px"}:void 0},[a.isAggregate?e("span",{class:"vxe-row-group--node-btn",on:{click(e){r.triggerRowGroupExpandEvent(e,l)}}},[e("i",{class:n?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(r),e("div",{class:"vxe-row-group-cell"},t)])},renderTreeNodeBtn(e,l,t){let{$table:r,isHidden:n}=l;var o=r.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:i}=r,s=r.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{padding:g,indent:p,lazy:E,trigger:b,iconLoaded:m,showIcon:v,iconOpen:f,iconClose:x}=s,h=s.children||s.childrenField,s=s.hasChild||s.hasChildField,h=c[h],h=h&&h.length,u=u?u.icon:null;let _=!1,T=!1,D=!1,I=!1;var w={};return u?r.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(r,c),T=!!o&&!!d[u],E&&(o=a[u],D=!!i[u],_=c[s],I=!!o.treeLoaded)),b&&"default"!==b||(w.click=e=>{r.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:g&&p?{paddingLeft:C*p+"px"}:void 0},[v&&(!E||I?h:h||_)?[e("div",{class:"vxe-cell--tree-btn",on:w},[e("i",{class:D?m||getIcon().TABLE_TREE_LOADED:T?f||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE})])]:null,e("div",{class:"vxe-tree-cell"},t)])])},renderDeepNodeBtn(e,l,t){var{$table:r,row:n,column:o}=l,a=o.rowGroupNode,d=r.rowGroupList;if(d.length){d=r.computeAggregateOpts.mode;if("column"===d?o.field===n.groupField:a)return[Cell.renderRowGroupBtn(e,l,t)]}return[Cell.renderTreeNodeBtn(e,l,t)]},renderSeqHeader(e,l){var{$table:t,column:r}=l,n=r.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?t.callSlot(n.header,l,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e,l){var{$table:t,column:r}=l,n=t.treeConfig,o=t.computeSeqOpts,r=r.slots;return r&&r.default?renderCellBaseVNs(e,l,t.callSlot(r.default,l,e)):(t=l.seq,r=o.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(r?r(l):n?t:(o.startIndex||0)+t,1))]))},renderDeepIndexCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:t,column:r}=l,n=r.slots,o=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,o?t.callSlot(o,l,e):[e("span",{class:"vxe-radio--label"},n?t.callSlot(n,l,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(e,l){let{$table:t,column:r,isHidden:n}=l;var o=t.selectRadioRow,a=r.slots,{labelField:d,checkMethod:i,visibleMethod:s}=t.computeRadioOpts,c=l.row,u=a?a.default:null,a=a?a.radio:null,o=c===o;let C=!s||s({$table:t,row:c}),g=!!i,p;n||(p={click(e){!g&&C&&t.triggerRadioRowEvent(e,l)}},i&&(g=!i({$table:t,row:c})));s=Object.assign(Object.assign({},l),{checked:o,disabled:g,visible:C});return a?renderCellBaseVNs(e,l,t.callSlot(a,s,e)):(i=[],C&&i.push(e("span",{class:["vxe-radio--icon",o?getIcon().TABLE_RADIO_CHECKED:g?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&i.push(e("span",{class:"vxe-radio--label"},u?t.callSlot(u,s,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":o,"is--disabled":g}],on:p},i)]))},renderDeepRadioCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:t,column:r,isHidden:n}=l;let{isAllSelected:o,isIndeterminate:a}=t,d=t.computeIsAllCheckboxDisabled;var i=r.slots,s=i?i.header:null,i=i?i.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=t.computeCheckboxOpts,g=r.getTitle(),p={},E=(n||(p.click=e=>{d||t.triggerCheckAllEvent(e,!o)}),Object.assign(Object.assign({},l),{checked:o,disabled:d,indeterminate:a}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,s?t.callSlot(s,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":o,"is--disabled":d,"is--indeterminate":a}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:p},[e("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:d?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(i||g?[e("span",{class:"vxe-checkbox--label"},i?t.callSlot(i,E,e):g)]:[]))]:[e("span",{class:"vxe-checkbox--label"},i?t.callSlot(i,E,e):g)]))},renderCheckboxCell(e,l){let{$table:t,row:r,column:n,isHidden:o}=l;var a=t.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:i}=t,{selectCheckboxMaps:s,treeIndeterminateRowMaps:c}=t,u=t.computeAggregateOpts.mapChildrenField;let{labelField:C,checkMethod:g,visibleMethod:p}=t.computeCheckboxOpts;var E=n.slots,b=E?E.default:null,E=E?E.checkbox:null;let m=!1,v=!1,f=!0,x=!1;var h,_={},s=(o||(h=(0,_util.getRowid)(t,r),v=!!d&&!!s[h],g&&i&&t.isAggregateRecord(r)?(d=r[u||""])&&d.length&&!d.every(e=>!g({$table:t,row:e}))||(x=!0):(f=!p||p({$table:t,row:r}),x=g?!g({$table:t,row:r}):!!g),(a||i)&&(m=!!c[h]),_.click=e=>{!x&&f&&t.triggerCheckRowEvent(e,l,!v)}),Object.assign(Object.assign({},l),{checked:v,disabled:x,visible:f,indeterminate:m}));return E?renderCellBaseVNs(e,l,t.callSlot(E,s,e)):(u=[],f&&u.push(e("span",{class:["vxe-checkbox--icon",m?getIcon().TABLE_CHECKBOX_INDETERMINATE:v?getIcon().TABLE_CHECKBOX_CHECKED:x?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(b||C)&&u.push(e("span",{class:"vxe-checkbox--label"},b?t.callSlot(b,s,e):_xeUtils.default.get(r,C))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":x,"is--indeterminate":m,"is--hidden":!f}],on:_},u)]))},renderDeepSelectionCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:t,row:r,column:n,isHidden:o}=l;var a=t.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:i}=t,s=t.treeIndeterminateRowMaps,c=t.computeAggregateOpts.mapChildrenField,u=t.computeCheckboxOpts;let{labelField:C,checkField:g,checkMethod:p,visibleMethod:E}=u;var u=u.indeterminateField||u.halfField,b=n.slots,m=b?b.default:null,b=b?b.checkbox:null;let v=!1,f=!1,x=!0,h=!1;var _,T={},c=(o||(_=(0,_util.getRowid)(t,r),f=!!d&&_xeUtils.default.get(r,g),p&&i&&t.isAggregateRecord(r)?(d=r[c||""])&&d.length&&!d.every(e=>!p({$table:t,row:e}))||(h=!0):(x=!E||E({$table:t,row:r}),h=p?!p({$table:t,row:r}):!!p),(a||i)&&(v=!!s[_]),T.click=e=>{!h&&x&&t.triggerCheckRowEvent(e,l,!f)}),Object.assign(Object.assign({},l),{checked:f,disabled:h,visible:x,indeterminate:v}));return b?renderCellBaseVNs(e,l,t.callSlot(b,c,e)):(d=[],x&&d.push(e("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:f?getIcon().TABLE_CHECKBOX_CHECKED:h?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(m||C)&&d.push(e("span",{class:"vxe-checkbox--label"},m?t.callSlot(m,c,e):_xeUtils.default.get(r,C))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":f,"is--disabled":h,"is--indeterminate":u&&!f?r[u]:v,"is--hidden":!x}],on:T},d)]))},renderDeepSelectionCellByProp(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:t,isHidden:r,row:n,column:o}=l;var a=t.isRowGroupStatus,{rowExpandedMaps:d,rowExpandLazyLoadedMaps:i}=t,{lazy:s,labelField:c,iconLoaded:u,showIcon:C,iconOpen:g,iconClose:p,visibleMethod:E}=t.computeExpandOpts,b=o.slots,m=b?b.default:null,b=b?b.icon:null;let v=!1,f=!1;return a&&n.isAggregate?renderCellBaseVNs(e,l,[]):b?renderCellBaseVNs(e,l,t.callSlot(b,l,e)):(r||(a=(0,_util.getRowid)(t,n),v=!!d[a],s&&(f=!!i[a])),renderCellBaseVNs(e,l,[!C||E&&!E(l)?renderEmptyElement(t):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{mousedown(e){e.stopPropagation()},click(e){t.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",f?u||getIcon().TABLE_EXPAND_LOADED:v?g||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),m||c?e("span",{class:"vxe-table--expand-label"},m?t.callSlot(m,l,e):_xeUtils.default.get(n,c)):renderEmptyElement(t)]))},renderExpandData(e,l){var{$table:t,column:r}=l,{slots:r,contentRender:n}=r;if(r&&r.content)return t.callSlot(r.content,l,e);if(n){r=renderer.get(n.name),r=r?r.renderTableExpand||r.renderExpand:null;if(r)return(0,_vn.getSlotVNs)(r.call(t,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:t,column:r}=l,r=r.slots;return r&&r.default?renderCellBaseVNs(e,l,t.callSlot(r.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderDeepHTMLCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:t,column:r}=l;var{showIcon:n,allowBtn:o,ascTitle:a,descTitle:d,iconLayout:i,iconAsc:s,iconDesc:c,iconVisibleMethod:u}=t.computeSortOpts,{order:C,slots:g}=r;return!n||u&&!u(l)?[]:(n=g?g.sort:null)?(0,_vn.getSlotVNs)(t.callSlot(n,l,e)):[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${i}-layout`]},[e("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===C}],attrs:{title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||"")},on:o?{click(e){e.stopPropagation(),t.triggerSortEvent(e,r,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===C}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:o?{click(e){e.stopPropagation(),t.triggerSortEvent(e,r,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:t,column:r,hasFilter:n}=l;var o=t.filterStore,{showIcon:a,iconNone:d,iconMatch:i,iconVisibleMethod:s}=t.computeFilterOpts;return!a||s&&!s(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":o.visible&&o.column===r}],on:{click(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}}},[e("i",{class:["vxe-filter--btn",n?i||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")}})])]},renderEditHeader(e,l){var{$table:t,column:r}=l,{editConfig:n,editRules:o}=t,a=t.computeEditOpts,{sortable:d,filters:i,editRender:s}=r;let c=!1,u=(o&&(o=_xeUtils.default.get(o,r.field))&&(c=o.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&({showAsterisk:r,showIcon:o,icon:n}=a,u=[c&&r?e("i",{class:"vxe-cell--required-icon"},[e("i",{class:"vxe-cell--required-icon"})]):renderEmptyElement(t),(0,_utils.isEnableConf)(s)&&o?e("i",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(n)?(0,_vn.getSlotVNs)(n({})):[e("i",{class:n||getIcon().TABLE_EDIT})]):renderEmptyElement(t)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:t,column:r}=l,t=t.editStore,t=t.actived,r=r.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(r)&&t&&t.row===l.row)},renderDeepRowEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:t,column:r}=l,t=t.editStore,t=t.actived,r=r.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(r)&&t&&t.row===l.row&&t.column===l.column)},renderDeepCellEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,t,r){var{$table:n,row:o,column:a}=l,d=n.isRowGroupStatus,{slots:a,field:i,editRender:s,formatter:c}=a,u=renderer.get(s.name),u=u?u.renderTableEdit||u.renderEdit:null,C=a?a.default:null,g=a?a.groupContent||a["group-content"]:null,p=Object.assign({$type:"",isEdit:r},l);if(r)return a&&a.edit?n.callSlot(a.edit,p,e):u?(0,_vn.getSlotVNs)(u.call(n,e,s,p)):[];if(d&&i&&o.isAggregate){r=n.computeAggregateOpts.mapChildrenField,a=o.groupField,u=r&&o[r]||[];if(g)return renderCellBaseVNs(e,l,n.callSlot(g,Object.assign({groupField:a,groupContent:o.groupContent,childList:u,childCount:o.childCount},l),e))}else if(C)return renderCellBaseVNs(e,l,n.callSlot(C,p,e));return c?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(p)])]):Cell.renderDefaultCell.call(t,e,p)}};var _default=exports.default=Cell;
|
package/lib/table/src/methods.js
CHANGED
|
@@ -3873,9 +3873,9 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3873
3873
|
// if (!props.showOverflow) {
|
|
3874
3874
|
// warnLog('vxe.error.reqProp', ['table.show-overflow'])
|
|
3875
3875
|
// }
|
|
3876
|
-
if (props.spanMethod) {
|
|
3877
|
-
|
|
3878
|
-
}
|
|
3876
|
+
// if (props.spanMethod) {
|
|
3877
|
+
// warnLog('vxe.error.scrollErrProp', ['span-method'])
|
|
3878
|
+
// }
|
|
3879
3879
|
}
|
|
3880
3880
|
handleReserveStatus($xeTable);
|
|
3881
3881
|
$xeTable.checkSelectionStatus();
|
|
@@ -5159,7 +5159,9 @@ const Methods = {
|
|
|
5159
5159
|
tableFullData,
|
|
5160
5160
|
tableFullTreeData,
|
|
5161
5161
|
tableFullGroupData,
|
|
5162
|
-
treeExpandedMaps
|
|
5162
|
+
treeExpandedMaps,
|
|
5163
|
+
rowExpandedMaps,
|
|
5164
|
+
selectCheckboxMaps
|
|
5163
5165
|
} = internalData;
|
|
5164
5166
|
const fullAllDataRowIdMaps = isReset ? {} : Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
5165
5167
|
const fullDataRowIdMaps = {};
|
|
@@ -5199,6 +5201,13 @@ const Methods = {
|
|
|
5199
5201
|
rowRest.level = level;
|
|
5200
5202
|
rowRest.index = currIndex;
|
|
5201
5203
|
rowRest.treeIndex = index;
|
|
5204
|
+
// 更新缓存
|
|
5205
|
+
if (selectCheckboxMaps[rowid]) {
|
|
5206
|
+
selectCheckboxMaps[rowid] = row;
|
|
5207
|
+
}
|
|
5208
|
+
if (rowExpandedMaps[rowid]) {
|
|
5209
|
+
rowExpandedMaps[rowid] = row;
|
|
5210
|
+
}
|
|
5202
5211
|
idMaps[rowid] = true;
|
|
5203
5212
|
fullDataRowIdMaps[rowid] = rowRest;
|
|
5204
5213
|
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
@@ -13224,22 +13233,26 @@ const Methods = {
|
|
|
13224
13233
|
ySpaceTop = Math.max(0, startIndex * defaultRowHeight);
|
|
13225
13234
|
} else {
|
|
13226
13235
|
const firstRow = afterFullData[startIndex];
|
|
13227
|
-
|
|
13228
|
-
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
|
|
13232
|
-
|
|
13233
|
-
|
|
13234
|
-
|
|
13235
|
-
|
|
13236
|
-
|
|
13237
|
-
|
|
13238
|
-
|
|
13236
|
+
if (firstRow) {
|
|
13237
|
+
let rowid = (0, _util.getRowid)($xeTable, firstRow);
|
|
13238
|
+
let rowRest = fullAllDataRowIdData[rowid] || {};
|
|
13239
|
+
ySpaceTop = rowRest.oTop || 0;
|
|
13240
|
+
const lastRow = afterFullData[afterFullData.length - 1];
|
|
13241
|
+
rowid = (0, _util.getRowid)($xeTable, lastRow);
|
|
13242
|
+
rowRest = fullAllDataRowIdData[rowid] || {};
|
|
13243
|
+
// 如果为空时还没计算完数据,保持原高度不变
|
|
13244
|
+
if (rowRest.oTop) {
|
|
13245
|
+
sYHeight = (rowRest.oTop || 0) + (rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight);
|
|
13246
|
+
// 是否展开行
|
|
13247
|
+
if (expandColumn && rowExpandedMaps[rowid]) {
|
|
13248
|
+
sYHeight += rowRest.expandHeight || expandOpts.height || 0;
|
|
13249
|
+
}
|
|
13239
13250
|
}
|
|
13240
|
-
|
|
13241
|
-
|
|
13242
|
-
|
|
13251
|
+
if (sYHeight > maxYHeight) {
|
|
13252
|
+
isScrollYBig = true;
|
|
13253
|
+
}
|
|
13254
|
+
} else {
|
|
13255
|
+
sYHeight = bodyTableElem ? bodyTableElem.clientHeight : 0;
|
|
13243
13256
|
}
|
|
13244
13257
|
}
|
|
13245
13258
|
} else {
|