vxe-table 3.11.13 → 3.11.14
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/ar-EG.js +678 -0
- package/es/locale/lang/de-DE.js +678 -0
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +678 -0
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +678 -0
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +678 -0
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/ug-CN.js +678 -0
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +2 -2
- package/es/table/module/export/mixin.js +4 -1
- package/es/table/module/keyboard/mixin.js +2 -2
- package/es/table/src/body.js +15 -4
- package/es/table/src/methods.js +93 -13
- package/es/table/src/table.js +14 -6
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +165 -38
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +684 -0
- package/lib/locale/lang/ar-EG.min.js +1 -0
- package/lib/locale/lang/de-DE.js +684 -0
- package/lib/locale/lang/de-DE.min.js +1 -0
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +684 -0
- package/lib/locale/lang/fr-FR.min.js +1 -0
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +684 -0
- package/lib/locale/lang/hy-AM.min.js +1 -0
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +684 -0
- package/lib/locale/lang/nb-NO.min.js +1 -0
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/ug-CN.js +684 -0
- package/lib/locale/lang/ug-CN.min.js +1 -0
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +2 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +4 -1
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -2
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/body.js +17 -4
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +120 -16
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +16 -10
- package/lib/table/src/table.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 +2 -2
- package/packages/locale/lang/ar-EG.ts +678 -0
- package/packages/locale/lang/de-DE.ts +678 -0
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +678 -0
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +678 -0
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +678 -0
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +678 -0
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/edit/mixin.ts +2 -2
- package/packages/table/module/export/mixin.ts +4 -1
- package/packages/table/module/keyboard/mixin.ts +2 -2
- package/packages/table/src/body.ts +14 -4
- package/packages/table/src/methods.ts +97 -14
- package/packages/table/src/table.ts +14 -6
- /package/es/{iconfont.1732856009240.ttf → iconfont.1733097092605.ttf} +0 -0
- /package/es/{iconfont.1732856009240.woff → iconfont.1733097092605.woff} +0 -0
- /package/es/{iconfont.1732856009240.woff2 → iconfont.1733097092605.woff2} +0 -0
- /package/lib/{iconfont.1732856009240.ttf → iconfont.1733097092605.ttf} +0 -0
- /package/lib/{iconfont.1732856009240.woff → iconfont.1733097092605.woff} +0 -0
- /package/lib/{iconfont.1732856009240.woff2 → iconfont.1733097092605.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.property||-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}function getLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:f,columnOpts:g}=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)||g.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]=_xeUtils.default.toValueString(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&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)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]=_xeUtils.default.toValueString(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getLabelData(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.property: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:g,isHeader:x,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let E=[`<table class="${["vxe-table","border--"+toTableBorder(l),g?"is--print":"",x?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];x&&(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 ${g?"":`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 ${g?"":`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 ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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 ${g?"":`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),g?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.property;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,g=s,x=!g&&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.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===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:x,hasTree:g,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(e){let{$xegrid:i,isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:r,treeConfig:o,treeOpts:n,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},e);var{type:e,mode:c,columns:p,original:u,beforeExportMethod:m}=d;let h=[];p=p&&p.length?p:null;let f=d.columnFilterMethod,g=(p||(f=f||(u?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=p?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(p,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.property||e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.property===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)&&(!f||f({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!f||f({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||g.push(e)},{children:"childNodes"}),d.columns=g,d.colgroups=convertToRows(h),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),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(d.print||m&&m({options:d,$table:this,$grid:i}),!d.data)if(d.data=[],"selected"===c){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&o?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},n,{data:"_row"})):d.data=t}else if("all"===c){if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),i&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=i.proxyOpts;u=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||u||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),u){let t={$table:this,$grid:i,sort:i.sortData,filters:i.filterData,form:i.formData,target:u,options:d};return Promise.resolve((e||u)(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"===c&&(d.data=r);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.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.property||-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}function getLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:g,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=g.labelField?_xeUtils.default.get(d,g.labelField):"",i._checkboxDisabled=g.checkMethod&&!g.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]=_xeUtils.default.toValueString(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&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)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=g.labelField?_xeUtils.default.get(i,g.labelField):"",s._checkboxDisabled=g.checkMethod&&!g.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]=_xeUtils.default.toValueString(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getLabelData(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.property: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:g}=d,{print:x,isHeader:f,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="check-all";let E=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",f?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];f&&(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(_&&g.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(g,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.property;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(),g=!!n.length,x=s,f=!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.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===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:g,hasMerge:f,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(e){let{$xegrid:i,isGroup:t,tableGroupColumn:l,tableFullColumn:a,afterFullData:r,treeConfig:o,treeOpts:n,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},e);var{type:e,mode:c,columns:p,original:u,beforeExportMethod:m}=d;let h=[];p=p&&p.length?p:null;let g=d.columnFilterMethod,x=(p||(g=g||(u?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=p?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(p,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.property||e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.property===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)&&(!g||g({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?l:a,(e,t)=>e.visible&&(!g||g({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),d.columns=x,d.colgroups=convertToRows(h),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),e))return(0,_log.errLog)("vxe.error.notType",[e]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(e)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(d.print||m&&m({options:d,$table:this,$grid:i}),!d.data)if(d.data=[],"selected"===c){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&o?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},n,{data:"_row"})):d.data=t}else if("all"===c){if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),i&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=i.proxyOpts;u=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||u||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),u){let t={$table:this,$grid:i,sort:i.sortData,filters:i.filterData,form:i.formData,target:u,options:d};return Promise.resolve((e||u)(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"===c&&(d.data=r);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)}}};
|
|
@@ -257,8 +257,8 @@ var _default = exports.default = {
|
|
|
257
257
|
mouseConfig,
|
|
258
258
|
mouseOpts
|
|
259
259
|
} = this;
|
|
260
|
-
if (mouseConfig && mouseOpts.area && this.
|
|
261
|
-
return this.
|
|
260
|
+
if (mouseConfig && mouseOpts.area && this.handleMousedownCellAreaEvent) {
|
|
261
|
+
return this.handleMousedownCellAreaEvent(evnt, params);
|
|
262
262
|
} else {
|
|
263
263
|
if (checkboxConfig && checkboxOpts.range) {
|
|
264
264
|
this.handleCheckboxRangeEvent(evnt, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let o=0,l=0;var n,r,s=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(s&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,s&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:o,offsetLeft:l}}function getCheckboxRangeRows(e,t,o,l,n,r,s){let i=0,a=[],d=0;var c=0<s,h=e.scrollYLoad,{afterFullData:u,scrollYStore:g}=e;if(h){d=c?r+s:n.height-r+Math.abs(s);h=e.getVTRowIndex(o.row);a=c?u.slice(h,h+Math.ceil(d/g.rowHeight)):u.slice(h-Math.floor(d/g.rowHeight),h+1)}else{d=c?t.clientY-n.y:n.y-t.clientY+n.height;for(var f=c?"next":"previous";l&&i<d;){var m=e.getRowNode(l);m&&(a.push(m.item),i+=l.offsetHeight,l=l[f+"ElementSibling"])}}return a}var _default=exports.default={methods:{moveTabSelected(e,t,o){var{afterFullData:l,visibleColumn:n,editConfig:r,editOpts:s}=this;let i,a,d,c=Object.assign({},e);var e=this.getVTRowIndex(c.row),h=this.getVTColumnIndex(c.column),t=(o.preventDefault(),t?h<=0?0<e&&(a=e-1,i=l[a],d=n.length-1):d=h-1:h>=n.length-1?e<l.length-1&&(a=e+1,i=l[a],d=0):d=h+1,n[d]);t&&(i?(c.rowIndex=a,c.row=i):c.rowIndex=e,c.columnIndex=d,c.column=t,c.cell=this.getCellElement(c.row,c.column),r?"click"!==s.trigger&&"dblclick"!==s.trigger||("row"===s.mode?this.handleEdit(c,o):this.scrollToRow(c.row,c.column).then(()=>this.handleSelected(c,o))):this.scrollToRow(c.row,c.column).then(()=>this.handleSelected(c,o)))},moveCurrentRow(e,t,o){let{currentRow:l,treeConfig:n,treeOpts:r,afterFullData:s}=this;var i,a=r.children||r.childrenField;let d;if(o.preventDefault(),l?n?({index:a,items:i}=_xeUtils.default.findTree(s,e=>e===l,{children:a}),e&&0<a?d=i[a-1]:t&&a<i.length-1&&(d=i[a+1])):(i=this.getVTRowIndex(l),e&&0<i?d=s[i-1]:t&&i<s.length-1&&(d=s[i+1])):d=s[0],d){let e={$table:this,row:d};this.scrollToRow(d).then(()=>this.triggerCurrentRowEvent(o,e))}},moveSelected(e,t,o,l,n,r){var{afterFullData:s,visibleColumn:i}=this;let a=Object.assign({},e);var e=this.getVTRowIndex(a.row),d=this.getVTColumnIndex(a.column);r.preventDefault(),o&&0<e?(a.rowIndex=e-1,a.row=s[a.rowIndex]):n&&e<s.length-1?(a.rowIndex=e+1,a.row=s[a.rowIndex]):t&&d?(a.columnIndex=d-1,a.column=i[a.columnIndex]):l&&d<i.length-1&&(a.columnIndex=d+1,a.column=i[a.columnIndex]),this.scrollToRow(a.row,a.column).then(()=>{a.cell=this.getCellElement(a.row,a.column),this.handleSelected(a,r)})},triggerHeaderCellMousedownEvent(e,t){var o,{mouseConfig:l,mouseOpts:n}=this;l&&n.area&&this.handleHeaderCellAreaEvent&&(l=e.currentTarget,n=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--filter").flag,this.handleHeaderCellAreaEvent(e,Object.assign({cell:l,triggerSort:n,triggerFilter:o},t))),this.focus(),this.closeMenu()},triggerCellMousedownEvent(e,t){var o=e.currentTarget;t.cell=o,this.handleCellMousedownEvent(e,t),this.focus(),this.closeFilter(),this.closeMenu()},handleCellMousedownEvent(e,t){var{editConfig:o,editOpts:l,handleSelected:n,checkboxConfig:r,checkboxOpts:s,mouseConfig:i,mouseOpts:a}=this;if(i&&a.area&&this.handleMousedownCellAreaEvent)return this.handleMousedownCellAreaEvent(e,t);r&&s.range&&this.handleCheckboxRangeEvent(e,t),i&&a.selected&&(o&&"cell"!==l.mode||n(t,e))},handleCheckboxRangeEvent(n,y){var{column:r,cell:M}=y;if("checkbox"===r.type){let{$el:t,elemStore:e}=this,i=n.clientX,a=n.clientY,d=e[`${r.fixed||"main"}-body-wrapper`]||e["main-body-wrapper"],c=d.querySelector(".vxe-table--checkbox-range"),o=document.onmousemove,l=document.onmouseup,h=M.parentNode,u=this.getCheckboxRecords(),g=[],f=1;r=getTargetOffset(n.target,d);let m=r.offsetTop+n.offsetY,v=r.offsetLeft+n.offsetX,x=d.scrollTop,s=h.offsetHeight,p=h.getBoundingClientRect(),w=a-p.y,b=null,C=!1,T=1,R=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},_=e=>{var{clientX:t,clientY:o}=e,t=t-i,o=o-a+(d.scrollTop-x);let l=Math.abs(o),n=Math.abs(t),r=m,s=v;o<f?(r+=o)<f&&(r=f,l=m):l=Math.min(l,d.scrollHeight-m-f),t<f?(s+=t,n>v&&(s=f,n=v)):n=Math.min(n,d.clientWidth-v-f),c.style.height=l+"px",c.style.width=n+"px",c.style.left=s+"px",c.style.top=r+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,y,h,p,w,o<f?-l:l);10<l&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{this.handleSelectRow({row:e},-1===u.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},k=()=>{clearTimeout(b),b=null},E=r=>{k(),b=setTimeout(()=>{var e,t,o,l,n;b&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=d,n=Math.ceil(50*T/s),C?t+o<l?(this.scrollTo(e,t+n),E(r),_(r)):k():t?(this.scrollTo(e,t-n),E(r),_(r)):k())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,o=(0,_dom.getAbsolutePos)(d).boundingTop;t<o?(C=!1,T=o-t,b||E(e)):t>o+d.clientHeight?(C=!0,T=t-o-d.clientHeight,b||E(e)):b&&k(),_(e)},document.onmouseup=e=>{k(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=o,document.onmouseup=l,R("end",e)},R("start",n)}}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -386,12 +386,15 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
386
386
|
columnOpts,
|
|
387
387
|
isDragColMove
|
|
388
388
|
} = $xeTable;
|
|
389
|
+
const {
|
|
390
|
+
transform,
|
|
391
|
+
seqMode
|
|
392
|
+
} = treeOpts;
|
|
389
393
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
390
394
|
const rows = [];
|
|
391
395
|
tableData.forEach((row, $rowIndex) => {
|
|
392
396
|
const trOn = {};
|
|
393
397
|
let rowIndex = $rowIndex;
|
|
394
|
-
const _rowIndex = $xeTable.getVTRowIndex(row);
|
|
395
398
|
// 确保任何情况下 rowIndex 都精准指向真实 data 索引
|
|
396
399
|
rowIndex = $xeTable.getRowIndex(row);
|
|
397
400
|
// 当前行事件
|
|
@@ -414,8 +417,18 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
414
417
|
}
|
|
415
418
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
416
419
|
const rest = fullAllDataRowIdData[rowid];
|
|
417
|
-
|
|
418
|
-
|
|
420
|
+
let rowLevel = 0;
|
|
421
|
+
let seq = -1;
|
|
422
|
+
let _rowIndex = 0;
|
|
423
|
+
if (rest) {
|
|
424
|
+
rowLevel = rest.level;
|
|
425
|
+
if (treeConfig && transform && seqMode === 'increasing') {
|
|
426
|
+
seq = rest._index + 1;
|
|
427
|
+
} else {
|
|
428
|
+
seq = rest.seq;
|
|
429
|
+
}
|
|
430
|
+
_rowIndex = rest._index;
|
|
431
|
+
}
|
|
419
432
|
const params = {
|
|
420
433
|
$table: $xeTable,
|
|
421
434
|
seq,
|
|
@@ -454,7 +467,7 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
454
467
|
};
|
|
455
468
|
}
|
|
456
469
|
const trClass = ['vxe-body--row', treeConfig ? `row--level-${rowLevel}` : '', {
|
|
457
|
-
'row--stripe': stripe && (
|
|
470
|
+
'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
|
|
458
471
|
'is--new': isNewRow,
|
|
459
472
|
'is--expand-row': isExpandRow,
|
|
460
473
|
'is--expand-tree': isExpandTree,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:V,height:g,columnKey:F,overflowX:h,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:P,showOverflow:X,isAllOverflow:j,align:z,currentColumn:K,cellClassName:G,cellStyle:m,mergeList:w,spanMethod:J,radioOpts:Q,checkboxOpts:x,expandOpts:Z,treeOpts:ee,tooltipOpts:y,mouseConfig:le,editConfig:f,editOpts:b,editRules:S,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let I=y.showAll||y.enabled;var y=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let D=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?X:O,O="ellipsis"===h;let L="title"===h,k=!0===h||"tooltip"===h;h=L||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=S&&T.showMessage&&("default"===T.message?g||1<V.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];S=$&&f&&"dblclick"===b.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:y,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:V,items:q};if((L||k||I||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(L?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||I)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||I||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||I)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(x.range||le)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&f||"row"===Z.trigger||"cell"===Z.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===x.trigger||"checkbox"===d.type&&"cell"===x.trigger||"row"===ee.trigger||d.treeNode&&"cell"===ee.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(S||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),w.length){g=(0,_util.mergeBodyMethod)(w,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(D=D&&w&&(1<C.colspan||1<C.rowspan)?!1:D)&&f&&($||de)&&(b.showStatus||b.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));y=[];D&&X&&j?y.push(e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(y.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:L?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),y.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!N&&!W||h||(be=`${A.height||24}px`),le&&ae.area&&_&&((c||!0!==_)&&_!==d.field||y.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":D,"col--dirty":xe,"col--active":f&&we&&te.row===a&&(te.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":K===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(G,Y)],key:F||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(m)?m(Y):m),on:M},y)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:I,expandOpts:D,editOpts:L,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:V,pendingRowList:F,pendingRowMaps:N,columnOpts:W,isDragColMove:P}=x,X=I.children||I.childrenField,j=[];return f.forEach((t,r)=>{var e={};let o,s=x.getVTRowIndex(t),a=(o=x.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=A[a];let i=l?l.level:0,n=l?l.seq:-1;var l={$table:x,seq:n,rowid:a,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[a];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||I.transform||(p=t[X],c=p&&p.length&&!!k[a]),V.drag&&!i&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)});var g,h=["vxe-body--row",R?"row--level-"+i:"",{"row--stripe":S&&(x.getVTRowIndex(t)+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(L.showStatus||L.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":F.length&&!!N[a]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,n,a,y,i,t,o,r,s,e,l,b,f));j.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,on:e},v)),d&&({height:h,padding:l}=D,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=i*I.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:n,column:U,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},j.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&j.push(...renderRows(m,w,x,y,p,b))}),j}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?l():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,m=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:m,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:F,height:g,columnKey:N,overflowX:h,sYOpts:v,scrollXLoad:V,scrollYLoad:W,highlightCurrentRow:P,showOverflow:X,isAllOverflow:j,align:z,currentColumn:K,cellClassName:G,cellStyle:m,mergeList:w,spanMethod:J,radioOpts:Q,checkboxOpts:x,expandOpts:Z,treeOpts:ee,tooltipOpts:y,mouseConfig:le,editConfig:f,editOpts:b,editRules:S,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let D=y.showAll||y.enabled;var y=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let L=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?X:O,O="ellipsis"===h;let I="title"===h,k=!0===h||"tooltip"===h;h=I||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=S&&T.showMessage&&("default"===T.message?g||1<F.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];S=$&&f&&"dblclick"===b.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:y,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:L,level:s,visibleData:u,data:F,items:q};if((I||k||D||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||D)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||D||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||D)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(x.range||le)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&f||"row"===Z.trigger||"cell"===Z.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===x.trigger||"checkbox"===d.type&&"cell"===x.trigger||"row"===ee.trigger||d.treeNode&&"cell"===ee.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(S||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),w.length){g=(0,_util.mergeBodyMethod)(w,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(L=L&&w&&(1<C.colspan||1<C.rowspan)?!1:L)&&f&&($||de)&&(b.showStatus||b.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));y=[];L&&X&&j?y.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(y.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),y.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!V&&!W||h||(be=`${A.height||24}px`),le&&ae.area&&_&&((c||!0!==_)&&_!==d.field||y.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":L,"col--dirty":xe,"col--active":f&&we&&te.row===a&&(te.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":K===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(G,Y)],key:N||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(m)?m(Y):m),on:M},y)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:D,expandOpts:L,editOpts:I,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:F,pendingRowList:N,pendingRowMaps:V,columnOpts:W,isDragColMove:P}=x,{transform:X,seqMode:j}=D,z=D.children||D.childrenField,K=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(F.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=A[s];let a=0,i=-1,n=0;l&&(a=l.level,i=R&&X&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[s];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||D.transform||(p=t[z],c=p&&p.length&&!!k[s]),F.drag&&!a&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)});var g,h=["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":S&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(I.showStatus||I.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":N.length&&!!V[s]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,i,s,y,a,t,o,r,n,e,l,b,f));K.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,on:e},v)),d&&({height:h,padding:l}=L,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=a*D.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:i,column:U,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&K.push(...renderRows(m,w,x,y,p,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?l():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,m=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:m,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -572,16 +572,15 @@ function handleRecalculateLayout($xeTable, reFull) {
|
|
|
572
572
|
}
|
|
573
573
|
$xeTable.calcCellWidth();
|
|
574
574
|
$xeTable.autoCellWidth();
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
575
|
+
return $xeTable.computeScrollLoad().then(() => {
|
|
576
|
+
if (reFull === true) {
|
|
577
|
+
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
578
578
|
calcCellHeight($xeTable);
|
|
579
579
|
$xeTable.calcCellWidth();
|
|
580
580
|
$xeTable.autoCellWidth();
|
|
581
581
|
return $xeTable.computeScrollLoad();
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
return $xeTable.computeScrollLoad();
|
|
582
|
+
}
|
|
583
|
+
});
|
|
585
584
|
}
|
|
586
585
|
function checkLastSyncScroll($xeTable, isRollX, isRollY) {
|
|
587
586
|
const reactData = $xeTable;
|
|
@@ -1950,6 +1949,11 @@ const Methods = {
|
|
|
1950
1949
|
* @returns
|
|
1951
1950
|
*/
|
|
1952
1951
|
handleVirtualTreeToList() {
|
|
1952
|
+
const $xeTable = this;
|
|
1953
|
+
const internalData = $xeTable;
|
|
1954
|
+
const {
|
|
1955
|
+
fullAllDataRowIdData
|
|
1956
|
+
} = internalData;
|
|
1953
1957
|
const {
|
|
1954
1958
|
treeOpts,
|
|
1955
1959
|
treeConfig,
|
|
@@ -1965,6 +1969,10 @@ const Methods = {
|
|
|
1965
1969
|
const rowid = (0, _util.getRowid)(this, row);
|
|
1966
1970
|
const parentRowid = (0, _util.getRowid)(this, parent);
|
|
1967
1971
|
if (!parent || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
|
|
1972
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
1973
|
+
if (rowRest) {
|
|
1974
|
+
rowRest._index = fullData.length;
|
|
1975
|
+
}
|
|
1968
1976
|
expandMaps[rowid] = 1;
|
|
1969
1977
|
fullData.push(row);
|
|
1970
1978
|
}
|
|
@@ -2188,24 +2196,69 @@ const Methods = {
|
|
|
2188
2196
|
this.afterTreeFullData = tableTree;
|
|
2189
2197
|
this.updateAfterDataIndex();
|
|
2190
2198
|
},
|
|
2199
|
+
updateTreeDataIndex() {
|
|
2200
|
+
const $xeTable = this;
|
|
2201
|
+
const props = $xeTable;
|
|
2202
|
+
const internalData = $xeTable;
|
|
2203
|
+
const {
|
|
2204
|
+
treeConfig
|
|
2205
|
+
} = props;
|
|
2206
|
+
const {
|
|
2207
|
+
afterFullData,
|
|
2208
|
+
fullDataRowIdData,
|
|
2209
|
+
fullAllDataRowIdData
|
|
2210
|
+
} = internalData;
|
|
2211
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
2212
|
+
if (treeConfig) {
|
|
2213
|
+
if (treeOpts.transform) {
|
|
2214
|
+
afterFullData.forEach((row, index) => {
|
|
2215
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2216
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
2217
|
+
if (rowRest) {
|
|
2218
|
+
rowRest._index = index;
|
|
2219
|
+
} else {
|
|
2220
|
+
const rest = {
|
|
2221
|
+
row,
|
|
2222
|
+
rowid,
|
|
2223
|
+
seq: '-1',
|
|
2224
|
+
index: -1,
|
|
2225
|
+
$index: -1,
|
|
2226
|
+
_index: index,
|
|
2227
|
+
items: [],
|
|
2228
|
+
parent: null,
|
|
2229
|
+
level: 0,
|
|
2230
|
+
height: 0
|
|
2231
|
+
};
|
|
2232
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
2233
|
+
fullDataRowIdData[rowid] = rest;
|
|
2234
|
+
}
|
|
2235
|
+
});
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2191
2239
|
/**
|
|
2192
2240
|
* 预编译
|
|
2193
2241
|
* 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
|
|
2194
2242
|
*/
|
|
2195
2243
|
updateAfterDataIndex() {
|
|
2244
|
+
const $xeTable = this;
|
|
2245
|
+
const props = $xeTable;
|
|
2246
|
+
const internalData = $xeTable;
|
|
2247
|
+
const {
|
|
2248
|
+
treeConfig
|
|
2249
|
+
} = props;
|
|
2196
2250
|
const {
|
|
2197
|
-
treeConfig,
|
|
2198
2251
|
afterFullData,
|
|
2199
2252
|
fullDataRowIdData,
|
|
2200
2253
|
fullAllDataRowIdData,
|
|
2201
|
-
afterTreeFullData
|
|
2202
|
-
|
|
2203
|
-
|
|
2254
|
+
afterTreeFullData
|
|
2255
|
+
} = internalData;
|
|
2256
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
2204
2257
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2205
2258
|
const fullMaps = {};
|
|
2206
2259
|
if (treeConfig) {
|
|
2207
2260
|
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
2208
|
-
const rowid = (0, _util.getRowid)(
|
|
2261
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2209
2262
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2210
2263
|
const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
2211
2264
|
if (rowRest) {
|
|
@@ -2231,9 +2284,10 @@ const Methods = {
|
|
|
2231
2284
|
}, {
|
|
2232
2285
|
children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
|
|
2233
2286
|
});
|
|
2287
|
+
$xeTable.updateTreeDataIndex();
|
|
2234
2288
|
} else {
|
|
2235
2289
|
afterFullData.forEach((row, index) => {
|
|
2236
|
-
const rowid = (0, _util.getRowid)(
|
|
2290
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
2237
2291
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2238
2292
|
const seq = index + 1;
|
|
2239
2293
|
if (rowRest) {
|
|
@@ -2260,10 +2314,46 @@ const Methods = {
|
|
|
2260
2314
|
}
|
|
2261
2315
|
this.afterFullRowMaps = fullMaps;
|
|
2262
2316
|
},
|
|
2317
|
+
/**
|
|
2318
|
+
* 只对 tree-config 有效,获取行的子级
|
|
2319
|
+
*/
|
|
2320
|
+
getTreeRowChildren(rowOrRowid) {
|
|
2321
|
+
const $xeTable = this;
|
|
2322
|
+
const props = $xeTable;
|
|
2323
|
+
const internalData = $xeTable;
|
|
2324
|
+
const {
|
|
2325
|
+
treeConfig
|
|
2326
|
+
} = props;
|
|
2327
|
+
const {
|
|
2328
|
+
fullDataRowIdData
|
|
2329
|
+
} = internalData;
|
|
2330
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
2331
|
+
const {
|
|
2332
|
+
transform,
|
|
2333
|
+
mapChildrenField
|
|
2334
|
+
} = treeOpts;
|
|
2335
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2336
|
+
if (rowOrRowid && treeConfig) {
|
|
2337
|
+
let rowid;
|
|
2338
|
+
if (_xeUtils.default.isString(rowOrRowid)) {
|
|
2339
|
+
rowid = rowOrRowid;
|
|
2340
|
+
} else {
|
|
2341
|
+
rowid = (0, _util.getRowid)($xeTable, rowOrRowid);
|
|
2342
|
+
}
|
|
2343
|
+
if (rowid) {
|
|
2344
|
+
const rest = fullDataRowIdData[rowid];
|
|
2345
|
+
const row = rest ? rest.row : null;
|
|
2346
|
+
if (row) {
|
|
2347
|
+
return row[transform ? mapChildrenField : childrenField] || [];
|
|
2348
|
+
}
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
return [];
|
|
2352
|
+
},
|
|
2263
2353
|
/**
|
|
2264
2354
|
* 只对 tree-config 有效,获取行的父级
|
|
2265
2355
|
*/
|
|
2266
|
-
|
|
2356
|
+
getTreeParentRow(rowOrRowid) {
|
|
2267
2357
|
const {
|
|
2268
2358
|
treeConfig,
|
|
2269
2359
|
fullDataRowIdData
|
|
@@ -2282,6 +2372,11 @@ const Methods = {
|
|
|
2282
2372
|
}
|
|
2283
2373
|
return null;
|
|
2284
2374
|
},
|
|
2375
|
+
getParentRow(rowOrRowid) {
|
|
2376
|
+
const $xeTable = this;
|
|
2377
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['getParentRow', 'getTreeParentRow']);
|
|
2378
|
+
return $xeTable.getTreeParentRow(rowOrRowid);
|
|
2379
|
+
},
|
|
2285
2380
|
/**
|
|
2286
2381
|
* 根据行的唯一主键获取行
|
|
2287
2382
|
* @param {String/Number} rowid 行主键
|
|
@@ -6889,7 +6984,9 @@ const Methods = {
|
|
|
6889
6984
|
}
|
|
6890
6985
|
return this.$nextTick().then(() => {
|
|
6891
6986
|
if (transform) {
|
|
6892
|
-
|
|
6987
|
+
this.handleTableData();
|
|
6988
|
+
this.updateTreeDataIndex();
|
|
6989
|
+
return this.$nextTick();
|
|
6893
6990
|
}
|
|
6894
6991
|
});
|
|
6895
6992
|
});
|
|
@@ -7015,7 +7112,9 @@ const Methods = {
|
|
|
7015
7112
|
validRows.forEach(row => this.handleTreeExpandReserve(row, expanded));
|
|
7016
7113
|
}
|
|
7017
7114
|
this.treeExpandedMaps = treeTempExpandedMaps;
|
|
7018
|
-
return Promise.all(result).then(
|
|
7115
|
+
return Promise.all(result).then(() => {
|
|
7116
|
+
return this.recalculate();
|
|
7117
|
+
});
|
|
7019
7118
|
},
|
|
7020
7119
|
/**
|
|
7021
7120
|
* 虚拟树的展开与收起
|
|
@@ -7026,9 +7125,14 @@ const Methods = {
|
|
|
7026
7125
|
handleVirtualTreeExpand(rows, expanded) {
|
|
7027
7126
|
return this.handleBaseTreeExpand(rows, expanded).then(() => {
|
|
7028
7127
|
this.handleVirtualTreeToList();
|
|
7029
|
-
|
|
7128
|
+
this.handleTableData();
|
|
7129
|
+
this.updateTreeDataIndex();
|
|
7030
7130
|
}).then(() => {
|
|
7031
7131
|
return this.recalculate();
|
|
7132
|
+
}).then(() => {
|
|
7133
|
+
setTimeout(() => {
|
|
7134
|
+
this.updateCellAreas();
|
|
7135
|
+
}, 30);
|
|
7032
7136
|
});
|
|
7033
7137
|
},
|
|
7034
7138
|
/**
|