vxe-table 3.15.5 → 3.15.7
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +3 -2
- package/es/locale/lang/de-DE.js +3 -2
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +3 -2
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/id-ID.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- 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 +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- 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/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +62 -37
- package/es/table/module/custom/panel.js +7 -7
- package/es/table/module/export/mixin.js +13 -12
- package/es/table/module/keyboard/mixin.js +3 -2
- package/es/table/src/body.js +49 -16
- package/es/table/src/cell.js +137 -45
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/methods.js +983 -495
- package/es/table/src/props.js +9 -7
- package/es/table/src/table.js +108 -35
- package/es/table/style.css +70 -40
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +13 -1
- package/es/ui/src/dom.js +3 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +70 -40
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1735 -858
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- 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 +3 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -2
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- 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 +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +2 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- 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 +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- 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/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- 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/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +74 -48
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +6 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +13 -5
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -1
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/body.js +39 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +157 -36
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +1164 -562
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +9 -7
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +104 -34
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +70 -40
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +13 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +4 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +70 -40
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +3 -2
- package/packages/locale/lang/de-DE.ts +3 -2
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +3 -2
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/id-ID.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- 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 +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- 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/custom/mixin.ts +85 -51
- package/packages/table/module/custom/panel.ts +8 -8
- package/packages/table/module/export/mixin.ts +19 -18
- package/packages/table/module/keyboard/mixin.ts +3 -2
- package/packages/table/src/body.ts +50 -17
- package/packages/table/src/cell.ts +136 -45
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/methods.ts +1016 -512
- package/packages/table/src/props.ts +9 -7
- package/packages/table/src/table.ts +122 -38
- package/packages/ui/index.ts +12 -0
- package/packages/ui/src/dom.ts +4 -0
- package/styles/components/table.scss +131 -92
- /package/es/{iconfont.1744880837792.ttf → iconfont.1745290222894.ttf} +0 -0
- /package/es/{iconfont.1744880837792.woff → iconfont.1745290222894.woff} +0 -0
- /package/es/{iconfont.1744880837792.woff2 → iconfont.1745290222894.woff2} +0 -0
- /package/lib/{iconfont.1744880837792.ttf → iconfont.1745290222894.ttf} +0 -0
- /package/lib/{iconfont.1744880837792.woff → iconfont.1745290222894.woff} +0 -0
- /package/lib/{iconfont.1744880837792.woff2 → iconfont.1745290222894.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_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,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,i){var a=e.computeSeqOpts.seqMethod||r.seqMethod;return a?a({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:i}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:a,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let x=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],i=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(a||!e||i.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let a={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||x.exportMethod)l=r({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?i:getSeq(c,i,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),a._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",a._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),a._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",a._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(d,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}a[e.id]=toStringValue(l)}),i.set(d,1),r.push(Object.assign(a,d))}},{children:t}),r}return e.map((a,n)=>{let s={_row:a};return p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:a,column:e,options:u});else switch(e.type){case"seq":var i=n+1;l="all"===h?i:getSeq(c,i,a,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(a)),s._checkboxLabel=f.labelField?_xeUtils.default.get(a,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:a});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(a)),s._radioLabel=m.labelField?_xeUtils.default.get(a,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:a});break;default:u.original?l=(0,_util.getCellValue)(a,e):(l=c.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(a,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,i=o.editRender||o.cellRender;let a=o.footerExportMethod;a=(a=!a&&i&&i.name&&(i=renderer.get(i.name))?i.tableFooterExportMethod||i.footerExportMethod||i.footerCellExportMethod:a)||r.footerExportMethod;i=e.getVTColumnIndex(o);return a?a({$table:e,items:l,itemIndex:i,row:l,_columnIndex:i,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[i]):_xeUtils.default.get(l,o.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,o,e,t){var r=l;let i=csvBOM;return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),i}function toTxt(l,o,e,t){var r=l;let i="";return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),i}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function toHtml(d,n,e,t){var l=d;let{id:c,border:o,treeConfig:r,headerAlign:s,align:u,footerAlign:i,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:a}=l,f=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:g,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),g?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,i=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||i++,r+=e.renderWidth},{children:"childNodes"});var a=r-i;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${g?"":`style="width: ${a}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${g?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=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}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),r?t.forEach(r=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,o=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let r=1,i=1;if(y){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=f[a+":"+n];if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}" title="${t}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(n,t)).length)&&(T.push("<tfoot>"),l.forEach(r=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),g?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let i=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{i+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),i+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:i}=t;if(!i)return i=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:i});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,{remote:i,columns:a,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:a,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,a,e))))}}).then(e=>(clearColumnConvert(a),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,i){e=e.split(enterSymbol);let a=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(i);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),a.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:i}=l,a={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(o.type){case"csv":a=parseCsv(d,e);break;case"txt":a=parseTxt(d,e);break;case"html":a=parseHTML(d,e);break;case"xml":a=parseXML(d,e)}let{fields:c,rows:u}=a;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}function handleFileImport(i,a,n){let s=i;var e=i.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(a);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),i._importResolve=null,i._importReject=null},o=e=>{l(e),i._importResolve=null,i._importReject=null};if(i._importResolve=e,i._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:a,options:t,$table:i})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,i.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(i,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:i})}).catch(e=>(t&&t({status:!1,options:n,$table:i}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,i)=>{let a=s.types||[],n=!a.length||a.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+a.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(a,o)){l=o;break}}l?(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),i({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o){return(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:i,showFooter:a}=e,{initStore:n,isGroup:s,footerTableData:d,exportStore:c,exportParams:u}=e,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=e,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:a,isColgroup:s,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},t);m=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=x.checkMethod;a=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),t=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(a,(e,t,l,o,r)=>{var i=e.children&&e.children.length;let a=!1;a=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({column:e})}),Object.assign(c,{columns:a,typeList:v,modeList:t,hasFooter:d,hasMerge:h,hasTree:r,isPrint:l,hasColgroup:s,visible:!0}),Object.assign(u,{mode:g.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=u;return w&&(_xeUtils.default.isFunction(w)?u.filename=w({options:b,$table:e,$grid:o}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:e,$grid:o}):u.sheetName=""+T),t.some(e=>e.value===E)||(u.mode=t[0].value),v.some(e=>e.value===F)||(u.type=v[0].value),n.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(n){let s=this;var e=s,d=s,t=s;let c=s.$xeGrid;var{treeConfig:e,showHeader:l,showFooter:u}=e,{mergeFooterList:d,isGroup:o}=d;let{tableFullColumn:i,afterFullData:r,mergeBodyList:a,collectColumn:p}=t;var t=s.computeExportOpts,h=s.computeTreeOpts;let m=c?c.computeProxyOpts:{};d=!(!a.length&&!d.length);let f=Object.assign({message:!0,isHeader:l,isTitle:l,isFooter:u,isColgroup:o,isMerge:d,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},t,n),{filename:x,sheetName:g,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:T}=f,E=[],F=s.getCheckboxRecords();b=b||(F.length?"selected":"current");l=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):T||w?handleFilterFields(f,e,w,T):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(l||$||(M.columnFilterMethod=({column:e})=>(!T||!_xeUtils.default.includes(T,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),E=l?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(l,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=s.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=s.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=i.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!$||$({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(o?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(E,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(E),x&&(_xeUtils.default.isFunction(x)?M.filename=x({options:f,$table:s,$grid:c}):M.filename=""+x),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?M.sheetName=g({options:f,$table:s,$grid:c}):M.sheetName=""+g),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),v))return(0,_log.errLog)("vxe.error.notType",[v]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(v)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(M.print||C&&C({options:M,$table:s,$grid:c}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&e?M.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||c||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!M.remote){u=c;let e=c.computeProxyOpts;d=u.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:c,sort:d.length?d[0]:{},sorts:d,filters:u.filterData,form:u.formData,options:M};return Promise.resolve((t||n)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:c}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(s,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=r);return handleExport(s,M)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",i=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),a=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return 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 this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_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,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,i){var a=e.computeSeqOpts.seqMethod||r.seqMethod;return a?a({$table:e,row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:i}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:a,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let x=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],i=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(a||!e||i.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let a={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||x.exportMethod)l=r({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?i:getSeq(c,i,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),a._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",a._checkboxDisabled=f.checkMethod&&!f.checkMethod({$table:c,row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),a._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",a._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(d,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}a[e.id]=toStringValue(l)}),i.set(d,1),r.push(Object.assign(a,d))}},{children:t}),r}return e.map((a,n)=>{let s={_row:a};return p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:a,column:e,options:u});else switch(e.type){case"seq":var i=n+1;l="all"===h?i:getSeq(c,i,a,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(a)),s._checkboxLabel=f.labelField?_xeUtils.default.get(a,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({$table:c,row:a});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(a)),s._radioLabel=m.labelField?_xeUtils.default.get(a,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({$table:c,row:a});break;default:u.original?l=(0,_util.getCellValue)(a,e):(l=c.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(a,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let{columns:t,dataFilterMethod:o}=e,r=e.data;return o&&(r=r.filter((e,t)=>o({$table:l,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,i=o.editRender||o.cellRender;let a=o.footerExportMethod;a=(a=!a&&i&&i.name&&(i=renderer.get(i.name))?i.tableFooterExportMethod||i.footerExportMethod||i.footerCellExportMethod:a)||r.footerExportMethod;i=e.getVTColumnIndex(o);return a?a({$table:e,items:l,itemIndex:i,row:l,_columnIndex:i,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[i]):_xeUtils.default.get(l,o.field)}function getFooterData(l,e,t){let o=e.footerFilterMethod;return o?t.filter((e,t)=>o({$table:l,items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,o,e,t){var r=l;let i=csvBOM;return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),i}function toTxt(l,o,e,t){var r=l;let i="";return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),i}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function toHtml(d,n,e,t){var l=d;let{id:c,border:o,treeConfig:r,headerAlign:s,align:u,footerAlign:i,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:a}=l,f=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:g,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),g?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,i=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||i++,r+=e.renderWidth},{children:"childNodes"});var a=r-i;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${g?"":`style="width: ${a}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${g?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=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}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),r?t.forEach(r=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,o=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let r=1,i=1;if(y){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=f[a+":"+n];if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}" title="${t}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,n,t)).length)&&(T.push("<tfoot>"),l.forEach(r=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),g?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let i=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{i+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),i+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:i}=t;if(!i)return i=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:i});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,{remote:i,columns:a,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:a,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,a,e))))}}).then(e=>(clearColumnConvert(a),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,i){e=e.split(enterSymbol);let a=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(i);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),a.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:i}=l,a={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(o.type){case"csv":a=parseCsv(d,e);break;case"txt":a=parseTxt(d,e);break;case"html":a=parseHTML(d,e);break;case"xml":a=parseXML(d,e)}let{fields:c,rows:u}=a;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}function handleFileImport(i,a,n){let s=i;var e=i.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(a);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),i._importResolve=null,i._importReject=null},o=e=>{l(e),i._importResolve=null,i._importReject=null};if(i._importResolve=e,i._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:a,options:t,$table:i})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,i.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(i,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:i})}).catch(e=>(t&&t({status:!1,options:n,$table:i}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,i)=>{let a=s.types||[],n=!a.length||a.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+a.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(a,o)){l=o;break}}l?(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),i({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o){return(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(n,e,t){var l=n.$xeGrid,{treeConfig:o,showHeader:r,showFooter:i}=n,{initStore:a,isGroup:s,footerTableData:d,exportStore:c,exportParams:u}=n,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=n,f=n.computeExportOpts,x=n.computeCustomOpts,g=n.getCheckboxRecords(),v=l?l.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:i,isColgroup:s,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);m=b.types||_xeUtils.default.keys(f._typeMaps),r=b.modes||[];let _=x.checkMethod;i=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(i,(e,t,l,o,r)=>{var i=e.children&&e.children.length;let a=!1;a=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({$table:n,column:e})}),Object.assign(c,{columns:i,typeList:v,modeList:e,hasFooter:d,hasMerge:h,hasTree:o,isPrint:t,hasColgroup:s,visible:!0}),Object.assign(u,{mode:g.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=u;return w&&(_xeUtils.default.isFunction(w)?u.filename=w({options:b,$table:n,$grid:l}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:n,$grid:l}):u.sheetName=""+T),e.some(e=>e.value===E)||(u.mode=e[0].value),v.some(e=>e.value===F)||(u.type=v[0].value),a.export=!0,n.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(n){let s=this;var e=s,d=s,t=s;let c=s.$xeGrid;var{treeConfig:e,showHeader:l,showFooter:u}=e,{mergeFooterList:d,isGroup:o}=d;let{tableFullColumn:i,afterFullData:r,mergeBodyList:a,collectColumn:p}=t;var t=s.computeExportOpts,h=s.computeTreeOpts;let m=c?c.computeProxyOpts:{};d=!(!a.length&&!d.length);let f=Object.assign({message:!0,isHeader:l,isTitle:l,isFooter:u,isColgroup:o,isMerge:d,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},t,n),{filename:x,sheetName:g,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:T}=f,E=[],F=s.getCheckboxRecords();b=b||(F.length?"selected":"current");l=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):T||w?handleFilterFields(f,e,w,T):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(l||$||(M.columnFilterMethod=({column:e})=>(!T||!_xeUtils.default.includes(T,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),E=l?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(l,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=s.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=s.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=i.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!$||$({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(o?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(E,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(E),x&&(_xeUtils.default.isFunction(x)?M.filename=x({options:f,$table:s,$grid:c}):M.filename=""+x),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?M.sheetName=g({options:f,$table:s,$grid:c}):M.sheetName=""+g),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),v))return(0,_log.errLog)("vxe.error.notType",[v]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(v)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(M.print||C&&C({options:M,$table:s,$grid:c}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&e?M.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||c||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!M.remote){u=c;let e=c.computeProxyOpts;d=u.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:c,sort:d.length?d[0]:{},sorts:d,filters:u.filterData,form:u.formData,options:M};return Promise.resolve((t||n)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:c}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(s,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=r);return handleExport(s,M)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",i=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),a=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return 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 this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
@@ -485,8 +485,9 @@ var _default = exports.default = {
|
|
|
485
485
|
const rangeRows = getCheckboxRangeRows(this, evnt, params, trElem, trRect, offsetClientTop, offsetTop < marginSize ? -rangeHeight : rangeHeight);
|
|
486
486
|
// 至少滑动 10px 才能有效匹配
|
|
487
487
|
if (rangeHeight > 10 && rangeRows.length !== lastRangeRows.length) {
|
|
488
|
+
const isControlKey = (0, _dom.hasControlKey)(evnt);
|
|
488
489
|
lastRangeRows = rangeRows;
|
|
489
|
-
if (
|
|
490
|
+
if (isControlKey) {
|
|
490
491
|
rangeRows.forEach(row => {
|
|
491
492
|
$xeTable.handleBatchSelectRows([row], selectRecords.indexOf(row) === -1);
|
|
492
493
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,h=t.computeCellOpts,a=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var C=0<i,p=t.scrollYLoad,w=t.afterFullData;if(f=C?n+i:r.height-n+Math.abs(i),p){r=t.getVTRowIndex(l);if(!(c||h.height||d.height)&&u)m=C?w.slice(r,r+Math.ceil(f/a)):w.slice(r-Math.floor(f/a),r+1);else if(C)for(let e=r;e<w.length;e++){var v=w[e],x=s[t.getRowid(v)]||{};if(g+=x.resizeHeight||h.height||d.height||x.height||a,m.push(v),g>f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||h.height||d.height||b.height||a,m.push(R),g>f)return m}}else for(var T=C?"next":"previous";o&&g<f;){var O=t.getRowNode(o);O&&(m.push(O.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),r&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):n&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let a,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),C=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?C<=0?0<e&&(g=e-1,a=n[g],m=i.length-1):m=C-1:C>=i.length-1?e<n.length-1&&(g=e+1,a=n[g],m=0):m=C+1,i[m]);t&&(a?(f.rowIndex=g,f.row=a):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),r?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0<r?s=i[r-1]:t&&r<i.length-1&&(s=i[r+1])):(i=o.getVTRowIndex(u),e&&0<i?s=n[i-1]:t&&i<n.length-1&&(s=n[i+1])):s=n[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?i=n[r-1]:t&&r<n.length-1&&(i=n[r+1])):i=n[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&(d.isFollowSelected?i.triggerCurrentRowEvent(n,e):(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n)),(h.isCurrent||s)&&(a.isFollowSelected?i.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||s)&&i.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&d.isFollowSelected&&i.triggerCurrentRowEvent(n,e),(h.isCurrent||s)&&a.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.triggerCellAreaMousedownEvent)return this.triggerCellAreaMousedownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,S){let _=this;var t=_.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=S;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=_.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=this.getCheckboxRecords(),a=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,C=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=s-p.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;l<g?(n+=l)<g&&(n=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,r>f&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,S,d,p,w,l<g?-o:o);10<o&&t.length!==a.length&&(a=t,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,h=t.computeCellOpts,a=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var C=0<i,p=t.scrollYLoad,w=t.afterFullData;if(f=C?n+i:r.height-n+Math.abs(i),p){r=t.getVTRowIndex(l);if(!(c||h.height||d.height)&&u)m=C?w.slice(r,r+Math.ceil(f/a)):w.slice(r-Math.floor(f/a),r+1);else if(C)for(let e=r;e<w.length;e++){var v=w[e],x=s[t.getRowid(v)]||{};if(g+=x.resizeHeight||h.height||d.height||x.height||a,m.push(v),g>f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||h.height||d.height||b.height||a,m.push(R),g>f)return m}}else for(var T=C?"next":"previous";o&&g<f;){var O=t.getRowNode(o);O&&(m.push(O.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),r&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):n&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let a,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),C=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?C<=0?0<e&&(g=e-1,a=n[g],m=i.length-1):m=C-1:C>=i.length-1?e<n.length-1&&(g=e+1,a=n[g],m=0):m=C+1,i[m]);t&&(a?(f.rowIndex=g,f.row=a):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),r?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0<r?s=i[r-1]:t&&r<i.length-1&&(s=i[r+1])):(i=o.getVTRowIndex(u),e&&0<i?s=n[i-1]:t&&i<n.length-1&&(s=n[i+1])):s=n[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?i=n[r-1]:t&&r<n.length-1&&(i=n[r+1])):i=n[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&(d.isFollowSelected?i.triggerCurrentRowEvent(n,e):(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n)),(h.isCurrent||s)&&(a.isFollowSelected?i.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||s)&&i.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&d.isFollowSelected&&i.triggerCurrentRowEvent(n,e),(h.isCurrent||s)&&a.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.triggerCellAreaMousedownEvent)return this.triggerCellAreaMousedownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,S){let _=this;var t=_.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=S;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=_.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=this.getCheckboxRecords(),a=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,C=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=s-p.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;l<g?(n+=l)<g&&(n=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,r>f&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,S,d,p,w,l<g?-o:o);10<o&&t.length!==a.length&&(l=(0,_dom.hasControlKey)(e),a=t,l?t.forEach(e=>{_.handleBatchSelectRows([e],-1===h.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},O=()=>{clearTimeout(v),v=null},I=n=>{O(),v=setTimeout(()=>{var e,t,l,o,r;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+r),I(n),T(n)):O():t?(this.scrollTo(e,t-r),I(n),T(n)):O())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(x=!1,R=l-t,v||I(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,v||I(e)):v&&O(),T(e)},document.onmouseup=e=>{O(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -30,8 +30,7 @@ const isVMScrollProcess = $xeTable => {
|
|
|
30
30
|
} = tableReactData;
|
|
31
31
|
return !!(isDragResize || lastScrollTime && Date.now() < lastScrollTime + delayHover);
|
|
32
32
|
};
|
|
33
|
-
function renderLine(h,
|
|
34
|
-
const $xeTable = _vm.$parent;
|
|
33
|
+
function renderLine(h, $xeTable, rowid, params, cellHeight) {
|
|
35
34
|
const tableProps = $xeTable;
|
|
36
35
|
const tableInternalData = $xeTable;
|
|
37
36
|
const {
|
|
@@ -80,8 +79,7 @@ function renderLine(h, _vm, rowid, params, cellHeight) {
|
|
|
80
79
|
/**
|
|
81
80
|
* 渲染列
|
|
82
81
|
*/
|
|
83
|
-
function renderTdColumn(h,
|
|
84
|
-
const $xeTable = _vm.$parent;
|
|
82
|
+
function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
|
|
85
83
|
const tableProps = $xeTable;
|
|
86
84
|
const tableReactData = $xeTable;
|
|
87
85
|
const tableInternalData = $xeTable;
|
|
@@ -376,7 +374,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
376
374
|
}));
|
|
377
375
|
} else {
|
|
378
376
|
// 渲染单元格
|
|
379
|
-
tdVNs.push(...renderLine(h,
|
|
377
|
+
tdVNs.push(...renderLine(h, $xeTable, rowid, cellParams, cellHeight), h('div', {
|
|
380
378
|
key: 'tc',
|
|
381
379
|
class: ['vxe-cell', {
|
|
382
380
|
'c--title': showTitle,
|
|
@@ -473,6 +471,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
473
471
|
const tableProps = $xeTable;
|
|
474
472
|
const tableReactData = $xeTable;
|
|
475
473
|
const tableInternalData = $xeTable;
|
|
474
|
+
const $xeGrid = $xeTable.$xeGrid;
|
|
476
475
|
const {
|
|
477
476
|
stripe,
|
|
478
477
|
rowKey,
|
|
@@ -494,10 +493,12 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
494
493
|
selectRadioRow,
|
|
495
494
|
pendingRowFlag,
|
|
496
495
|
isDragColMove,
|
|
497
|
-
rowExpandHeightFlag
|
|
496
|
+
rowExpandHeightFlag,
|
|
497
|
+
isRowGroupStatus
|
|
498
498
|
} = tableReactData;
|
|
499
499
|
const {
|
|
500
500
|
fullAllDataRowIdData,
|
|
501
|
+
fullColumnIdData,
|
|
501
502
|
treeExpandedMaps,
|
|
502
503
|
pendingRowMaps,
|
|
503
504
|
rowExpandedMaps
|
|
@@ -518,6 +519,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
518
519
|
const {
|
|
519
520
|
handleGetRowId
|
|
520
521
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
522
|
+
const isDeepRow = treeConfig || isRowGroupStatus;
|
|
521
523
|
tableData.forEach((row, $rowIndex) => {
|
|
522
524
|
const trOn = {};
|
|
523
525
|
const rowid = handleGetRowId(row);
|
|
@@ -526,6 +528,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
526
528
|
let rowLevel = 0;
|
|
527
529
|
let seq = -1;
|
|
528
530
|
let _rowIndex = -1;
|
|
531
|
+
const hasRowGroupAggregate = isRowGroupStatus && row.isAggregate;
|
|
529
532
|
// 当前行事件
|
|
530
533
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
531
534
|
trOn.mouseenter = evnt => {
|
|
@@ -546,7 +549,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
546
549
|
}
|
|
547
550
|
if (rowRest) {
|
|
548
551
|
rowLevel = rowRest.level;
|
|
549
|
-
if (treeConfig && transform && seqMode === 'increasing') {
|
|
552
|
+
if (hasRowGroupAggregate || treeConfig && transform && seqMode === 'increasing') {
|
|
550
553
|
seq = rowRest._index + 1;
|
|
551
554
|
} else {
|
|
552
555
|
seq = rowRest.seq;
|
|
@@ -581,12 +584,12 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
581
584
|
isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
582
585
|
}
|
|
583
586
|
// 拖拽行事件
|
|
584
|
-
if (rowOpts.drag && (!treeConfig || transform)) {
|
|
587
|
+
if (rowOpts.drag && !isRowGroupStatus && (!treeConfig || transform)) {
|
|
585
588
|
trOn.dragstart = $xeTable.handleRowDragDragstartEvent;
|
|
586
589
|
trOn.dragend = $xeTable.handleRowDragDragendEvent;
|
|
587
590
|
trOn.dragover = $xeTable.handleRowDragDragoverEvent;
|
|
588
591
|
}
|
|
589
|
-
const trClass = ['vxe-body--row',
|
|
592
|
+
const trClass = ['vxe-body--row', isDeepRow ? `row--level-${rowLevel}` : '', {
|
|
590
593
|
'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
|
|
591
594
|
'is--new': isNewRow,
|
|
592
595
|
'is--expand-row': isExpandRow,
|
|
@@ -594,10 +597,11 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
594
597
|
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
595
598
|
'row--radio': radioOpts.highlight && selectRadioRow === row,
|
|
596
599
|
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
597
|
-
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
|
|
600
|
+
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid],
|
|
601
|
+
'row--group': hasRowGroupAggregate
|
|
598
602
|
}, rowClassName ? _xeUtils.default.isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''];
|
|
599
603
|
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
600
|
-
return renderTdColumn(h,
|
|
604
|
+
return renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
601
605
|
});
|
|
602
606
|
rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? h('transition-group', {
|
|
603
607
|
props: {
|
|
@@ -609,7 +613,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
609
613
|
rowid
|
|
610
614
|
},
|
|
611
615
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : undefined,
|
|
612
|
-
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
616
|
+
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
|
|
613
617
|
nativeOn: trOn
|
|
614
618
|
}, tdVNs) : h('tr', {
|
|
615
619
|
class: trClass,
|
|
@@ -617,7 +621,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
617
621
|
rowid
|
|
618
622
|
},
|
|
619
623
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : undefined,
|
|
620
|
-
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
624
|
+
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
|
|
621
625
|
on: trOn
|
|
622
626
|
}, tdVNs));
|
|
623
627
|
// 如果行被展开了
|
|
@@ -654,19 +658,39 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
654
658
|
}
|
|
655
659
|
const {
|
|
656
660
|
showOverflow
|
|
657
|
-
} = expandColumn;
|
|
661
|
+
} = expandColumn || {};
|
|
662
|
+
const colid = expandColumn.id;
|
|
663
|
+
const colRest = fullColumnIdData[colid] || {};
|
|
658
664
|
const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? isAllOverflow : showOverflow;
|
|
665
|
+
let columnIndex = -1;
|
|
666
|
+
let $columnIndex = -1;
|
|
667
|
+
let _columnIndex = -1;
|
|
668
|
+
if (colRest) {
|
|
669
|
+
columnIndex = colRest.index;
|
|
670
|
+
$columnIndex = colRest.$index;
|
|
671
|
+
_columnIndex = colRest._index;
|
|
672
|
+
}
|
|
659
673
|
const expandParams = {
|
|
674
|
+
$grid: $xeGrid,
|
|
660
675
|
$table: $xeTable,
|
|
661
676
|
seq,
|
|
662
677
|
column: expandColumn,
|
|
678
|
+
columnIndex,
|
|
679
|
+
$columnIndex,
|
|
680
|
+
_columnIndex,
|
|
663
681
|
fixed: fixedType,
|
|
664
682
|
type: renderType,
|
|
665
683
|
level: rowLevel,
|
|
666
684
|
row,
|
|
685
|
+
rowid,
|
|
667
686
|
rowIndex,
|
|
668
687
|
$rowIndex,
|
|
669
|
-
_rowIndex
|
|
688
|
+
_rowIndex,
|
|
689
|
+
isHidden: false,
|
|
690
|
+
isEdit: false,
|
|
691
|
+
visibleData: [],
|
|
692
|
+
data: [],
|
|
693
|
+
items: []
|
|
670
694
|
};
|
|
671
695
|
rows.push(h('tr', {
|
|
672
696
|
class: ['vxe-body--expanded-row', {
|
|
@@ -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",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var l=l.$parent,{row:o,column:i}=r,s=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:i,treeNode:c}=i,p=l.fullAllDataRowIdData;if(i&&i.line)return l.callSlot(i.line,r,e);i=p[t];let u=0,g=null;return i&&(u=i.level,g=i.items[i.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(s[0],o)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,q,l,t,F,L,r,a,U,o,i,H,N,s){let d=A.$parent;var V=d,n=d,c=d,p=d.$xeGrid,{columnKey:V,resizable:u,showOverflow:g,border:W,height:x,treeConfig:X,cellClassName:j,cellStyle:P,align:Y,spanMethod:K,mouseConfig:G,editConfig:J,editRules:v,tooltipConfig:m,padding:w}=V,{tableData:n,dragRow:Q,overflowX:Z,currentColumn:ee,scrollXLoad:le,scrollYLoad:te,mergeBodyFlag:re,calcCellHeightFlag:h,resizeHeightFlag:f,resizeWidthFlag:ae,editStore:oe,isAllOverflow:ie,validErrorMaps:se}=n,{fullAllDataRowIdData:c,fullColumnIdData:y,mergeBodyCellMaps:de,visibleColumn:ne,afterFullData:ce,mergeBodyList:pe,scrollXStore:ue,scrollYStore:ge}=c,xe=d.computeCellOpts,b=d.computeValidOpts,ve=d.computeCheckboxOpts,me=d.computeEditOpts,C=d.computeTooltipOpts,we=d.computeVirtualXOpts,he=d.computeVirtualYOpts,{isAllColumnDrag:fe,isAllRowDrag:ye}=d.resizableOpts,_=d.computeRowOpts,R=d.computeRowDragOpts,be=d.computeDefaultRowHeight,h=h?xe.height||_.height:0,{disabledMethod:E,isCrossDrag:Ce,isPeerDrag:_e}=R,Re=d.computeColumnOpts,Ee=d.computeMouseOpts,Se=d.computeAreaOpts,Oe=d.computeCellOffsetWidth,Se=Se.selectCellToRow,{type:De,cellRender:$e,editRender:Te,align:Ie,showOverflow:ke,className:Be,treeNode:Me,rowResize:ze,padding:S,verticalAlign:O,slots:Ae}=i,D=xe.verticalAlign,oe=oe.actived,c=c[l]||{},$=i.id,y=y[$]||{},T=Te||$e,T=T?renderer.get(T.name):null,qe=T?T.tableCellClassName||T.cellClassName:null,Fe=T?T.tableCellStyle||T.cellStyle:"";let Le=C.showAll;var Ue=y.index,C=y._index,y=(0,_utils.isEnableConf)(Te),f=f?c.resizeHeight:0;let I=t?i.fixed!==t:i.fixed&&Z;Z=_xeUtils.default.eqNull(S)?null===w?xe.padding:w:S,w=_xeUtils.default.eqNull(ke)?g:ke,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=ie||k||B||S,ke=_xeUtils.default.isBoolean(i.resizable)?i.resizable:Re.resizable||u,w=!!h,u=0<f;let He;h={},f=Ie||(T?T.tableCellAlign:"")||Y,Ie=_xeUtils.default.eqNull(O)?D:O,T=se[l+":"+$],Y=v&&b.showMessage&&("default"===b.message?x||1<n.length:"inline"===b.message),D={colid:$};let M={$table:d,$grid:p,isEdit:!1,seq:q,rowid:l,row:r,rowIndex:a,$rowIndex:U,_rowIndex:o,column:i,columnIndex:Ue,$columnIndex:H,_columnIndex:C,fixed:t,type:renderType,isHidden:!!I,level:L,visibleData:ce,data:n,items:s},z=!1,Ne=!1,Ve=((z=_.drag?"row"===R.trigger||i.dragSort&&"cell"===R.trigger:z)&&(Ne=!(!E||!E(M))),(k||B||Le||m)&&(h.mouseenter=e=>{isVMScrollProcess(d)||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(B||Le)&&d.triggerBodyTooltipEvent(e,M),d.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Le||m)&&(h.mouseleave=e=>{isVMScrollProcess(d)||((B||Le)&&d.handleTargetLeaveEvent(e),d.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ve.range||G)&&(h.mousedown=e=>{d.triggerCellMousedownEvent(e,M)}),z&&(h.mouseup=d.triggerCellMouseupEvent),h.click=e=>{d.triggerCellClickEvent(e,M)},!(h.dblclick=e=>{d.triggerCellDblclickEvent(e,M)}));if(re&&pe.length){O=de[o+":"+C];if(O){var{rowspan:se,colspan:v}=O;if(!se||!v)return null;1<se&&(Ve=!0,D.rowspan=se),1<v&&(Ve=!0,D.colspan=v)}}else if(K){var{rowspan:x=1,colspan:p=1}=K(M)||{};if(!x||!p)return null;1<x&&(D.rowspan=x),1<p&&(D.colspan=p)}!(I=I&&Ve&&(1<D.colspan||1<D.rowspan)?!1:I)&&J&&(Te||$e)&&(me.showStatus||me.showUpdateStatus)&&(He=d.isUpdateByRow(r,i.field));q=te&&!g,a=c.resizeHeight||xe.height||_.height||c.height||be,U=H===N.length-1,ce=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let We=!1;Ve||Q&&(0,_util.getRowid)(d,Q)===l||(te&&!X&&!he.immediate&&(o<ge.visibleStartIndex-ge.preloadSize||o>ge.visibleEndIndex+ge.preloadSize)||le&&!we.immediate&&!i.fixed&&(C<ue.visibleStartIndex-ue.preloadSize||C>ue.visibleEndIndex+ue.preloadSize))&&(We=!0);n={};if(g&&ae){let l=D.colspan||0;if(1<l)for(let e=1;e<l;e++){var Xe=ne[Ue+e];Xe&&(l+=Xe.renderWidth)}n.width=i.renderWidth-Oe*l+"px"}te||g||w||u?n.height=a+"px":n.minHeight=a+"px";s=[];I&&ie?s.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n})):(s.push(...renderLine(e,A,l,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n,attrs:{title:k?d.getCellLabel(r,i):null}},We?[]:[e("div",{attrs:{colid:$,rowid:l},class:"vxe-cell--wrapper"},i.renderCell(e,M))])),Y&&T&&(R=T.rule,E=Ae?Ae.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),s.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?d.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let je=!1;return G&&Ee.area&&Se&&((C||!0!==Se)&&Se!==i.field||(je=!0)),!I&&ke&&fe&&s.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>d.handleColResizeMousedownEvent(e,t,M),dblclick:e=>d.handleColResizeDblclickEvent(e,M)}})),(ze||ye)&&_.resizable&&s.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>d.handleRowResizeMousedownEvent(e,M),dblclick:e=>d.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Ie?"col--vertical-"+Ie:"",f?"col--"+f:"",De?"col--"+De:"",{"col--last":U,"col--tree-node":Me,"col--edit":y,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":je,"col--auto-height":q,"fixed--width":!ce,"fixed--hidden":I,"is--padding":Z,"is--progress":I&&ie||We,"is--drag-cell":z&&(Ce||_e||!L),"is--drag-disabled":Ne,"col--dirty":He,"col--active":J&&y&&oe.row===r&&(oe.column===i||"row"===me.mode),"col--valid-error":!!T,"col--current":ee===i},(0,_utils.getClass)(qe,M),(0,_utils.getClass)(Be,M),(0,_utils.getClass)(j,M)],key:V||le||te||Re.useKey||_.useKey||Re.drag?i.id:H,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(Fe)?Fe(M):Fe,_xeUtils.default.isFunction(P)?P(M):P),on:h},F&&I?[]:s)}function renderRows(m,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:O,editConfig:D,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedFlag:A,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,isDragColMove:U,rowExpandHeightFlag:H}=l,{fullAllDataRowIdData:N,treeExpandedMaps:K,pendingRowMaps:G,rowExpandedMaps:J}=t,Q=C.computeCheckboxOpts,Z=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,ee=C.computeColumnDragOpts,{transform:P,seqMode:le}=V,te=V.children||V.childrenField,Y=[],re=(0,_util.createHandleGetRowId)(C).handleGetRowId;return y.forEach((t,r)=>{var e={};let a=re(t);var l=N[a]||{};let o=r,i=0,s=-1,d=-1;(X.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),l&&(i=l.level,s=$&&P&&"increasing"===le?l._index+1:l.seq,o=l.index,d=l._index);var n={$table:C,seq:s,rowid:a,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A&&!!J[a];let p=!1,u=[],g=!1;D&&(g=C.isInsertByRow(t)),!$||M||P||(u=t[te],p=!!I&&u&&0<u.length&&!!K[a]),!X.drag||$&&!P||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",$?"row--level-"+i:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(W.showStatus||W.showInsertStatus),"row--radio":Z.highlight&&F===t,"row--checked":Q.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!L&&!!G[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,s,a,h,f,i,t,o,r,d,e,l,b,y));Y.push(!k&&j.drag&&ee.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(n):O:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(n):O:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?Y.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${H?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),$&&(v.paddingLeft=i*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&Y.push(...renderRows(m,w,h,f,u,b))}),Y}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,{xID:i,$scopedSlots:s}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:v,isColLoading:m,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,O=l.computeRowOpts,D=l.computeEmptyOpts,$=l.computeMouseOpts,T=l.computeRowDragOpts,I=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==I.mode||p||u||(M=!0),m||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],I=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,I)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],I=S[C.id],p=S[E.id],I)&&p&&(u=I._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=s.empty?s.empty.call(this,{$table:l,$grid:o}):(y=(a=D.name?renderer.get(D.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,D,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:i}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!v&&!m&&O.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
|
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",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var{row:o,column:i}=r,s=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:i,treeNode:c}=i,p=l.fullAllDataRowIdData;if(i&&i.line)return l.callSlot(i.line,r,e);i=p[t];let u=0,g=null;return i&&(u=i.level,g=i.items[i.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(s[0],o)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,q,F,a,o,L,i,s,H,U,d){var n=l.$xeGrid,{columnKey:N,resizable:c,showOverflow:p,border:V,height:u,treeConfig:W,cellClassName:X,cellStyle:j,align:G,spanMethod:P,mouseConfig:Y,editConfig:K,editRules:g,tooltipConfig:x,padding:m}=l,{tableData:v,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:w,mergeBodyFlag:le,calcCellHeightFlag:h,resizeHeightFlag:f,resizeWidthFlag:te,editStore:re,isAllOverflow:ae,validErrorMaps:oe}=l,{fullAllDataRowIdData:ie,fullColumnIdData:y,mergeBodyCellMaps:se,visibleColumn:de,afterFullData:ne,mergeBodyList:ce,scrollXStore:pe,scrollYStore:ue}=l,ge=l.computeCellOpts,b=l.computeValidOpts,xe=l.computeCheckboxOpts,me=l.computeEditOpts,C=l.computeTooltipOpts,ve=l.computeVirtualXOpts,we=l.computeVirtualYOpts,{isAllColumnDrag:he,isAllRowDrag:fe}=l.resizableOpts,_=l.computeRowOpts,R=l.computeRowDragOpts,ye=l.computeDefaultRowHeight,h=h?ge.height||_.height:0,{disabledMethod:E,isCrossDrag:be,isPeerDrag:Ce}=R,_e=l.computeColumnOpts,Re=l.computeMouseOpts,Ee=l.computeCellOffsetWidth,Se=l.computeAreaOpts.selectCellToRow,{type:De,cellRender:Oe,editRender:$e,align:Ie,showOverflow:Te,className:ke,treeNode:Be,rowResize:Me,padding:S,verticalAlign:D,slots:ze}=s,O=ge.verticalAlign,re=re.actived,ie=ie[t]||{},$=s.id,y=y[$]||{},I=$e||Oe,I=I?renderer.get(I.name):null,Ae=I?I.tableCellClassName||I.cellClassName:null,qe=I?I.tableCellStyle||I.cellStyle:"";let Fe=C.showAll;var Le=y.index,C=y._index,y=(0,_utils.isEnableConf)($e),f=f?ie.resizeHeight:0;let T=r?s.fixed!==r:s.fixed&&Q;Q=_xeUtils.default.eqNull(S)?null===m?ge.padding:m:S,m=_xeUtils.default.eqNull(Te)?p:Te,S="ellipsis"===m;let k="title"===m,B=!0===m||"tooltip"===m;p=ae||k||B||S,Te=_xeUtils.default.isBoolean(s.resizable)?s.resizable:_e.resizable||c,m=!!h,c=0<f;let He;h={},f=Ie||(I?I.tableCellAlign:"")||G,Ie=_xeUtils.default.eqNull(D)?O:D,I=oe[t+":"+$],G=g&&b.showMessage&&("default"===b.message?u||1<v.length:"inline"===b.message),O={colid:$};let M={$table:l,$grid:n,isEdit:!1,seq:A,rowid:t,row:a,rowIndex:o,$rowIndex:L,_rowIndex:i,column:s,columnIndex:Le,$columnIndex:H,_columnIndex:C,fixed:r,type:renderType,isHidden:!!T,level:F,visibleData:ne,data:v,items:d},z=!1,Ue=!1,Ne=((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(Ue=!(!E||!E(M))),(k||B||Fe||x)&&(h.mouseenter=e=>{isVMScrollProcess(l)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Fe)&&l.triggerBodyTooltipEvent(e,M),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Fe||x)&&(h.mouseleave=e=>{isVMScrollProcess(l)||((B||Fe)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||xe.range||Y)&&(h.mousedown=e=>{l.triggerCellMousedownEvent(e,M)}),z&&(h.mouseup=l.triggerCellMouseupEvent),h.click=e=>{l.triggerCellClickEvent(e,M)},!(h.dblclick=e=>{l.triggerCellDblclickEvent(e,M)}));if(le&&ce.length){D=se[i+":"+C];if(D){var{rowspan:oe,colspan:g}=D;if(!oe||!g)return null;1<oe&&(Ne=!0,O.rowspan=oe),1<g&&(Ne=!0,O.colspan=g)}}else if(P){var{rowspan:u=1,colspan:n=1}=P(M)||{};if(!u||!n)return null;1<u&&(O.rowspan=u),1<n&&(O.colspan=n)}!(T=T&&Ne&&(1<O.colspan||1<O.rowspan)?!1:T)&&K&&($e||Oe)&&(me.showStatus||me.showUpdateStatus)&&(He=l.isUpdateByRow(a,s.field));A=w&&!p,o=ie.resizeHeight||ge.height||_.height||ie.height||ye,L=H===U.length-1,ne=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Ve=!1;Ne||J&&(0,_util.getRowid)(l,J)===t||(w&&!W&&!we.immediate&&(i<ue.visibleStartIndex-ue.preloadSize||i>ue.visibleEndIndex+ue.preloadSize)||ee&&!ve.immediate&&!s.fixed&&(C<pe.visibleStartIndex-pe.preloadSize||C>pe.visibleEndIndex+pe.preloadSize))&&(Ve=!0);v={};if(p&&te){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var We=de[Le+e];We&&(l+=We.renderWidth)}v.width=s.renderWidth-Ee*l+"px"}w||p||m||c?v.height=o+"px":v.minHeight=o+"px";d=[];T&&ae?d.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:v})):(d.push(...renderLine(e,l,t,M,o),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:v,attrs:{title:k?l.getCellLabel(a,s):null}},Ve?[]:[e("div",{attrs:{colid:$,rowid:t},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),G&&I&&(R=I.rule,E=ze?ze.valid:null,x=Object.assign(Object.assign(Object.assign({},M),I),{rule:I}),d.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,I)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?l.callSlot(E,x,e):[e("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Xe=!1;return Y&&Re.area&&Se&&((C||!0!==Se)&&Se!==s.field||(Xe=!0)),!T&&Te&&he&&d.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,M),dblclick:e=>l.handleColResizeDblclickEvent(e,M)}})),(Me||fe)&&_.resizable&&d.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,M),dblclick:e=>l.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Ie?"col--vertical-"+Ie:"",f?"col--"+f:"",De?"col--"+De:"",{"col--last":L,"col--tree-node":Be,"col--edit":y,"col--ellipsis":p,"col--cs-height":m,"col--rs-height":c,"col--to-row":Xe,"col--auto-height":A,"fixed--width":!ne,"fixed--hidden":T,"is--padding":Q,"is--progress":T&&ae||Ve,"is--drag-cell":z&&(be||Ce||!F),"is--drag-disabled":Ue,"col--dirty":He,"col--active":K&&y&&re.row===a&&(re.column===s||"row"===me.mode),"col--valid-error":!!I,"col--current":Z===s},(0,_utils.getClass)(Ae,M),(0,_utils.getClass)(ke,M),(0,_utils.getClass)(X,M)],key:N||ee||w||_e.useKey||_.useKey||_e.drag?s.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(qe)?qe(M):qe,_xeUtils.default.isFunction(j)?j(M):j),on:h},q&&T?[]:d)}function renderRows(v,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,{stripe:R,rowKey:E,highlightHoverRow:S,rowClassName:D,rowStyle:O,editConfig:$,treeConfig:I}=e,{hasFixedColumn:T,treeExpandedFlag:k,isColLoading:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:q,expandColumn:F,selectRadioRow:L,pendingRowFlag:H,isDragColMove:U,rowExpandHeightFlag:Y,isRowGroupStatus:N}=l,{fullAllDataRowIdData:K,fullColumnIdData:J,treeExpandedMaps:Q,pendingRowMaps:Z,rowExpandedMaps:ee}=t,le=C.computeCheckboxOpts,te=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,re=C.computeColumnDragOpts,{transform:G,seqMode:ae}=V,oe=V.children||V.childrenField,P=[],ie=(0,_util.createHandleGetRowId)(C).handleGetRowId,se=I||N;return y.forEach((r,a)=>{var o={};let i=ie(r);var s=K[i]||{};let d=a,n=0,c=-1,p=-1;var u=N&&r.isAggregate,g=((X.isHover||S)&&(o.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},o.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(n=s.level,c=u||I&&G&&"increasing"===ae?s._index+1:s.seq,d=s.index,p=s._index),{$table:C,seq:c,rowid:i,fixed:h,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:a,_rowIndex:p}),x=F&&!!q&&!!ee[i];let e=!1,l=[],t=!1;$&&(t=C.isInsertByRow(r)),!I||z||G||(l=r[oe],e=!!k&&l&&0<l.length&&!!Q[i]),!X.drag||N||I&&!G||(o.dragstart=C.handleRowDragDragstartEvent,o.dragend=C.handleRowDragDragendEvent,o.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",se?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(W.showStatus||W.showInsertStatus),"row--radio":te.highlight&&L===r,"row--checked":le.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!H&&!!Z[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,h,f,n,r,d,a,p,e,l,b,y));if(P.push(!B&&j.drag&&re.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||I?i:a,nativeOn:o},m):v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:E||M||z||X.useKey||X.drag||j.drag||N||I?i:a,on:o},m)),x){var{height:u,padding:g,mode:o}=C.computeExpandOpts;if("fixed"===o)P.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${Y?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),I&&(m.paddingLeft=n*V.indent+30+"px"),F||{}).showOverflow,o=F.id,s=J[o]||{},o=_xeUtils.default.isUndefined(x)||_xeUtils.default.isNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,seq:c,column:F,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:a,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};P.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":o}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[F.renderData(v,x)])])]))}}e&&P.push(...renderRows(v,w,h,f,l,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,{xID:i,$scopedSlots:s}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:m,isColLoading:v,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,D=l.computeRowOpts,O=l.computeEmptyOpts,$=l.computeMouseOpts,I=l.computeRowDragOpts,T=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==T.mode||p||u||(M=!0),v||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],T=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,T)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],T=S[C.id],p=S[E.id],T)&&p&&(u=T._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=s.empty?s.empty.call(this,{$table:l,$grid:o}):(y=(a=O.name?renderer.get(O.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,O,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:i}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!m&&!v&&D.drag&&I.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|