vxe-table 3.12.0-beta.9 → 3.12.0
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/locale/lang/de-DE.js +490 -490
- package/es/locale/lang/en-US.js +438 -438
- package/es/locale/lang/it-IT.js +692 -0
- package/es/locale/lang/ru-RU.js +36 -36
- package/es/locale/lang/th-TH.js +692 -0
- package/es/locale/lang/zh-CHT.js +19 -19
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +5 -5
- package/es/table/module/export/mixin.js +208 -140
- package/es/table/src/cell.js +88 -61
- package/es/table/src/column.js +2 -2
- package/es/table/src/group.js +2 -2
- package/es/table/src/methods.js +112 -87
- package/es/table/src/table.js +7 -11
- package/es/toolbar/src/toolbar.js +22 -4
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +3 -0
- package/lib/index.umd.js +512 -356
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/de-DE.js +490 -490
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +438 -438
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +438 -438
- package/lib/locale/lang/it-IT.js +698 -0
- package/lib/locale/lang/it-IT.min.js +1 -0
- package/lib/locale/lang/ru-RU.js +36 -36
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +36 -36
- package/lib/locale/lang/th-TH.js +698 -0
- package/lib/locale/lang/th-TH.min.js +1 -0
- package/lib/locale/lang/zh-CHT.js +19 -19
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +19 -19
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +5 -5
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +239 -167
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/cell.js +109 -83
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +112 -87
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +4 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +36 -2
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +3 -0
- package/lib/ui/src/vn.min.js +1 -1
- package/package.json +3 -3
- package/packages/locale/lang/de-DE.ts +492 -491
- package/packages/locale/lang/en-US.ts +438 -438
- package/packages/locale/lang/it-IT.ts +692 -0
- package/packages/locale/lang/ru-RU.ts +36 -36
- package/packages/locale/lang/th-TH.ts +692 -0
- package/packages/locale/lang/zh-CHT.ts +19 -19
- package/packages/table/module/custom/panel.ts +5 -5
- package/packages/table/module/export/mixin.ts +227 -156
- package/packages/table/src/cell.ts +141 -108
- package/packages/table/src/methods.ts +136 -105
- package/packages/table/src/table.ts +8 -12
- package/packages/toolbar/src/toolbar.ts +26 -8
- package/packages/ui/index.ts +1 -1
- package/packages/ui/src/vn.ts +4 -1
- /package/es/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
- /package/es/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
- /package/es/{iconfont.1735301172726.woff2 → iconfont.1735661059384.woff2} +0 -0
- /package/lib/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
- /package/lib/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
- /package/lib/{iconfont.1735301172726.woff2 → iconfont.1735661059384.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handlePrint=handlePrint,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,printFrame,csvBOM="\ufeff",enterSymbol="\r\n";function createFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function hasTreeChildren(e,t){e=e.treeOpts,e=e.children||e.childrenField;return t[e]&&0<t[e].length}function getSeq(e,t,l,r,o,a){var i=e.seqOpts.seqMethod||o.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:f,columnOpts:x}=c;var r=l.children||l.childrenField;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._radioDisabled=h.checkMethod&&!h.checkMethod({row:d});break;default:p.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:r}),o}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===m?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getBodyLabelData(e,t,l,o=r?o.filter((e,t)=>r({row:e,$rowIndex:t})):o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.columnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,r){var o=e.columnOpts,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(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,r,e,t){let o=csvBOM;return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),o}function toTxt(l,r,e,t){let o="";return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),o}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;return o=e.scrollXLoad||e.scrollYLoad?o||!0:o}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:r,treeOpts:a,isAllSelected:s,isIndeterminate:o,headerAlign:p,align:u,footerAlign:i,showOverflow:m,showHeaderOverflow:h,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let E=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(E.push("<thead>"),b&&!$?y.forEach(e=>{E.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||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 ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):E.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||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 ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(o=>{E.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.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 ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.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 ${x?"":`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 ${x?"":`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 ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{E.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=s[e.id];let o=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(E.push("<tfoot>"),t.forEach(o=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!s&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,r,e,t){let o=['<?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&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</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 saveLocalFile(e){var{filename:l,type:r,content:t}=e,l=l+"."+r;if(window.Blob){r=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(r,l);else{let e=URL.createObjectURL(r),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});saveLocalFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let{remote:o,columns:a,colgroups:i,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(o){var e={options:r,$table:l,$grid:l.$xegrid};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:a,colgroups:i,datas:e},()=>downloadFile(l,r,getContent(l,r,a,e))))}}).then(e=>(clearColumnConvert(a),r.print||t&&t({status:!0,options:r,$table:l,$grid:l.$xegrid}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),r.print||t&&t({status:!1,options:r,$table:l,$grid:l.$xegrid});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let r={},o=Date.now();t.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,r))}),i.push(l)):n=e.map(e=>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(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(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 checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]};switch(r.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(o,a,i){var e=o.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),o._importResolve=null,o._importReject=null},r=e=>{l(e),o._importResolve=null,o._importReject=null};if(o._importResolve=e,o._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:o})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):o.preventEvent(null,"event.import",{file:a,options:t,columns:o.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),r({status:!1})},e.onload=e=>{handleImport(o,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:o})}).catch(e=>(t&&t({status:!1,options:i,$table:o}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((o,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var r=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,r)){l=r;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):o({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function removePrintFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removePrintFrame)}function handlePrint(e,t,l){var r=t.beforePrintMethod,r=(r&&(l=r({content:l,options:t,$table:e})||""),l=(0,_util2.createHtmlPage)(t,l),(0,_util2.getExportBlobByContent)(l,t));_dom.browse.msie?(removePrintFrame(),printFrame=createFrame(),appendPrintFrame(),printFrame.contentDocument.write(l),printFrame.contentDocument.execCommand("print")):(printFrame||((printFrame=createFrame()).onload=e=>{e.target.src&&(e.target.contentWindow.onafterprint=afterPrintEvent,e.target.contentWindow.print())}),appendPrintFrame(),printFrame.src=URL.createObjectURL(r))}function handleExportAndPrint(e,t,l){let{$xegrid:r,initStore:o,customOpts:a,collectColumn:i,footerTableData:n,treeConfig:s,mergeList:d,isGroup:c,exportParams:p,exportOpts:u}=e;var m=r?r.proxyOpts:{},h=e.getCheckboxRecords(),f=!!n.length,x=s,g=!x&&d.length,m=Object.assign({message:!0,isHeader:!0,current:"current",modes:["current","selected"].concat(m.ajax&&m.ajax.queryAll?["all"]:[])},t),t=m.types||_xeUtils.default.keys(u._typeMaps),v=m.modes||[];let b=a.checkMethod;var _=i.slice(0);let y=m.columns;t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),v=v.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(_,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=y?y.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_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)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!b&&!b({column:r}))}),Object.assign(e.exportStore,{columns:_,typeList:t,modeList:v,hasFooter:f,hasMerge:g,hasTree:x,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(p,{mode:h.length?"selected":"current"},m),v.some(e=>e.value===p.mode)||(p.mode=v[0].value),t.some(e=>e.value===p.type)||(p.type=t[0].value),o.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,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(i){let{$xegrid:n,isGroup:e,tableGroupColumn:t,tableFullColumn:a,afterFullData:l,treeConfig:r,treeOpts:o,exportOpts:s}=this,d=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},s,{print:!1},i),{type:c,mode:p,columns:u,original:m,beforeExportMethod:h,excludeFields:f,includeFields:x}=d,g=[];i=u&&u.length?u:null;let v=d.columnFilterMethod,b=(i||(v=v||(({column:e})=>(!f||!_xeUtils.default.includes(f,e.field))&&(x?!!_xeUtils.default.includes(x,e.field):m?e.field:defaultFilterExportColumn(e)))),g=i?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(i,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=this.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=this.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!v||v({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:a,(e,t)=>e.visible&&(!v||v({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(g,e=>{e.children&&e.children.length||b.push(e)},{children:"childNodes"}),d.columns=b,d.colgroups=convertToRows(g),d.filename||(d.filename=getI18n(d.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),d.sheetName||(d.sheetName=document.title),!d.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),c))return(0,_log.errLog)("vxe.error.notType",[c]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(c)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(d.print||h&&h({options:d,$table:this,$grid:n}),!d.data)if(d.data=[],"selected"===p){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&r?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},o,{data:"_row"})):d.data=t}else if("all"===p){if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),n&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=n.proxyOpts;i=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let t={$table:this,$grid:n,sort:n.sortData,filters:n.filterData,form:n.formData,target:i,options:d};return Promise.resolve((e||i)(t)).then(e=>(d.data=(r.list?_xeUtils.default.get(e,r.list):e)||[],l&&l(t),o&&o(Object.assign(Object.assign({},t),{response:e})),handleExport(this,d))).catch(e=>{a&&a(Object.assign(Object.assign({},t),{response:e}))})}}}else"current"===p&&(d.data=l);return handleExport(this,d)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:this}),readLocalFile(l).catch(e=>(o&&o({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let t=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});return t.sheetName||(t.sheetName=document.title),new Promise(e=>{t.content?e(handlePrint(this,t,t.content)):e(this.exportData(t).then(({content:e})=>handlePrint(this,t,e)))})},_getPrintHtml(e){var t=this.printOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return"development"!==process.env.NODE_ENV||this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:a}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,p,u,e){let{isAllExpand:i,mode:h}=p;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let x=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||x.exportMethod)l=r({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:p.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),r.push(Object.assign(i,d))}},{children:t}),r}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===h?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.columnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,o){var r=e.columnOpts,a=o.editRender||o.cellRender;let i=o.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod;a=e.getVTColumnIndex(o);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,o.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,o,e,t){let r=csvBOM;return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),r}function toTxt(l,o,e,t){let r="";return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),r}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;return r=e.scrollXLoad||e.scrollYLoad?r||!0:r}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:o,treeOpts:a,isAllSelected:s,isIndeterminate:r,headerAlign:p,align:u,footerAlign:i,showOverflow:h,showHeaderOverflow:m,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let C=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(C.push("<thead>"),b&&!$?y.forEach(e=>{C.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",m)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var i=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):C.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",m)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),C.push("</thead>")),t.length&&(C.push("<tbody>"),o?t.forEach(r=>{C.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",h)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{C.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",h)?["col--ellipsis"]:[],o=s[e.id];let r=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),C.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(C.push("<tfoot>"),t.forEach(r=>{C.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",h)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),C.push("</tfoot>"));t=!s&&r?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return C.push("</table>",t),x?C.join(""):(0,_util2.createHtmlPage)(n,C.join(""))}function toXML(l,o,e,t){let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,{remote:a,columns:i,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(a){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:i,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,i,e))))}}).then(e=>(clearColumnConvert(i),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let o={},r=Date.now();t.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,o))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),o))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:a}=l,i={fields:[],rows:[]};switch(o.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[s.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(r,a,i){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),r._importResolve=null,r._importReject=null},o=e=>{l(e),r._importResolve=null,r._importReject=null};if(r._importResolve=e,r._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:a,options:t,columns:r.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),o({status:!1})},e.onload=e=>{handleImport(r,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:r})}).catch(e=>(t&&t({status:!1,options:i,$table:r}),Promise.reject(e))):(!1!==i.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,o)){l=o;break}}l?(!1!==s.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),a({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:a,showFooter:i}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:p,exportStore:u,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},p=!!p.length,s=!(!s.length&&!d.length),d=Object.assign({message:!0,isHeader:a,isFooter:i,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:["current","selected"].concat(v.ajax&&v.ajax.queryAll?["all"]:[])},t),a=d.types||_xeUtils.default.keys(f._typeMaps),i=d.modes||[];let b=x.checkMethod;v=m.slice(0);let _=d.columns;t=a.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),f=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(v,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=_?_.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!b&&!b({column:o}))}),Object.assign(u,{columns:v,typeList:t,modeList:f,hasFooter:p,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:g.length?"selected":"current"},d);let{filename:y,sheetName:$,mode:w,type:C}=h;return y&&(_xeUtils.default.isFunction(y)?h.filename=y({options:d,$table:e,$grid:o}):h.filename=""+y),$&&(_xeUtils.default.isFunction($)?h.sheetName=$({options:d,$table:e,$grid:o}):h.sheetName=""+$),f.some(e=>e.value===w)||(h.mode=f[0].value),t.some(e=>e.value===C)||(h.type=t[0].value),n.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let n=this,s=n.$xeGrid,{isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:o,treeConfig:r,treeOpts:i,exportOpts:d}=this;e=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},d,{print:!1},e);let{filename:c,sheetName:p,type:u,mode:h,columns:m,original:f,columnFilterMethod:x,beforeExportMethod:g,includeFields:v,excludeFields:b}=e,_=[];var y=m&&m.length?m:null;let $=Object.assign({},e,{filename:"",sheetName:""}),w=(y||x||($.columnFilterMethod=({column:e})=>(!b||!_xeUtils.default.includes(b,e.field))&&(v?!!_xeUtils.default.includes(v,e.field):f?e.field:defaultFilterExportColumn(e))),_=y?($._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(y,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=n.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=n.getColumnById(r):l&&t?o=a.find(e=>e.field===l&&e.type===t):l?o=n.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!x||x({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!x||x({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(_,e=>{e.children&&e.children.length||w.push(e)},{children:"childNodes"}),$.columns=w,$.colgroups=convertToRows(_),c&&(_xeUtils.default.isFunction(c)?$.filename=c({options:e,$table:n,$grid:s}):$.filename=""+c),$.filename||($.filename=getI18n($.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),p&&(_xeUtils.default.isFunction(p)?$.sheetName=p({options:e,$table:n,$grid:s}):$.sheetName=""+p),$.sheetName||($.sheetName=document.title||""),!$.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(d._typeMaps),u))return(0,_log.errLog)("vxe.error.notType",[u]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(u)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if($.print||g&&g({options:$,$table:n,$grid:s}),!e.data)if($.data=[],"selected"===h){let t=n.getCheckboxRecords();-1<["html","pdf"].indexOf(u)&&r?e.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(t,e),Object.assign({},i,{data:"_row"})):e.data=t}else if("all"===h){if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),s&&!$.remote){var y=s,C=s.computeProxyOpts,E=y.sortData;let{beforeQueryAll:e,afterQueryAll:o,ajax:t={}}=C,r=C.response||C.props||{};C=t.queryAll;let a=t.queryAllSuccess,i=t.queryAllError;if("development"!==process.env.NODE_ENV||C||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),C){let l={$table:n,$grid:s,sort:E.length?E[0]:{},sorts:E,filters:y.filterData,form:y.formData,options:$};return Promise.resolve((e||C)(l)).then(e=>{var t=r.list;return $.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:s}):_xeUtils.default.get(e,t):e)||[],o&&o(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(n,$)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===h&&($.data=o);return handleExport(n,e)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",a=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),i=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:r,html:i,customStyle:o.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return"development"!==process.env.NODE_ENV||this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
package/lib/table/src/cell.js
CHANGED
|
@@ -113,6 +113,7 @@ function renderCellBaseVNs(h, params, content) {
|
|
|
113
113
|
const rowDragOpts = $table.computeRowDragOpts;
|
|
114
114
|
const {
|
|
115
115
|
showIcon,
|
|
116
|
+
isPeerDrag,
|
|
116
117
|
isCrossDrag,
|
|
117
118
|
visibleMethod
|
|
118
119
|
} = rowDragOpts;
|
|
@@ -120,7 +121,7 @@ function renderCellBaseVNs(h, params, content) {
|
|
|
120
121
|
const vns = _xeUtils.default.isArray(content) ? content : [content];
|
|
121
122
|
if (dragSort && rowOpts.drag && (showIcon || (dragConfig ? dragConfig.showRowIcon : false)) && (!rVisibleMethod || rVisibleMethod(params))) {
|
|
122
123
|
if (treeConfig) {
|
|
123
|
-
if (isCrossDrag || !level) {
|
|
124
|
+
if (isPeerDrag || isCrossDrag || !level) {
|
|
124
125
|
vns.unshift(renderCellDragIcon(h, params));
|
|
125
126
|
}
|
|
126
127
|
} else {
|
|
@@ -140,12 +141,13 @@ function renderHeaderCellDragIcon(h, params) {
|
|
|
140
141
|
showIcon,
|
|
141
142
|
icon,
|
|
142
143
|
trigger,
|
|
144
|
+
isPeerDrag,
|
|
143
145
|
isCrossDrag,
|
|
144
146
|
visibleMethod,
|
|
145
147
|
disabledMethod
|
|
146
148
|
} = columnDragOpts;
|
|
147
149
|
if (columnOpts.drag && showIcon && (!visibleMethod || visibleMethod(params))) {
|
|
148
|
-
if (!column.fixed && (isCrossDrag || !column.parentId)) {
|
|
150
|
+
if (!column.fixed && (isPeerDrag || isCrossDrag || !column.parentId)) {
|
|
149
151
|
const isDisabled = disabledMethod && disabledMethod(params);
|
|
150
152
|
const ons = {};
|
|
151
153
|
if (trigger !== 'cell') {
|
|
@@ -182,18 +184,20 @@ function renderTitleContent(h, params, content) {
|
|
|
182
184
|
type,
|
|
183
185
|
showHeaderOverflow
|
|
184
186
|
} = column;
|
|
187
|
+
const tableProps = $table;
|
|
188
|
+
const tableReactData = $table;
|
|
185
189
|
const {
|
|
186
|
-
showHeaderOverflow: allColumnHeaderOverflow
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const showAllTip = tooltipOpts.showAll
|
|
190
|
+
showHeaderOverflow: allColumnHeaderOverflow
|
|
191
|
+
} = tableProps;
|
|
192
|
+
const tooltipOpts = $table.computeTooltipOpts;
|
|
193
|
+
const showAllTip = tooltipOpts.showAll;
|
|
190
194
|
const headOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
191
195
|
const showTitle = headOverflow === 'title';
|
|
192
196
|
const showTooltip = headOverflow === true || headOverflow === 'tooltip';
|
|
193
197
|
const ons = {};
|
|
194
198
|
if (showTitle || showTooltip || showAllTip) {
|
|
195
199
|
ons.mouseenter = evnt => {
|
|
196
|
-
if (
|
|
200
|
+
if (tableReactData._isResize) {
|
|
197
201
|
return;
|
|
198
202
|
}
|
|
199
203
|
if (showTitle) {
|
|
@@ -205,7 +209,7 @@ function renderTitleContent(h, params, content) {
|
|
|
205
209
|
}
|
|
206
210
|
if (showTooltip || showAllTip) {
|
|
207
211
|
ons.mouseleave = evnt => {
|
|
208
|
-
if (
|
|
212
|
+
if (tableReactData._isResize) {
|
|
209
213
|
return;
|
|
210
214
|
}
|
|
211
215
|
if (showTooltip || showAllTip) {
|
|
@@ -226,13 +230,13 @@ function renderTitleContent(h, params, content) {
|
|
|
226
230
|
}
|
|
227
231
|
function formatFooterLabel(footerFormatter, params) {
|
|
228
232
|
if (_xeUtils.default.isFunction(footerFormatter)) {
|
|
229
|
-
return footerFormatter(params)
|
|
233
|
+
return `${footerFormatter(params)}`;
|
|
230
234
|
}
|
|
231
235
|
const isArr = _xeUtils.default.isArray(footerFormatter);
|
|
232
236
|
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
233
237
|
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
234
238
|
if (footerFormatMethod) {
|
|
235
|
-
return isArr ? footerFormatMethod(params, ...footerFormatter.slice(1)) : footerFormatMethod(params)
|
|
239
|
+
return `${isArr ? footerFormatMethod(params, ...footerFormatter.slice(1)) : footerFormatMethod(params)}`;
|
|
236
240
|
}
|
|
237
241
|
return '';
|
|
238
242
|
}
|
|
@@ -432,12 +436,16 @@ const Cell = exports.Cell = {
|
|
|
432
436
|
$table,
|
|
433
437
|
isHidden
|
|
434
438
|
} = params;
|
|
439
|
+
const tableReactData = $table;
|
|
440
|
+
const tableInternalData = $table;
|
|
435
441
|
const {
|
|
436
|
-
treeOpts,
|
|
437
442
|
treeExpandedMaps,
|
|
438
|
-
treeExpandLazyLoadedMaps
|
|
443
|
+
treeExpandLazyLoadedMaps
|
|
444
|
+
} = tableReactData;
|
|
445
|
+
const {
|
|
439
446
|
fullAllDataRowIdData
|
|
440
|
-
} =
|
|
447
|
+
} = tableInternalData;
|
|
448
|
+
const treeOpts = $table.computeTreeOpts;
|
|
441
449
|
const {
|
|
442
450
|
row,
|
|
443
451
|
column,
|
|
@@ -459,17 +467,18 @@ const Cell = exports.Cell = {
|
|
|
459
467
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
460
468
|
const rowChilds = row[childrenField];
|
|
461
469
|
const hasChild = rowChilds && rowChilds.length;
|
|
470
|
+
const iconSlot = slots ? slots.icon : null;
|
|
462
471
|
let hasLazyChilds = false;
|
|
463
|
-
let
|
|
472
|
+
let isActive = false;
|
|
464
473
|
let isLazyLoading = false;
|
|
465
474
|
let isLazyLoaded = false;
|
|
466
|
-
const
|
|
467
|
-
if (
|
|
468
|
-
return $table.callSlot(
|
|
475
|
+
const ons = {};
|
|
476
|
+
if (iconSlot) {
|
|
477
|
+
return $table.callSlot(iconSlot, params, h);
|
|
469
478
|
}
|
|
470
479
|
if (!isHidden) {
|
|
471
480
|
const rowid = (0, _util.getRowid)($table, row);
|
|
472
|
-
|
|
481
|
+
isActive = !!treeExpandedMaps[rowid];
|
|
473
482
|
if (lazy) {
|
|
474
483
|
const rest = fullAllDataRowIdData[rowid];
|
|
475
484
|
isLazyLoading = !!treeExpandLazyLoadedMaps[rowid];
|
|
@@ -478,22 +487,22 @@ const Cell = exports.Cell = {
|
|
|
478
487
|
}
|
|
479
488
|
}
|
|
480
489
|
if (!trigger || trigger === 'default') {
|
|
481
|
-
|
|
490
|
+
ons.click = evnt => {
|
|
482
491
|
$table.triggerTreeExpandEvent(evnt, params);
|
|
483
492
|
};
|
|
484
493
|
}
|
|
485
494
|
return [h('div', {
|
|
486
495
|
class: ['vxe-cell--tree-node', {
|
|
487
|
-
'is--active':
|
|
496
|
+
'is--active': isActive
|
|
488
497
|
}],
|
|
489
498
|
style: {
|
|
490
499
|
paddingLeft: `${level * indent}px`
|
|
491
500
|
}
|
|
492
501
|
}, [showIcon && (lazy ? isLazyLoaded ? hasChild : hasLazyChilds : hasChild) ? [h('div', {
|
|
493
502
|
class: 'vxe-tree--btn-wrapper',
|
|
494
|
-
on
|
|
503
|
+
on: ons
|
|
495
504
|
}, [h('i', {
|
|
496
|
-
class: ['vxe-tree--node-btn', isLazyLoading ? iconLoaded || getIcon().TABLE_TREE_LOADED :
|
|
505
|
+
class: ['vxe-tree--node-btn', isLazyLoading ? iconLoaded || getIcon().TABLE_TREE_LOADED : isActive ? iconOpen || getIcon().TABLE_TREE_OPEN : iconClose || getIcon().TABLE_TREE_CLOSE]
|
|
497
506
|
})])] : null, h('div', {
|
|
498
507
|
class: 'vxe-tree-cell'
|
|
499
508
|
}, cellVNodes)])];
|
|
@@ -516,10 +525,11 @@ const Cell = exports.Cell = {
|
|
|
516
525
|
$table,
|
|
517
526
|
column
|
|
518
527
|
} = params;
|
|
528
|
+
const tableProps = $table;
|
|
519
529
|
const {
|
|
520
|
-
treeConfig
|
|
521
|
-
|
|
522
|
-
|
|
530
|
+
treeConfig
|
|
531
|
+
} = tableProps;
|
|
532
|
+
const seqOpts = $table.computeSeqOpts;
|
|
523
533
|
const {
|
|
524
534
|
slots
|
|
525
535
|
} = column;
|
|
@@ -558,10 +568,11 @@ const Cell = exports.Cell = {
|
|
|
558
568
|
column,
|
|
559
569
|
isHidden
|
|
560
570
|
} = params;
|
|
571
|
+
const tableReactData = $table;
|
|
561
572
|
const {
|
|
562
|
-
radioOpts,
|
|
563
573
|
selectRadioRow
|
|
564
|
-
} =
|
|
574
|
+
} = tableReactData;
|
|
575
|
+
const radioOpts = $table.computeRadioOpts;
|
|
565
576
|
const {
|
|
566
577
|
slots
|
|
567
578
|
} = column;
|
|
@@ -634,25 +645,24 @@ const Cell = exports.Cell = {
|
|
|
634
645
|
column,
|
|
635
646
|
isHidden
|
|
636
647
|
} = params;
|
|
648
|
+
const tableReactData = $table;
|
|
637
649
|
const {
|
|
638
650
|
isAllSelected: isAllCheckboxSelected,
|
|
639
|
-
isIndeterminate: isAllCheckboxIndeterminate
|
|
640
|
-
|
|
641
|
-
|
|
651
|
+
isIndeterminate: isAllCheckboxIndeterminate
|
|
652
|
+
} = tableReactData;
|
|
653
|
+
const isAllCheckboxDisabled = $table.computeIsAllCheckboxDisabled;
|
|
642
654
|
const {
|
|
643
655
|
slots
|
|
644
656
|
} = column;
|
|
645
657
|
const headerSlot = slots ? slots.header : null;
|
|
646
658
|
const titleSlot = slots ? slots.title : null;
|
|
647
|
-
const checkboxOpts = $table.
|
|
659
|
+
const checkboxOpts = $table.computeCheckboxOpts;
|
|
648
660
|
const headerTitle = column.getTitle();
|
|
649
|
-
|
|
661
|
+
const ons = {};
|
|
650
662
|
if (!isHidden) {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
$table.triggerCheckAllEvent(evnt, !isAllCheckboxSelected);
|
|
655
|
-
}
|
|
663
|
+
ons.click = evnt => {
|
|
664
|
+
if (!isAllCheckboxDisabled) {
|
|
665
|
+
$table.triggerCheckAllEvent(evnt, !isAllCheckboxSelected);
|
|
656
666
|
}
|
|
657
667
|
};
|
|
658
668
|
}
|
|
@@ -678,7 +688,7 @@ const Cell = exports.Cell = {
|
|
|
678
688
|
attrs: {
|
|
679
689
|
title: getI18n('vxe.table.allTitle')
|
|
680
690
|
},
|
|
681
|
-
on
|
|
691
|
+
on: ons
|
|
682
692
|
}, [h('span', {
|
|
683
693
|
class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
684
694
|
})].concat(titleSlot || headerTitle ? [h('span', {
|
|
@@ -692,16 +702,21 @@ const Cell = exports.Cell = {
|
|
|
692
702
|
column,
|
|
693
703
|
isHidden
|
|
694
704
|
} = params;
|
|
705
|
+
const tableProps = $table;
|
|
706
|
+
const tableReactData = $table;
|
|
695
707
|
const {
|
|
696
|
-
treeConfig
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
708
|
+
treeConfig
|
|
709
|
+
} = tableProps;
|
|
710
|
+
const {
|
|
711
|
+
selectCheckboxMaps,
|
|
712
|
+
treeIndeterminateMaps
|
|
713
|
+
} = tableReactData;
|
|
714
|
+
const checkboxOpts = $table.computeCheckboxOpts;
|
|
700
715
|
const {
|
|
701
716
|
labelField,
|
|
702
717
|
checkMethod,
|
|
703
718
|
visibleMethod
|
|
704
|
-
} =
|
|
719
|
+
} = checkboxOpts;
|
|
705
720
|
const {
|
|
706
721
|
slots
|
|
707
722
|
} = column;
|
|
@@ -713,15 +728,13 @@ const Cell = exports.Cell = {
|
|
|
713
728
|
row
|
|
714
729
|
});
|
|
715
730
|
let isDisabled = !!checkMethod;
|
|
716
|
-
|
|
731
|
+
const ons = {};
|
|
717
732
|
if (!isHidden) {
|
|
718
733
|
const rowid = (0, _util.getRowid)($table, row);
|
|
719
734
|
isChecked = !!selectCheckboxMaps[rowid];
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
724
|
-
}
|
|
735
|
+
ons.click = evnt => {
|
|
736
|
+
if (!isDisabled && isVisible) {
|
|
737
|
+
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
725
738
|
}
|
|
726
739
|
};
|
|
727
740
|
if (checkMethod) {
|
|
@@ -760,7 +773,7 @@ const Cell = exports.Cell = {
|
|
|
760
773
|
'is--indeterminate': indeterminate,
|
|
761
774
|
'is--hidden': !isVisible
|
|
762
775
|
}],
|
|
763
|
-
on
|
|
776
|
+
on: ons
|
|
764
777
|
}, checkVNs)]);
|
|
765
778
|
},
|
|
766
779
|
renderTreeSelectionCell(h, params) {
|
|
@@ -773,11 +786,15 @@ const Cell = exports.Cell = {
|
|
|
773
786
|
column,
|
|
774
787
|
isHidden
|
|
775
788
|
} = params;
|
|
789
|
+
const tableProps = $table;
|
|
790
|
+
const tableReactData = $table;
|
|
776
791
|
const {
|
|
777
|
-
treeConfig
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
792
|
+
treeConfig
|
|
793
|
+
} = tableProps;
|
|
794
|
+
const {
|
|
795
|
+
treeIndeterminateMaps
|
|
796
|
+
} = tableReactData;
|
|
797
|
+
const checkboxOpts = $table.computeCheckboxOpts;
|
|
781
798
|
const {
|
|
782
799
|
labelField,
|
|
783
800
|
checkField,
|
|
@@ -796,15 +813,13 @@ const Cell = exports.Cell = {
|
|
|
796
813
|
row
|
|
797
814
|
});
|
|
798
815
|
let isDisabled = !!checkMethod;
|
|
799
|
-
|
|
816
|
+
const ons = {};
|
|
800
817
|
if (!isHidden) {
|
|
801
818
|
const rowid = (0, _util.getRowid)($table, row);
|
|
802
819
|
isChecked = _xeUtils.default.get(row, checkField);
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
807
|
-
}
|
|
820
|
+
ons.click = evnt => {
|
|
821
|
+
if (!isDisabled && isVisible) {
|
|
822
|
+
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
808
823
|
}
|
|
809
824
|
};
|
|
810
825
|
if (checkMethod) {
|
|
@@ -843,7 +858,7 @@ const Cell = exports.Cell = {
|
|
|
843
858
|
'is--indeterminate': indeterminateField && !isChecked ? row[indeterminateField] : isIndeterminate,
|
|
844
859
|
'is--hidden': !isVisible
|
|
845
860
|
}],
|
|
846
|
-
on
|
|
861
|
+
on: ons
|
|
847
862
|
}, checkVNs)]);
|
|
848
863
|
},
|
|
849
864
|
renderTreeSelectionCellByProp(h, params) {
|
|
@@ -859,11 +874,12 @@ const Cell = exports.Cell = {
|
|
|
859
874
|
row,
|
|
860
875
|
column
|
|
861
876
|
} = params;
|
|
877
|
+
const tableReactData = $table;
|
|
862
878
|
const {
|
|
863
|
-
expandOpts,
|
|
864
879
|
rowExpandedMaps,
|
|
865
880
|
rowExpandLazyLoadedMaps
|
|
866
|
-
} =
|
|
881
|
+
} = tableReactData;
|
|
882
|
+
const expandOpts = $table.computeExpandOpts;
|
|
867
883
|
const {
|
|
868
884
|
lazy,
|
|
869
885
|
labelField,
|
|
@@ -877,21 +893,22 @@ const Cell = exports.Cell = {
|
|
|
877
893
|
slots
|
|
878
894
|
} = column;
|
|
879
895
|
const defaultSlot = slots ? slots.default : null;
|
|
880
|
-
|
|
896
|
+
const iconSlot = slots ? slots.icon : null;
|
|
897
|
+
let isActive = false;
|
|
881
898
|
let isLazyLoading = false;
|
|
882
|
-
if (
|
|
883
|
-
return renderCellBaseVNs(h, params, $table.callSlot(
|
|
899
|
+
if (iconSlot) {
|
|
900
|
+
return renderCellBaseVNs(h, params, $table.callSlot(iconSlot, params, h));
|
|
884
901
|
}
|
|
885
902
|
if (!isHidden) {
|
|
886
903
|
const rowid = (0, _util.getRowid)($table, row);
|
|
887
|
-
|
|
904
|
+
isActive = !!rowExpandedMaps[rowid];
|
|
888
905
|
if (lazy) {
|
|
889
906
|
isLazyLoading = !!rowExpandLazyLoadedMaps[rowid];
|
|
890
907
|
}
|
|
891
908
|
}
|
|
892
909
|
return renderCellBaseVNs(h, params, [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
|
|
893
910
|
class: ['vxe-table--expanded', {
|
|
894
|
-
'is--active':
|
|
911
|
+
'is--active': isActive
|
|
895
912
|
}],
|
|
896
913
|
on: {
|
|
897
914
|
click(evnt) {
|
|
@@ -899,7 +916,7 @@ const Cell = exports.Cell = {
|
|
|
899
916
|
}
|
|
900
917
|
}
|
|
901
918
|
}, [h('i', {
|
|
902
|
-
class: ['vxe-table--expand-btn', isLazyLoading ? iconLoaded || getIcon().TABLE_EXPAND_LOADED :
|
|
919
|
+
class: ['vxe-table--expand-btn', isLazyLoading ? iconLoaded || getIcon().TABLE_EXPAND_LOADED : isActive ? iconOpen || getIcon().TABLE_EXPAND_OPEN : iconClose || getIcon().TABLE_EXPAND_CLOSE]
|
|
903
920
|
})]) : renderEmptyElement($table), defaultSlot || labelField ? h('span', {
|
|
904
921
|
class: 'vxe-table--expand-label'
|
|
905
922
|
}, defaultSlot ? $table.callSlot(defaultSlot, params, h) : _xeUtils.default.get(row, labelField)) : renderEmptyElement($table)]);
|
|
@@ -1014,10 +1031,11 @@ const Cell = exports.Cell = {
|
|
|
1014
1031
|
column,
|
|
1015
1032
|
hasFilter
|
|
1016
1033
|
} = params;
|
|
1034
|
+
const tableReactData = $table;
|
|
1017
1035
|
const {
|
|
1018
|
-
filterStore
|
|
1019
|
-
|
|
1020
|
-
|
|
1036
|
+
filterStore
|
|
1037
|
+
} = tableReactData;
|
|
1038
|
+
const filterOpts = $table.computeFilterOpts;
|
|
1021
1039
|
const {
|
|
1022
1040
|
showIcon,
|
|
1023
1041
|
iconNone,
|
|
@@ -1049,14 +1067,14 @@ const Cell = exports.Cell = {
|
|
|
1049
1067
|
$table,
|
|
1050
1068
|
column
|
|
1051
1069
|
} = params;
|
|
1070
|
+
const tableProps = $table;
|
|
1052
1071
|
const {
|
|
1053
1072
|
editConfig,
|
|
1054
|
-
editRules
|
|
1055
|
-
|
|
1056
|
-
|
|
1073
|
+
editRules
|
|
1074
|
+
} = tableProps;
|
|
1075
|
+
const editOpts = $table.computeEditOpts;
|
|
1057
1076
|
const {
|
|
1058
1077
|
sortable,
|
|
1059
|
-
remoteSort,
|
|
1060
1078
|
filters,
|
|
1061
1079
|
editRender
|
|
1062
1080
|
} = column;
|
|
@@ -1075,7 +1093,7 @@ const Cell = exports.Cell = {
|
|
|
1075
1093
|
class: ['vxe-cell--edit-icon', editOpts.icon || getIcon().TABLE_EDIT]
|
|
1076
1094
|
}) : renderEmptyElement($table)];
|
|
1077
1095
|
}
|
|
1078
|
-
return renderHeaderCellBaseVNs(h, params, editIconVNs.concat(Cell.renderHeaderTitle(h, params)).concat(sortable
|
|
1096
|
+
return renderHeaderCellBaseVNs(h, params, editIconVNs.concat(Cell.renderHeaderTitle(h, params)).concat(sortable ? Cell.renderSortIcon(h, params) : []).concat(filters ? Cell.renderFilterIcon(h, params) : []));
|
|
1079
1097
|
},
|
|
1080
1098
|
// 行格编辑模式
|
|
1081
1099
|
renderRowEdit(h, params) {
|
|
@@ -1083,12 +1101,16 @@ const Cell = exports.Cell = {
|
|
|
1083
1101
|
$table,
|
|
1084
1102
|
column
|
|
1085
1103
|
} = params;
|
|
1104
|
+
const tableReactData = $table;
|
|
1086
1105
|
const {
|
|
1087
|
-
|
|
1088
|
-
} =
|
|
1106
|
+
editStore
|
|
1107
|
+
} = tableReactData;
|
|
1089
1108
|
const {
|
|
1090
1109
|
actived
|
|
1091
|
-
} =
|
|
1110
|
+
} = editStore;
|
|
1111
|
+
const {
|
|
1112
|
+
editRender
|
|
1113
|
+
} = column;
|
|
1092
1114
|
return Cell.runRenderer(h, params, this, (0, _utils.isEnableConf)(editRender) && actived && actived.row === params.row);
|
|
1093
1115
|
},
|
|
1094
1116
|
renderTreeRowEdit(h, params) {
|
|
@@ -1100,12 +1122,16 @@ const Cell = exports.Cell = {
|
|
|
1100
1122
|
$table,
|
|
1101
1123
|
column
|
|
1102
1124
|
} = params;
|
|
1125
|
+
const tableReactData = $table;
|
|
1103
1126
|
const {
|
|
1104
|
-
|
|
1105
|
-
} =
|
|
1127
|
+
editStore
|
|
1128
|
+
} = tableReactData;
|
|
1106
1129
|
const {
|
|
1107
1130
|
actived
|
|
1108
|
-
} =
|
|
1131
|
+
} = editStore;
|
|
1132
|
+
const {
|
|
1133
|
+
editRender
|
|
1134
|
+
} = column;
|
|
1109
1135
|
return Cell.runRenderer(h, params, this, (0, _utils.isEnableConf)(editRender) && actived && actived.row === params.row && actived.column === params.column);
|
|
1110
1136
|
},
|
|
1111
1137
|
renderTreeCellEdit(h, params) {
|