vxe-table 4.21.9 → 4.22.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +2 -0
  2. package/dist/all.esm.js +69 -21
  3. package/dist/style.css +1 -1
  4. package/dist/style.min.css +1 -1
  5. package/es/grid/src/grid.js +26 -0
  6. package/es/iconfont.1789131679524.ttf +0 -0
  7. package/es/iconfont.1789131679524.woff +0 -0
  8. package/es/iconfont.1789131679524.woff2 +0 -0
  9. package/es/index.css +1 -1
  10. package/es/index.min.css +1 -1
  11. package/es/style.css +1 -1
  12. package/es/style.min.css +1 -1
  13. package/es/table/module/export/hook.js +7 -2
  14. package/es/table/src/cell.js +20 -10
  15. package/es/table/src/table.js +14 -7
  16. package/es/table/style.css +4 -5
  17. package/es/table/style.min.css +1 -1
  18. package/es/ui/index.js +1 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-table/style.css +4 -5
  21. package/es/vxe-table/style.min.css +1 -1
  22. package/lib/grid/src/grid.js +26 -0
  23. package/lib/grid/src/grid.min.js +1 -1
  24. package/lib/iconfont.1789131679524.ttf +0 -0
  25. package/lib/iconfont.1789131679524.woff +0 -0
  26. package/lib/iconfont.1789131679524.woff2 +0 -0
  27. package/lib/index.css +1 -1
  28. package/lib/index.min.css +1 -1
  29. package/lib/index.umd.js +61 -18
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/style.css +1 -1
  32. package/lib/style.min.css +1 -1
  33. package/lib/table/module/export/hook.js +10 -2
  34. package/lib/table/module/export/hook.min.js +1 -1
  35. package/lib/table/src/cell.js +21 -12
  36. package/lib/table/src/cell.min.js +1 -1
  37. package/lib/table/src/table.js +2 -2
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/style/style.css +4 -5
  40. package/lib/table/style/style.min.css +1 -1
  41. package/lib/ui/index.js +1 -1
  42. package/lib/ui/index.min.js +1 -1
  43. package/lib/ui/src/log.js +1 -1
  44. package/lib/ui/src/log.min.js +1 -1
  45. package/lib/vxe-table/style/style.css +4 -5
  46. package/lib/vxe-table/style/style.min.css +1 -1
  47. package/package.json +2 -2
  48. package/packages/grid/src/grid.ts +26 -0
  49. package/packages/table/module/export/hook.ts +7 -2
  50. package/packages/table/src/cell.ts +22 -10
  51. package/packages/table/src/table.ts +13 -7
  52. package/styles/components/icon.scss +2 -2
  53. package/styles/components/table.scss +11 -2
  54. package/styles/icon/iconfont.ttf +0 -0
  55. package/styles/icon/iconfont.woff +0 -0
  56. package/styles/icon/iconfont.woff2 +0 -0
  57. package/es/iconfont.1788956877759.ttf +0 -0
  58. package/es/iconfont.1788956877759.woff +0 -0
  59. package/es/iconfont.1788956877759.woff2 +0 -0
  60. package/lib/iconfont.1788956877759.ttf +0 -0
  61. package/lib/iconfont.1788956877759.woff +0 -0
  62. package/lib/iconfont.1788956877759.woff2 +0 -0
