vxe-table 4.9.28 → 4.9.30

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 (130) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +3 -0
  4. package/es/locale/lang/de-DE.js +3 -0
  5. package/es/locale/lang/en-US.js +3 -0
  6. package/es/locale/lang/es-ES.js +3 -0
  7. package/es/locale/lang/fr-FR.js +3 -0
  8. package/es/locale/lang/hu-HU.js +3 -0
  9. package/es/locale/lang/hy-AM.js +3 -0
  10. package/es/locale/lang/ja-JP.js +3 -0
  11. package/es/locale/lang/ko-KR.js +3 -0
  12. package/es/locale/lang/nb-NO.js +3 -0
  13. package/es/locale/lang/pt-BR.js +3 -0
  14. package/es/locale/lang/ru-RU.js +3 -0
  15. package/es/locale/lang/ug-CN.js +3 -0
  16. package/es/locale/lang/uk-UA.js +3 -0
  17. package/es/locale/lang/vi-VN.js +3 -0
  18. package/es/locale/lang/zh-CHT.js +3 -0
  19. package/es/locale/lang/zh-CN.js +3 -0
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/table/module/export/hook.js +24 -11
  23. package/es/table/render/index.js +18 -7
  24. package/es/table/src/body.js +7 -4
  25. package/es/table/src/footer.js +5 -2
  26. package/es/table/src/header.js +4 -1
  27. package/es/table/style.css +73 -27
  28. package/es/table/style.min.css +1 -1
  29. package/es/ui/index.js +5 -3
  30. package/es/ui/src/log.js +1 -1
  31. package/es/vxe-table/style.css +73 -27
  32. package/es/vxe-table/style.min.css +1 -1
  33. package/lib/index.css +1 -1
  34. package/lib/index.min.css +1 -1
  35. package/lib/index.umd.js +75 -31
  36. package/lib/index.umd.min.js +1 -1
  37. package/lib/locale/lang/ar-EG.js +3 -0
  38. package/lib/locale/lang/ar-EG.min.js +1 -1
  39. package/lib/locale/lang/de-DE.js +3 -0
  40. package/lib/locale/lang/de-DE.min.js +1 -1
  41. package/lib/locale/lang/en-US.js +3 -0
  42. package/lib/locale/lang/en-US.min.js +1 -1
  43. package/lib/locale/lang/en-US.umd.js +3 -0
  44. package/lib/locale/lang/es-ES.js +3 -0
  45. package/lib/locale/lang/es-ES.min.js +1 -1
  46. package/lib/locale/lang/es-ES.umd.js +3 -0
  47. package/lib/locale/lang/fr-FR.js +3 -0
  48. package/lib/locale/lang/fr-FR.min.js +1 -1
  49. package/lib/locale/lang/hu-HU.js +3 -0
  50. package/lib/locale/lang/hu-HU.min.js +1 -1
  51. package/lib/locale/lang/hu-HU.umd.js +3 -0
  52. package/lib/locale/lang/hy-AM.js +3 -0
  53. package/lib/locale/lang/hy-AM.min.js +1 -1
  54. package/lib/locale/lang/ja-JP.js +3 -0
  55. package/lib/locale/lang/ja-JP.min.js +1 -1
  56. package/lib/locale/lang/ja-JP.umd.js +3 -0
  57. package/lib/locale/lang/ko-KR.js +3 -0
  58. package/lib/locale/lang/ko-KR.min.js +1 -1
  59. package/lib/locale/lang/ko-KR.umd.js +3 -0
  60. package/lib/locale/lang/nb-NO.js +3 -0
  61. package/lib/locale/lang/nb-NO.min.js +1 -1
  62. package/lib/locale/lang/pt-BR.js +3 -0
  63. package/lib/locale/lang/pt-BR.min.js +1 -1
  64. package/lib/locale/lang/pt-BR.umd.js +3 -0
  65. package/lib/locale/lang/ru-RU.js +3 -0
  66. package/lib/locale/lang/ru-RU.min.js +1 -1
  67. package/lib/locale/lang/ru-RU.umd.js +3 -0
  68. package/lib/locale/lang/ug-CN.js +3 -0
  69. package/lib/locale/lang/ug-CN.min.js +1 -1
  70. package/lib/locale/lang/uk-UA.js +3 -0
  71. package/lib/locale/lang/uk-UA.min.js +1 -1
  72. package/lib/locale/lang/uk-UA.umd.js +3 -0
  73. package/lib/locale/lang/vi-VN.js +3 -0
  74. package/lib/locale/lang/vi-VN.min.js +1 -1
  75. package/lib/locale/lang/zh-CHT.js +3 -0
  76. package/lib/locale/lang/zh-CHT.min.js +1 -1
  77. package/lib/locale/lang/zh-CN.js +3 -0
  78. package/lib/locale/lang/zh-CN.min.js +1 -1
  79. package/lib/locale/lang/zh-CN.umd.js +3 -0
  80. package/lib/style.css +1 -1
  81. package/lib/style.min.css +1 -1
  82. package/lib/table/module/export/hook.js +27 -14
  83. package/lib/table/module/export/hook.min.js +1 -1
  84. package/lib/table/render/index.js +21 -7
  85. package/lib/table/render/index.min.js +1 -1
  86. package/lib/table/src/body.js +8 -4
  87. package/lib/table/src/body.min.js +1 -1
  88. package/lib/table/src/footer.js +6 -2
  89. package/lib/table/src/footer.min.js +1 -1
  90. package/lib/table/src/header.js +4 -1
  91. package/lib/table/src/header.min.js +1 -1
  92. package/lib/table/style/style.css +73 -27
  93. package/lib/table/style/style.min.css +1 -1
  94. package/lib/ui/index.js +5 -3
  95. package/lib/ui/index.min.js +1 -1
  96. package/lib/ui/src/log.js +1 -1
  97. package/lib/ui/src/log.min.js +1 -1
  98. package/lib/vxe-table/style/style.css +73 -27
  99. package/lib/vxe-table/style/style.min.css +1 -1
  100. package/package.json +2 -2
  101. package/packages/locale/lang/ar-EG.ts +3 -0
  102. package/packages/locale/lang/de-DE.ts +3 -0
  103. package/packages/locale/lang/en-US.ts +3 -0
  104. package/packages/locale/lang/es-ES.ts +3 -0
  105. package/packages/locale/lang/fr-FR.ts +3 -0
  106. package/packages/locale/lang/hu-HU.ts +3 -0
  107. package/packages/locale/lang/hy-AM.ts +3 -0
  108. package/packages/locale/lang/ja-JP.ts +3 -0
  109. package/packages/locale/lang/ko-KR.ts +3 -0
  110. package/packages/locale/lang/nb-NO.ts +3 -0
  111. package/packages/locale/lang/pt-BR.ts +3 -0
  112. package/packages/locale/lang/ru-RU.ts +3 -0
  113. package/packages/locale/lang/ug-CN.ts +3 -0
  114. package/packages/locale/lang/uk-UA.ts +3 -0
  115. package/packages/locale/lang/vi-VN.ts +3 -0
  116. package/packages/locale/lang/zh-CHT.ts +3 -0
  117. package/packages/locale/lang/zh-CN.ts +3 -0
  118. package/packages/table/module/export/hook.ts +28 -15
  119. package/packages/table/render/index.ts +18 -6
  120. package/packages/table/src/body.ts +7 -4
  121. package/packages/table/src/footer.ts +6 -2
  122. package/packages/table/src/header.ts +5 -1
  123. package/packages/ui/index.ts +4 -2
  124. package/styles/components/table.scss +90 -19
  125. /package/es/{iconfont.1734331313492.ttf → iconfont.1734489196175.ttf} +0 -0
  126. /package/es/{iconfont.1734331313492.woff → iconfont.1734489196175.woff} +0 -0
  127. /package/es/{iconfont.1734331313492.woff2 → iconfont.1734489196175.woff2} +0 -0
  128. /package/lib/{iconfont.1734331313492.ttf → iconfont.1734489196175.ttf} +0 -0
  129. /package/lib/{iconfont.1734331313492.woff → iconfont.1734489196175.woff} +0 -0
  130. /package/lib/{iconfont.1734331313492.woff2 → iconfont.1734489196175.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},n=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(n);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:w}=C,{computeTreeOpts:k,computePrintOpts:a,computeExportOpts:M,computeImportOpts:d,computeCustomOpts:_,computeSeqOpts:s,computeRadioOpts:o,computeCheckboxOpts:n,computeColumnOpts:i}=C.getComputeMaps(),I=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,o,r)=>{var a=s.value.seqMethod||o.seqMethod;return a?a({row:t,rowIndex:C.getRowIndex(t),$rowIndex:l,column:o,columnIndex:C.getColumnIndex(o),$columnIndex:r}):e};function j(e,t){var l=i.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const f=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=o.value,m=n.value;var l=k.value;const h=i.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,n,e,i,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&C.isTreeExpandByRow(s)){t=d,o=(o=k.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||h.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||h.exportMethod)l=r({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":var a=i.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===p?a:v(a,d,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(d)),s._checkboxLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",s._checkboxDisabled=m.checkMethod&&!m.checkMethod({row:d});break;case"radio":l=f(C.isCheckedByRadioRow(d)),s._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=""+C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=C.getCellElement(d,e))&&(l=a.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,n)=>{const i={_row:s};return r.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||h.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.exportMethod:r)l=r({$table:C,row:s,column:e,options:c});else switch(e.type){case"seq":var a=n+1;l="all"===p?a:v(a,s,n,e,t);break;case"checkbox":l=f(C.isCheckedByCheckboxRow(s)),i._checkboxLabel=m.labelField?_xeUtils.default.get(s,m.labelField):"",i._checkboxDisabled=m.checkMethod&&!m.checkMethod({row:s});break;case"radio":l=f(C.isCheckedByRadioRow(s)),i._radioLabel=u.labelField?_xeUtils.default.get(s,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=""+C.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=C.getCellElement(s,e))&&(l=a.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),i})},U=(e,t,l)=>{var o=i.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},p=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(j(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(U(l,t,e))).join(",")+enterSymbol})),o},u=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(j(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(U(l,t,e))).join("\t")+enterSymbol})),o},D=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return o=l||e?o||!0:o},m=(n,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:i,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:m,isIndeterminate:r,mergeList:h}=E,s=k.value,{print:x,isHeader:g,isFooter:v,isColgroup:f,isMerge:b,colgroups:_,original:y}=n,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),f&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||i||c,l=D(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=j(n,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||i||c,l=D(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=j(n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=D(t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(i=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=D(e,"showOverflow",p)?["col--ellipsis"]:[],o=i[e.id];let r=1,a=1;if(b&&h.length){var s=C.getVTRowIndex(i._row),n=C.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(h,s,n);if(s){var{rowspan:n,colspan:s}=s;if(!n||!s)return"";1<n&&(r=n),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${i._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${i._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${i._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),v&&(t=E["footerTableData"],(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=D(e,"showOverflow",p)?["col--ellipsis"]:[],o=U(n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))},h=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${j(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${U(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},F=s=>{const{remote:l,columns:n,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:C,$grid:I};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(C.preventEvent(null,"event.export",{options:s,columns:n,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return m(e,t,l);case"xml":return h(e,t,l)}return""})(s,n,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(n),s.print||t&&t({status:!0,options:s,$table:C,$grid:I}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),s.print||t&&t({status:!1,options:s,$table:C,$grid:I});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:n,afterImportMethod:t}=s,{type:i,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),i)?new Promise((t,l)=>{const e=e=>{t(e),w._importResolve=null,w._importReject=null},o=e=>{l(e),w._importResolve=null,w._importReject=null};if(w._importResolve=e,w._importReject=o,window.FileReader){const d=Object.assign({mode:"insertTop"},s,{type:i,filename:c});var r;d.remote?n?Promise.resolve(n({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=w["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[i]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=w;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:n,rows:i}=e;checkImportData(r,n)?C.createData(i).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=C.insertAt(e,-1)),t="insertTop"===o.mode?C.insert(e):C.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[i.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:C})}).catch(e=>(t&&t({status:!1,options:s,$table:C}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[i]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=T;const{initStore:a,mergeList:s,isGroup:n,footerTableData:i,exportStore:d,exportParams:c}=E;var p=w["collectColumn"],u=M.value,m=_.value,h=C.getCheckboxRecords(),x=I?I.getComputeMaps().computeProxyOpts.value:{},g=!!i.length,v=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r,current:"current",modes:["current","selected"].concat(x.ajax&&x.ajax.queryAll?["all"]:[])},e),r=o.types||_xeUtils.default.keys(u._typeMaps),x=o.modes||[];const f=m.checkMethod;e=p.slice(0);const b=o["columns"];u=r.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),m=x.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(e,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=b?b.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?o.id===t:e&&l?o.property===e&&o.type===l:e?o.property===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!f&&!f({column:o}))}),Object.assign(d,{columns:e,typeList:u,modeList:m,hasFooter:g,hasMerge:v,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(c,{mode:h.length?"selected":"current"},o),m.some(e=>e.value===c.mode)||(c.mode=m[0].value),u.some(e=>e.value===c.type)||(c.type=u[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();const g={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:o}=E;const{tableFullColumn:a,afterFullData:r}=w;var s=M.value,n=k.value;const i=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=i;let m=[];c=c&&c.length?c:null;let h=i.columnFilterMethod;c||(h=h||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),m=c?(i._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.property||e.field;l?t=C.getColumnById(l):r&&o?t=a.find(e=>e.property===r&&e.type===o):r?t=C.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!h||h({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!h||h({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(m,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),i.columns=x,i.colgroups=convertToRows(m),i.filename||(i.filename=getI18n(i.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),i.sheetName||(i.sheetName=document.title),!i.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return(0,_log.errLog)("vxe.error.notType",[e]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(e)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(i.print||u&&u({options:i,$table:C,$grid:I}),!i.data)if(i.data=[],"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?i.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},n,{data:"_row"})):i.data=g}else if("all"===d){if("development"!==process.env.NODE_ENV||I||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),I&&!i.remote){p=I["reactData"],c=I.getComputeMaps()["computeProxyOpts"],l=p["sortData"];const{beforeQueryAll:v,afterQueryAll:f,ajax:b={},props:T={}}=c.value;o=b.queryAll;const _=b.queryAllSuccess,y=b.queryAllError;if("development"!==process.env.NODE_ENV||o||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),o){const $={$table:C,$grid:I,sort:l.length?l[0]:{},sorts:l,filters:p.filterData,form:p.formData,options:i};return Promise.resolve((v||o)($)).then(e=>(i.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],f&&f($),_&&_(Object.assign(Object.assign({},$),{response:e})),F(i))).catch(e=>{y&&y(Object.assign(Object.assign({},$),{response:e}))})}}}else"current"===d&&(i.data=r);return F(i)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=a.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0}),o=(l.sheetName||(l.sheetName=document.title),l.beforePrintMethod),r=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?r?e(_ui.VxeUI.print({title:l.sheetName,html:r,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0})):e(g.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:C}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=a.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return g.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}=T;const{initStore:o,importStore:r,importParams:a}=E;var s=d.value,s=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(s._typeMaps),modes:["insertTop","covering"]},s,e),e=s.types||[],n=s.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=M.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||T.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=a.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||T.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return g},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},i=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(E){const{props:k,reactData:M,internalData:U}=E,{computeTreeOpts:I,computePrintOpts:a,computeExportOpts:j,computeImportOpts:d,computeCustomOpts:_,computeSeqOpts:s,computeRadioOpts:o,computeCheckboxOpts:i,computeColumnOpts:n}=E.getComputeMaps(),D=(0,_vue.inject)("$xeGrid",null),f=(e,t,l,o,r)=>{var a=s.value.seqMethod||o.seqMethod;return a?a({row:t,rowIndex:E.getRowIndex(t),$rowIndex:l,column:o,columnIndex:E.getColumnIndex(o),$columnIndex:r}):e};function C(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:E}):(e.original?t.field:t.getTitle())||""}const v=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:u}=c;var t=k["treeConfig"];const p=o.value,m=i.value;var l=I.value;const h=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,i,e,n,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&E.isTreeExpandByRow(s)){t=d,o=(o=I.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&E.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||h.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||h.exportMethod)l=r({$table:E,row:d,column:e,options:c});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===u?a:f(a,d,i,e,t);break;case"checkbox":l=v(E.isCheckedByCheckboxRow(d)),s._checkboxLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",s._checkboxDisabled=m.checkMethod&&!m.checkMethod({row:d});break;case"radio":l=v(E.isCheckedByRadioRow(d)),s._radioLabel=p.labelField?_xeUtils.default.get(d,p.labelField):"",s._radioDisabled=p.checkMethod&&!p.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=""+E.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=E.getCellElement(d,e))&&(l=a.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,i)=>{const n={_row:s};return r.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||h.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:E,row:s,column:e,options:c});else switch(e.type){case"seq":var a=i+1;l="all"===u?a:f(a,s,i,e,t);break;case"checkbox":l=v(E.isCheckedByCheckboxRow(s)),n._checkboxLabel=m.labelField?_xeUtils.default.get(s,m.labelField):"",n._checkboxDisabled=m.checkMethod&&!m.checkMethod({row:s});break;case"radio":l=v(E.isCheckedByRadioRow(s)),n._radioLabel=p.labelField?_xeUtils.default.get(s,p.labelField):"",n._radioDisabled=p.checkMethod&&!p.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=""+E.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=E.getCellElement(s,e))&&(l=a.innerText.trim()))}n[e.id]=_xeUtils.default.toValueString(l)}),n})},T=(e,t,l)=>{var o=n.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=E.getVTColumnIndex(l);return a?a({$table:E,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},u=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=M["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),o},p=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=M["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),o},F=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=M;return o=l||e?o||!0:o},m=(i,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=k,{isAllSelected:m,isIndeterminate:r,mergeList:h}=M,s=I.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=i,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=F(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=C(i,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=F(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=C(i,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=F(t,"showOverflow",u)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=F(e,"showOverflow",u)?["col--ellipsis"]:[],o=n[e.id];let r=1,a=1;if(b&&h.length){var s=E.getVTRowIndex(n._row),i=E.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(h,s,i);if(s){var{rowspan:i,colspan:s}=s;if(!i||!s)return"";1<i&&(r=i),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=M["footerTableData"],(t=getFooterData(i,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=F(e,"showOverflow",u)?["col--ellipsis"]:[],o=T(i,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(i,w.join(""))},h=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=M["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},N=s=>{const{remote:l,columns:i,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:E,$grid:D};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(E.preventEvent(null,"event.export",{options:s,columns:i,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return u(e,t,l);case"txt":return p(e,t,l);case"html":return m(e,t,l);case"xml":return h(e,t,l)}return""})(s,i,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(i),s.print||t&&t({status:!0,options:s,$table:E,$grid:D}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),s.print||t&&t({status:!1,options:s,$table:E,$grid:D});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:i,afterImportMethod:t}=s,{type:n,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return i||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{const e=e=>{t(e),U._importResolve=null,U._importReject=null},o=e=>{l(e),U._importResolve=null,U._importReject=null};if(U._importResolve=e,U._importReject=o,window.FileReader){const d=Object.assign({mode:"insertTop"},s,{type:n,filename:c});var r;d.remote?i?Promise.resolve(i({file:a,options:d,$table:E})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=U["tableFullColumn"],E.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=U;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:i,rows:n}=e;checkImportData(r,i)?E.createData(n).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=E.insertAt(e,-1)),t="insertTop"===o.mode?E.insert(e):E.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[n.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:E})}).catch(e=>(t&&t({status:!1,options:s,$table:E}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=k;const{initStore:a,mergeList:s,isGroup:i,footerTableData:n,exportStore:d,exportParams:c}=M;var u=U["collectColumn"],p=j.value,m=_.value,h=E.getCheckboxRecords(),x=D?D.getComputeMaps().computeProxyOpts.value:{},g=!!n.length,f=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r,current:"current",modes:["current","selected"].concat(x.ajax&&x.ajax.queryAll?["all"]:[])},e),r=o.types||_xeUtils.default.keys(p._typeMaps),x=o.modes||[];const v=m.checkMethod;e=u.slice(0);const b=o["columns"];p=r.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),m=x.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(e,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=b?b.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!v&&!v({column:o}))}),Object.assign(d,{columns:e,typeList:p,modeList:m,hasFooter:g,hasMerge:f,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(c,{mode:h.length?"selected":"current"},o),m.some(e=>e.value===c.mode)||(c.mode=m[0].value),p.some(e=>e.value===c.type)||(c.type=p[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();const g={exportData(e){var t=k["treeConfig"],{isGroup:l,tableGroupColumn:o}=M;const{tableFullColumn:a,afterFullData:r}=U;var s=j.value,i=I.value;const n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e),{type:d,mode:c,columns:u,original:p,beforeExportMethod:m,includeFields:h,excludeFields:x}=n;let g=[];e=u&&u.length?u:null;let f=n.columnFilterMethod;e||(f=f||(({column:e})=>(!x||!_xeUtils.default.includes(x,e.field))&&(h?!!_xeUtils.default.includes(h,e.field):p?e.field:defaultFilterExportColumn(e)))),g=e?(n._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(e,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=E.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.field;l?t=E.getColumnById(l):r&&o?t=a.find(e=>e.field===r&&e.type===o):r?t=E.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!f||f({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const v=[];if(_xeUtils.default.eachTree(g,e=>{e.children&&e.children.length||v.push(e)},{children:"childNodes"}),n.columns=v,n.colgroups=convertToRows(g),n.filename||(n.filename=getI18n(n.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),n.sheetName||(n.sheetName=document.title),!n.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),d))return(0,_log.errLog)("vxe.error.notType",[d]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(d)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(n.print||m&&m({options:n,$table:E,$grid:D}),!n.data)if(n.data=[],"selected"===c){const b=E.getCheckboxRecords();-1<["html","pdf"].indexOf(d)&&t?n.data=_xeUtils.default.searchTree(E.getTableData().fullData,e=>-1<E.findRowIndexOf(b,e),Object.assign({},i,{data:"_row"})):n.data=b}else if("all"===c){if("development"!==process.env.NODE_ENV||D||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),D&&!n.remote){e=D["reactData"],l=D.getComputeMaps()["computeProxyOpts"],o=e["sortData"];const{beforeQueryAll:_,afterQueryAll:y,ajax:$={},props:k={}}=l.value;s=$.queryAll;const w=$.queryAllSuccess,C=$.queryAllError;if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){const T={$table:E,$grid:D,sort:o.length?o[0]:{},sorts:o,filters:e.filterData,form:e.formData,options:n};return Promise.resolve((_||s)(T)).then(e=>(n.data=(k.list?_xeUtils.default.get(e,k.list):e)||[],y&&y(T),w&&w(Object.assign(Object.assign({},T),{response:e})),N(n))).catch(e=>{C&&C(Object.assign(Object.assign({},T),{response:e}))})}}}else"current"===c&&(n.data=r);return N(n)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:E}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:E}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:E}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=a.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0}),o=(l.sheetName||(l.sheetName=document.title),l.beforePrintMethod),r=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?r?e(_ui.VxeUI.print({title:l.sheetName,html:r,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:E}):void 0})):e(g.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:E}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=a.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return g.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}=k;const{initStore:o,importStore:r,importParams:a}=M;var s=d.value,s=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(s._typeMaps),modes:["insertTop","covering"]},s,e),e=s.types||[],i=s.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=j.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||k.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=a.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||k.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return g},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -619,7 +619,6 @@ renderer.mixin({
619
619
  tableAutoFocus: 'input',
620
620
  renderTableEdit: defaultEditRender,
621
621
  renderTableCell(renderOpts, params) {
622
- var _a;
623
622
  const {
624
623
  props = {}
625
624
  } = renderOpts;
@@ -627,7 +626,8 @@ renderer.mixin({
627
626
  row,
628
627
  column
629
628
  } = params;
630
- const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
629
+ const inputConfig = getConfig().input || {};
630
+ const digits = props.digits || inputConfig.digits || 2;
631
631
  let cellValue = _xeUtils.default.get(row, column.field);
632
632
  if (cellValue) {
633
633
  switch (props.type) {
@@ -665,14 +665,19 @@ renderer.mixin({
665
665
  } = props;
666
666
  let cellValue = _xeUtils.default.get(row, column.field);
667
667
  if (cellValue) {
668
+ const numberInputConfig = getConfig().numberInput || {};
668
669
  if (type === 'float') {
669
- const digits = props.digits || getConfig().numberInput.digits || 1;
670
+ const digits = props.digits || numberInputConfig.digits || 1;
670
671
  cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
671
672
  } else if (type === 'amount') {
672
- const digits = props.digits || getConfig().numberInput.digits || 2;
673
+ const digits = props.digits || numberInputConfig.digits || 2;
673
674
  cellValue = _xeUtils.default.commafy(_xeUtils.default.toNumber(cellValue), {
674
675
  digits
675
676
  });
677
+ const showCurrency = props.showCurrency;
678
+ if (_xeUtils.default.isBoolean(showCurrency) ? showCurrency : numberInputConfig.showCurrency) {
679
+ cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
680
+ }
676
681
  }
677
682
  }
678
683
  return getCellLabelVNs(renderOpts, params, cellValue);
@@ -692,11 +697,12 @@ renderer.mixin({
692
697
  // 兼容老模式
693
698
  const cellValue = _xeUtils.default.isArray(row) ? row[_columnIndex] : _xeUtils.default.get(row, column.field);
694
699
  if (_xeUtils.default.isNumber(cellValue)) {
700
+ const numberInputConfig = getConfig().numberInput || {};
695
701
  if (type === 'float') {
696
- const digits = props.digits || getConfig().numberInput.digits || 1;
702
+ const digits = props.digits || numberInputConfig.digits || 1;
697
703
  return _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
698
704
  } else if (type === 'amount') {
699
- const digits = props.digits || getConfig().numberInput.digits || 2;
705
+ const digits = props.digits || numberInputConfig.digits || 2;
700
706
  return _xeUtils.default.commafy(_xeUtils.default.toNumber(cellValue), {
701
707
  digits
702
708
  });
@@ -706,7 +712,15 @@ renderer.mixin({
706
712
  },
707
713
  renderTableDefault: defaultEditRender,
708
714
  renderTableFilter: defaultFilterRender,
709
- tableFilterDefaultMethod: handleInputFilterMethod
715
+ tableFilterDefaultMethod: handleInputFilterMethod,
716
+ tableExportMethod(params) {
717
+ const {
718
+ row,
719
+ column
720
+ } = params;
721
+ const cellValue = _xeUtils.default.get(row, column.field);
722
+ return cellValue;
723
+ }
710
724
  },
711
725
  VxeDatePicker: {
712
726
  tableAutoFocus: 'input',
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i=a===o,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),i&&n&&n(e),r&&r[o]&&r[o](l,e)}),!i&&n&&(u[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),u}function getComponentOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),r&&r[o]&&r[o](l,e)}),n&&(i[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),i}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,o=e["name"],a=r["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,i&&(0,_util.setCellValue)(n,r,e)},e=>{!i&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:o}=l,a=o["model"];return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const o=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[o],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:o}=l;const a=n.label||"label",i=n.value||"value",u=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[a]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],o=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},o),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let i;const u=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=a.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(n,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",o=n.value||"value";l=n.children||"children";if(null==t)return"";{const a={};return _xeUtils.default.eachTree(e,e=>{a[_xeUtils.default.get(e,o)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=a[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:o}=t,a=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=l["type"];let a=_xeUtils.default.get(n,r.field);return a&&("float"===o?(n=l.digits||getConfig().numberInput.digits||1,a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,n),n)):"amount"===o&&(r=l.digits||getConfig().numberInput.digits||2,a=_xeUtils.default.commafy(_xeUtils.default.toNumber(a),{digits:r}))),getCellLabelVNs(e,t,a)},renderTableFooter(e,t){var{props:e={}}=e,{row:t,column:l,_columnIndex:n}=t,r=e["type"],n=_xeUtils.default.isArray(t)?t[n]:_xeUtils.default.get(t,l.field);if(_xeUtils.default.isNumber(n)){if("float"===r)return t=e.digits||getConfig().numberInput.digits||1,_xeUtils.default.toFixed(_xeUtils.default.floor(n,t),t);if("amount"===r)return l=e.digits||getConfig().numberInput.digits||2,_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:l})}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let o=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,o=o&&getLabelFormatDate(o,l))},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:o}=t,a=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i=a===o,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),i&&n&&n(e),r&&r[o]&&r[o](l,e)}),!i&&n&&(u[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),u}function getComponentOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),r&&r[o]&&r[o](l,e)}),n&&(i[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),i}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,o=e["name"],a=r["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,i&&(0,_util.setCellValue)(n,r,e)},e=>{!i&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:o}=l,a=o["model"];return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const o=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[o],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:o}=l;const a=n.label||"label",i=n.value||"value",u=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[a]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],o=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},o),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let i;const u=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=a.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(n,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",o=n.value||"value";l=n.children||"children";if(null==t)return"";{const a={};return _xeUtils.default.eachTree(e,e=>{a[_xeUtils.default.get(e,o)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=a[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=getConfig().input||{},a=l.digits||o.digits||2;let i=_xeUtils.default.get(n,r.field);if(i)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,l);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=l["type"];let a=_xeUtils.default.get(n,r.field);return a&&(n=getConfig().numberInput||{},"float"===o?(r=l.digits||n.digits||1,a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,r),r)):"amount"===o&&(r=l.digits||n.digits||2,a=_xeUtils.default.commafy(_xeUtils.default.toNumber(a),{digits:r}),o=l.showCurrency,_xeUtils.default.isBoolean(o)?o:n.showCurrency)&&(a=""+(l.currencySymbol||n.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+a)),getCellLabelVNs(e,t,a)},renderTableFooter(e,t){var{props:e={}}=e,{row:t,column:l,_columnIndex:n}=t,r=e["type"],n=_xeUtils.default.isArray(t)?t[n]:_xeUtils.default.get(t,l.field);if(_xeUtils.default.isNumber(n)){t=getConfig().numberInput||{};if("float"===r)return l=e.digits||t.digits||1,_xeUtils.default.toFixed(_xeUtils.default.floor(n,l),l);if("amount"===r)return l=e.digits||t.digits||2,_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:l})}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let o=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,o=o&&getLabelFormatDate(o,l))},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:o}=t,a=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -69,7 +69,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
69
69
  computeValidOpts,
