vxe-table 3.17.6 → 3.17.8
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/grid/src/grid.js +47 -29
- package/es/style.css +1 -1
- package/es/table/module/export/mixin.js +3 -1
- package/es/table/src/methods.js +147 -48
- package/es/table/src/props.js +1 -1
- package/es/table/src/table.js +12 -12
- package/es/table/src/util.js +0 -4
- package/es/toolbar/src/toolbar.js +2 -2
- package/es/ui/index.js +13 -4
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +49 -26
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +13627 -13483
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/mixin.js +5 -1
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/methods.js +158 -49
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +2 -2
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +13 -13
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -4
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +2 -0
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +12 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +49 -30
- package/packages/table/module/export/mixin.ts +5 -3
- package/packages/table/src/methods.ts +157 -52
- package/packages/table/src/props.ts +1 -1
- package/packages/table/src/table.ts +12 -14
- package/packages/table/src/util.ts +0 -4
- package/packages/toolbar/src/toolbar.ts +2 -2
- package/packages/ui/index.ts +12 -2
- package/packages/ui/src/dom.ts +1 -1
- package/styles/cssvar.scss +0 -2
- /package/es/{iconfont.1754534807189.ttf → iconfont.1754905462391.ttf} +0 -0
- /package/es/{iconfont.1754534807189.woff → iconfont.1754905462391.woff} +0 -0
- /package/es/{iconfont.1754534807189.woff2 → iconfont.1754905462391.woff2} +0 -0
- /package/lib/{iconfont.1754534807189.ttf → iconfont.1754905462391.ttf} +0 -0
- /package/lib/{iconfont.1754534807189.woff → iconfont.1754905462391.woff} +0 -0
- /package/lib/{iconfont.1754534807189.woff2 → iconfont.1754905462391.woff2} +0 -0
|
@@ -1307,6 +1307,7 @@ var _default = exports.default = {
|
|
|
1307
1307
|
const reactData = $xeTable;
|
|
1308
1308
|
const internalData = $xeTable;
|
|
1309
1309
|
const $xeGrid = $xeTable.$xeGrid;
|
|
1310
|
+
const $xeGantt = $xeTable.$xeGantt;
|
|
1310
1311
|
const {
|
|
1311
1312
|
treeConfig,
|
|
1312
1313
|
showHeader,
|
|
@@ -1561,6 +1562,7 @@ var _default = exports.default = {
|
|
|
1561
1562
|
const params = {
|
|
1562
1563
|
$table: $xeTable,
|
|
1563
1564
|
$grid: $xeGrid,
|
|
1565
|
+
$gantt: $xeGantt,
|
|
1564
1566
|
sort: sortData.length ? sortData[0] : {},
|
|
1565
1567
|
sorts: sortData,
|
|
1566
1568
|
filters: gridReactData.filterData,
|
|
@@ -1571,7 +1573,9 @@ var _default = exports.default = {
|
|
|
1571
1573
|
const listProp = resConfigs.list;
|
|
1572
1574
|
handleOptions.data = (listProp ? _xeUtils.default.isFunction(listProp) ? listProp({
|
|
1573
1575
|
data: rest,
|
|
1574
|
-
$
|
|
1576
|
+
$table: $xeTable,
|
|
1577
|
+
$grid: $xeGrid,
|
|
1578
|
+
$gantt: $xeGantt
|
|
1575
1579
|
}) : _xeUtils.default.get(rest, listProp) : rest) || [];
|
|
1576
1580
|
if (afterQueryAll) {
|
|
1577
1581
|
afterQueryAll(params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,r,o,a){var i=e.computeSeqOpts.seqMethod||o.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(h,m,x,e){let{isAllExpand:g,mode:f}=m;var t=h.treeConfig;let v=h.computeRadioOpts,b=h.computeCheckboxOpts;var l=h.computeTreeOpts;let _=h.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(h).handleGetRowId;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=i(d);if(!p[o]){e=l&&l._row?l._row:l,l=e?i(e):"";if(g||!e||u[l]&&h.isTreeExpandByRow(e)){var a=hasTreeChildren(h,d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&h.isTreeExpandByRow(d)};x.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||_.exportMethod)l=o({$table:h,row:d,column:e,options:m});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===f?a:getSeq(h,a,d,s,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(d)),i._checkboxLabel=b.labelField?_xeUtils.default.get(d,b.labelField):"",i._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:d});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(d)),i._radioLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=h.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,s)=>{let n={_row:i};return x.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:h,row:i,column:e,options:m});else switch(e.type){case"seq":var a=s+1;l="all"===f?a:getSeq(h,a,i,s,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(i)),n._checkboxLabel=b.labelField?_xeUtils.default.get(i,b.labelField):"",n._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:i});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(i)),n._radioLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",n._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=h.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=toStringValue(l)}),n})}function getExportData(l,e){let{columns:t,dataFilterMethod:r}=e,o=e.data;return r&&(o=o.filter((e,t)=>r({$table:l,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.computeColumnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,r){var o=e.computeColumnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(l,e,t){let r=e.footerFilterMethod;return r?t.filter((e,t)=>r({$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,r,e,t){var o=l;let a=csvBOM;return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),a}function toTxt(l,r,e,t){var o=l;let a="";return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:r,scrollYLoad:t}=e;return o=r||t?o||!0:o}function toHtml(d,s,e,t){var l=d;let{id:c,border:r,treeConfig:o,headerAlign:n,align:u,footerAlign:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,x=d.mergeBodyCellMaps,g=d.computeTreeOpts,{print:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=s,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(r),f?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),o?t.forEach(o=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,r=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=n[t];let o=1,a=1;if(y){var i=d.getVTRowIndex(n._row),s=d.getVTColumnIndex(e),i=x[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return l&&r.push("col--"+l),"radio"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,s,t)).length)&&(T.push("<tfoot>"),l.forEach(o=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],r=getFooterCellValue(d,s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(s,T.join(""))}function toXML(l,r,e,t){var o=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let o=l.$xeGrid,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(a){var e={options:r,$table:l,$grid:o};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:i,colgroups:s,datas:e},()=>downloadFile(l,r,getContent(l,r,i,e))))}}).then(e=>(clearColumnConvert(i),r.print||t&&t({status:!0,options:r,$table:l,$grid:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),r.print||t&&t({status:!1,options:r,$table:l,$grid:o});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=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]},s={},n={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(s[t]=e),l&&(n[e.getTitle()]=e)});var d={fieldMaps:s,titleMaps:n};switch(r.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>s[e]||n[e])?l.createData(u).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,s){let n=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=s,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},r=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},s,{type:c,filename:u});var o;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=n.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),r({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:a})}).catch(e=>(t&&t({status:!1,options:s,$table:a}),Promise.reject(e))):(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,r,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)})}function handleFilterFields(e,t,l,r){return(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(s,e,t){var l=s.$xeGrid,{treeConfig:r,showHeader:o,showFooter:a}=s,{initStore:i,isGroup:n,footerTableData:d,exportStore:c,exportParams:u}=s,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=s,x=s.computeExportOpts,g=s.computeCustomOpts,f=s.getCheckboxRecords(),v=l?l.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:o,isTitle:o,isFooter:a,isColgroup:n,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);m=b.types||_xeUtils.default.keys(x._typeMaps),o=b.modes||[];let _=g.checkMethod;a=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=o.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,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!_&&!_({$table:s,column:e})}),Object.assign(c,{columns:a,typeList:v,modeList:e,hasFooter:d,hasMerge:h,hasTree:r,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(u,{mode:f.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:s,$grid:l}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:s,$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),i.export=!0,s.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let s=this;var t=s,l=s,r=s;let n=s.$xeGrid;var{treeConfig:t,showHeader:d,showFooter:c}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:o,afterTreeFullData:i,collectColumn:u,mergeBodyList:p,mergeFooterList:h}=r;var r=s.computeExportOpts,m=s.computeTreeOpts;let x=n?n.computeProxyOpts:{};var g=!(!p.length&&!h.length);let f=Object.assign({message:!0,isHeader:d,isTitle:d,isFooter:c,isColgroup:l,isMerge:g,useStyle:!0,current:"current",modes:(x.ajax&&x.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},r,e),{filename:v,sheetName:b,type:_,mode:y,columns:$,original:C,columnFilterMethod:w,beforeExportMethod:T,includeFields:E,excludeFields:F}=f,M=[],k=s.getCheckboxRecords(),U=(y=y||(k.length?"selected":"current"),!1),I=[],j=(I=$&&$.length?(U=!0,$):_xeUtils.default.searchTree(u,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=$&&$.length?handleFilterColumns(f,e,$):F||E?handleFilterFields(f,e,E,F):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},f,{filename:"",sheetName:""})),O=(U||w||(w=({column:e})=>(!F||!_xeUtils.default.includes(F,e.field))&&(E?!!_xeUtils.default.includes(E,e.field):C?!!e.field:defaultFilterExportColumn(e)),j.columnFilterMethod=w),M=I?(j._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(I,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=s.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=s.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=s.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!w||w({$table:s,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?u:a,(e,t)=>e.visible&&(!w||w({$table:s,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),j.columns=O,j.colgroups=convertToRows(M),v&&(_xeUtils.default.isFunction(v)?j.filename=v({options:f,$table:s,$grid:n}):j.filename=""+v),j.filename||(j.filename=getI18n(j.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?j.sheetName=b({options:f,$table:s,$grid:n}):j.sheetName=""+b),j.sheetName||(j.sheetName=document.title||""),!j.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(r._typeMaps),_))return(0,_log.errLog)("vxe.error.notType",[_]),["xlsx","pdf"].includes(_)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(j.print||T&&T({options:j,$table:s,$grid:n}),j.data)j._isCustomData=!0;else if(j.data=[],"selected"===y)-1<["html","pdf"].indexOf(_)&&t?j.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(k,e),Object.assign({},m,{data:"_row"})):j.data=k;else if("all"===y){if(n||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),n&&!j.remote){d=n;let e=n.computeProxyOpts;c=d.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};g=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(g||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),g){let l={$table:s,$grid:n,sort:c.length?c[0]:{},sorts:c,filters:d.filterData,form:d.formData,options:j};return Promise.resolve((t||g)(l)).then(e=>{var t=o.list;return j.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:n}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(s,j)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===y&&(j.data=t?i:o);return handleExport(s,j)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let r=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:o,afterImportMethod:a}=r;return o&&o({options:r,$table:this}),_ui.VxeUI.readFile(r).catch(e=>(a&&a({status:!1,options:r,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,r)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this;var t=l.$xeGrid;let r=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=r.sheetName;let o="",a=(o=(o=e?_xeUtils.default.isFunction(e)?e({options:r,$table:l,$grid:t}):""+e:o)||document.title||"",r.beforePrintMethod),i=r.html||r.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:o,html:i,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$table:l}):void 0})):e(l.exportData(r).then(({content:e})=>_ui.VxeUI.print({title:o,html:e,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$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{treeConfig:t,importConfig:l}=this;let{initStore:r,importStore:o,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=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=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,r,o,a){var i=e.computeSeqOpts.seqMethod||o.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(h,m,x,e){let{isAllExpand:g,mode:f}=m;var t=h.treeConfig;let v=h.computeRadioOpts,b=h.computeCheckboxOpts;var l=h.computeTreeOpts;let _=h.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let c=[],u={},p={},i=(0,_util.createHandleGetRowId)(h).handleGetRowId;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=i(d);if(!p[o]){e=l&&l._row?l._row:l,l=e?i(e):"";if(g||!e||u[l]&&h.isTreeExpandByRow(e)){var a=hasTreeChildren(h,d);let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&h.isTreeExpandByRow(d)};x.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||_.exportMethod)l=o({$table:h,row:d,column:e,options:m});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===f?a:getSeq(h,a,d,s,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(d)),i._checkboxLabel=b.labelField?_xeUtils.default.get(d,b.labelField):"",i._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:d});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(d)),i._radioLabel=v.labelField?_xeUtils.default.get(d,v.labelField):"",i._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:d});break;default:m.original?l=(0,_util.getCellValue)(d,e):(l=h.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),p[o]=!0,l&&(u[l]=!0),c.push(Object.assign(i,d))}}},{children:t}),c}return e.map((i,s)=>{let n={_row:i};return x.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||_.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:h,row:i,column:e,options:m});else switch(e.type){case"seq":var a=s+1;l="all"===f?a:getSeq(h,a,i,s,e,t);break;case"checkbox":l=toBooleanValue(h.isCheckedByCheckboxRow(i)),n._checkboxLabel=b.labelField?_xeUtils.default.get(i,b.labelField):"",n._checkboxDisabled=b.checkMethod&&!b.checkMethod({$table:h,row:i});break;case"radio":l=toBooleanValue(h.isCheckedByRadioRow(i)),n._radioLabel=v.labelField?_xeUtils.default.get(i,v.labelField):"",n._radioDisabled=v.checkMethod&&!v.checkMethod({$table:h,row:i});break;default:m.original?l=(0,_util.getCellValue)(i,e):(l=h.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=h.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=toStringValue(l)}),n})}function getExportData(l,e){let{columns:t,dataFilterMethod:r}=e,o=e.data;return r&&(o=o.filter((e,t)=>r({$table:l,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.computeColumnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,r){var o=e.computeColumnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.field)}function getFooterData(l,e,t){let r=e.footerFilterMethod;return r?t.filter((e,t)=>r({$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,r,e,t){var o=l;let a=csvBOM;return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),a}function toTxt(l,r,e,t){var o=l;let a="";return r.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:r,scrollYLoad:t}=e;return o=r||t?o||!0:o}function toHtml(d,s,e,t){var l=d;let{id:c,border:r,treeConfig:o,headerAlign:n,align:u,footerAlign:a,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:i}=l,x=d.mergeBodyCellMaps,g=d.computeTreeOpts,{print:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:$,colgroups:y,original:C}=s,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(r),f?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?y.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],r=getHeaderTitle(d,s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),o?t.forEach(o=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,r=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=n[t];let o=1,a=1;if($){var i=d.getVTRowIndex(n._row),s=d.getVTColumnIndex(e),i=x[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return l&&r.push("col--"+l),"radio"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${o}" colspan="${a}" title="${t}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(d,s,t)).length)&&(T.push("<tfoot>"),l.forEach(o=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],r=getFooterCellValue(d,s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&i?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),f?T.join(""):(0,_util2.createHtmlPage)(s,T.join(""))}function toXML(l,r,e,t){var o=l;let a=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=o.footerTableData,getFooterData(l,r,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function downloadFile(e,t,l){var{filename:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:r,type:o,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,r){let o=l.$xeGrid,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(a){var e={options:r,$table:l,$grid:o};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:i,colgroups:s,datas:e},()=>downloadFile(l,r,getContent(l,r,i,e))))}}).then(e=>(clearColumnConvert(i),r.print||t&&t({status:!0,options:r,$table:l,$grid:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),r.print||t&&t({status:!1,options:r,$table:l,$grid:o});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=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]},s={},n={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(s[t]=e),l&&(n[e.getTitle()]=e)});var d={fieldMaps:s,titleMaps:n};switch(r.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>s[e]||n[e])?l.createData(u).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1})}function handleFileImport(a,i,s){let n=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=s,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},r=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},s,{type:c,filename:u});var o;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=n.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),r({status:!1})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:a})}).catch(e=>(t&&t({status:!1,options:s,$table:a}),Promise.reject(e))):(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,r,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)})}function handleFilterFields(e,t,l,r){return(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(s,e,t){var l=s.$xeGrid,{treeConfig:r,showHeader:o,showFooter:a}=s,{initStore:i,isGroup:n,footerTableData:d,exportStore:c,exportParams:u}=s,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=s,x=s.computeExportOpts,g=s.computeCustomOpts,f=s.getCheckboxRecords(),v=l?l.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:o,isTitle:o,isFooter:a,isColgroup:n,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);m=b.types||_xeUtils.default.keys(x._typeMaps),o=b.modes||[];let _=g.checkMethod;a=p.slice(0);let{columns:$,excludeFields:y,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=o.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,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=$&&$.length?handleFilterColumns(b,e,$):y||C?handleFilterFields(b,e,C,y):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!_&&!_({$table:s,column:e})}),Object.assign(c,{columns:a,typeList:v,modeList:e,hasFooter:d,hasMerge:h,hasTree:r,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(u,{mode:f.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:s,$grid:l}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:s,$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),i.export=!0,s.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let s=this;var t=s,l=s,r=s;let n=s.$xeGrid,d=s.$xeGantt;var{treeConfig:t,showHeader:c,showFooter:u}=t,l=l.isGroup;let{tableFullColumn:a,afterFullData:o,afterTreeFullData:i,collectColumn:p,mergeBodyList:h,mergeFooterList:m}=r;var r=s.computeExportOpts,x=s.computeTreeOpts;let g=n?n.computeProxyOpts:{};var f=!(!h.length&&!m.length);let v=Object.assign({message:!0,isHeader:c,isTitle:c,isFooter:u,isColgroup:l,isMerge:f,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},r,e),{filename:b,sheetName:_,type:$,mode:y,columns:C,original:w,columnFilterMethod:T,beforeExportMethod:E,includeFields:F,excludeFields:M}=v,k=[],U=s.getCheckboxRecords(),I=(y=y||(U.length?"selected":"current"),!1),j=[],O=(j=C&&C.length?(I=!0,C):_xeUtils.default.searchTree(p,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=C&&C.length?handleFilterColumns(v,e,C):M||F?handleFilterFields(v,e,F,M):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:""})),L=(I||T||(T=({column:e})=>(!M||!_xeUtils.default.includes(M,e.field))&&(F?!!_xeUtils.default.includes(F,e.field):w?!!e.field:defaultFilterExportColumn(e)),O.columnFilterMethod=T),k=j?(O._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(j,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=s.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=s.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=s.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!T||T({$table:s,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?p:a,(e,t)=>e.visible&&(!T||T({$table:s,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(k,e=>{e.children&&e.children.length||L.push(e)},{children:"childNodes"}),O.columns=L,O.colgroups=convertToRows(k),b&&(_xeUtils.default.isFunction(b)?O.filename=b({options:v,$table:s,$grid:n}):O.filename=""+b),O.filename||(O.filename=getI18n(O.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(_xeUtils.default.isFunction(_)?O.sheetName=_({options:v,$table:s,$grid:n}):O.sheetName=""+_),O.sheetName||(O.sheetName=document.title||""),!O.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(r._typeMaps),$))return(0,_log.errLog)("vxe.error.notType",[$]),["xlsx","pdf"].includes($)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(O.print||E&&E({options:O,$table:s,$grid:n}),O.data)O._isCustomData=!0;else if(O.data=[],"selected"===y)-1<["html","pdf"].indexOf($)&&t?O.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):O.data=U;else if("all"===y){if(n||(0,_log.errLog)("vxe.error.errProp",["all","mode=current,selected"]),n&&!O.remote){c=n;let e=n.computeProxyOpts;u=c.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};f=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if(f||(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),f){let l={$table:s,$grid:n,$gantt:d,sort:u.length?u[0]:{},sorts:u,filters:c.filterData,form:c.formData,options:O};return Promise.resolve((t||f)(l)).then(e=>{var t=o.list;return O.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$table:s,$grid:n,$gantt:d}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),handleExport(s,O)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===y&&(O.data=t?i:o);return handleExport(s,O)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){let t=this;var l=this.importOpts;let r=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:o,afterImportMethod:a}=r;return o&&o({options:r,$table:this}),_ui.VxeUI.readFile(r).catch(e=>(a&&a({status:!1,options:r,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,r)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this;var t=l.$xeGrid;let r=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=r.sheetName;let o="",a=(o=(o=e?_xeUtils.default.isFunction(e)?e({options:r,$table:l,$grid:t}):""+e:o)||document.title||"",r.beforePrintMethod),i=r.html||r.content;return new Promise((e,t)=>{_ui.VxeUI.print?i?e(_ui.VxeUI.print({title:o,html:i,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$table:l}):void 0})):e(l.exportData(r).then(({content:e})=>_ui.VxeUI.print({title:o,html:e,customStyle:r.style,beforeMethod:a?({html:e})=>a({html:e,content:e,options:r,$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{treeConfig:t,importConfig:l}=this;let{initStore:r,importStore:o,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=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=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -1235,24 +1235,25 @@ function updateStyle($xeTable) {
|
|
|
1235
1235
|
editStore,
|
|
1236
1236
|
isAllOverflow,
|
|
1237
1237
|
expandColumn,
|
|
1238
|
-
isColLoading
|
|
1238
|
+
isColLoading,
|
|
1239
|
+
tHeaderHeight,
|
|
1240
|
+
tFooterHeight
|
|
1239
1241
|
} = reactData;
|
|
1240
1242
|
const {
|
|
1241
1243
|
visibleColumn,
|
|
1242
1244
|
tableHeight,
|
|
1243
|
-
headerHeight,
|
|
1244
|
-
footerHeight,
|
|
1245
1245
|
elemStore,
|
|
1246
1246
|
customHeight,
|
|
1247
1247
|
customMinHeight,
|
|
1248
1248
|
customMaxHeight
|
|
1249
1249
|
} = internalData;
|
|
1250
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
1250
1251
|
const el = $xeTable.$refs.refElem;
|
|
1251
|
-
if (!el) {
|
|
1252
|
+
if (!el || !el.clientHeight) {
|
|
1252
1253
|
return;
|
|
1253
1254
|
}
|
|
1254
1255
|
const containerList = ['main', 'left', 'right'];
|
|
1255
|
-
|
|
1256
|
+
let osbWidth = overflowY ? scrollbarWidth : 0;
|
|
1256
1257
|
const osbHeight = overflowX ? scrollbarHeight : 0;
|
|
1257
1258
|
const emptyPlaceholderElem = $xeTable.$refs.refEmptyPlaceholder;
|
|
1258
1259
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
@@ -1260,36 +1261,45 @@ function updateStyle($xeTable) {
|
|
|
1260
1261
|
const bodyWrapperElem = (0, _util.getRefElem)(elemStore['main-body-wrapper']);
|
|
1261
1262
|
const bodyTableElem = (0, _util.getRefElem)(elemStore['main-body-table']);
|
|
1262
1263
|
if (emptyPlaceholderElem) {
|
|
1263
|
-
emptyPlaceholderElem.style.top = `${
|
|
1264
|
+
emptyPlaceholderElem.style.top = `${tHeaderHeight}px`;
|
|
1264
1265
|
emptyPlaceholderElem.style.height = bodyWrapperElem ? `${bodyWrapperElem.offsetHeight - osbHeight}px` : '';
|
|
1265
1266
|
}
|
|
1266
|
-
|
|
1267
|
+
const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
|
|
1268
|
+
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
|
|
1269
|
+
const xScrollbarVisible = overflowX ? 'visible' : 'hidden';
|
|
1270
|
+
let yScrollbarVisible = overflowY ? 'visible' : 'hidden';
|
|
1271
|
+
if ($xeGanttView) {
|
|
1272
|
+
if (!scrollbarYToLeft) {
|
|
1273
|
+
osbWidth = 0;
|
|
1274
|
+
yScrollbarVisible = 'hidden';
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
let tbHeight = 0;
|
|
1267
1278
|
let bodyMaxHeight = 0;
|
|
1268
|
-
const bodyMinHeight = customMinHeight -
|
|
1279
|
+
const bodyMinHeight = customMinHeight - tHeaderHeight - tFooterHeight - osbHeight;
|
|
1269
1280
|
if (customMaxHeight) {
|
|
1270
|
-
bodyMaxHeight = Math.max(bodyMinHeight, customMaxHeight -
|
|
1281
|
+
bodyMaxHeight = Math.max(bodyMinHeight, customMaxHeight - tHeaderHeight - tFooterHeight - osbHeight);
|
|
1271
1282
|
}
|
|
1272
1283
|
if (customHeight) {
|
|
1273
|
-
|
|
1284
|
+
tbHeight = customHeight - tHeaderHeight - tFooterHeight - osbHeight;
|
|
1274
1285
|
}
|
|
1275
|
-
if (!
|
|
1286
|
+
if (!tbHeight) {
|
|
1276
1287
|
if (bodyTableElem) {
|
|
1277
|
-
|
|
1288
|
+
tbHeight = bodyTableElem.clientHeight;
|
|
1278
1289
|
}
|
|
1279
1290
|
}
|
|
1280
|
-
if (
|
|
1291
|
+
if (tbHeight) {
|
|
1281
1292
|
if (bodyMaxHeight) {
|
|
1282
|
-
|
|
1293
|
+
tbHeight = Math.min(bodyMaxHeight, tbHeight);
|
|
1283
1294
|
}
|
|
1284
|
-
|
|
1295
|
+
tbHeight = Math.max(bodyMinHeight, tbHeight);
|
|
1285
1296
|
}
|
|
1286
|
-
const scrollbarXToTop = $xeTable.$refs.computeScrollbarXToTop;
|
|
1287
1297
|
const xLeftCornerEl = $xeTable.$refs.refScrollXLeftCornerElem;
|
|
1288
1298
|
const xRightCornerEl = $xeTable.$refs.refScrollXRightCornerElem;
|
|
1289
1299
|
const scrollXVirtualEl = $xeTable.$refs.refScrollXVirtualElem;
|
|
1290
1300
|
if (scrollXVirtualEl) {
|
|
1291
1301
|
scrollXVirtualEl.style.height = `${osbHeight}px`;
|
|
1292
|
-
scrollXVirtualEl.style.visibility =
|
|
1302
|
+
scrollXVirtualEl.style.visibility = xScrollbarVisible;
|
|
1293
1303
|
}
|
|
1294
1304
|
const xWrapperEl = $xeTable.$refs.refScrollXWrapperElem;
|
|
1295
1305
|
if (xWrapperEl) {
|
|
@@ -1307,30 +1317,31 @@ function updateStyle($xeTable) {
|
|
|
1307
1317
|
const scrollYVirtualEl = $xeTable.$refs.refScrollYVirtualElem;
|
|
1308
1318
|
if (scrollYVirtualEl) {
|
|
1309
1319
|
scrollYVirtualEl.style.width = `${osbWidth}px`;
|
|
1310
|
-
scrollYVirtualEl.style.height = `${
|
|
1311
|
-
scrollYVirtualEl.style.visibility =
|
|
1320
|
+
scrollYVirtualEl.style.height = `${tbHeight + tHeaderHeight + tFooterHeight}px`;
|
|
1321
|
+
scrollYVirtualEl.style.visibility = yScrollbarVisible;
|
|
1312
1322
|
}
|
|
1313
1323
|
const yTopCornerEl = $xeTable.$refs.refScrollYTopCornerElem;
|
|
1314
1324
|
if (yTopCornerEl) {
|
|
1315
|
-
yTopCornerEl.style.height = `${
|
|
1316
|
-
yTopCornerEl.style.display = overflowY &&
|
|
1325
|
+
yTopCornerEl.style.height = `${tHeaderHeight}px`;
|
|
1326
|
+
yTopCornerEl.style.display = overflowY && tHeaderHeight ? 'block' : '';
|
|
1317
1327
|
}
|
|
1318
1328
|
const yWrapperEl = $xeTable.$refs.refScrollYWrapperElem;
|
|
1319
1329
|
if (yWrapperEl) {
|
|
1320
|
-
yWrapperEl.style.height = `${
|
|
1321
|
-
yWrapperEl.style.top = `${
|
|
1330
|
+
yWrapperEl.style.height = `${tbHeight}px`;
|
|
1331
|
+
yWrapperEl.style.top = `${tHeaderHeight}px`;
|
|
1322
1332
|
}
|
|
1323
1333
|
const yBottomCornerEl = $xeTable.$refs.refScrollYBottomCornerElem;
|
|
1324
1334
|
if (yBottomCornerEl) {
|
|
1325
|
-
yBottomCornerEl.style.height = `${
|
|
1326
|
-
yBottomCornerEl.style.top = `${
|
|
1327
|
-
yBottomCornerEl.style.display = overflowY &&
|
|
1335
|
+
yBottomCornerEl.style.height = `${tFooterHeight}px`;
|
|
1336
|
+
yBottomCornerEl.style.top = `${tHeaderHeight + tbHeight}px`;
|
|
1337
|
+
yBottomCornerEl.style.display = overflowY && tFooterHeight ? 'block' : '';
|
|
1328
1338
|
}
|
|
1329
1339
|
const rowExpandEl = $xeTable.$refs.refRowExpandElem;
|
|
1330
1340
|
if (rowExpandEl) {
|
|
1331
|
-
rowExpandEl.style.height = `${
|
|
1332
|
-
rowExpandEl.style.top = `${
|
|
1341
|
+
rowExpandEl.style.height = `${tbHeight}px`;
|
|
1342
|
+
rowExpandEl.style.top = `${tHeaderHeight}px`;
|
|
1333
1343
|
}
|
|
1344
|
+
reactData.tBodyHeight = tbHeight;
|
|
1334
1345
|
containerList.forEach((name, index) => {
|
|
1335
1346
|
const fixedType = index > 0 ? name : '';
|
|
1336
1347
|
const layoutList = ['header', 'body', 'footer'];
|
|
@@ -1390,7 +1401,7 @@ function updateStyle($xeTable) {
|
|
|
1390
1401
|
}
|
|
1391
1402
|
}
|
|
1392
1403
|
if (currScrollElem) {
|
|
1393
|
-
currScrollElem.style.height = `${
|
|
1404
|
+
currScrollElem.style.height = `${tHeaderHeight}px`;
|
|
1394
1405
|
}
|
|
1395
1406
|
if (tableElem) {
|
|
1396
1407
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
@@ -1398,15 +1409,15 @@ function updateStyle($xeTable) {
|
|
|
1398
1409
|
} else if (layout === 'body') {
|
|
1399
1410
|
if (currScrollElem) {
|
|
1400
1411
|
currScrollElem.style.maxHeight = customMaxHeight ? `${bodyMaxHeight}px` : '';
|
|
1401
|
-
currScrollElem.style.height = customHeight ? `${
|
|
1412
|
+
currScrollElem.style.height = customHeight ? `${tbHeight}px` : '';
|
|
1402
1413
|
currScrollElem.style.minHeight = `${bodyMinHeight}px`;
|
|
1403
1414
|
}
|
|
1404
1415
|
// 如果是固定列
|
|
1405
1416
|
if (fixedWrapperElem) {
|
|
1406
1417
|
if (wrapperElem) {
|
|
1407
|
-
wrapperElem.style.top = `${
|
|
1418
|
+
wrapperElem.style.top = `${tHeaderHeight}px`;
|
|
1408
1419
|
}
|
|
1409
|
-
fixedWrapperElem.style.height = `${customHeight > 0 ? customHeight : tableHeight +
|
|
1420
|
+
fixedWrapperElem.style.height = `${customHeight > 0 ? customHeight : tableHeight + tHeaderHeight + tFooterHeight + osbHeight}px`;
|
|
1410
1421
|
fixedWrapperElem.style.width = `${fixedColumn.reduce((previous, column) => previous + column.renderWidth, 0)}px`;
|
|
1411
1422
|
}
|
|
1412
1423
|
let renderColumnList = tableColumn;
|
|
@@ -1478,11 +1489,11 @@ function updateStyle($xeTable) {
|
|
|
1478
1489
|
}
|
|
1479
1490
|
}
|
|
1480
1491
|
if (currScrollElem) {
|
|
1481
|
-
currScrollElem.style.height = `${
|
|
1492
|
+
currScrollElem.style.height = `${tFooterHeight}px`;
|
|
1482
1493
|
// 如果是固定列
|
|
1483
1494
|
if (fixedWrapperElem) {
|
|
1484
1495
|
if (wrapperElem) {
|
|
1485
|
-
wrapperElem.style.top = `${customHeight > 0 ? customHeight -
|
|
1496
|
+
wrapperElem.style.top = `${customHeight > 0 ? customHeight - tFooterHeight - osbHeight : tableHeight + tHeaderHeight}px`;
|
|
1486
1497
|
}
|
|
1487
1498
|
}
|
|
1488
1499
|
}
|
|
@@ -1498,6 +1509,9 @@ function updateStyle($xeTable) {
|
|
|
1498
1509
|
if (mouseConfig && mouseOpts.selected && editStore.selected.row && editStore.selected.column) {
|
|
1499
1510
|
$xeTable.addCellSelectedClass();
|
|
1500
1511
|
}
|
|
1512
|
+
if ($xeGanttView) {
|
|
1513
|
+
$xeGanttView.handleUpdateStyle();
|
|
1514
|
+
}
|
|
1501
1515
|
return $xeTable.$nextTick();
|
|
1502
1516
|
}
|
|
1503
1517
|
function checkValidate($xeTable, type) {
|
|
@@ -2751,12 +2765,17 @@ function autoCellWidth($xeTable) {
|
|
|
2751
2765
|
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
2752
2766
|
const cellElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
2753
2767
|
let colHeight = rowRest.height;
|
|
2768
|
+
let firstCellStyle = null;
|
|
2769
|
+
let topBottomPadding = 0;
|
|
2754
2770
|
for (let i = 0; i < cellElemList.length; i++) {
|
|
2755
|
-
const
|
|
2756
|
-
const
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2771
|
+
const wrapperElem = cellElemList[i];
|
|
2772
|
+
const cellElem = wrapperElem.parentElement;
|
|
2773
|
+
if (!firstCellStyle) {
|
|
2774
|
+
firstCellStyle = getComputedStyle(cellElem);
|
|
2775
|
+
topBottomPadding = firstCellStyle ? Math.ceil(_xeUtils.default.toNumber(firstCellStyle.paddingTop) + _xeUtils.default.toNumber(firstCellStyle.paddingBottom)) : 0;
|
|
2776
|
+
}
|
|
2777
|
+
const cellHeight = wrapperElem ? wrapperElem.clientHeight : 0;
|
|
2778
|
+
colHeight = Math.max(colHeight, Math.ceil(cellHeight + topBottomPadding));
|
|
2760
2779
|
}
|
|
2761
2780
|
return colHeight;
|
|
2762
2781
|
};
|
|
@@ -3208,12 +3227,13 @@ function calcScrollbar($xeTable) {
|
|
|
3208
3227
|
reactData.scrollbarHeight = scrollbarOpts.height || xHandleEl.offsetHeight - xHandleEl.clientHeight || 14;
|
|
3209
3228
|
}
|
|
3210
3229
|
reactData.overflowX = overflowX;
|
|
3211
|
-
const
|
|
3212
|
-
const
|
|
3230
|
+
const hHeight = headerTableElem ? headerTableElem.clientHeight : 0;
|
|
3231
|
+
const fHeight = footerTableElem ? footerTableElem.clientHeight : 0;
|
|
3213
3232
|
internalData.tableHeight = bodyWrapperElem.offsetHeight;
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
reactData.
|
|
3233
|
+
reactData.tHeaderHeight = hHeight;
|
|
3234
|
+
reactData.tFooterHeight = fHeight;
|
|
3235
|
+
reactData.overflowX = overflowX;
|
|
3236
|
+
reactData.parentHeight = Math.max(hHeight + fHeight + 20, $xeTable.getParentHeight());
|
|
3217
3237
|
}
|
|
3218
3238
|
if (overflowX) {
|
|
3219
3239
|
$xeTable.checkScrolling();
|
|
@@ -3272,6 +3292,7 @@ function handleLazyRecalculate($xeTable, reFull, reWidth, reHeight) {
|
|
|
3272
3292
|
rceTimeout,
|
|
3273
3293
|
rceRunTime
|
|
3274
3294
|
} = internalData;
|
|
3295
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
3275
3296
|
const resizeOpts = $xeTable.computeResizeOpts;
|
|
3276
3297
|
const refreshDelay = resizeOpts.refreshDelay || 20;
|
|
3277
3298
|
const el = $xeTable.$refs.refElem;
|
|
@@ -3291,6 +3312,9 @@ function handleLazyRecalculate($xeTable, reFull, reWidth, reHeight) {
|
|
|
3291
3312
|
} else {
|
|
3292
3313
|
resolve(handleRecalculateStyle($xeTable, reFull, reWidth, reHeight));
|
|
3293
3314
|
}
|
|
3315
|
+
if ($xeGanttView) {
|
|
3316
|
+
$xeGanttView.handleLazyRecalculate();
|
|
3317
|
+
}
|
|
3294
3318
|
internalData.rceTimeout = setTimeout(() => {
|
|
3295
3319
|
internalData.rceTimeout = undefined;
|
|
3296
3320
|
handleRecalculateStyle($xeTable, reFull, reWidth, reHeight);
|
|
@@ -4181,6 +4205,20 @@ const wheelScrollTopTo = (diffNum, cb) => {
|
|
|
4181
4205
|
};
|
|
4182
4206
|
requestAnimationFrame(step);
|
|
4183
4207
|
};
|
|
4208
|
+
const syncGanttScrollTop = ($xeTable, scrollTop) => {
|
|
4209
|
+
const internalData = $xeTable;
|
|
4210
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
4211
|
+
if ($xeGanttView) {
|
|
4212
|
+
const ganttInternalData = $xeGanttView.internalData;
|
|
4213
|
+
const {
|
|
4214
|
+
elemStore: ganttElemStore
|
|
4215
|
+
} = ganttInternalData;
|
|
4216
|
+
const ganttBodyScrollElem = (0, _util.getRefElem)(ganttElemStore['main-body-scroll']);
|
|
4217
|
+
if (ganttBodyScrollElem) {
|
|
4218
|
+
ganttBodyScrollElem.scrollTop = scrollTop;
|
|
4219
|
+
}
|
|
4220
|
+
}
|
|
4221
|
+
};
|
|
4184
4222
|
function updateHeight($xeTable) {
|
|
4185
4223
|
const reactData = $xeTable;
|
|
4186
4224
|
const internalData = $xeTable;
|
|
@@ -4527,6 +4565,7 @@ const Methods = {
|
|
|
4527
4565
|
scrollYStore,
|
|
4528
4566
|
fullDataRowIdData
|
|
4529
4567
|
} = internalData;
|
|
4568
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
4530
4569
|
let fullList = internalData.afterFullData;
|
|
4531
4570
|
// 是否进行数据处理
|
|
4532
4571
|
if (force) {
|
|
@@ -4547,6 +4586,9 @@ const Methods = {
|
|
|
4547
4586
|
});
|
|
4548
4587
|
reactData.tableData = tableData;
|
|
4549
4588
|
internalData.visibleDataRowIdData = visibleDataRowIdMaps;
|
|
4589
|
+
if ($xeGanttView) {
|
|
4590
|
+
$xeGanttView.updateViewData();
|
|
4591
|
+
}
|
|
4550
4592
|
return $xeTable.$nextTick();
|
|
4551
4593
|
},
|
|
4552
4594
|
/**
|
|
@@ -6551,6 +6593,7 @@ const Methods = {
|
|
|
6551
6593
|
},
|
|
6552
6594
|
handleRowResizeMousedownEvent(evnt, params) {
|
|
6553
6595
|
const $xeTable = this;
|
|
6596
|
+
const props = $xeTable;
|
|
6554
6597
|
const reactData = $xeTable;
|
|
6555
6598
|
const internalData = $xeTable;
|
|
6556
6599
|
evnt.stopPropagation();
|
|
@@ -6558,6 +6601,9 @@ const Methods = {
|
|
|
6558
6601
|
const {
|
|
6559
6602
|
row
|
|
6560
6603
|
} = params;
|
|
6604
|
+
const {
|
|
6605
|
+
showOverflow
|
|
6606
|
+
} = props;
|
|
6561
6607
|
const {
|
|
6562
6608
|
overflowX,
|
|
6563
6609
|
scrollbarWidth,
|
|
@@ -6596,7 +6642,10 @@ const Methods = {
|
|
|
6596
6642
|
return;
|
|
6597
6643
|
}
|
|
6598
6644
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
6599
|
-
|
|
6645
|
+
let currCellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
6646
|
+
if (!showOverflow) {
|
|
6647
|
+
currCellHeight = tdEl.clientHeight;
|
|
6648
|
+
}
|
|
6600
6649
|
const tableRect = tableEl.getBoundingClientRect();
|
|
6601
6650
|
const trRect = trEl.getBoundingClientRect();
|
|
6602
6651
|
const targetOffsetY = dragClientY - trRect.y - trEl.clientHeight;
|
|
@@ -6781,6 +6830,32 @@ const Methods = {
|
|
|
6781
6830
|
});
|
|
6782
6831
|
return rest;
|
|
6783
6832
|
},
|
|
6833
|
+
recalcRowHeight(rowOrId) {
|
|
6834
|
+
const $xeTable = this;
|
|
6835
|
+
const reactData = $xeTable;
|
|
6836
|
+
const internalData = $xeTable;
|
|
6837
|
+
const {
|
|
6838
|
+
fullAllDataRowIdData
|
|
6839
|
+
} = internalData;
|
|
6840
|
+
const rows = _xeUtils.default.isArray(rowOrId) ? rowOrId : [rowOrId];
|
|
6841
|
+
const el = $xeTable.$refs.refElem;
|
|
6842
|
+
if (el) {
|
|
6843
|
+
const {
|
|
6844
|
+
handleGetRowId
|
|
6845
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
6846
|
+
el.setAttribute('data-calc-row', 'Y');
|
|
6847
|
+
rows.forEach(row => {
|
|
6848
|
+
const rowid = _xeUtils.default.isString(row) || _xeUtils.default.isNumber(row) ? row : handleGetRowId(row);
|
|
6849
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
6850
|
+
if (rowRest) {
|
|
6851
|
+
rowRest.resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
6852
|
+
}
|
|
6853
|
+
el.removeAttribute('data-calc-row');
|
|
6854
|
+
});
|
|
6855
|
+
reactData.calcCellHeightFlag++;
|
|
6856
|
+
}
|
|
6857
|
+
return $xeTable.$nextTick();
|
|
6858
|
+
},
|
|
6784
6859
|
setRowHeight(rowOrId, height) {
|
|
6785
6860
|
const $xeTable = this;
|
|
6786
6861
|
const reactData = $xeTable;
|
|
@@ -11648,6 +11723,7 @@ const Methods = {
|
|
|
11648
11723
|
}
|
|
11649
11724
|
(0, _dom.setScrollTop)(yHandleEl, scrollTop);
|
|
11650
11725
|
(0, _dom.setScrollTop)(rowExpandEl, scrollTop);
|
|
11726
|
+
syncGanttScrollTop($xeTable, scrollTop);
|
|
11651
11727
|
if (scrollYLoad) {
|
|
11652
11728
|
$xeTable.triggerScrollYEvent(evnt);
|
|
11653
11729
|
}
|
|
@@ -11876,6 +11952,7 @@ const Methods = {
|
|
|
11876
11952
|
(0, _dom.setScrollTop)(leftScrollElem, currTopNum);
|
|
11877
11953
|
(0, _dom.setScrollTop)(rightScrollElem, currTopNum);
|
|
11878
11954
|
(0, _dom.setScrollTop)(rowExpandEl, currTopNum);
|
|
11955
|
+
syncGanttScrollTop($xeTable, currTopNum);
|
|
11879
11956
|
if (scrollYLoad) {
|
|
11880
11957
|
$xeTable.triggerScrollYEvent(evnt);
|
|
11881
11958
|
}
|
|
@@ -11892,6 +11969,7 @@ const Methods = {
|
|
|
11892
11969
|
(0, _dom.setScrollTop)(leftScrollElem, currTopNum);
|
|
11893
11970
|
(0, _dom.setScrollTop)(rightScrollElem, currTopNum);
|
|
11894
11971
|
(0, _dom.setScrollTop)(rowExpandEl, currTopNum);
|
|
11972
|
+
syncGanttScrollTop($xeTable, currTopNum);
|
|
11895
11973
|
if (scrollYLoad) {
|
|
11896
11974
|
$xeTable.triggerScrollYEvent(evnt);
|
|
11897
11975
|
}
|
|
@@ -11993,6 +12071,7 @@ const Methods = {
|
|
|
11993
12071
|
(0, _dom.setScrollTop)(leftScrollElem, scrollTop);
|
|
11994
12072
|
(0, _dom.setScrollTop)(rightScrollElem, scrollTop);
|
|
11995
12073
|
(0, _dom.setScrollTop)(rowExpandEl, scrollTop);
|
|
12074
|
+
syncGanttScrollTop($xeTable, scrollTop);
|
|
11996
12075
|
if (scrollYLoad) {
|
|
11997
12076
|
$xeTable.triggerScrollYEvent(evnt);
|
|
11998
12077
|
}
|
|
@@ -12033,6 +12112,7 @@ const Methods = {
|
|
|
12033
12112
|
elemStore,
|
|
12034
12113
|
fullColumnIdData
|
|
12035
12114
|
} = internalData;
|
|
12115
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
12036
12116
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
12037
12117
|
const tableBody = $xeTable.$refs.refTableBody;
|
|
12038
12118
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
@@ -12093,10 +12173,13 @@ const Methods = {
|
|
|
12093
12173
|
if (scrollXSpaceEl) {
|
|
12094
12174
|
scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
|
|
12095
12175
|
}
|
|
12176
|
+
calcScrollbar($xeTable);
|
|
12096
12177
|
if (isScrollXBig && mouseOpts.area) {
|
|
12097
12178
|
(0, _log.errLog)('vxe.error.notProp', ['mouse-config.area']);
|
|
12098
12179
|
}
|
|
12099
|
-
|
|
12180
|
+
if ($xeGanttView) {
|
|
12181
|
+
$xeGanttView.updateScrollXSpace();
|
|
12182
|
+
}
|
|
12100
12183
|
return $xeTable.$nextTick(() => {
|
|
12101
12184
|
updateStyle($xeTable);
|
|
12102
12185
|
});
|
|
@@ -12129,6 +12212,7 @@ const Methods = {
|
|
|
12129
12212
|
fullAllDataRowIdData,
|
|
12130
12213
|
rowExpandedMaps
|
|
12131
12214
|
} = internalData;
|
|
12215
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
12132
12216
|
const {
|
|
12133
12217
|
startIndex
|
|
12134
12218
|
} = scrollYStore;
|
|
@@ -12220,10 +12304,13 @@ const Methods = {
|
|
|
12220
12304
|
reactData.scrollYTop = scrollYTop;
|
|
12221
12305
|
reactData.scrollYHeight = scrollYHeight;
|
|
12222
12306
|
reactData.isScrollYBig = isScrollYBig;
|
|
12307
|
+
calcScrollbar($xeTable);
|
|
12223
12308
|
if (isScrollYBig && mouseOpts.area) {
|
|
12224
12309
|
(0, _log.errLog)('vxe.error.notProp', ['mouse-config.area']);
|
|
12225
12310
|
}
|
|
12226
|
-
|
|
12311
|
+
if ($xeGanttView) {
|
|
12312
|
+
$xeGanttView.updateScrollYSpace();
|
|
12313
|
+
}
|
|
12227
12314
|
return $xeTable.$nextTick().then(() => {
|
|
12228
12315
|
updateStyle($xeTable);
|
|
12229
12316
|
});
|
|
@@ -12621,12 +12708,23 @@ const Methods = {
|
|
|
12621
12708
|
this.isActivated = false;
|
|
12622
12709
|
return this.$nextTick();
|
|
12623
12710
|
},
|
|
12624
|
-
|
|
12711
|
+
/**
|
|
12712
|
+
* 已废弃,被 connectToolbar 替换
|
|
12713
|
+
* @deprecated
|
|
12714
|
+
*/
|
|
12625
12715
|
connect($toolbar) {
|
|
12716
|
+
return this.connectToolbar($toolbar);
|
|
12717
|
+
},
|
|
12718
|
+
/**
|
|
12719
|
+
* 连接工具栏
|
|
12720
|
+
* @param $toolbar
|
|
12721
|
+
*/
|
|
12722
|
+
connectToolbar($toolbar) {
|
|
12723
|
+
const $xeTable = this;
|
|
12626
12724
|
if ($toolbar && $toolbar.syncUpdate) {
|
|
12627
12725
|
$toolbar.syncUpdate({
|
|
12628
12726
|
collectColumn: this.collectColumn,
|
|
12629
|
-
$table:
|
|
12727
|
+
$table: $xeTable
|
|
12630
12728
|
});
|
|
12631
12729
|
this.$toolbar = $toolbar;
|
|
12632
12730
|
} else {
|
|
@@ -12634,6 +12732,17 @@ const Methods = {
|
|
|
12634
12732
|
}
|
|
12635
12733
|
return this.$nextTick();
|
|
12636
12734
|
},
|
|
12735
|
+
handleConnectGanttView($ganttView) {
|
|
12736
|
+
const $xeTable = this;
|
|
12737
|
+
const internalData = $xeTable;
|
|
12738
|
+
if ($ganttView && $ganttView.connectUpdate) {
|
|
12739
|
+
$ganttView.connectUpdate({
|
|
12740
|
+
$table: $xeTable
|
|
12741
|
+
});
|
|
12742
|
+
internalData.xeGanttView = $ganttView;
|
|
12743
|
+
}
|
|
12744
|
+
return $xeTable.$nextTick();
|
|
12745
|
+
},
|
|
12637
12746
|
/*************************
|
|
12638
12747
|
* Publish methods
|
|
12639
12748
|
*************************/
|