@@ -346,7 +346,8 @@ hooks.add('tableExportModule', {
346
346
  isRowGroupStatus
347
347
  } = reactData;
348
348
  const {
349
- fullColumnFieldData
349
+ fullColumnFieldData,
350
+ fullAllDataRowIdData
350
351
  } = internalData;
351
352
  const radioOpts = computeRadioOpts.value;
352
353
  const checkboxOpts = computeCheckboxOpts.value;
@@ -530,6 +531,9 @@ hooks.add('tableExportModule', {
530
531
  }
531
532
  if (treeConfig) {
532
533
  // 如果是树结构
534
+ const {
535
+ seqMode
536
+ } = treeOpts;
533
537
  const childrenField = treeOpts.children || treeOpts.childrenField;
534
538
  const rest = [];
535
539
  const expandMaps = {};
@@ -550,6 +554,7 @@ hooks.add('tableExportModule', {
550
554
  _hasChild: hasRowChild,
551
555
  _expand: hasRowChild && $xeTable.isTreeExpandByRow(row)
552
556
  };
557
+ const rowRest = fullAllDataRowIdData[rowid] || {};
553
558
  columns.forEach((column, $columnIndex) => {
554
559
  let cellValue = '';
555
560
  const renderOpts = column.editRender || column.cellRender;
@@ -574,7 +579,10 @@ hooks.add('tableExportModule', {
574
579
  switch (column.type) {
575
580
  case 'seq':
576
581
  {
577
- const seqVal = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
582
+ let seqVal = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
583
+ if (seqMode === 'increasing') {
584
+ seqVal = rowRest ? rowRest._index + 1 : -1;
585
+ }
578
586
  cellValue = expMode === 'all' ? seqVal : getSeq(seqVal, row, $rowIndex, column, $columnIndex);
579
587
  break;
580
588
  }
@@ -1 +1 @@
1
- var _vue=require("vue"),_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{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}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};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":e}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 clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:L,computeExportOpts:q,computeImportOpts:c,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u}=P.getComputeMaps(),R=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function D(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let O=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,N=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,m,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let F=S.fullColumnFieldData,U=a.value,j=s.value;var r=A.value;let I=n.value;var o=u.value;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(P).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=g(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||I.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||I.exportMethod)s=m({$table:P,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("");s="all"===k?g:R(g,v,f,e,t);break;case"checkbox":s=O(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;case"radio":s=O(P.isCheckedByRadioRow(v)),x._radioLabel=U.labelField?_xeUtils.default.get(v,U.labelField):"",x._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=F[u]||{},u={$table:P,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)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=N(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let c=r.children||r.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=g(d);if(!h[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&P.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||I.exportMethod)l=o({$table:P,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"===k?a:R(a,d,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:d});break;case"radio":l=O(P.isCheckedByRadioRow(d)),i._radioLabel=U.labelField?_xeUtils.default.get(d,U.labelField):"",i._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=P.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=N(l)}),h[o]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,s)=>{let n={_row:i};return m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===k?a:R(a,i,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;case"radio":l=O(P.isCheckedByRadioRow(i)),n._radioLabel=U.labelField?_xeUtils.default.get(i,U.labelField):"",n._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=N(l)}),n})},p=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)},H=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=P.getVTColumnIndex(l),a({$table:P,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(D(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join(",")+enterSymbol})),o},h=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(D(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join("\t")+enterSymbol})),o},G=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),m=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=D(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=D(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["col--ellipsis"]:[],l=o[l];if(e&&r.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>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=H(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},g=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${D(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${H(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},x=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return h(e,t,l,r);case"html":return m(t,l,r);case"xml":return g(t,l,r)}return""},f=(e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=p(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>f(l,x(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},b=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1,msg:"type error"}))},K=(e,r,t)=>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)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,b=L.value,a=!!a,c=0<c.length,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=t?[]:_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=(t?b:f).checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.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)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e.length?e[0].value:""),o.some(e=>e.value===I)||(h.type=o.length?o[0].value:""),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let v={exportData(r){let c=P.xeGrid,u=P.xeGantt;var p=c||u,{treeConfig:e,showHeader:h,showFooter:t}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:O}=S;var n=q.value,N=A.value;let d=p?p.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!O.length);let x=Object.assign({message:!0,isHeader:h,isTitle:h,isFooter:t,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,r),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[];h=x._columns;L=h?(I=!0,_xeUtils.default.searchTree(h,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let R=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),D=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||D.push(e)},{children:"childNodes"}),R.columns=D,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:c,$gantt:u}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:c,$gantt:u}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:c,$gantt:u});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(p||errLog("vxe.error.errProp",["all","mode=current,selected"]),p)&&!R.remote){g=p.reactData,r=p.getComputeMaps().computeProxyOpts;let e=r.value;h=g.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:c,$gantt:u,sort:h.length?h[0]:{},sorts:h,filters:g.filterData,form:g.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:c,$gantt:u}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return b(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return b(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=L.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(v.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=L.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.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}=V;let{initStore:r,importStore:o,importParams:a}=B;var i=c.value,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||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&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=L.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return v},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ var _vue=require("vue"),_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{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}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};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":e}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 clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:L,computeExportOpts:q,computeImportOpts:c,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u}=P.getComputeMaps(),D=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function R(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let O=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,N=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,k,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:F}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let{fullColumnFieldData:U,fullAllDataRowIdData:x}=S,j=a.value,I=s.value;var r=A.value;let L=n.value;var o=u.value;htmlCellElem=htmlCellElem||document.createElement("div");let R=(0,_util.createHandleGetRowId)(P).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=R(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?R(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};k.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||L.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||L.exportMethod)s=m({$table:P,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("");s="all"===F?g:D(g,v,f,e,t);break;case"checkbox":s=O(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:v});break;case"radio":s=O(P.isCheckedByRadioRow(v)),x._radioLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=U[u]||{},u={$table:P,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)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=N(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let u=r.seqMode,p=r.children||r.childrenField,h=[],m={},g={};return _xeUtils.default.eachTree(e,(e,n,t,d,l,r)=>{let c=e._row||e;var o=R(c);if(!g[o]){e=l&&l._row?l._row:l,l=e?R(e):"";if(i||!e||m[l]&&P.isTreeExpandByRow(e)){var a=c[p]&&c[p].length;let i={_row:c,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(c)},s=x[o]||{};k.forEach((t,l)=>{let r="";var e,o=t.editRender||t.cellRender;let a=t.exportMethod||L.exportMethod;if(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:a)||L.exportMethod)r=a({$table:P,row:c,column:t,options:M});else switch(t.type){case"seq":{let e=d.map((e,t)=>t%2==0?Number(e)+1:".").join("");"increasing"===u&&(e=s?s._index+1:-1),r="all"===F?e:D(e,c,n,t,l);break}case"checkbox":r=O(P.isCheckedByCheckboxRow(c)),i._checkboxLabel=I.labelField?_xeUtils.default.get(c,I.labelField):"",i._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:c});break;case"radio":r=O(P.isCheckedByRadioRow(c)),i._radioLabel=j.labelField?_xeUtils.default.get(c,j.labelField):"",i._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:c});break;default:M.original?r=(0,_util.getCellValue)(c,t):(r=P.getCellLabel(c,t),"html"===t.type?(htmlCellElem.innerHTML=r,r=htmlCellElem.innerText.trim()):(e=P.getCellElement(c,t))&&!(0,_dom.hasClass)(e,"is--progress")&&(r=e.innerText.trim()))}i[t.id]=N(r)}),g[o]=!0,l&&(m[l]=!0),h.push(Object.assign(i,c))}}},{children:p}),h}return e.map((i,s)=>{let n={_row:i};return k.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||L.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===F?a:D(a,i,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",n._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:i});break;case"radio":l=O(P.isCheckedByRadioRow(i)),n._radioLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=N(l)}),n})},p=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)},H=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=P.getVTColumnIndex(l),a({$table:P,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join(",")+enterSymbol})),o},h=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join("\t")+enterSymbol})),o},G=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),m=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["col--ellipsis"]:[],l=o[l];if(e&&r.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>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=H(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},g=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${R(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${H(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},x=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return h(e,t,l,r);case"html":return m(t,l,r);case"xml":return g(t,l,r)}return""},f=(e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=p(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>f(l,x(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},b=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1,msg:"type error"}))},K=(e,r,t)=>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)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,b=L.value,a=!!a,c=0<c.length,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=t?[]:_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=(t?b:f).checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.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)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e.length?e[0].value:""),o.some(e=>e.value===I)||(h.type=o.length?o[0].value:""),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let v={exportData(r){let c=P.xeGrid,u=P.xeGantt;var p=c||u,{treeConfig:e,showHeader:h,showFooter:t}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:O}=S;var n=q.value,N=A.value;let d=p?p.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!O.length);let x=Object.assign({message:!0,isHeader:h,isTitle:h,isFooter:t,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,r),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[];h=x._columns;L=h?(I=!0,_xeUtils.default.searchTree(h,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let R=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),D=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||D.push(e)},{children:"childNodes"}),R.columns=D,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:c,$gantt:u}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:c,$gantt:u}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:c,$gantt:u});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(p||errLog("vxe.error.errProp",["all","mode=current,selected"]),p)&&!R.remote){g=p.reactData,r=p.getComputeMaps().computeProxyOpts;let e=r.value;h=g.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:c,$gantt:u,sort:h.length?h[0]:{},sorts:h,filters:g.filterData,form:g.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:c,$gantt:u}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return b(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return b(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=L.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(v.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=L.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.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}=V;let{initStore:r,importStore:o,importParams:a}=B;var i=c.value,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||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&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=L.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return v},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -603,20 +603,28 @@ const Cell = exports.Cell = {
603
603
  if (defaultSlot) {
604
604
  return renderCellBaseVNs(params, $table.callSlot(defaultSlot, params));
605
605
  }
606
- const renderOpts = editRenderOpts || cellRenderOpts;
607
- // 如果是编辑表格:renderTableCell > formatter
608
- // 如果是查看表格:renderTableDefault > formatter
609
- if (renderOpts) {
610
- const compConf = renderer.get(renderOpts.name);
611
- if (compConf) {
612
- const renderFn = editRenderOpts ? compConf.renderTableCell || compConf.renderCell : compConf.renderTableDefault || compConf.renderDefault;
613
- if (renderFn) {
614
- return renderCellBaseVNs(params, (0, _vn.getSlotVNs)(renderFn(renderOpts, Object.assign({
615
- $type: editRenderOpts ? 'edit' : 'cell'
616
- }, params))));
617
- }
606
+ // 如果是编辑模式-查看:slot default > formatter > cellRender.renderTableDefault > editRender.renderTableCell > editRender.renderTableDefault > cellRender.tableCellFormatter > editRender.tableCellFormatter > field
607
+ // 如果是查看表格:slot default > formatter > cellRender.renderTableDefault > cellRender.tableCellFormatter > field
608
+ const cellCompConf = cellRenderOpts ? renderer.get(cellRenderOpts.name) : null;
609
+ if (cellRenderOpts) {
610
+ const cellDefaultRenderFn = cellCompConf ? cellCompConf.renderTableDefault || cellCompConf.renderDefault : null;
611
+ if (cellDefaultRenderFn && cellRenderOpts) {
612
+ return renderCellBaseVNs(params, (0, _vn.getSlotVNs)(cellDefaultRenderFn(cellRenderOpts, Object.assign({
613
+ $type: editRenderOpts ? 'edit' : 'cell'
614
+ }, params))));
615
+ }
616
+ }
617
+ if (editRenderOpts) {
618
+ const editCompConf = editRenderOpts ? renderer.get(editRenderOpts.name) : null;
619
+ const editCellRenderFn = editCompConf ? editCompConf.renderTableCell || editCompConf.renderCell || editCompConf.renderTableDefault || editCompConf.renderDefault : null;
620
+ if (editCellRenderFn) {
621
+ return renderCellBaseVNs(params, (0, _vn.getSlotVNs)(editCellRenderFn(editRenderOpts, Object.assign({
622
+ $type: editRenderOpts ? 'edit' : 'cell'
623
+ }, params))));
618
624
  }
619
625
  }
626
+ // 如果是编辑模式-查看:cellRender.tableCellFormatter > editRender.tableCellFormatter > field
627
+ // 如果是查看表格:cellRender.tableCellFormatter > field
620
628
  cellValue = $table.getCellLabel(row, column);
621
629
  }
622
630
  const cellPlaceholder = editRenderOpts ? editRenderOpts.placeholder : '';
@@ -1626,6 +1634,7 @@ const Cell = exports.Cell = {
1626
1634
  return renderCellBaseVNs(params, $table.callSlot(defaultSlot, cellParams));
1627
1635
  }
1628
1636
  }
1637
+ // slot default > formatter
1629
1638
  if (formatter) {
1630
1639
  return renderCellBaseVNs(params, [(0, _vue.h)('span', {
1631
1640
  class: 'vxe-cell--label'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?t.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:s,computeTreeOpts:d}=t.getComputeMaps(),t=t.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=s,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(s||o&&o.showRowIcon)&&(!c||c(e))&&(!a||d.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=r.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=s.value;if(!o.drag||!s||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,s=a.isRowGroupStatus,{showHeaderOverflow:d,slots:i}=r,i=i?i.title:null,o=o.value;let u=o.showAll;n=_xeUtils.default.eqNull(d)?n:d;let c="title"===(!0===n?o.mode:n),C="tooltip"===(!0===n?o.mode:n);d={},(c||C||u)&&(d.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(d.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),o=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),s&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,o):i?t.callSlot(i,l):[o])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,n=l.props.editConfig,{slots:a,editRender:o,cellRender:s}=t,a=a?a.footer:null;if(a)return l.callSlot(a,e);a=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(o)?o:null,n=(0,_utils.isEnableConf)(s)?s:null,o=a||n,s=l.getFooterCellLabel(r,t);if(o){a=renderer.get(o.name);if(a){n=a.renderTableFooter||a.renderFooter;if(n)return l=Object.assign(e,{cellValue:s,itemValue:s}),(0,_vn.getSlotVNs)(n(o,l))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(s,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:s,rowGroupNode:d,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,g=s||a&&("column"===c?l.field===t.groupField:d);switch(o){case"seq":return g?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return g?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?g?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):g?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return g?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(i)?i:null)?"cell"===u.mode?g?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):g?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):g?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props.editConfig,{type:l,filters:n,sortable:a,editRender:o,slots:s}=l;if("obsolete"!==getConfig().tableHeadeSlotToTitleSlot){s=s?s.header:null;if(s)return renderTitleContent(e,t.callSlot(s,e))}switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return(r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o)?o:null)?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,r=l.props.editConfig,{slots:n,editRender:a,cellRender:o}=t,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(a)?a:null,a=(0,_utils.isEnableConf)(o)?o:null,o=r||a;if("obsolete"===getConfig().tableHeadeSlotToTitleSlot){r=n?n.header:null;if(r)return renderTitleContent(e,l.callSlot(r,e))}if(o){a=renderer.get(o.name);if(a){n=a.renderTableHeader||a.renderHeader;if(n)return renderTitleContent(e,(0,_vn.getSlotVNs)(n(o,e)))}}return renderTitleContent(e,l.getHeaderCellLabel(t))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:s,slots:d,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C}=r,n=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(i)?i:null,i=(0,_utils.isEnableConf)(u)?u:null,u=d?d.default:null,g=d?d.groupContent||d["group-content"]:null,d=d?d.groupValues||d["group-values"]:null;let p="";if(o&&s&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,{mode:v,showTotal:b,totalMethod:h,countFields:E,contentMethod:_,formatValuesMethod:f,mapChildrenField:m}=v.value,x=o.aggData,x=x?x[s]:null,D=o.groupField,T=o.groupContent,m=m&&o[m]||[],H=o.childCount,a=a[D]||{},a={$table:l,groupField:D,groupColumn:a?a.column:null,column:r,groupValue:T,childList:m,childCount:H,aggValue:null,children:m,totalValue:H};if("column"===v?s===o.groupField:c){if(p=T,_&&(p=""+_(a)),b&&(p=getI18n("vxe.table.rowGroupContentTotal",[p,h?h(a):H,H])),g)return renderCellBaseVNs(e,l.callSlot(g,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e)))}else if(l.getPivotTableAggregateCellAggValue){if(p=l.getPivotTableAggregateCellAggValue(e),a.aggValue=p,d)return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e,a)))}else if((!0===C||E&&E.includes(s))&&(p=x?x.value:H,a.aggValue=p,f&&(p=f(a)),d))return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e,a)))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));v=n||i;if(v){o=renderer.get(v.name);if(o){c=n?o.renderTableCell||o.renderCell:o.renderTableDefault||o.renderDefault;if(c)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(c(v,Object.assign({$type:n?"edit":"cell"},e))))}}p=l.getCellLabel(t,r)}_=n?n.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[n&&(0,_utils.eqEmptyValue)(p)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(_),1)):(0,_vue.h)("span",(0,_utils.formatText)(p,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,s=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:s,padding:d,indent:i,showIcon:u,iconOpen:c,iconClose:C}=s.value,g=(0,_util.getRowid)(t,a),r=!!r&&!!n[g];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==s&&d&&i?{paddingLeft:o*i+"px"}:void 0},[u&&a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?c||getIcon().TABLE_ROW_GROUP_OPEN:C||getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:s,level:d}=l,s=s.slots,s=s?s.icon:null;if(s)return t.callSlot(s,l);var s=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,s=s.value,{padding:c,indent:C,lazy:g,trigger:p,visibleMethod:v,iconLoaded:b,showIcon:h,iconOpen:E,iconClose:_}=s,f=s.children||s.childrenField,s=s.hasChild||s.hasChildField,f=o[f],f=f&&f.length;let m=!1,x=!1,D=!1,T=!1;var H,S={};return r||(H=(0,_util.getRowid)(t,o),x=!!n&&!!i[H],g&&(n=a[H],D=!!u[H],m=o[s],T=!!n.treeLoaded)),p&&"default"!==p||(S.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:c&&C?{paddingLeft:d*C+"px"}:void 0},[h&&(!g||T?f:f||m)&&(!v||v(l))?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},S),[(0,_vue.h)("i",{class:D?b||getIcon().TABLE_TREE_LOADED:x?E||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t)return r.groupField&&n.field===r.groupField?[Cell.renderRowGroupBtn(e,l)]:l;if(a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var l,{$table:t,column:r}=e;return"obsolete"===getConfig().tableHeadeSlotToTitleSlot?(l=r.slots,renderHeaderCellBaseVNs(e,renderTitleContent(e,(l=l?l.header:null)?t.callSlot(l,e):t.getHeaderCellLabel(r)))):renderHeaderCellBaseVNs(e,renderTitleContent(e,t.getHeaderCellLabel(r)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.title:null;return"obsolete"===getConfig().tableHeadeSlotToTitleSlot?renderHeaderCellBaseVNs(e,renderTitleContent(e,(r=r?r.header:null)?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):l.getHeaderCellLabel(t))])):renderHeaderCellBaseVNs(e,renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):l.getHeaderCellLabel(t))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!d||d({$table:t,row:i}),C=!!s,g;r||(g={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},s&&(C=!s({$table:t,row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,d)):(s=[],c&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},g),s)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=t.slots,a=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=l.getHeaderCellLabel(t),g={},p=(r||(g.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));if("obsolete"===getConfig().tableHeadeSlotToTitleSlot){n=n?n.header:null;if(n)return renderHeaderCellBaseVNs(e,renderTitleContent(p,l.callSlot(n,p)))}return renderHeaderCellBaseVNs(e,renderTitleContent(p,(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},g),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(a||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},a?l.callSlot(a,p):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},a?l.callSlot(a,p):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,{selectCheckboxMaps:d,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:g,visibleMethod:p}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let b=!1,h=!1,E=!0,_=!1;var f,m={},d=(n||(f=(0,_util.getRowid)(t,e),h=!!o&&!!d[f],g&&s&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!g({$table:t,row:e}))||(_=!0):(E=!p||p({$table:t,row:e}),_=g?!g({$table:t,row:e}):!!g),(a||s)&&(b=!!i[f]),m.onClick=e=>{!_&&E&&t.triggerCheckRowEvent(e,l,!h)}),Object.assign(Object.assign({},l),{checked:h,disabled:_,visible:E,indeterminate:b}));return u?renderCellBaseVNs(l,t.callSlot(u,d)):(c=[],E&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:_?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,d):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":_,"is--indeterminate":b,"is--hidden":!E}]},m),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,d=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:g,visibleMethod:p}=i;var i=i.indeterminateField||i.halfField,v=r.slots,b=v?v.default:null,v=v?v.checkbox:null;let h=!1,E=!1,_=!0,f=!1;var m,x={},u=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&_xeUtils.default.get(e,C),g&&s&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!g({$table:t,row:e}))||(f=!0):(_=!p||p({$table:t,row:e}),f=g?!g({$table:t,row:e}):!!g),(a||s)&&(h=!!d[m]),x.onClick=e=>{!f&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:f,visible:_,indeterminate:h}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],_&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:f?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),b||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},b?t.callSlot(b,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":f,"is--indeterminate":i&&!E?e[i]:h,"is--hidden":!_}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=t.internalData,d=t.getComputeMaps().computeExpandOpts,{lazy:d,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:g,visibleMethod:p}=d.value,v=n.slots,b=v?v.default:null,v=v?v.icon:null;let h=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),h=!!o[a],d&&(E=!!s[a])),renderCellBaseVNs(l,[!c||p&&!p(l)?renderEmptyElement(t):(0,_vue.h)("div",{class:["vxe-table--expanded",{"is--active":h}]},[(0,_vue.h)("span",{class:"vxe-table--expand-btn",onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:E?u||getIcon().TABLE_EXPAND_LOADED:h?C||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE})])]),b||i?(0,_vue.h)("div",{class:"vxe-table--expand-label"},b?t.callSlot(b,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:s,editRender:d}=t,r=r&&(0,_utils.isEnableConf)(r),d=r&&(0,_utils.isEnableConf)(d)?d:null;let i=!1,u=(a&&(a=t.rules||_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return r&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),d&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row))},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row||l.column!==e.column))},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.props.editConfig,o=t.reactData.isRowGroupStatus,{slots:n,field:s,editRender:d,formatter:i}=n,a=a&&(0,_utils.isEnableConf)(a)&&(0,_utils.isEnableConf)(d)?d:null,d=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=Object.assign({$type:"",isEdit:l},e);if(l&&a)return c.$type="edit",n?t.callSlot(n,c):(n=(l=renderer.get(a.name))?l.renderTableEdit||l.renderEdit:null)?(0,_vn.getSlotVNs)(n(a,c)):[];if(o&&s&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,a=n.value.mapChildrenField,o=l.groupField,s=l.groupContent,r=a&&l[a]||[],n=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:o,groupContent:s,childList:r,childCount:n},e)))}else if(d)return renderCellBaseVNs(e,t.callSlot(d,c));return i?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(c))]):Cell.renderDefaultCell(c)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?t.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:s,computeTreeOpts:d}=t.getComputeMaps(),t=t.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=s,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(s||o&&o.showRowIcon)&&(!c||c(e))&&(!a||d.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=r.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=s.value;if(!o.drag||!s||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,s=a.isRowGroupStatus,{showHeaderOverflow:d,slots:i}=r,i=i?i.title:null,o=o.value;let u=o.showAll;n=_xeUtils.default.eqNull(d)?n:d;let c="title"===(!0===n?o.mode:n),C="tooltip"===(!0===n?o.mode:n);d={},(c||C||u)&&(d.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(d.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),o=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),s&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,o):i?t.callSlot(i,l):[o])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,n=l.props.editConfig,{slots:a,editRender:o,cellRender:s}=t,a=a?a.footer:null;if(a)return l.callSlot(a,e);a=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(o)?o:null,n=(0,_utils.isEnableConf)(s)?s:null,o=a||n,s=l.getFooterCellLabel(r,t);if(o){a=renderer.get(o.name);if(a){n=a.renderTableFooter||a.renderFooter;if(n)return l=Object.assign(e,{cellValue:s,itemValue:s}),(0,_vn.getSlotVNs)(n(o,l))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(s,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:s,rowGroupNode:d,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,g=s||a&&("column"===c?l.field===t.groupField:d);switch(o){case"seq":return g?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return g?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?g?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):g?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return g?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(i)?i:null)?"cell"===u.mode?g?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):g?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):g?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props.editConfig,{type:l,filters:n,sortable:a,editRender:o,slots:s}=l;if("obsolete"!==getConfig().tableHeadeSlotToTitleSlot){s=s?s.header:null;if(s)return renderTitleContent(e,t.callSlot(s,e))}switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return(r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o)?o:null)?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,r=l.props.editConfig,{slots:n,editRender:a,cellRender:o}=t,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(a)?a:null,a=(0,_utils.isEnableConf)(o)?o:null,o=r||a;if("obsolete"===getConfig().tableHeadeSlotToTitleSlot){r=n?n.header:null;if(r)return renderTitleContent(e,l.callSlot(r,e))}if(o){a=renderer.get(o.name);if(a){n=a.renderTableHeader||a.renderHeader;if(n)return renderTitleContent(e,(0,_vn.getSlotVNs)(n(o,e)))}}return renderTitleContent(e,l.getHeaderCellLabel(t))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:s,slots:d,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C}=r,n=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(i)?i:null,i=(0,_utils.isEnableConf)(u)?u:null,u=d?d.default:null,g=d?d.groupContent||d["group-content"]:null,d=d?d.groupValues||d["group-values"]:null;let p="";if(o&&s&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,{mode:v,showTotal:b,totalMethod:h,countFields:E,contentMethod:_,formatValuesMethod:f,mapChildrenField:m}=v.value,x=o.aggData,x=x?x[s]:null,D=o.groupField,T=o.groupContent,m=m&&o[m]||[],H=o.childCount,a=a[D]||{},a={$table:l,groupField:D,groupColumn:a?a.column:null,column:r,groupValue:T,childList:m,childCount:H,aggValue:null,children:m,totalValue:H};if("column"===v?s===o.groupField:c){if(p=T,_&&(p=""+_(a)),b&&(p=getI18n("vxe.table.rowGroupContentTotal",[p,h?h(a):H,H])),g)return renderCellBaseVNs(e,l.callSlot(g,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e)))}else if(l.getPivotTableAggregateCellAggValue){if(p=l.getPivotTableAggregateCellAggValue(e),a.aggValue=p,d)return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e,a)))}else if((!0===C||E&&E.includes(s))&&(p=x?x.value:H,a.aggValue=p,f&&(p=f(a)),d))return renderCellBaseVNs(e,l.callSlot(d,Object.assign({groupField:D,groupContent:T,childList:m,childCount:H},e,a)))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));v=i?renderer.get(i.name):null;if(i){o=v?v.renderTableDefault||v.renderDefault:null;if(o&&i)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(o(i,Object.assign({$type:n?"edit":"cell"},e))))}if(n){c=n?renderer.get(n.name):null,_=c?c.renderTableCell||c.renderCell||c.renderTableDefault||c.renderDefault:null;if(_)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(_(n,Object.assign({$type:n?"edit":"cell"},e))))}p=l.getCellLabel(t,r)}b=n?n.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[n&&(0,_utils.eqEmptyValue)(p)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(b),1)):(0,_vue.h)("span",(0,_utils.formatText)(p,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,s=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:s,padding:d,indent:i,showIcon:u,iconOpen:c,iconClose:C}=s.value,g=(0,_util.getRowid)(t,a),r=!!r&&!!n[g];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==s&&d&&i?{paddingLeft:o*i+"px"}:void 0},[u&&a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?c||getIcon().TABLE_ROW_GROUP_OPEN:C||getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:s,level:d}=l,s=s.slots,s=s?s.icon:null;if(s)return t.callSlot(s,l);var s=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,s=s.value,{padding:c,indent:C,lazy:g,trigger:p,visibleMethod:v,iconLoaded:b,showIcon:h,iconOpen:E,iconClose:_}=s,f=s.children||s.childrenField,s=s.hasChild||s.hasChildField,f=o[f],f=f&&f.length;let m=!1,x=!1,D=!1,T=!1;var H,S={};return r||(H=(0,_util.getRowid)(t,o),x=!!n&&!!i[H],g&&(n=a[H],D=!!u[H],m=o[s],T=!!n.treeLoaded)),p&&"default"!==p||(S.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:c&&C?{paddingLeft:d*C+"px"}:void 0},[h&&(!g||T?f:f||m)&&(!v||v(l))?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},S),[(0,_vue.h)("i",{class:D?b||getIcon().TABLE_TREE_LOADED:x?E||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t)return r.groupField&&n.field===r.groupField?[Cell.renderRowGroupBtn(e,l)]:l;if(a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var l,{$table:t,column:r}=e;return"obsolete"===getConfig().tableHeadeSlotToTitleSlot?(l=r.slots,renderHeaderCellBaseVNs(e,renderTitleContent(e,(l=l?l.header:null)?t.callSlot(l,e):t.getHeaderCellLabel(r)))):renderHeaderCellBaseVNs(e,renderTitleContent(e,t.getHeaderCellLabel(r)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.title:null;return"obsolete"===getConfig().tableHeadeSlotToTitleSlot?renderHeaderCellBaseVNs(e,renderTitleContent(e,(r=r?r.header:null)?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):l.getHeaderCellLabel(t))])):renderHeaderCellBaseVNs(e,renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):l.getHeaderCellLabel(t))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!d||d({$table:t,row:i}),C=!!s,g;r||(g={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},s&&(C=!s({$table:t,row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,d)):(s=[],c&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},g),s)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=t.slots,a=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=l.getHeaderCellLabel(t),g={},p=(r||(g.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));if("obsolete"===getConfig().tableHeadeSlotToTitleSlot){n=n?n.header:null;if(n)return renderHeaderCellBaseVNs(e,renderTitleContent(p,l.callSlot(n,p)))}return renderHeaderCellBaseVNs(e,renderTitleContent(p,(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},g),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(a||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},a?l.callSlot(a,p):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},a?l.callSlot(a,p):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,{selectCheckboxMaps:d,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:g,visibleMethod:p}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let b=!1,h=!1,E=!0,_=!1;var f,m={},d=(n||(f=(0,_util.getRowid)(t,e),h=!!o&&!!d[f],g&&s&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!g({$table:t,row:e}))||(_=!0):(E=!p||p({$table:t,row:e}),_=g?!g({$table:t,row:e}):!!g),(a||s)&&(b=!!i[f]),m.onClick=e=>{!_&&E&&t.triggerCheckRowEvent(e,l,!h)}),Object.assign(Object.assign({},l),{checked:h,disabled:_,visible:E,indeterminate:b}));return u?renderCellBaseVNs(l,t.callSlot(u,d)):(c=[],E&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:_?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,d):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":_,"is--indeterminate":b,"is--hidden":!E}]},m),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,d=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:g,visibleMethod:p}=i;var i=i.indeterminateField||i.halfField,v=r.slots,b=v?v.default:null,v=v?v.checkbox:null;let h=!1,E=!1,_=!0,f=!1;var m,x={},u=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&_xeUtils.default.get(e,C),g&&s&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!g({$table:t,row:e}))||(f=!0):(_=!p||p({$table:t,row:e}),f=g?!g({$table:t,row:e}):!!g),(a||s)&&(h=!!d[m]),x.onClick=e=>{!f&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:f,visible:_,indeterminate:h}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],_&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:f?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),b||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},b?t.callSlot(b,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":f,"is--indeterminate":i&&!E?e[i]:h,"is--hidden":!_}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=t.internalData,d=t.getComputeMaps().computeExpandOpts,{lazy:d,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:g,visibleMethod:p}=d.value,v=n.slots,b=v?v.default:null,v=v?v.icon:null;let h=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),h=!!o[a],d&&(E=!!s[a])),renderCellBaseVNs(l,[!c||p&&!p(l)?renderEmptyElement(t):(0,_vue.h)("div",{class:["vxe-table--expanded",{"is--active":h}]},[(0,_vue.h)("span",{class:"vxe-table--expand-btn",onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:E?u||getIcon().TABLE_EXPAND_LOADED:h?C||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE})])]),b||i?(0,_vue.h)("div",{class:"vxe-table--expand-label"},b?t.callSlot(b,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:s,editRender:d}=t,r=r&&(0,_utils.isEnableConf)(r),d=r&&(0,_utils.isEnableConf)(d)?d:null;let i=!1,u=(a&&(a=t.rules||_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return r&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),d&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row))},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row||l.column!==e.column))},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.props.editConfig,o=t.reactData.isRowGroupStatus,{slots:n,field:s,editRender:d,formatter:i}=n,a=a&&(0,_utils.isEnableConf)(a)&&(0,_utils.isEnableConf)(d)?d:null,d=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=Object.assign({$type:"",isEdit:l},e);if(l&&a)return c.$type="edit",n?t.callSlot(n,c):(n=(l=renderer.get(a.name))?l.renderTableEdit||l.renderEdit:null)?(0,_vn.getSlotVNs)(n(a,c)):[];if(o&&s&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,a=n.value.mapChildrenField,o=l.groupField,s=l.groupContent,r=a&&l[a]||[],n=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:o,groupContent:s,childList:r,childCount:n},e)))}else if(d)return renderCellBaseVNs(e,t.callSlot(d,c));return i?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(c))]):Cell.renderDefaultCell(c)}};var _default=exports.default=Cell;