70
70
  computeRowOpts,
71
71
  computeColumnOpts,
72
- computeRowDragOpts
72
+ computeRowDragOpts,
73
+ computeColumnDragOpts
73
74
  } = $xeTable.getComputeMaps();
74
75
  const refElem = (0, _vue.ref)();
75
76
  const refBodyTable = (0, _vue.ref)();
@@ -441,6 +442,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
441
442
  }));
442
443
  }
443
444
  }
445
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
444
446
  return (0, _vue.h)('td', Object.assign(Object.assign(Object.assign({
445
447
  class: ['vxe-body--column', colid, {
446
448
  [`col--${cellAlign}`]: cellAlign,
@@ -450,6 +452,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
450
452
  'col--tree-node': treeNode,
451
453
  'col--edit': isEdit,
452
454
  'col--ellipsis': hasEllipsis,
455
+ 'fixed--width': !isAutoCellWidth,
453
456
  'fixed--hidden': fixedHiddenColumn,
454
457
  'is--drag-cell': isColDragCell,
455
458
  'is--drag-disabled': isDisabledDrag,
@@ -495,6 +498,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
495
498
  const editOpts = computeEditOpts.value;
496
499
  const rowOpts = computeRowOpts.value;
497
500
  const columnOpts = computeColumnOpts.value;
501
+ const columnDragOpts = computeColumnDragOpts.value;
498
502
  const {
499
503
  transform,
500
504
  seqMode
@@ -582,7 +586,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
582
586
  const tdVNs = tableColumn.map((column, $columnIndex) => {
583
587
  return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
584
588
  });
585
- rows.push(columnOpts.drag ? (0, _vue.h)(_vue.TransitionGroup, Object.assign({
589
+ rows.push(columnOpts.drag && columnDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, Object.assign({
586
590
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
587
591
  tag: 'tr',
588
592
  class: trClass,
@@ -916,7 +920,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
916
920
  const emptyOpts = computeEmptyOpts.value;
917
921
  const keyboardOpts = computeKeyboardOpts.value;
918
922
  const mouseOpts = computeMouseOpts.value;
919
- const columnOpts = computeColumnOpts.value;
923
+ const rowDragOpts = computeRowDragOpts.value;
920
924
  // const isMergeLeftFixedExceeded = computeIsMergeLeftFixedExceeded.value
921
925
  // const isMergeRightFixedExceeded = computeIsMergeRightFixedExceeded.value
922
926
  // 如果是使用优化模式
@@ -996,7 +1000,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
996
1000
  /**
997
1001
  * 内容
998
1002
  */
999
- rowOpts.drag || columnOpts.drag ? (0, _vue.h)(_vue.TransitionGroup, {
1003
+ rowOpts.drag && rowDragOpts.animation ? (0, _vue.h)(_vue.TransitionGroup, {
1000
1004
  ref: refBodyTBody,
1001
1005
  name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`,
1002
1006
  tag: 'tbody'
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const xe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:fe,context:T,reactData:ye,internalData:we}=xe,{refTableBody:x,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:y,refScrollXHandleElem:h,refScrollYHandleElem:k}=xe.getRefMaps(),{computeEditOpts:_e,computeMouseOpts:be,computeAreaOpts:Re,computeSYOpts:Te,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:De,computeRadioOpts:e,computeExpandOpts:P,computeTreeOpts:c,computeCheckboxOpts:Se,computeCellOpts:Me,computeValidOpts:$e,computeRowOpts:Ce,computeColumnOpts:Ee,computeRowDragOpts:Ie}=xe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Oe=()=>{var e=fe["delayHover"],{lastScrollTime:l,_isResize:t}=ye;return!!(t||l&&Date.now()<l+e)},m=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&xe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=m(r[e],l)}return t},He=e=>{var{row:l,column:t}=e,o=we["afterFullData"],r=fe["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,i=we["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(xe,l)];let n=0,d=0,u=[];return i&&(n=i.level,d=i._index,u=i.items),t&&t.line?xe.callSlot(t.line,e):(i=xe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=m(l[t-1],e)),ye.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},z=(e,l,t,o,r,a,s,U,i,n,j,q)=>{var B=we["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:V,editConfig:K,editRules:v,tooltipConfig:W}=fe,{tableData:X,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=ye,Q=we["afterFullData"],x=Me.value,f=$e.value,Z=Se.value,y=_e.value,w=De.value,_=Ce.value,b=Ie.value,ee=b["disabledMethod"],T=Te.value,le=Ee.value,te=be.value,S=Re.value["selectCellToRow"],{type:oe,cellRender:re,editRender:ae,align:se,showOverflow:C,className:ie,treeNode:ne,slots:de}=i,x=x["verticalAlign"],m=m["actived"],T=T["rHeight"],E=_["height"],O=i.id,R=ae||re,R=R?renderer.get(R.name):null,ue=R?R.tableCellClassName||R.cellClassName:null,ce=R?R.tableCellStyle||R.cellStyle:"";const D=w.showAll;var w=xe.getColumnIndex(i),ve=xe.getVTColumnIndex(i),pe=(0,_utils.isEnableConf)(ae);let M=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const $="title"===p,I=!0===p||"tooltip"===p;p=u||$||I||C;let ge;var H={},B=B[l],se=se||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&f.showMessage&&("default"===f.message?d||1<X.length:"inline"===f.message),h={colid:O};const L={$table:xe,$grid:xe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:i,columnIndex:w,$columnIndex:n,_columnIndex:ve,fixed:t,type:renderType,isHidden:M,level:o,visibleData:Q,data:X,items:q};let k=!1,me=!1;if((k=_.drag?"row"===b.trigger||i.dragSort&&"cell"===b.trigger:k)&&(me=!(!ee||!ee(L))),($||I||D||W)&&(H.onMouseenter=e=>{Oe()||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||D)&&xe.triggerBodyTooltipEvent(e,L),xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||D||W)&&(H.onMouseleave=e=>{Oe()||((I||D)&&xe.handleTargetLeaveEvent(e),xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(k||Z.range||V)&&(H.onMousedown=e=>{xe.triggerCellMousedownEvent(e,L)}),H.onClick=e=>{xe.triggerCellClickEvent(e,L)},H.onDblclick=e=>{xe.triggerCellDblclickEvent(e,L)},g.length){v=(0,_util.mergeBodyMethod)(g,U,ve);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(L)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!(M=M&&g&&(1<h.colspan||1<h.rowspan)?!1:M)&&K&&(ae||re)&&(y.showStatus||y.showUpdateStatus)&&(ge=xe.isUpdateByRow(r,i.field));s=[];M&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(T||E)?`${T||E}px`:""}})):(s.push(...He(L),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(T||E)?`${T||E}px`:""},title:$?xe.getCellLabel(r,i):null},i.renderCell(L))),N&&R&&(w=R.rule,t=de?de.valid:null,o=Object.assign(Object.assign(Object.assign({},L),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,o)],style:w&&w.maxWidth?{width:w.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[t?xe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let he="";return p&&(T||E)?he=`${T||E}px`:!z&&!G||p||(he=`${B.height||24}px`),V&&te.area&&S&&((n||!0!==S)&&S!==i.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+se]:se,["col--vertical-"+x]:x,["col--"+oe]:oe,"col--last":n===j.length-1,"col--tree-node":ne,"col--edit":pe,"col--ellipsis":p,"fixed--hidden":M,"is--drag-cell":k,"is--drag-disabled":me,"col--dirty":ge,"col--active":K&&pe&&m.row===r&&(m.column===i||"row"===y.mode),"col--valid-error":!!R,"col--current":P===i},(0,_dom.getPropClass)(ue,L),(0,_dom.getPropClass)(ie,L),(0,_dom.getPropClass)(F,L)],key:A||le.useKey||_.useKey||le.drag?O:n},h),{style:Object.assign({height:he},_xeUtils.default.isFunction(ce)?ce(L):ce,_xeUtils.default.isFunction(c)?c(L):c)}),H),s)},X=(x,f,y)=>{const{stripe:w,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=fe,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:H,pendingRowMaps:L,isDragColMove:k}=ye,U=we["fullAllDataRowIdData"],j=Se.value,q=e.value,B=c.value,A=_e.value,F=Ce.value,N=Ee.value,{transform:Y,seqMode:V}=B,K=B.children||B.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=xe.getRowIndex(t),(F.isHover||b)&&(e.onMouseenter=e=>{Oe()||xe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Oe()||xe.clearHoverRow()});const a=(0,_util.getRowid)(xe,t);var l=U[a];let s=0,i=-1,n=0;l&&(s=l.level,i=O&&Y&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:xe,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=xe.isInsertByRow(t)),!O||M||Y||(c=t[K],u=c&&0<c.length&&!!D[a]),!F.drag||O&&!Y||(e.onDragstart=xe.handleRowDragDragstartEvent,e.onDragend=xe.handleRowDragDragendEvent,e.onDragover=xe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(A.showStatus||A.showInsertStatus),"row--radio":q.highlight&&xe.eqRow(H,t),"row--checked":j.highlight&&xe.isCheckedByCheckboxRow(t),"row--pending":!!L[a]},(0,_dom.getPropClass)(T,l)];const h=y.map((e,l)=>z(i,a,x,s,t,r,o,n,e,l,y,f));W.push(N.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(k?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),h)),d&&({height:m,padding:l}=P.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*B.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:xe,seq:i,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:y.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&W.push(...X(x,c,y))}),W},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:i,lastScrollLeft:n,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=we;d||v||u&&c!==s||(d=p.value,v=x.value,u=g.value,c=f.value,l=y.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,n=(a=v.scrollLeft)!==n,i=r!==i,we.inBodyScroll=!0,we.bodyScrollType=s,i&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),xe.triggerScrollYEvent(e)),n&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),xe.triggerScrollXEvent(e)),xe.handleScrollEvent(e,i,n,r,a,{type:renderType,fixed:s})))};let w,$=0,I=0,H=0,L=!1;const B=(r,a,e,s,i)=>{var l=we["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ye,n=x.value,d=f.value,u=y.value;const c=d?d.$el:null,v=u?u.$el:null,p=n.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;n=L===a?Math.max(0,$-H):0;L=a,$=Math.abs(a?e-n:e+n),I=0,H=0,clearTimeout(w);const h=()=>{var e,l,t,o;H<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(H+=I)>$&&(I-=H-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(w=setTimeout(h,10)),xe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:i},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=fe["highlightHoverRow"],r=ye["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=we,i=Ce.value,n=x.value,d=S.value,n=n.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),we.lastScrollTop=d,we.lastScrollLeft=n,ye.lastScrollTime=Date.now(),(i.isHover||o)&&xe.clearHoverRow(),B(e,u,l,t,s),r)&&xe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=we["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(w)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=we["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=fe;const{tableData:i,mergeList:n,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=ye;var v=we["visibleColumn"],p=T["slots"],g=Ce.value,m=Te.value,h=U.value,x=j.value,f=be.value,y=Ee.value;l&&(t=ye.expandColumn||!(d||r&&u)||n.length||a||o&&x.isMerge?v:e);let w;r=p?p.empty:null,w=r?xe.callSlot(r,{$table:xe,$grid:xe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:xe})):fe.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||y.drag?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>X(l,i,t)}):(0,_vue.h)("tbody",{ref:O},X(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){xe.triggerCellAreaExtendMousedownEvent&&xe.triggerCellAreaExtendMousedownEvent(e,{$table:xe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(xe),l?renderEmptyElement(xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},w)])])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const xe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:fe,context:T,reactData:we,internalData:ye}=xe,{refTableBody:x,refTableHeader:p,refTableFooter:m,refTableLeftBody:f,refTableRightBody:w,refScrollXHandleElem:h,refScrollYHandleElem:k}=xe.getRefMaps(),{computeEditOpts:_e,computeMouseOpts:be,computeAreaOpts:De,computeSYOpts:Te,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:Me,computeRadioOpts:e,computeExpandOpts:z,computeTreeOpts:c,computeCheckboxOpts:Se,computeCellOpts:$e,computeValidOpts:Ie,computeRowOpts:Ce,computeColumnOpts:Ee,computeRowDragOpts:Oe,computeColumnDragOpts:t}=xe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Re=()=>{var e=fe["delayHover"],{lastScrollTime:l,_isResize:t}=we;return!!(t||l&&Date.now()<l+e)},g=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&xe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=g(r[e],l)}return t},He=e=>{var{row:l,column:t}=e,o=ye["afterFullData"],r=fe["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,i=ye["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(xe,l)];let n=0,d=0,u=[];return i&&(n=i.level,d=i._index,u=i.items),t&&t.line?xe.callSlot(t.line,e):(i=xe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=g(l[t-1],e)),we.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},G=(e,l,t,o,r,a,s,U,i,n,j,q)=>{var B=ye["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:W,editConfig:V,editRules:v,tooltipConfig:K}=fe,{tableData:X,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=we,x=ye["afterFullData"],f=$e.value,w=Ie.value,Q=Se.value,y=_e.value,_=Me.value,b=Ce.value,T=Oe.value,Z=T["disabledMethod"],S=Te.value,ee=Ee.value,le=be.value,te=De.value["selectCellToRow"],{type:oe,cellRender:re,editRender:ae,align:se,showOverflow:C,className:ie,treeNode:ne,slots:de}=i,f=f["verticalAlign"],m=m["actived"],S=S["rHeight"],E=b["height"],O=i.id,R=ae||re,R=R?renderer.get(R.name):null,ue=R?R.tableCellClassName||R.cellClassName:null,ce=R?R.tableCellStyle||R.cellStyle:"";const D=_.showAll;var _=xe.getColumnIndex(i),ve=xe.getVTColumnIndex(i),pe=(0,_utils.isEnableConf)(ae);let M=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const $="title"===p,I=!0===p||"tooltip"===p;p=u||$||I||C;let ge;var H={},B=B[l],se=se||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&w.showMessage&&("default"===w.message?d||1<X.length:"inline"===w.message),h={colid:O};const L={$table:xe,$grid:xe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:i,columnIndex:_,$columnIndex:n,_columnIndex:ve,fixed:t,type:renderType,isHidden:M,level:o,visibleData:x,data:X,items:q};let k=!1,me=!1;if((k=b.drag?"row"===T.trigger||i.dragSort&&"cell"===T.trigger:k)&&(me=!(!Z||!Z(L))),($||I||D||K)&&(H.onMouseenter=e=>{Re()||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||D)&&xe.triggerBodyTooltipEvent(e,L),xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||D||K)&&(H.onMouseleave=e=>{Re()||((I||D)&&xe.handleTargetLeaveEvent(e),xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(k||Q.range||W)&&(H.onMousedown=e=>{xe.triggerCellMousedownEvent(e,L)}),H.onClick=e=>{xe.triggerCellClickEvent(e,L)},H.onDblclick=e=>{xe.triggerCellDblclickEvent(e,L)},g.length){v=(0,_util.mergeBodyMethod)(g,U,ve);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(L)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!(M=M&&g&&(1<h.colspan||1<h.rowspan)?!1:M)&&V&&(ae||re)&&(y.showStatus||y.showUpdateStatus)&&(ge=xe.isUpdateByRow(r,i.field));s=[];M&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""}})):(s.push(...He(L),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""},title:$?xe.getCellLabel(r,i):null},i.renderCell(L))),N&&R&&(_=R.rule,t=de?de.valid:null,o=Object.assign(Object.assign(Object.assign({},L),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(w.className,o)],style:_&&_.maxWidth?{width:_.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(w.theme||"normal")},[t?xe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let he="";p&&(S||E)?he=`${S||E}px`:!z&&!G||p||(he=`${B.height||24}px`),W&&le.area&&te&&((n||!0!==te)&&te!==i.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"})));x=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+se]:se,["col--vertical-"+f]:f,["col--"+oe]:oe,"col--last":n===j.length-1,"col--tree-node":ne,"col--edit":pe,"col--ellipsis":p,"fixed--width":!x,"fixed--hidden":M,"is--drag-cell":k,"is--drag-disabled":me,"col--dirty":ge,"col--active":V&&pe&&m.row===r&&(m.column===i||"row"===y.mode),"col--valid-error":!!R,"col--current":P===i},(0,_dom.getPropClass)(ue,L),(0,_dom.getPropClass)(ie,L),(0,_dom.getPropClass)(F,L)],key:A||ee.useKey||b.useKey||ee.drag?O:n},h),{style:Object.assign({height:he},_xeUtils.default.isFunction(ce)?ce(L):ce,_xeUtils.default.isFunction(c)?c(L):c)}),H),s)},P=(x,f,w)=>{const{stripe:y,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=fe,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:H,pendingRowMaps:L,isDragColMove:k}=we,U=ye["fullAllDataRowIdData"],j=Se.value,q=e.value,B=c.value,A=_e.value,F=Ce.value,N=Ee.value,Y=t.value,{transform:W,seqMode:V}=B,K=B.children||B.childrenField,X=[];return f.forEach((t,o)=>{var e={};let r;r=xe.getRowIndex(t),(F.isHover||b)&&(e.onMouseenter=e=>{Re()||xe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Re()||xe.clearHoverRow()});const a=(0,_util.getRowid)(xe,t);var l=U[a];let s=0,i=-1,n=0;l&&(s=l.level,i=O&&W&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:xe,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=xe.isInsertByRow(t)),!O||M||W||(c=t[K],u=c&&0<c.length&&!!D[a]),!F.drag||O&&!W||(e.onDragstart=xe.handleRowDragDragstartEvent,e.onDragend=xe.handleRowDragDragendEvent,e.onDragover=xe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(A.showStatus||A.showInsertStatus),"row--radio":q.highlight&&xe.eqRow(H,t),"row--checked":j.highlight&&xe.isCheckedByCheckboxRow(t),"row--pending":!!L[a]},(0,_dom.getPropClass)(T,l)];const h=w.map((e,l)=>G(i,a,x,s,t,r,o,n,e,l,w,f));X.push(N.drag&&Y.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(k?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),h)),d&&({height:m,padding:l}=z.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*B.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:xe,seq:i,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},X.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:w.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&X.push(...P(x,c,w))}),X},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:i,lastScrollLeft:n,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=ye;d||v||u&&c!==s||(d=p.value,v=x.value,u=m.value,c=f.value,l=w.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,n=(a=v.scrollLeft)!==n,i=r!==i,ye.inBodyScroll=!0,ye.bodyScrollType=s,i&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),xe.triggerScrollYEvent(e)),n&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),xe.triggerScrollXEvent(e)),xe.handleScrollEvent(e,i,n,r,a,{type:renderType,fixed:s})))};let y,$=0,I=0,H=0,L=!1;const B=(r,a,e,s,i)=>{var l=ye["elemStore"],{scrollXLoad:t,scrollYLoad:o}=we,n=x.value,d=f.value,u=w.value;const c=d?d.$el:null,v=u?u.$el:null,p=n.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;n=L===a?Math.max(0,$-H):0;L=a,$=Math.abs(a?e-n:e+n),I=0,H=0,clearTimeout(y);const h=()=>{var e,l,t,o;H<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(H+=I)>$&&(I-=H-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(y=setTimeout(h,10)),xe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:i},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=fe["highlightHoverRow"],r=we["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ye,i=Ce.value,n=x.value,d=S.value,n=n.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),ye.lastScrollTop=d,ye.lastScrollLeft=n,we.lastScrollTime=Date.now(),(i.isHover||o)&&xe.clearHoverRow(),B(e,u,l,t,s),r)&&xe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(y)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=fe;const{tableData:i,mergeList:n,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=we;var v=ye["visibleColumn"],p=T["slots"],g=Ce.value,m=Te.value,h=U.value,x=j.value,f=be.value,w=Oe.value;l&&(t=we.expandColumn||!(d||r&&u)||n.length||a||o&&x.isMerge?v:e);let y;r=p?p.empty:null,y=r?xe.callSlot(r,{$table:xe,$grid:xe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:xe})):fe.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag&&w.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>P(l,i,t)}):(0,_vue.h)("tbody",{ref:O},P(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){xe.triggerCellAreaExtendMousedownEvent&&xe.triggerCellAreaExtendMousedownEvent(e,{$table:xe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(xe),l?renderEmptyElement(xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},y)])])}}});
@@ -72,7 +72,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
72
72
  } = $xeTable.getRefMaps();
73
73
  const {
74
74
  computeTooltipOpts,
75
- computeColumnOpts
75
+ computeColumnOpts,
76
+ computeColumnDragOpts
76
77
  } = $xeTable.getComputeMaps();
77
78
  const refElem = (0, _vue.ref)();
78
79
  const refFooterTable = (0, _vue.ref)();
@@ -255,11 +256,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
255
256
  attrs.colspan = colspan;
256
257
  }
257
258
  }
259
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
258
260
  return (0, _vue.h)('td', Object.assign(Object.assign(Object.assign(Object.assign({
259
261
  class: ['vxe-footer--column', column.id, {
260
262
  [`col--${footAlign}`]: footAlign,
261
263
  [`col--${type}`]: type,
262
264
  'col--last': $columnIndex === tableColumn.length - 1,
265
+ 'fixed--width': !isAutoCellWidth,
263
266
  'fixed--hidden': fixedHiddenColumn,
264
267
  'col--ellipsis': hasEllipsis,
265
268
  'col--current': currentColumn === column
@@ -293,6 +296,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
293
296
  isDragColMove
294
297
  } = tableReactData;
295
298
  const columnOpts = computeColumnOpts.value;
299
+ const columnDragOpts = computeColumnDragOpts.value;
296
300
  return footerTableData.map((row, $rowIndex) => {
297
301
  const _rowIndex = $rowIndex;
298
302
  const rowParams = {
@@ -303,7 +307,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
303
307
  fixed: fixedType,
304
308
  type: renderType
305
309
  };
306
- if (columnOpts.drag) {
310
+ if (columnOpts.drag && columnDragOpts.animation) {
307
311
  return (0, _vue.h)(_vue.TransitionGroup, {
308
312
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
309
313
  tag: 'tr',
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="footer";function mergeFooterMethod(l,o,t){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:u}=l[e];if(-1<n&&-1<r&&a&&u){if(r===o&&n===t)return{rowspan:a,colspan:u};if(r<=o&&o<r+a&&n<=t&&t<n+u)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(d){const A=(0,_vue.inject)("$xeTable",{}),{xID:c,props:f,reactData:p,internalData:v}=A,{refTableHeader:u,refTableBody:i,refScrollXHandleElem:s}=A.getRefMaps(),{computeTooltipOpts:l,computeColumnOpts:x}=A.getComputeMaps(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),_=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),h=e=>{var l,o,t,r,{inVirtualScroll:n,inBodyScroll:a}=v;n||a||(n=d["fixedType"],a=u.value,l=i.value,a=a?a.$el:null,(t=m.value)&&(l=l?l.$el:null)&&(o=s.value,t=t.scrollLeft,r=l.scrollTop,v.inFooterScroll=!0,(0,_dom.setScrollLeft)(o,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollLeft)(l,t),A.triggerScrollXEvent(e),A.handleScrollEvent(e,!1,!0,r,t,{type:renderType,fixed:n})))},w=(g,_,y,b,h)=>{const w=d["fixedType"],{footerCellClassName:T,footerCellStyle:C,footerAlign:S,footerSpanMethod:F,align:I,columnKey:O,showFooterOverflow:M}=f,{scrollXLoad:$,overflowX:j,scrollbarWidth:e,currentColumn:D,mergeFooterList:L}=p,U=l.value,k=x.value;return g.map((l,e)=>{var{type:o,showFooterOverflow:t,footerAlign:r,align:n,footerClassName:a,editRender:u,cellRender:i}=l,u=u||i,i=u?renderer.get(u.name):null;const s=U.showAll;u=l.children&&l.children.length,u=w?l.fixed!==w&&!u:l.fixed&&j,t=_xeUtils.default.eqNull(t)?M:t,r=r||(i?i.tableFooterCellAlign:"")||S||n||(i?i.tableCellAlign:"")||I;let c="ellipsis"===t;const d="title"===t,f=!0===t||"tooltip"===t;let p=d||f||c;var n={colid:l.id},i={},t=A.getColumnIndex(l),v=A.getVTColumnIndex(l),x=v;const m={$table:A,$grid:A.xegrid,row:y,rowIndex:h,_rowIndex:h,$rowIndex:b,column:l,columnIndex:t,$columnIndex:e,_columnIndex:v,itemIndex:x,items:y,fixed:w,type:renderType,data:_};if($&&!p&&(c=p=!0),(d||f||s)&&(i.onMouseenter=e=>{d?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||s)&&A.triggerFooterTooltipEvent(e,m)}),(f||s)&&(i.onMouseleave=e=>{(f||s)&&A.handleTargetLeaveEvent(e)}),i.onClick=e=>{A.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},i.onDblclick=e=>{A.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},L.length){t=mergeFooterMethod(L,h,v);if(t){var{rowspan:x,colspan:v}=t;if(!x||!v)return null;1<x&&(n.rowspan=x),1<v&&(n.colspan=v)}}else if(F){var{rowspan:t=1,colspan:x=1}=F(m)||{};if(!t||!x)return null;1<t&&(n.rowspan=t),1<x&&(n.colspan=x)}return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+o]:o,"col--last":e===g.length-1,"fixed--hidden":u,"col--ellipsis":p,"col--current":D===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:C?_xeUtils.default.isFunction(C)?C(m):C:null}),i),{key:O||k.useKey||k.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":d,"c--tooltip":f,"c--ellipsis":c}]},l.renderFooter(m))])}).concat(e?[(0,_vue.h)("td",{key:"gr"+b,class:"vxe-footer--gutter col--gutter"})]:[])};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d["fixedType"],l=v["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=m,l[e+"table"]=g,l[e+"colgroup"]=_,l[e+"list"]=y,l[e+"xSpace"]=b})}),(0,_vue.onUnmounted)(()=>{var e=d["fixedType"],l=v["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:e,fixedColumn:l,tableColumn:o,footerTableData:t}=d;var{footerSpanMethod:r,showFooterOverflow:n}=f,a=v["visibleColumn"],{scrollXLoad:u,scrollbarWidth:i,mergeFooterList:s}=p,u=(e&&(o=p.expandColumn||!u&&!n||s.length&&r?a:l),{});return e||(u.onScroll=h),(0,_vue.h)("div",Object.assign({ref:m,class:["vxe-table--footer-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:c},u),[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:b,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:g,class:"vxe-table--footer",xid:c,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:_},o.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(i?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:y},(r=>{const{fixedType:n,tableColumn:a}=d,{footerRowClassName:u,footerRowStyle:i}=f,s=p["isDragColMove"],c=x.value;return r.map((e,l)=>{const o=l;var t={$table:A,row:e,_rowIndex:o,$rowIndex:l,fixed:n,type:renderType};return c.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(s?"":"-disabled"),tag:"tr",class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>w(a,r,e,l,o)}):(0,_vue.h)("tr",{class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},w(a,r,e,l,o))})})(t))])])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(f){const A=(0,_vue.inject)("$xeTable",{}),{xID:d,props:p,reactData:v,internalData:c}=A,{refTableHeader:i,refTableBody:u,refScrollXHandleElem:s}=A.getRefMaps(),{computeTooltipOpts:l,computeColumnOpts:x,computeColumnDragOpts:m}=A.getComputeMaps(),g=(0,_vue.ref)(),_=(0,_vue.ref)(),h=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),w=e=>{var l,t,o,r,{inVirtualScroll:n,inBodyScroll:a}=c;n||a||(n=f["fixedType"],a=i.value,l=u.value,a=a?a.$el:null,(o=g.value)&&(l=l?l.$el:null)&&(t=s.value,o=o.scrollLeft,r=l.scrollTop,c.inFooterScroll=!0,(0,_dom.setScrollLeft)(t,o),(0,_dom.setScrollLeft)(a,o),(0,_dom.setScrollLeft)(l,o),A.triggerScrollXEvent(e),A.handleScrollEvent(e,!1,!0,r,o,{type:renderType,fixed:n})))},T=(g,_,h,y,b)=>{const w=f["fixedType"],{footerCellClassName:T,footerCellStyle:C,footerAlign:S,footerSpanMethod:F,align:O,columnKey:I,showFooterOverflow:M}=p,{scrollXLoad:$,overflowX:D,scrollbarWidth:e,currentColumn:j,mergeFooterList:L}=v,U=l.value,k=x.value;return g.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,i=i||u,u=i?renderer.get(i.name):null;const s=U.showAll;i=l.children&&l.children.length,i=w?l.fixed!==w&&!i:l.fixed&&D,o=_xeUtils.default.eqNull(o)?M:o,r=r||(u?u.tableFooterCellAlign:"")||S||n||(u?u.tableCellAlign:"")||O;let d="ellipsis"===o;const c="title"===o,f=!0===o||"tooltip"===o;let p=c||f||d;var n={colid:l.id},u={},o=A.getColumnIndex(l),v=A.getVTColumnIndex(l),x=v;const m={$table:A,$grid:A.xegrid,row:h,rowIndex:b,_rowIndex:b,$rowIndex:y,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:h,fixed:w,type:renderType,data:_};if($&&!p&&(d=p=!0),(c||f||s)&&(u.onMouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||s)&&A.triggerFooterTooltipEvent(e,m)}),(f||s)&&(u.onMouseleave=e=>{(f||s)&&A.handleTargetLeaveEvent(e)}),u.onClick=e=>{A.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},u.onDblclick=e=>{A.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},L.length){o=mergeFooterMethod(L,b,v);if(o){var{rowspan:x,colspan:v}=o;if(!x||!v)return null;1<x&&(n.rowspan=x),1<v&&(n.colspan=v)}}else if(F){var{rowspan:o=1,colspan:x=1}=F(m)||{};if(!o||!x)return null;1<o&&(n.rowspan=o),1<x&&(n.colspan=x)}v=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":e===g.length-1,"fixed--width":!v,"fixed--hidden":i,"col--ellipsis":p,"col--current":j===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:C?_xeUtils.default.isFunction(C)?C(m):C:null}),u),{key:I||k.useKey||k.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":f,"c--ellipsis":d}]},l.renderFooter(m))])}).concat(e?[(0,_vue.h)("td",{key:"gr"+y,class:"vxe-footer--gutter col--gutter"})]:[])};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f["fixedType"],l=c["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=g,l[e+"table"]=_,l[e+"colgroup"]=h,l[e+"list"]=y,l[e+"xSpace"]=b})}),(0,_vue.onUnmounted)(()=>{var e=f["fixedType"],l=c["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:e,fixedColumn:l,tableColumn:t,footerTableData:o}=f;var{footerSpanMethod:r,showFooterOverflow:n}=p,a=c["visibleColumn"],{scrollXLoad:i,scrollbarWidth:u,mergeFooterList:s}=v,i=(e&&(t=v.expandColumn||!i&&!n||s.length&&r?a:l),{});return e||(i.onScroll=w),(0,_vue.h)("div",Object.assign({ref:g,class:["vxe-table--footer-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:d},i),[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:b,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:_,class:"vxe-table--footer",xid:d,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:h},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(u?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:y},(r=>{const{fixedType:n,tableColumn:a}=f,{footerRowClassName:i,footerRowStyle:u}=p,s=v["isDragColMove"],d=x.value,c=m.value;return r.map((e,l)=>{const t=l;var o={$table:A,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return d.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(s?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>T(a,r,e,l,t)}):(0,_vue.h)("tr",{class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},T(a,r,e,l,t))})})(o))])])}}});
@@ -281,6 +281,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
281
281
  thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
282
282
  }
283
283
  }
284
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
284
285
  return (0, _vue.h)('th', Object.assign(Object.assign(Object.assign({
285
286
  class: ['vxe-header--column', colid, {
286
287
  [`col--${headAlign}`]: headAlign,
@@ -289,6 +290,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
289
290
  'col--fixed': column.fixed,
290
291
  'col--group': isColGroup,
291
292
  'col--ellipsis': hasEllipsis,
293
+ 'fixed--width': !isAutoCellWidth,
292
294
  'fixed--hidden': fixedHiddenColumn,
293
295
  'is--sortable': column.sortable,
294
296
  'col--filter': !!column.filters,
@@ -332,6 +334,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
332
334
  isDragColMove
333
335
  } = tableReactData;
334
336
  const columnOpts = computeColumnOpts.value;
337
+ const columnDragOpts = computeColumnDragOpts.value;
335
338
  return headerGroups.map((cols, $rowIndex) => {
336
339
  const params = {
337
340
  $table: $xeTable,
@@ -339,7 +342,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
339
342
  fixed: fixedType,
340
343
  type: renderType
341
344
  };
342
- if (columnOpts.drag) {
345
+ if (columnOpts.drag && columnDragOpts.animation) {
343
346
  return (0, _vue.h)(_vue.TransitionGroup, {
344
347
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
345
348
  tag: 'tr',
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(k){const A=(0,_vue.inject)("$xeTable",{}),{xID:u,props:c,reactData:I,internalData:H}=A,{refElem:R,refTableBody:S,refLeftContainer:O,refRightContainer:E,refCellResizeBar:U,refCellResizeTip:$}=A.getRefMaps(),{computeColumnOpts:v,computeColumnDragOpts:l,computeResizableOpts:q}=A.getComputeMaps(),p=(0,_vue.ref)([]),F=(0,_vue.ref)(),f=(0,_vue.ref)(),h=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),t=()=>{var e=I["isGroup"];p.value=e?(0,_util.convertHeaderColumnToRows)(k.tableGroupColumn):[]},j=(e,t)=>{const s=t["column"],d=k["fixedType"],r=H["visibleColumn"],u=q.value;var l=S.value;const c=R.value,v=O.value,p=E.value,f=U.value,h=$.value,m=e["clientX"],g=F.value;var a=e.target;const x=t.cell=a.parentNode;let _=0;const b=l.$el;var l=(0,_dom.getOffsetPos)(a,g),a=a.clientWidth,i=Math.floor(a/2);const C=(0,_util.getColReMinWidth)(t)-i;let y=l.left-x.clientWidth+a+C,w=l.left+i;const n=document.onmousemove,o=document.onmouseup,D="left"===d,M="right"===d;let T=0;if(D||M){var W=D?"nextElementSibling":"previousElementSibling";let e=x[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(T+=e.offsetWidth),e=e[W];M&&p&&(w=p.offsetLeft+T)}function z(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=d?0:b.scrollLeft,D?e=Math.min(e,(p?p.offsetLeft:b.clientWidth)-T-C):M?(y=(v?v.clientWidth:0)+T+C,e=Math.min(e,w+x.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,f.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=g.getBoundingClientRect(),i=f.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=s.renderWidth+(M?w-_:_-w)+"px"}}I._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),f.style.display="block",document.onmousemove=z,document.onmouseup=function(e){document.onmousemove=n,document.onmouseup=o;const l=s.renderWidth+(M?w-_:_-w);s.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),f.style.display="none",I._isResize=!1,H._lastResizeTime=Date.now(),A.analyColumnWidth(),A.recalculate(!0).then(()=>{A.saveCustomStore("update:visible"),A.updateCellAreas(),A.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>A.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},z(e),A.closeMenu&&A.closeMenu()},_=(x,_)=>{const b=k["fixedType"],{resizable:C,border:y,columnKey:w,headerCellClassName:D,headerCellStyle:M,showHeaderOverflow:T,headerAlign:W,align:z,mouseConfig:H}=c,{currentColumn:R,scrollXLoad:S,overflowX:O,scrollbarWidth:e}=I,E=v.value,U=l.value,$=U["disabledMethod"];return x.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=b?e.fixed!==b&&!o:!!e.fixed&&O,r=_xeUtils.default.eqNull(r)?T:r,a=a||(s?s.tableHeaderCellAlign:"")||W||i||(s?s.tableCellAlign:"")||z;let c="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let v=i||s||c;var r=e.filters&&e.filters.some(e=>e.checked),p=A.getColumnIndex(e),f=A.getVTColumnIndex(e);const h={$table:A,$grid:A.xegrid,$rowIndex:_,column:e,columnIndex:p,$columnIndex:l,_columnIndex:f,fixed:b,type:renderType,isHidden:u,hasFilter:r};var p={colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},f={onClick:e=>A.triggerHeaderCellClickEvent(e,h),onDblclick:e=>A.triggerHeaderCellDblclickEvent(e,h)},m=(S&&!v&&(c=v=!0),E.drag&&"cell"===U.trigger);let g=!1;return m&&(g=!(!$||!$(h))),(H||m)&&(f.onMousedown=e=>A.triggerHeaderCellMousedownEvent(e,h)),E.drag&&(f.onDragstart=A.handleHeaderCellDragDragstartEvent,f.onDragend=A.handleHeaderCellDragDragendEvent,f.onDragover=A.handleHeaderCellDragDragoverEvent,m)&&(f.onMouseup=A.handleHeaderCellDragMouseupEvent),(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",d,{["col--"+a]:a,["col--"+t]:t,"col--last":l===x.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":v,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-disabled":g,"col--current":R===e},n?_xeUtils.default.isFunction(n)?n(h):n:"",D?_xeUtils.default.isFunction(D)?D(h):D:""],style:M?_xeUtils.default.isFunction(M)?M(h):M:null},p),f),{key:w||E.useKey||E.drag||o?d:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(h)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:E.resizable||C)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!y||"none"===y}],onMousedown:e=>j(e,h)})])}).concat(e?[(0,_vue.h)("th",{key:"gr"+_,class:"vxe-header--gutter col--gutter"})]:[])};return(0,_vue.watch)(()=>k.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=F,l[e+"table"]=f,l[e+"colgroup"]=h,l[e+"list"]=m,l[e+"xSpace"]=g,l[e+"repair"]=x,t()})}),(0,_vue.onUnmounted)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=k,r=c["showHeaderOverflow"],{isGroup:a,scrollXLoad:i,scrollbarWidth:n}=I,o=H["visibleColumn"];let s=p.value,d=t;return a?d=o:(e&&(i||r)&&(d=l),s=[d]),(0,_vue.h)("div",{ref:F,class:["vxe-table--header-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:u},[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:g,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:f,class:"vxe-table--header",xid:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:h},d.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},(e=>{const r=k["fixedType"],{headerRowClassName:a,headerRowStyle:i}=c,n=I["isDragColMove"],o=v.value;return e.map((e,l)=>{var t={$table:A,$rowIndex:l,fixed:r,type:renderType};return o.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(n?"":"-disabled"),tag:"tr",class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>_(e,l)}):(0,_vue.h)("tr",{class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},_(e,l))})})(s))]),(0,_vue.h)("div",{ref:x,class:"vxe-table--header-border-line"})])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(k){const A=(0,_vue.inject)("$xeTable",{}),{xID:u,props:c,reactData:I,internalData:H}=A,{refElem:R,refTableBody:S,refLeftContainer:O,refRightContainer:E,refCellResizeBar:U,refCellResizeTip:$}=A.getRefMaps(),{computeColumnOpts:v,computeColumnDragOpts:p,computeResizableOpts:q}=A.getComputeMaps(),f=(0,_vue.ref)([]),F=(0,_vue.ref)(),h=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),_=(0,_vue.ref)(),t=()=>{var e=I["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(k.tableGroupColumn):[]},j=(e,t)=>{const s=t["column"],d=k["fixedType"],r=H["visibleColumn"],u=q.value;var l=S.value;const c=R.value,v=O.value,p=E.value,f=U.value,h=$.value,m=e["clientX"],g=F.value;var a=e.target;const x=t.cell=a.parentNode;let _=0;const b=l.$el;var l=(0,_dom.getOffsetPos)(a,g),a=a.clientWidth,i=Math.floor(a/2);const C=(0,_util.getColReMinWidth)(t)-i;let y=l.left-x.clientWidth+a+C,w=l.left+i;const n=document.onmousemove,o=document.onmouseup,D="left"===d,M="right"===d;let W=0;if(D||M){var T=D?"nextElementSibling":"previousElementSibling";let e=x[T];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(W+=e.offsetWidth),e=e[T];M&&p&&(w=p.offsetLeft+W)}function z(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=d?0:b.scrollLeft,D?e=Math.min(e,(p?p.offsetLeft:b.clientWidth)-W-C):M?(y=(v?v.clientWidth:0)+W+C,e=Math.min(e,w+x.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,f.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=g.getBoundingClientRect(),i=f.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=s.renderWidth+(M?w-_:_-w)+"px"}}I._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),f.style.display="block",document.onmousemove=z,document.onmouseup=function(e){document.onmousemove=n,document.onmouseup=o;const l=s.renderWidth+(M?w-_:_-w);s.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),f.style.display="none",I._isResize=!1,H._lastResizeTime=Date.now(),A.analyColumnWidth(),A.recalculate(!0).then(()=>{A.saveCustomStore("update:visible"),A.updateCellAreas(),A.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>A.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},z(e),A.closeMenu&&A.closeMenu()},b=(x,_)=>{const b=k["fixedType"],{resizable:C,border:y,columnKey:w,headerCellClassName:D,headerCellStyle:M,showHeaderOverflow:W,headerAlign:T,align:z,mouseConfig:H}=c,{currentColumn:R,scrollXLoad:S,overflowX:O,scrollbarWidth:e}=I,E=v.value,U=p.value,$=U["disabledMethod"];return x.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=b?e.fixed!==b&&!o:!!e.fixed&&O,r=_xeUtils.default.eqNull(r)?W:r,a=a||(s?s.tableHeaderCellAlign:"")||T||i||(s?s.tableCellAlign:"")||z;let c="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let v=i||s||c;var r=e.filters&&e.filters.some(e=>e.checked),p=A.getColumnIndex(e),f=A.getVTColumnIndex(e);const h={$table:A,$grid:A.xegrid,$rowIndex:_,column:e,columnIndex:p,$columnIndex:l,_columnIndex:f,fixed:b,type:renderType,isHidden:u,hasFilter:r};var p={colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},f={onClick:e=>A.triggerHeaderCellClickEvent(e,h),onDblclick:e=>A.triggerHeaderCellDblclickEvent(e,h)},m=(S&&!v&&(c=v=!0),E.drag&&"cell"===U.trigger);let g=!1;m&&(g=!(!$||!$(h))),(H||m)&&(f.onMousedown=e=>A.triggerHeaderCellMousedownEvent(e,h)),E.drag&&(f.onDragstart=A.handleHeaderCellDragDragstartEvent,f.onDragend=A.handleHeaderCellDragDragendEvent,f.onDragover=A.handleHeaderCellDragDragoverEvent,m)&&(f.onMouseup=A.handleHeaderCellDragMouseupEvent);m=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",d,{["col--"+a]:a,["col--"+t]:t,"col--last":l===x.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":v,"fixed--width":!m,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-disabled":g,"col--current":R===e},n?_xeUtils.default.isFunction(n)?n(h):n:"",D?_xeUtils.default.isFunction(D)?D(h):D:""],style:M?_xeUtils.default.isFunction(M)?M(h):M:null},p),f),{key:w||E.useKey||E.drag||o?d:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(h)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:E.resizable||C)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!y||"none"===y}],onMousedown:e=>j(e,h)})])}).concat(e?[(0,_vue.h)("th",{key:"gr"+_,class:"vxe-header--gutter col--gutter"})]:[])};return(0,_vue.watch)(()=>k.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=F,l[e+"table"]=h,l[e+"colgroup"]=m,l[e+"list"]=g,l[e+"xSpace"]=x,l[e+"repair"]=_,t()})}),(0,_vue.onUnmounted)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=k,r=c["showHeaderOverflow"],{isGroup:a,scrollXLoad:i,scrollbarWidth:n}=I,o=H["visibleColumn"];let s=f.value,d=t;return a?d=o:(e&&(i||r)&&(d=l),s=[d]),(0,_vue.h)("div",{ref:F,class:["vxe-table--header-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:u},[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:x,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:h,class:"vxe-table--header",xid:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:m},d.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:g},(e=>{const r=k["fixedType"],{headerRowClassName:a,headerRowStyle:i}=c,n=I["isDragColMove"],o=v.value,s=p.value;return e.map((e,l)=>{var t={$table:A,$rowIndex:l,fixed:r,type:renderType};return o.drag&&s.animation?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(n?"":"-disabled"),tag:"tr",class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>b(e,l)}):(0,_vue.h)("tr",{class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},b(e,l))})})(s))]),(0,_vue.h)("div",{ref:_,class:"vxe-table--header-border-line"})])}}});