vxe-table 3.21.15 → 3.21.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/export/mixin.js +22 -3
- package/es/table/src/header.js +6 -3
- package/es/table/src/methods.js +32 -4
- package/es/table/src/table.js +25 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +66 -11
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/mixin.js +26 -3
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/header.js +7 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +6 -1
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +25 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/export/mixin.ts +22 -3
- package/packages/table/src/header.ts +6 -3
- package/packages/table/src/methods.ts +29 -4
- package/packages/table/src/table.ts +31 -3
- /package/es/{iconfont.1781675364289.ttf → iconfont.1781753790081.ttf} +0 -0
- /package/es/{iconfont.1781675364289.woff → iconfont.1781753790081.woff} +0 -0
- /package/es/{iconfont.1781675364289.woff2 → iconfont.1781753790081.woff2} +0 -0
- /package/lib/{iconfont.1781675364289.ttf → iconfont.1781753790081.ttf} +0 -0
- /package/lib/{iconfont.1781675364289.woff → iconfont.1781753790081.woff} +0 -0
- /package/lib/{iconfont.1781675364289.woff2 → iconfont.1781753790081.woff2} +0 -0
|
@@ -594,7 +594,8 @@ function toHtml($xeTable, opts, columns, datas) {
|
|
|
594
594
|
isIndeterminate
|
|
595
595
|
} = reactData;
|
|
596
596
|
const {
|
|
597
|
-
mergeBodyCellMaps
|
|
597
|
+
mergeBodyCellMaps,
|
|
598
|
+
mergeFooterCellMaps
|
|
598
599
|
} = internalData;
|
|
599
600
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
600
601
|
const {
|
|
@@ -735,15 +736,37 @@ function toHtml($xeTable, opts, columns, datas) {
|
|
|
735
736
|
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
736
737
|
if (footers.length) {
|
|
737
738
|
tables.push('<tfoot>');
|
|
738
|
-
footers.forEach(row => {
|
|
739
|
+
footers.forEach((row, rIndex) => {
|
|
739
740
|
tables.push(`<tr>${columns.map(column => {
|
|
740
741
|
const footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;
|
|
741
742
|
const classNames = hasEllipsis($xeTable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
|
|
742
743
|
const cellValue = getFooterCellValue($xeTable, opts, row, column);
|
|
744
|
+
let rowSpan = 1;
|
|
745
|
+
let colSpan = 1;
|
|
746
|
+
if (isMerge) {
|
|
747
|
+
const _rowIndex = rIndex;
|
|
748
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
749
|
+
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
750
|
+
if (spanRest) {
|
|
751
|
+
const {
|
|
752
|
+
rowspan,
|
|
753
|
+
colspan
|
|
754
|
+
} = spanRest;
|
|
755
|
+
if (!rowspan || !colspan) {
|
|
756
|
+
return '';
|
|
757
|
+
}
|
|
758
|
+
if (rowspan > 1) {
|
|
759
|
+
rowSpan = rowspan;
|
|
760
|
+
}
|
|
761
|
+
if (colspan > 1) {
|
|
762
|
+
colSpan = colspan;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
743
766
|
if (footAlign) {
|
|
744
767
|
classNames.push(`col--${footAlign}`);
|
|
745
768
|
}
|
|
746
|
-
return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${(0, _utils.formatText)(cellValue, true)}</div></td>`;
|
|
769
|
+
return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${(0, _utils.formatText)(cellValue, true)}</div></td>`;
|
|
747
770
|
}).join('')}</tr>`);
|
|
748
771
|
});
|
|
749
772
|
tables.push('</tfoot>');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function getSeq(e,t,l,o,r,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),_columnIndex:e.getVTColumnIndex(r),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(F,M,m,e){let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=F.treeConfig,l=F.isRowGroupStatus;let U=F.fullColumnFieldData,I=F.computeRadioOpts,j=F.computeCheckboxOpts;var o=F.computeTreeOpts;let V=F.computeColumnOpts;var r=F.computeAggregateOpts;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(F).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:C,contentMethod:w,formatValuesMethod:T,mapChildrenField:E}=r,i=[],n={},s={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,o)=>{let v=e._row||e;var r=g(v);if(!s[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||n[l]&&F.isRowExpandByRow(e)){var a=E&&v[E]&&v[E].length;let x={_row:v,_level:o.length-1,_hasChild:a,_expand:a&&F.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:o,cellRender:r,aggFunc:a,rowGroupNode:i}=e;let n="";var s,d,c,u,p,h,o=o||r;let m=e.exportMethod||V.exportMethod;if(m=(m=!m&&o&&o.name&&(r=renderer.get(o.name))?r.tableExportMethod||r.exportMethod:m)||V.exportMethod)n=m({$table:F,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");n="all"===k?g:getSeq(F,g,v,f,e,t);break;case"checkbox":n=toBooleanValue(F.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:v});break;case"radio":n=toBooleanValue(F.isCheckedByRadioRow(v)),x._radioLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:v});break;default:l&&v.isAggregate?(s=(s=(g=v).aggData)?s[l]:null,u=g.groupField,d=g.groupContent,h=E&&g[E]||[],c=g.childCount,p=U[u]||{},u={$table:F,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(n=d,w&&(n=""+w(u)),$&&(n=getI18n("vxe.table.rowGroupContentTotal",[n,y?y(u):c,c]))):F.getPivotTableAggregateCellAggValue?(p={$table:F,row:v,column:e},n=F.getPivotTableAggregateCellAggValue(p)):(!0===a||C&&C.includes(l))&&(n=s?s.value:c,u.aggValue=n,T)&&(n=T(u))):M.original?n=(0,_util.getCellValue)(v,e):(n=F.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=n,n=htmlCellElem.innerText.trim()):(h=F.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(n=h.innerText.trim()))}x[e.id]=toStringValue(n)}),s[r]=!0,l&&(n[l]=!0),i.push(Object.assign(x,v))}}},{children:E}),i}if(t){let c=o.children||o.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;var r=g(d);if(!h[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&F.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:o.length-1,_hasChild:a,_expand:a&&F.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||V.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||V.exportMethod)l=r({$table:F,row:d,column:e,options:M});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:getSeq(F,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:d});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(d)),i._radioLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),h[r]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,n)=>{let s={_row:i};return m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||V.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:F,row:i,column:e,options:M});else switch(e.type){case"seq":var a=n+1;l="all"===k?a:getSeq(F,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(i)),s._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",s._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:i});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(i)),s._radioLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",s._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let o=l.$xeGrid,r=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?e.getHeaderCellLabel(l):l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,a=o.editRender||o.cellRender;let i=o.footerExportMethod;return(i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod)?(a=e.getVTColumnIndex(o),i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t})):e.getFooterCellLabel(l,o)}function getFooterData(l,e,t){let o=l.$xeGrid,r=l.$xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,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 a=csvBOM;return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),a}function toTxt(l,o,e,t){var r=l;let a="";return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),a}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:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,g=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),f?"is--print":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];b&&(T.push("<thead>"),_&&!C?y.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var i=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}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 ${f?"":`style="width: ${i}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 ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${f?"":`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 ${f?"":`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 ${f?"":`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 ${f?"":`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 ${f?"":`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 ${f?"":`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 ${f?"":`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,a=1;if($){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=g[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),v&&(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||a||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 ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</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 downloadFile(e,t,l){var{filename:o,type:r,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:n,colgroups:s,datas:e},()=>downloadFile(l,o,getContent(l,o,n,e))))}}).then(e=>(clearColumnConvert(n),o.print||t&&t({status:!0,options:o,$table:l,$grid:r,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),o.print||t&&t({status:!1,options:o,$table:l,$grid:r,$gantt:a});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],n=[];if(e.length){let 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(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(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(o,e,l){let{tableFullColumn:t,_importResolve:r,_importReject:a}=o,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=o.getHeaderCellLabel(e);t&&(n[t]=e),l&&(s[l]=e)});var d={fieldMaps:n,titleMaps:s};switch(l.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?o.createData(u).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?o.insertAt(e,-1):"insertTop"===l.mode?o.insert(e):o.reloadData(e),!1!==l.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!==l.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},o=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,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,o=n.$xeGantt,r=l||o,{treeConfig:a,showHeader:i,showFooter:s}=n,{initStore:d,isGroup:c,rowGroupList:u,footerTableData:p,exportStore:h,exportParams:m}=n,{collectColumn:g,mergeBodyList:x,mergeFooterList:f}=n,b=n.computeExportOpts,a=!!a,u=0<u.length,v=n.computeCustomOpts,_=n.getCheckboxRecords(),r=r?r.computeProxyOpts:{},p=!!p.length,x=!(!x.length&&!f.length);let $=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:c,isMerge:x,useStyle:!0,current:"current",modes:(r.ajax&&r.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean($.isAllExpand)&&((0,_log.warnLog)("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),$.isTreeAllExpanded=$.isAllExpand);f=$.types||_xeUtils.default.keys(b._typeMaps),i=$.modes||[];let y=v.checkMethod;s=g.slice(0);let{columns:C,excludeFields:w,includeFields:T}=$;r=f.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(s,(e,t,l,o,r)=>{var a=e.children&&0<e.children.length;let i=!1;i=C&&C.length?handleFilterColumns($,e,C):w||T?handleFilterFields($,e,T,w):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=r&&r.disabled||!!y&&!y({$table:n,column:e})}),h.columns=s,h.typeList=r,h.modeList=e,h.hasFooter=p,h.hasMerge=x,h.hasTree=a,h.hasRowGroup=u,h.isPrint=!!t,h.hasColgroup=c,h.visible=!0,Object.assign(m,{mode:_.length?"selected":"current"},$);let{filename:E,sheetName:F,mode:M,type:k}=m;return E&&(_xeUtils.default.isFunction(E)?m.filename=E({options:$,$table:n,$grid:l,$gantt:o}):m.filename=""+E),F&&(_xeUtils.default.isFunction(F)?m.sheetName=F({options:$,$table:n,$grid:l,$gantt:o}):m.sheetName=""+F),e.some(e=>e.value===M)||(m.mode=e[0].value),r.some(e=>e.value===k)||(m.type=r[0].value),d.export=!0,n.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let s=this;var t=s,l=s,o=s;let d=s.$xeGrid,c=s.$xeGantt;var u=d||c,{treeConfig:t,showHeader:p,showFooter:h}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:r,afterTreeFullData:i,collectColumn:n,mergeBodyList:m,mergeFooterList:g}=o;var o=s.computeExportOpts,x=s.computeTreeOpts;let f=u?u.computeProxyOpts:{};var b=!(!m.length&&!g.length);let v=Object.assign({message:!0,isHeader:p,isTitle:p,isFooter:h,isColgroup:l,isMerge:b,useStyle:!0,current:"current",modes:(f.ajax&&f.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},o,e),{filename:_,sheetName:$,type:y,mode:C,columns:w,original:T,columnFilterMethod:E,beforeExportMethod:F,includeFields:M,excludeFields:k}=(_xeUtils.default.isBoolean(v.isAllExpand)&&((0,_log.warnLog)("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),v.isTreeAllExpanded=v.isAllExpand),v),U=[],I=s.getCheckboxRecords(),j=(C=C||(I.length?"selected":"current"),!1),V=[],L=(V=w&&w.length?(j=!0,w):_xeUtils.default.searchTree(n,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?handleFilterColumns(v,e,w):k||M?handleFilterFields(v,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:""})),O=(j||E||(E=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):T?!!e.field:defaultFilterExportColumn(e)),L.columnFilterMethod=E),U=V?(L._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(V,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=a.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!E||E({$table:s,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?n:a,(e,t)=>e.visible&&(!E||E({$table:s,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(U,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),L.columns=O,L.colgroups=convertToRows(U),_&&(_xeUtils.default.isFunction(_)?L.filename=_({options:v,$table:s,$grid:d,$gantt:c}):L.filename=""+_),L.filename||(L.filename=getI18n(L.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),$&&(_xeUtils.default.isFunction($)?L.sheetName=$({options:v,$table:s,$grid:d,$gantt:c}):L.sheetName=""+$),L.sheetName||(L.sheetName=document.title||""),!L.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(o._typeMaps),y))return(0,_log.errLog)("vxe.error.notType",[y]),["xlsx","pdf"].includes(y)&&(0,_log.warnLog)("vxe.error.reqPlugin",[3,"plugin-export-xlsx"]),Promise.reject({status:!1});if(L.print||F&&F({options:L,$table:s,$grid:d,$gantt:c}),L.data)L._isCustomData=!0;else if(L.data=[],"selected"===C)-1<["html","pdf"].indexOf(y)&&t?L.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(I,e),Object.assign({},x,{data:"_row"})):L.data=I;else if("all"===C){if(u||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),u&&!L.remote){p=u.reactData;let e=u.computeProxyOpts;h=p.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,a=e.response||e.props||{};b=l.queryAll;let i=l.queryAllSuccess,n=l.queryAllError;if(b||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),b){let o={$table:s,$grid:d,$gantt:c,sort:h.length?h[0]:{},sorts:h,filters:p.filterData,form:p.formData,options:L};return Promise.resolve((t||b)(o)).then(e=>{var t=a.list;let l=[];return t?l=_xeUtils.default.isFunction(t)?t({data:e,$table:s,$grid:d,$gantt:c}):_xeUtils.default.isArray(e)?e:_xeUtils.default.get(e,t):_xeUtils.default.isArray(e)&&(l=e),L.data=l,r&&r(o),i&&i(Object.assign(Object.assign({},o),{response:e})),handleExport(s,L)}).catch(e=>{n&&n(Object.assign(Object.assign({},o),{response:e}))})}}}else"current"===C&&(L.data=t?i:r);return handleExport(s,L)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let o=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:r,afterImportMethod:a}=o;return r&&r({options:o,$table:this}),_ui.VxeUI.readFile(o).catch(e=>(a&&a({status:!1,options:o,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,o)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,o=l.$xeGrid,r=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:o,$gantt:r}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:i,html:s,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var{treeConfig:t,importConfig:l}=this;let{initStore:o,importStore:r,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function getSeq(e,t,l,o,r,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),_columnIndex:e.getVTColumnIndex(r),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(F,M,m,e){let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=F.treeConfig,l=F.isRowGroupStatus;let U=F.fullColumnFieldData,I=F.computeRadioOpts,j=F.computeCheckboxOpts;var o=F.computeTreeOpts;let V=F.computeColumnOpts;var r=F.computeAggregateOpts;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(F).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:C,contentMethod:w,formatValuesMethod:T,mapChildrenField:E}=r,i=[],n={},s={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,o)=>{let v=e._row||e;var r=g(v);if(!s[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||n[l]&&F.isRowExpandByRow(e)){var a=E&&v[E]&&v[E].length;let x={_row:v,_level:o.length-1,_hasChild:a,_expand:a&&F.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:o,cellRender:r,aggFunc:a,rowGroupNode:i}=e;let n="";var s,d,c,u,p,h,o=o||r;let m=e.exportMethod||V.exportMethod;if(m=(m=!m&&o&&o.name&&(r=renderer.get(o.name))?r.tableExportMethod||r.exportMethod:m)||V.exportMethod)n=m({$table:F,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");n="all"===k?g:getSeq(F,g,v,f,e,t);break;case"checkbox":n=toBooleanValue(F.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:v});break;case"radio":n=toBooleanValue(F.isCheckedByRadioRow(v)),x._radioLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:v});break;default:l&&v.isAggregate?(s=(s=(g=v).aggData)?s[l]:null,u=g.groupField,d=g.groupContent,h=E&&g[E]||[],c=g.childCount,p=U[u]||{},u={$table:F,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(n=d,w&&(n=""+w(u)),$&&(n=getI18n("vxe.table.rowGroupContentTotal",[n,y?y(u):c,c]))):F.getPivotTableAggregateCellAggValue?(p={$table:F,row:v,column:e},n=F.getPivotTableAggregateCellAggValue(p)):(!0===a||C&&C.includes(l))&&(n=s?s.value:c,u.aggValue=n,T)&&(n=T(u))):M.original?n=(0,_util.getCellValue)(v,e):(n=F.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=n,n=htmlCellElem.innerText.trim()):(h=F.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(n=h.innerText.trim()))}x[e.id]=toStringValue(n)}),s[r]=!0,l&&(n[l]=!0),i.push(Object.assign(x,v))}}},{children:E}),i}if(t){let c=o.children||o.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;var r=g(d);if(!h[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&F.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:o.length-1,_hasChild:a,_expand:a&&F.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||V.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||V.exportMethod)l=r({$table:F,row:d,column:e,options:M});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:getSeq(F,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:d});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(d)),i._radioLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),h[r]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,n)=>{let s={_row:i};return m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||V.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:F,row:i,column:e,options:M});else switch(e.type){case"seq":var a=n+1;l="all"===k?a:getSeq(F,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(i)),s._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",s._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:i});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(i)),s._radioLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",s._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let o=l.$xeGrid,r=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?e.getHeaderCellLabel(l):l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,a=o.editRender||o.cellRender;let i=o.footerExportMethod;return(i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod)?(a=e.getVTColumnIndex(o),i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t})):e.getFooterCellLabel(l,o)}function getFooterData(l,e,t){let o=l.$xeGrid,r=l.$xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,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 a=csvBOM;return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),a}function toTxt(l,o,e,t){var r=l;let a="";return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),a}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(c,u,e,t){var l=c;let{id:d,border:o,treeConfig:r,headerAlign:n,align:p,footerAlign:h,showOverflow:m,showHeaderOverflow:s}=c,{isAllSelected:g,isIndeterminate:a}=l,{mergeBodyCellMaps:x,mergeFooterCellMaps:f}=c,i=c.computeTreeOpts,{print:b,isHeader:v,isFooter:_,isColgroup:$,isMerge:y,colgroups:C,original:w}=u,T="check-all",E=[`<table class="${["vxe-table","border--"+toTableBorder(o),b?"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&&(E.push("<thead>"),$&&!w?C.forEach(e=>{E.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||p,l=hasEllipsis(c,t,"showHeaderOverflow",s)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var i=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${b?"":`style="width: ${i}px"`}><input type="checkbox" class="${T}" ${g?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${b?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):E.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||p,l=hasEllipsis(c,e,"showHeaderOverflow",s)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${b?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${T}" ${g?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${b?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(r=>{E.push("<tr>"+e.map(t=>{var e=t.align||p,l=hasEllipsis(c,t,"showOverflow",m)?["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 ${b?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${b?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*i.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 ${b?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*i.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 ${b?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${b?"":`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 ${b?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{E.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||p,o=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],t=s[t];let r=1,a=1;if(y){var i=c.getVTRowIndex(s._row),n=c.getVTColumnIndex(e),i=x[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div ${b?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div ${b?"":`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="${a}" title="${t}"><div ${b?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),_&&(t=l.footerTableData,(l=getFooterData(c,u,t)).length)&&(E.push("<tfoot>"),l.forEach((s,d)=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||h||p,l=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],o=getFooterCellValue(c,u,s,e);let r=1,a=1;if(y){var i=d,n=c.getVTColumnIndex(e),i=f[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${b?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!g&&a?`<script>(function(){var a=document.querySelector(".${T}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),b?E.join(""):(0,_util2.createHtmlPage)(u,E.join(""))}function toXML(l,o,e,t){var r=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</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 downloadFile(e,t,l){var{filename:o,type:r,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:n,colgroups:s,datas:e},()=>downloadFile(l,o,getContent(l,o,n,e))))}}).then(e=>(clearColumnConvert(n),o.print||t&&t({status:!0,options:o,$table:l,$grid:r,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),o.print||t&&t({status:!1,options:o,$table:l,$grid:r,$gantt:a});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],n=[];if(e.length){let 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(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(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(o,e,l){let{tableFullColumn:t,_importResolve:r,_importReject:a}=o,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=o.getHeaderCellLabel(e);t&&(n[t]=e),l&&(s[l]=e)});var d={fieldMaps:n,titleMaps:s};switch(l.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?o.createData(u).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?o.insertAt(e,-1):"insertTop"===l.mode?o.insert(e):o.reloadData(e),!1!==l.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!==l.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},o=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,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,o=n.$xeGantt,r=l||o,{treeConfig:a,showHeader:i,showFooter:s}=n,{initStore:d,isGroup:c,rowGroupList:u,footerTableData:p,exportStore:h,exportParams:m}=n,{collectColumn:g,mergeBodyList:x,mergeFooterList:f}=n,b=n.computeExportOpts,a=!!a,u=0<u.length,v=n.computeCustomOpts,_=n.getCheckboxRecords(),r=r?r.computeProxyOpts:{},p=!!p.length,x=!(!x.length&&!f.length);let $=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:c,isMerge:x,useStyle:!0,current:"current",modes:(r.ajax&&r.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean($.isAllExpand)&&((0,_log.warnLog)("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),$.isTreeAllExpanded=$.isAllExpand);f=$.types||_xeUtils.default.keys(b._typeMaps),i=$.modes||[];let y=v.checkMethod;s=g.slice(0);let{columns:C,excludeFields:w,includeFields:T}=$;r=f.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(s,(e,t,l,o,r)=>{var a=e.children&&0<e.children.length;let i=!1;i=C&&C.length?handleFilterColumns($,e,C):w||T?handleFilterFields($,e,T,w):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=r&&r.disabled||!!y&&!y({$table:n,column:e})}),h.columns=s,h.typeList=r,h.modeList=e,h.hasFooter=p,h.hasMerge=x,h.hasTree=a,h.hasRowGroup=u,h.isPrint=!!t,h.hasColgroup=c,h.visible=!0,Object.assign(m,{mode:_.length?"selected":"current"},$);let{filename:E,sheetName:F,mode:M,type:k}=m;return E&&(_xeUtils.default.isFunction(E)?m.filename=E({options:$,$table:n,$grid:l,$gantt:o}):m.filename=""+E),F&&(_xeUtils.default.isFunction(F)?m.sheetName=F({options:$,$table:n,$grid:l,$gantt:o}):m.sheetName=""+F),e.some(e=>e.value===M)||(m.mode=e[0].value),r.some(e=>e.value===k)||(m.type=r[0].value),d.export=!0,n.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let s=this;var t=s,l=s,o=s;let d=s.$xeGrid,c=s.$xeGantt;var u=d||c,{treeConfig:t,showHeader:p,showFooter:h}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:r,afterTreeFullData:i,collectColumn:n,mergeBodyList:m,mergeFooterList:g}=o;var o=s.computeExportOpts,x=s.computeTreeOpts;let f=u?u.computeProxyOpts:{};var b=!(!m.length&&!g.length);let v=Object.assign({message:!0,isHeader:p,isTitle:p,isFooter:h,isColgroup:l,isMerge:b,useStyle:!0,current:"current",modes:(f.ajax&&f.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},o,e),{filename:_,sheetName:$,type:y,mode:C,columns:w,original:T,columnFilterMethod:E,beforeExportMethod:F,includeFields:M,excludeFields:k}=(_xeUtils.default.isBoolean(v.isAllExpand)&&((0,_log.warnLog)("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),v.isTreeAllExpanded=v.isAllExpand),v),U=[],I=s.getCheckboxRecords(),j=(C=C||(I.length?"selected":"current"),!1),V=[],L=(V=w&&w.length?(j=!0,w):_xeUtils.default.searchTree(n,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?handleFilterColumns(v,e,w):k||M?handleFilterFields(v,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:""})),O=(j||E||(E=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):T?!!e.field:defaultFilterExportColumn(e)),L.columnFilterMethod=E),U=V?(L._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(V,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=a.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!E||E({$table:s,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?n:a,(e,t)=>e.visible&&(!E||E({$table:s,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(U,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),L.columns=O,L.colgroups=convertToRows(U),_&&(_xeUtils.default.isFunction(_)?L.filename=_({options:v,$table:s,$grid:d,$gantt:c}):L.filename=""+_),L.filename||(L.filename=getI18n(L.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),$&&(_xeUtils.default.isFunction($)?L.sheetName=$({options:v,$table:s,$grid:d,$gantt:c}):L.sheetName=""+$),L.sheetName||(L.sheetName=document.title||""),!L.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(o._typeMaps),y))return(0,_log.errLog)("vxe.error.notType",[y]),["xlsx","pdf"].includes(y)&&(0,_log.warnLog)("vxe.error.reqPlugin",[3,"plugin-export-xlsx"]),Promise.reject({status:!1});if(L.print||F&&F({options:L,$table:s,$grid:d,$gantt:c}),L.data)L._isCustomData=!0;else if(L.data=[],"selected"===C)-1<["html","pdf"].indexOf(y)&&t?L.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(I,e),Object.assign({},x,{data:"_row"})):L.data=I;else if("all"===C){if(u||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),u&&!L.remote){p=u.reactData;let e=u.computeProxyOpts;h=p.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,a=e.response||e.props||{};b=l.queryAll;let i=l.queryAllSuccess,n=l.queryAllError;if(b||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),b){let o={$table:s,$grid:d,$gantt:c,sort:h.length?h[0]:{},sorts:h,filters:p.filterData,form:p.formData,options:L};return Promise.resolve((t||b)(o)).then(e=>{var t=a.list;let l=[];return t?l=_xeUtils.default.isFunction(t)?t({data:e,$table:s,$grid:d,$gantt:c}):_xeUtils.default.isArray(e)?e:_xeUtils.default.get(e,t):_xeUtils.default.isArray(e)&&(l=e),L.data=l,r&&r(o),i&&i(Object.assign(Object.assign({},o),{response:e})),handleExport(s,L)}).catch(e=>{n&&n(Object.assign(Object.assign({},o),{response:e}))})}}}else"current"===C&&(L.data=t?i:r);return handleExport(s,L)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let o=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:r,afterImportMethod:a}=o;return r&&r({options:o,$table:this}),_ui.VxeUI.readFile(o).catch(e=>(a&&a({status:!1,options:o,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,o)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,o=l.$xeGrid,r=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:o,$gantt:r}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:i,html:s,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var{treeConfig:t,importConfig:l}=this;let{initStore:o,importStore:r,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
package/lib/table/src/header.js
CHANGED
|
@@ -267,6 +267,10 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
267
267
|
const cellOpts = $xeTable.computeCellOpts;
|
|
268
268
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
269
269
|
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
270
|
+
const floatingFilterOpts = $xeTable.computeFloatingFilterOpts;
|
|
271
|
+
const {
|
|
272
|
+
cellClassName
|
|
273
|
+
} = floatingFilterOpts;
|
|
270
274
|
const currCellHeight = (0, _util.getCalcHeight)(headerCellOpts.height) || defaultRowHeight;
|
|
271
275
|
return cols.map((column, $columnIndex) => {
|
|
272
276
|
const {
|
|
@@ -331,7 +335,7 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
331
335
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
332
336
|
}
|
|
333
337
|
return h('th', {
|
|
334
|
-
class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
338
|
+
class: ['vxe-table--column vxe-header--column is--floating-filters', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
335
339
|
[`col--${headAlign}`]: headAlign,
|
|
336
340
|
[`col--${type}`]: type,
|
|
337
341
|
'col--last': isLastColumn,
|
|
@@ -345,7 +349,7 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
345
349
|
key: colid,
|
|
346
350
|
attrs: thAttrs
|
|
347
351
|
}, [h('div', {
|
|
348
|
-
class: ['vxe-cell', {
|
|
352
|
+
class: ['vxe-cell', '' + (cellClassName || ''), {
|
|
349
353
|
'c--title': showTitle,
|
|
350
354
|
'c--tooltip': showTooltip,
|
|
351
355
|
'c--ellipsis': showEllipsis
|
|
@@ -387,7 +391,7 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups, renderColumn
|
|
|
387
391
|
if (floatingFilterOpts.enabled) {
|
|
388
392
|
rowVNs.push(h('tr', {
|
|
389
393
|
key: 'ff',
|
|
390
|
-
class: ['vxe-header--row']
|
|
394
|
+
class: ['vxe-header--row is--floating-filters', '' + (floatingFilterOpts.rowClassName || '')]
|
|
391
395
|
}, renderFilterRows(h, _vm, isOptimizeMode, renderColumnList)));
|
|
392
396
|
}
|
|
393
397
|
return rowVNs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function renderRows(T,e,E,S,l,D,R){let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function renderRows(T,e,E,S,l,D,R){let F=e.$parent,I=F.$xeGrid,O=F.$xeGantt;var r=F,t=F,a=F;let k=e.fixedType,{resizable:U,columnKey:z,showCustomHeader:A,headerCellClassName:q,headerCellStyle:G,showHeaderOverflow:X,headerAlign:M,align:N,mouseConfig:W}=r,{currentColumn:L,dragCol:V,scrollXLoad:B,scrollYLoad:K,overflowX:P,mergeHeadFlag:j,tableColumn:te}=t,{fullColumnIdData:ae,scrollXStore:Y,mergeHeaderList:ie,mergeHeaderCellMaps:de}=a,ne=F.computeVirtualXOpts,J=F.computeColumnOpts,Q=F.computeColumnDragOpts,oe=F.computeCellOpts;e=F.computeDefaultRowHeight;let Z=F.computeHeaderCellOpts,ee=(0,_util.getCalcHeight)(Z.height)||e,{disabledMethod:le,isCrossDrag:se,isPeerDrag:ce}=Q,re=D===l.length-1;return R.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,c=e.id,u=ae[c]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=P&&!o&&(k?e.fixed!==k:!!e.fixed),f=(_xeUtils.default.isBoolean(Z.padding)?Z:oe).padding,t=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?X:t,a=a||(s?s.tableHeaderCellAlign:"")||M||i||(s?s.tableCellAlign:"")||N,i="ellipsis"===t,s="title"===t,t=!0===t||"tooltip"===t,m=s||t||i;let g=!1,x=null;d&&(x=d[0],g=d.some(e=>e.checked));var h=u.index,u=A?l:u._index;let v={$table:F,$grid:I,$gantt:O,$rowIndex:D,column:e,columnIndex:h,$columnIndex:l,_columnIndex:u,firstFilterOption:x,fixed:k,source:sourceType,type:renderType,isHidden:p,hasFilter:g};h={colid:c};let C=!1;if(A||(h.colspan=1<e.colSpan?e.colSpan:null,h.rowspan=1<e.rowSpan?e.rowSpan:null),j&&ie.length&&(A||re)){var b=de[D+":"+(A?l:u)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,h.rowspan=b),1<w&&(C=!0,h.colspan=w)}}b={click:e=>F.triggerHeaderCellClickEvent(e,v),dblclick:e=>F.triggerHeaderCellDblclickEvent(e,v)},w=J.drag&&"cell"===Q.trigger;let H=!1;w&&(H=!(!le||!le(v))),(W||w)&&(b.mousedown=e=>F.triggerHeaderCellMousedownEvent(e,v)),J.drag&&(b.dragstart=F.handleHeaderCellDragDragstartEvent,b.dragend=F.handleHeaderCellDragDragendEvent,b.dragover=F.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=F.handleHeaderCellDragMouseupEvent);var w=l===R.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:J.resizable||U,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!S||!P||E||C||V&&V.id===c||B&&10<te.length&&!e.fixed&&!ne.immediate&&(u<Y.visibleStartIndex-Y.preloadSize||u>Y.visibleEndIndex+Y.preloadSize)&&($=!0);u={};if(m?u.height=ee+"px":u.minHeight=ee+"px",!A&&o&&!re){let l=0;_xeUtils.default.eachTree(e.children,e=>{!e.visible||e.children&&e.children.length||(l+=e.renderWidth)}),u.width=l+"px"}return T("th",{class:["vxe-table--column vxe-header--column",c,p?"fixed--hidden":"fixed--visible",{["col--"+a]:a,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!_,"is--padding":f,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":g,"is--drag-active":J.drag&&!e.fixed&&!H&&(se||ce||!e.parentId),"is--drag-disabled":J.drag&&H,"col--current":L===e},(0,_utils.getClass)(n,v),(0,_utils.getClass)(q,v)],attrs:h,style:G?_xeUtils.default.isFunction(G)?G(v):G:void 0,on:b,key:A?""+c+l:z||B||K||J.useKey||J.drag||o?c:l},[T("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":t,"c--ellipsis":i}],style:u},$||S&&p?[]:[T("div",{attrs:{colid:c},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(T,v))]),p||!y||A&&!re?renderEmptyElement(F):T("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>F.handleColResizeMousedownEvent(e,k,v),dblclick:e=>F.handleColResizeDblclickEvent(e,v)}})])})}function renderFilterRows(w,e,H,y){let _=e.$parent,$=_.$xeGrid,T=_.$xeGantt;var l=_,r=_,t=_;let E=e.fixedType,{showHeaderOverflow:S,headerAlign:D,align:R}=l,{currentColumn:F,overflowX:I}=r,O=t.fullColumnIdData,k=_.computeCellOpts;e=_.computeDefaultRowHeight;let U=_.computeHeaderCellOpts,z=_.computeFloatingFilterOpts.cellClassName,A=(0,_util.getCalcHeight)(U.height)||e;return y.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,editRender:n,cellRender:o,floatingFilters:s,filterRender:c,slots:u}=e,p=e.id,f=O[p]||{},n=n||o,o=n?renderer.get(n.name):null,n=(0,_utils.isEnableConf)(c)?renderer.get(c.name):null,n=n?n.renderTableFloatingFilter:null,u=u?u.floatingFilter||u["floating-filter"]:null,m=I&&(E?e.fixed!==E:!!e.fixed),g=(_xeUtils.default.isBoolean(U.padding)?U:k).padding,t=_xeUtils.default.eqNull(t)?S:t,a=a||(o?o.tableHeaderCellAlign:"")||D||i||(o?o.tableCellAlign:"")||R,i="ellipsis"===t,o="title"===t,t=!0===t||"tooltip"===t,x=o||t||i;let h=!1,v=null;d&&(v=d[0],h=d.some(e=>e.checked));var d=f.index,f=f._index,d={$table:_,$grid:$,$gantt:T,column:e,columnIndex:d,$columnIndex:l,_columnIndex:f,option:v,fixed:E,source:sourceType,type:renderType,isHidden:m,hasFilter:h},f={colid:p},l=l===y.length-1,C=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return x?b.height=A+"px":b.minHeight=A+"px",w("th",{class:["vxe-table--column vxe-header--column is--floating-filters",p,m?"fixed--hidden":"fixed--visible",{["col--"+a]:a,["col--"+r]:r,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":x,"fixed--width":!C,"is--padding":g,"is--sortable":e.sortable,"col--current":F===e}],key:p,attrs:f},[w("div",{class:["vxe-cell",""+(z||""),{"c--title":o,"c--tooltip":t,"c--ellipsis":i}],style:b},H&&m&&!s?[]:[w("div",{attrs:{colid:p},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},u?_.callSlot(u,d,w):n&&v?(0,_vn.getSlotVNs)(n.call(_,w,c,d)):[])])])})}function renderHeads(t,a,i,d,n,e){let o=a.$parent;var l=o;let s=a.fixedType,{headerRowClassName:c,headerRowStyle:u}=l;var l=o.computeFloatingFilterOpts,r=n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:renderType};return t("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:u?_xeUtils.default.isFunction(u)?u(r):u:void 0},renderRows(t,a,i,d,n,l,e))});return l.enabled&&r.push(t("tr",{key:"ff",class:["vxe-header--row is--floating-filters",""+(l.rowClassName||"")]},renderFilterRows(t,a,d,e))),r}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;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+"repair"]=null},render(r){let l=this.$parent;var e=l,t=l,a=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,e=e.mouseConfig,{isGroup:t,isColLoading:c,overflowX:u,scrollXLoad:p,dragCol:f}=t,{visibleColumn:a,fullColumnIdData:m}=a,g=l.computeMouseOpts;let x=s,h=o;s=l.computeIsHeaderRenderOptimize;return t?h=a:(s&&(c||!d&&u)||(h=a),d&&s&&(h=n||[]),x=[h]),d||t||p&&f&&2<h.length&&(c=m[f.id])&&(u=c._index,a=h[0],p=h[h.length-1],c=m[a.id],a=m[p.id],c)&&a&&(m=c._index,p=a._index,u<m?(h=[f].concat(h),x=[[f].concat(x[0])].concat(x.slice(1))):p<u&&(h=h.concat([f]),x=[x[0].concat([f])].concat(x.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:s?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},h.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,t,s,x,h))]),e&&g.area?r("div",{class:"vxe-table--cell-area",attrs:{xid:i}},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){let e=this.$parent;var l=e,r=e,l=l.showCustomHeader;let{collectColumn:t,visibleColumn:a}=e;var i=this.tableGroupColumn,r=r.isGroup;let d=r?(0,_util.convertHeaderColumnToRows)(i):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.$nextTick(()=>{e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:t,visibleColumn:a},null)})}}});
|
package/lib/table/src/methods.js
CHANGED
|
@@ -153,7 +153,12 @@ remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.
|
|
|
153
153
|
* 处理显示 tooltip
|
|
154
154
|
* @param {Event} evnt 事件
|
|
155
155
|
* @param {Row} row 行对象
|
|
156
|
-
*/function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const
|
|
156
|
+
*/function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const cellText=_xeUtils.default.toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;let isShow=false;let customContent=null;let content='';if(contentMethod){customContent=contentMethod(params);}// 是否全部展示
|
|
157
|
+
if(showAll){// 如果为 null 默认显示
|
|
158
|
+
if(_xeUtils.default.eqNull(customContent)){isShow=true;content=cellText;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
159
|
+
isShow=true;content=''+customContent;}}else{// 如果为 null 使用默认逻辑
|
|
160
|
+
if(_xeUtils.default.eqNull(customContent)){isShow=isOver;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
161
|
+
isShow=true;}content=cellText;}if(isShow&&content){const tipContent=(0,_utils.formatText)(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return $xeTable.$nextTick();}function handleScrollToRowColumn($xeTable,fieldOrColumn,row,options){const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return(0,_util.colToVisible)($xeTable,options?options.colAlign!==false:true,column,row);}return $xeTable.$nextTick();}function handleRowExpandReserve($xeTable,row,expanded){const internalData=$xeTable;const{rowExpandedReserveRowMap}=internalData;const expandOpts=$xeTable.computeExpandOpts;if(expandOpts.reserve){const rowid=(0,_util.getRowid)($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}}function handleDefaultMergeCells($xeTable){const props=$xeTable;const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}}function handleDefaultMergeHeaderItems($xeTable){const props=$xeTable;const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}}function handleDefaultMergeFooterItems($xeTable){const props=$xeTable;const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}}// 计算可视渲染相关数据
|
|
157
162
|
function computeScrollLoad($xeTable){const reactData=$xeTable;const internalData=$xeTable;return $xeTable.$nextTick().then(()=>{const{scrollXLoad,scrollYLoad}=reactData;const{scrollXStore,scrollYStore}=internalData;const virtualYOpts=$xeTable.computeVirtualYOpts;const virtualXOpts=$xeTable.computeVirtualXOpts;// 计算 X 逻辑
|
|
158
163
|
if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible($xeTable);const offsetXSize=Math.max(0,virtualXOpts.oSize?_xeUtils.default.toNumber(virtualXOpts.oSize):0);scrollXStore.preloadSize=_xeUtils.default.toNumber(virtualXOpts.preSize);scrollXStore.offsetSize=offsetXSize;scrollXStore.visibleSize=visibleXSize;scrollXStore.endIndex=Math.max(scrollXStore.startIndex+scrollXStore.visibleSize+offsetXSize,scrollXStore.endIndex);scrollXStore.visibleStartIndex=Math.max(scrollXStore.startIndex,toXVisibleIndex);scrollXStore.visibleEndIndex=Math.min(scrollXStore.endIndex,toXVisibleIndex+visibleXSize);$xeTable.updateScrollXData().then(()=>{loadScrollXData($xeTable);});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
|
|
159
164
|
const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;// 已废弃
|