@@ -344,8 +344,8 @@ if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scroll
344
344
  * 如果还额外传了 field 则清空指定单元格内容
345
345
  * @param {Array/Row} rows 行数据
346
346
  * @param {String} field 字段名
347
- */clearData(rows,field){const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!_xeUtils.default.isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>_xeUtils.default.set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){(0,_util.setCellValue)(row,column,null);}});});}return(0,_vue.nextTick)();},effectCellData(row,column,options){const{fullCellStoreMaps}=internalData;const editOpts=computeEditOpts.value;const{key,isChanged,setValue,getResult}=options;const rowid=(0,_util.getRowid)($xeTable,row);const colid=column.id;let rowStore=fullCellStoreMaps[rowid];const cellValue=_xeUtils.default.get(row,column.field);const restParams={$table:$xeTable,row,rowid,column,colid,cellValue,oldValue:null};if(editOpts.cache===false&&key==='render_table_cell'){const rest=restParams;rest.cellResult=getResult?getResult(restParams):cellValue;return rest;}if(!rowStore){rowStore={};fullCellStoreMaps[rowid]=rowStore;}let cellStore=rowStore[colid];if(!cellStore){cellStore={value:undefined,result:{}};rowStore[colid]=cellStore;}const restData=rowStore[colid];const oldValue=restData.value;restParams.oldValue=oldValue;if(isChanged?!isChanged(restParams):oldValue!==cellValue){restData.value=setValue?setValue(restParams):cellValue;restData.result={};}const storeData=restData.result;if(_xeUtils.default.isUndefined(storeData[key])){storeData[key]=getResult?getResult(restParams):cellValue;}const cellResult=storeData[key];const rest=restParams;rest.cellResult=cellResult;return rest;},getCellElement(row,fieldOrColumn){const{elemStore}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const rowid=(0,_util.getRowid)($xeTable,row);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;let etOpSize=null;let etOgSize=null;let clOpSize=null;let clOgSize=null;if(editRender){etOpSize=editRender.options?editRender.options.length:0;etOgSize=editRender.optionGroups?editRender.optionGroups.length:0;}if(cellRender){clOpSize=cellRender.options?cellRender.options.length:0;clOgSize=cellRender.optionGroups?cellRender.optionGroups.length:0;}// formatter > tableCellFormatter
348
- const renderOpts=formatter?null:editConfig&&(0,_utils.isEnableConf)(editRender)?editRender:(0,_utils.isEnableConf)(cellRender)?cellRender:null;const compConf=renderOpts?renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=(0,_util.getCellValue)(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){const ftValue=formatData[colid].value;if(ftValue&&ftValue[0]===cellValue&&ftValue[1]===etOpSize&&ftValue[2]===etOgSize&&ftValue[3]===clOpSize&&ftValue[4]===clOgSize){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(_xeUtils.default.isString(formatter)){const gFormatOpts=formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(_xeUtils.default.isArray(formatter)){const gFormatOpts=formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){const ftValue=[cellValue,etOpSize,etOgSize,clOpSize,clOgSize];formatData[colid]={value:ftValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);if(rowid){const colid=column.id;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;_xeUtils.default.each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return(0,_vue.nextTick)();},getHeaderCellLabel(fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{headerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let cellLabel=column.getTitle();if(headerFormatter){let formatData;const{headerFullDataColData}=internalData;const colid=column.id;let colRest=headerFullDataColData[colid];if(!colRest){colRest=headerFullDataColData[colid]={};}const formatObj=colRest.formatObj;if(formatObj&&formatObj.value===cellLabel){return formatObj.label;}const headFormatParams={$table:$xeTable,cellTitle:cellLabel,cellValue:cellLabel,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(_xeUtils.default.isString(headerFormatter)){const gFormatOpts=formats.get(headerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=_xeUtils.default.toValueString(fcFormatMethod?fcFormatMethod(headFormatParams):'');}else if(_xeUtils.default.isArray(headerFormatter)){const gFormatOpts=formats.get(headerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=_xeUtils.default.toValueString(fcFormatMethod?fcFormatMethod(headFormatParams,...headerFormatter.slice(1)):'');}else{cellLabel=_xeUtils.default.toValueString(headerFormatter(headFormatParams));}if(formatData){colRest.formatObj={value:cellLabel,label:cellLabel};}}return cellLabel;},updateHeaderCellLabel(fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return'';}const{headerFullDataColData}=internalData;const colid=column.id;const colRest=headerFullDataColData[colid];if(colRest){colRest.formatObj=undefined;}return $xeTable.getHeaderCellLabel(column);},clearHeaderFormatterCache(isUpdate){const{tableColumn}=reactData;const{headerFullDataColData}=internalData;_xeUtils.default.each(headerFullDataColData,colRest=>{if(colRest.formatObj){colRest.formatObj=undefined;}});if(isUpdate){tableColumn.forEach(column=>{$xeTable.getHeaderCellLabel(column);});}return(0,_vue.nextTick)();},getFooterCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
347
+ */clearData(rows,field){const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!_xeUtils.default.isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>_xeUtils.default.set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){(0,_util.setCellValue)(row,column,null);}});});}return(0,_vue.nextTick)();},effectCellData(row,column,options){const{fullCellStoreMaps}=internalData;const editOpts=computeEditOpts.value;const{key,isChanged,setValue,getResult}=options;const rowid=(0,_util.getRowid)($xeTable,row);const colid=column.id;let rowStore=fullCellStoreMaps[rowid];const cellValue=_xeUtils.default.get(row,column.field);const restParams={$table:$xeTable,row,rowid,column,colid,cellValue,oldValue:null};if(editOpts.cache===false&&key==='render_table_cell'){const rest=restParams;rest.cellResult=getResult?getResult(restParams):cellValue;return rest;}if(!rowStore){rowStore={};fullCellStoreMaps[rowid]=rowStore;}let cellStore=rowStore[colid];if(!cellStore){cellStore={value:undefined,result:{}};rowStore[colid]=cellStore;}const restData=rowStore[colid];const oldValue=restData.value;restParams.oldValue=oldValue;if(isChanged?!isChanged(restParams):oldValue!==cellValue){restData.value=setValue?setValue(restParams):cellValue;restData.result={};}const storeData=restData.result;if(_xeUtils.default.isUndefined(storeData[key])){storeData[key]=getResult?getResult(restParams):cellValue;}const cellResult=storeData[key];const rest=restParams;rest.cellResult=cellResult;return rest;},getCellElement(row,fieldOrColumn){const{elemStore}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const rowid=(0,_util.getRowid)($xeTable,row);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;let etOpSize=null;let etOgSize=null;let clOpSize=null;let clOgSize=null;if(editRender){etOpSize=editRender.options?editRender.options.length:0;etOgSize=editRender.optionGroups?editRender.optionGroups.length:0;}if(cellRender){clOpSize=cellRender.options?cellRender.options.length:0;clOgSize=cellRender.optionGroups?cellRender.optionGroups.length:0;}const isEnableEdit=editConfig&&(0,_utils.isEnableConf)(editConfig);const editRenderOpts=formatter?null:isEnableEdit&&(0,_utils.isEnableConf)(editRender)?editRender:null;const cellRenderOpts=formatter?null:(0,_utils.isEnableConf)(cellRender)?cellRender:null;// formatter > cellRender.tableCellFormatter > editRender.tableCellFormatter
348
+ const cellCompConf=cellRenderOpts?renderer.get(cellRenderOpts.name):null;const editCompConf=editRenderOpts?renderer.get(editRenderOpts.name):null;const cellDfFormatter=cellCompConf?cellCompConf.tableCellFormatter:null;const editDfFormatter=editCompConf?editCompConf.tableCellFormatter:null;const cellValue=(0,_util.getCellValue)(row,column);let cellLabel=cellValue;if(formatter||cellDfFormatter||editDfFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){const ftValue=formatData[colid].value;if(ftValue&&ftValue[0]===cellValue&&ftValue[1]===etOpSize&&ftValue[2]===etOgSize&&ftValue[3]===clOpSize&&ftValue[4]===clOgSize){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(_xeUtils.default.isString(formatter)){const gFormatOpts=formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(_xeUtils.default.isArray(formatter)){const gFormatOpts=formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(cellRenderOpts&&cellDfFormatter){cellLabel=cellDfFormatter(cellRenderOpts,formatParams);}else if(editRenderOpts&&editDfFormatter){cellLabel=editDfFormatter(editRenderOpts,formatParams);}if(formatData){const ftValue=[cellValue,etOpSize,etOgSize,clOpSize,clOgSize];formatData[colid]={value:ftValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);if(rowid){const colid=column.id;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;_xeUtils.default.each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return(0,_vue.nextTick)();},getHeaderCellLabel(fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{headerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let cellLabel=column.getTitle();if(headerFormatter){let formatData;const{headerFullDataColData}=internalData;const colid=column.id;let colRest=headerFullDataColData[colid];if(!colRest){colRest=headerFullDataColData[colid]={};}const formatObj=colRest.formatObj;if(formatObj&&formatObj.value===cellLabel){return formatObj.label;}const headFormatParams={$table:$xeTable,cellTitle:cellLabel,cellValue:cellLabel,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(_xeUtils.default.isString(headerFormatter)){const gFormatOpts=formats.get(headerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=_xeUtils.default.toValueString(fcFormatMethod?fcFormatMethod(headFormatParams):'');}else if(_xeUtils.default.isArray(headerFormatter)){const gFormatOpts=formats.get(headerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=_xeUtils.default.toValueString(fcFormatMethod?fcFormatMethod(headFormatParams,...headerFormatter.slice(1)):'');}else{cellLabel=_xeUtils.default.toValueString(headerFormatter(headFormatParams));}if(formatData){colRest.formatObj={value:cellLabel,label:cellLabel};}}return cellLabel;},updateHeaderCellLabel(fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return'';}const{headerFullDataColData}=internalData;const colid=column.id;const colRest=headerFullDataColData[colid];if(colRest){colRest.formatObj=undefined;}return $xeTable.getHeaderCellLabel(column);},clearHeaderFormatterCache(isUpdate){const{tableColumn}=reactData;const{headerFullDataColData}=internalData;_xeUtils.default.each(headerFullDataColData,colRest=>{if(colRest.formatObj){colRest.formatObj=undefined;}});if(isUpdate){tableColumn.forEach(column=>{$xeTable.getHeaderCellLabel(column);});}return(0,_vue.nextTick)();},getFooterCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
349
349
  if(_xeUtils.default.isArray(row)){itemValue=row[_columnIndex];}else{itemValue=_xeUtils.default.get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(_xeUtils.default.isString(footerFormatter)){const gFormatOpts=formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(_xeUtils.default.isArray(footerFormatter)){const gFormatOpts=formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},updateFooterCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);const rowRest=footerFullDataRowData[$rowIndex];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}return $xeTable.getFooterCellLabel(row,column);},clearFooterFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{footerFullDataRowData}=internalData;_xeUtils.default.each(footerFullDataRowData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getFooterCellLabel(row,column);});});}return(0,_vue.nextTick)();},/**
350
350
  * 检查是否为临时行数据
351
351
  */isInsertByRow(row){const rowid=(0,_util.getRowid)($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const rowid=(0,_util.getRowid)($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**