vxe-table 4.19.1 → 4.19.3

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 (181) hide show
  1. package/dist/all.esm.js +31932 -0
  2. package/dist/style.css +1 -0
  3. package/dist/style.min.css +1 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +6 -2
  7. package/es/locale/lang/de-DE.js +6 -2
  8. package/es/locale/lang/en-US.js +6 -2
  9. package/es/locale/lang/es-ES.js +6 -2
  10. package/es/locale/lang/fr-FR.js +6 -2
  11. package/es/locale/lang/hu-HU.js +6 -2
  12. package/es/locale/lang/hy-AM.js +6 -2
  13. package/es/locale/lang/id-ID.js +6 -2
  14. package/es/locale/lang/it-IT.js +6 -2
  15. package/es/locale/lang/ja-JP.js +6 -2
  16. package/es/locale/lang/ko-KR.js +6 -2
  17. package/es/locale/lang/ms-MY.js +6 -2
  18. package/es/locale/lang/nb-NO.js +6 -2
  19. package/es/locale/lang/pt-BR.js +6 -2
  20. package/es/locale/lang/ru-RU.js +6 -2
  21. package/es/locale/lang/th-TH.js +6 -2
  22. package/es/locale/lang/ug-CN.js +6 -2
  23. package/es/locale/lang/uk-UA.js +6 -2
  24. package/es/locale/lang/uz-UZ.js +6 -2
  25. package/es/locale/lang/vi-VN.js +6 -2
  26. package/es/locale/lang/zh-CHT.js +6 -2
  27. package/es/locale/lang/zh-CN.js +6 -2
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/panel.js +29 -22
  31. package/es/table/module/export/export-panel.js +27 -16
  32. package/es/table/module/export/hook.js +120 -27
  33. package/es/table/module/validator/hook.js +2 -2
  34. package/es/table/src/cell.js +1 -1
  35. package/es/table/src/column.js +2 -0
  36. package/es/table/src/columnInfo.js +1 -0
  37. package/es/table/src/table.js +94 -31
  38. package/es/table/src/util.js +3 -1
  39. package/es/table/style.css +1 -1
  40. package/es/table/style.min.css +1 -1
  41. package/es/ui/index.js +1 -1
  42. package/es/ui/src/log.js +1 -1
  43. package/es/vxe-table/style.css +1 -1
  44. package/es/vxe-table/style.min.css +1 -1
  45. package/lib/index.css +1 -1
  46. package/lib/index.min.css +1 -1
  47. package/lib/index.umd.js +213 -75
  48. package/lib/index.umd.min.js +1 -1
  49. package/lib/locale/lang/ar-EG.js +6 -2
  50. package/lib/locale/lang/ar-EG.min.js +1 -1
  51. package/lib/locale/lang/ar-EG.umd.js +6 -2
  52. package/lib/locale/lang/de-DE.js +6 -2
  53. package/lib/locale/lang/de-DE.min.js +1 -1
  54. package/lib/locale/lang/de-DE.umd.js +6 -2
  55. package/lib/locale/lang/en-US.js +6 -2
  56. package/lib/locale/lang/en-US.min.js +1 -1
  57. package/lib/locale/lang/en-US.umd.js +6 -2
  58. package/lib/locale/lang/es-ES.js +6 -2
  59. package/lib/locale/lang/es-ES.min.js +1 -1
  60. package/lib/locale/lang/es-ES.umd.js +6 -2
  61. package/lib/locale/lang/fr-FR.js +6 -2
  62. package/lib/locale/lang/fr-FR.min.js +1 -1
  63. package/lib/locale/lang/fr-FR.umd.js +6 -2
  64. package/lib/locale/lang/hu-HU.js +6 -2
  65. package/lib/locale/lang/hu-HU.min.js +1 -1
  66. package/lib/locale/lang/hu-HU.umd.js +6 -2
  67. package/lib/locale/lang/hy-AM.js +6 -2
  68. package/lib/locale/lang/hy-AM.min.js +1 -1
  69. package/lib/locale/lang/hy-AM.umd.js +6 -2
  70. package/lib/locale/lang/id-ID.js +6 -2
  71. package/lib/locale/lang/id-ID.min.js +1 -1
  72. package/lib/locale/lang/id-ID.umd.js +6 -2
  73. package/lib/locale/lang/it-IT.js +6 -2
  74. package/lib/locale/lang/it-IT.min.js +1 -1
  75. package/lib/locale/lang/it-IT.umd.js +6 -2
  76. package/lib/locale/lang/ja-JP.js +6 -2
  77. package/lib/locale/lang/ja-JP.min.js +1 -1
  78. package/lib/locale/lang/ja-JP.umd.js +6 -2
  79. package/lib/locale/lang/ko-KR.js +6 -2
  80. package/lib/locale/lang/ko-KR.min.js +1 -1
  81. package/lib/locale/lang/ko-KR.umd.js +6 -2
  82. package/lib/locale/lang/ms-MY.js +6 -2
  83. package/lib/locale/lang/ms-MY.min.js +1 -1
  84. package/lib/locale/lang/ms-MY.umd.js +6 -2
  85. package/lib/locale/lang/nb-NO.js +6 -2
  86. package/lib/locale/lang/nb-NO.min.js +1 -1
  87. package/lib/locale/lang/nb-NO.umd.js +6 -2
  88. package/lib/locale/lang/pt-BR.js +6 -2
  89. package/lib/locale/lang/pt-BR.min.js +1 -1
  90. package/lib/locale/lang/pt-BR.umd.js +6 -2
  91. package/lib/locale/lang/ru-RU.js +6 -2
  92. package/lib/locale/lang/ru-RU.min.js +1 -1
  93. package/lib/locale/lang/ru-RU.umd.js +6 -2
  94. package/lib/locale/lang/th-TH.js +6 -2
  95. package/lib/locale/lang/th-TH.min.js +1 -1
  96. package/lib/locale/lang/th-TH.umd.js +6 -2
  97. package/lib/locale/lang/ug-CN.js +6 -2
  98. package/lib/locale/lang/ug-CN.min.js +1 -1
  99. package/lib/locale/lang/ug-CN.umd.js +6 -2
  100. package/lib/locale/lang/uk-UA.js +6 -2
  101. package/lib/locale/lang/uk-UA.min.js +1 -1
  102. package/lib/locale/lang/uk-UA.umd.js +6 -2
  103. package/lib/locale/lang/uz-UZ.js +6 -2
  104. package/lib/locale/lang/uz-UZ.min.js +1 -1
  105. package/lib/locale/lang/uz-UZ.umd.js +6 -2
  106. package/lib/locale/lang/vi-VN.js +6 -2
  107. package/lib/locale/lang/vi-VN.min.js +1 -1
  108. package/lib/locale/lang/vi-VN.umd.js +6 -2
  109. package/lib/locale/lang/zh-CHT.js +6 -2
  110. package/lib/locale/lang/zh-CHT.min.js +1 -1
  111. package/lib/locale/lang/zh-CHT.umd.js +6 -2
  112. package/lib/locale/lang/zh-CN.js +6 -2
  113. package/lib/locale/lang/zh-CN.min.js +1 -1
  114. package/lib/locale/lang/zh-CN.umd.js +6 -2
  115. package/lib/style.css +1 -1
  116. package/lib/style.min.css +1 -1
  117. package/lib/table/module/custom/panel.js +30 -21
  118. package/lib/table/module/custom/panel.min.js +1 -1
  119. package/lib/table/module/export/export-panel.js +22 -13
  120. package/lib/table/module/export/export-panel.min.js +1 -1
  121. package/lib/table/module/export/hook.js +139 -28
  122. package/lib/table/module/export/hook.min.js +1 -1
  123. package/lib/table/module/validator/hook.js +2 -2
  124. package/lib/table/module/validator/hook.min.js +1 -1
  125. package/lib/table/src/cell.js +1 -1
  126. package/lib/table/src/cell.min.js +1 -1
  127. package/lib/table/src/column.js +2 -0
  128. package/lib/table/src/column.min.js +1 -1
  129. package/lib/table/src/columnInfo.js +1 -0
  130. package/lib/table/src/columnInfo.min.js +1 -1
  131. package/lib/table/src/table.js +5 -5
  132. package/lib/table/src/table.min.js +1 -1
  133. package/lib/table/src/util.js +3 -1
  134. package/lib/table/src/util.min.js +1 -1
  135. package/lib/table/style/style.css +1 -1
  136. package/lib/table/style/style.min.css +1 -1
  137. package/lib/ui/index.js +1 -1
  138. package/lib/ui/index.min.js +1 -1
  139. package/lib/ui/src/log.js +1 -1
  140. package/lib/ui/src/log.min.js +1 -1
  141. package/lib/vxe-table/style/style.css +1 -1
  142. package/lib/vxe-table/style/style.min.css +1 -1
  143. package/package.json +5 -2
  144. package/packages/locale/lang/ar-EG.ts +6 -2
  145. package/packages/locale/lang/de-DE.ts +6 -2
  146. package/packages/locale/lang/en-US.ts +6 -2
  147. package/packages/locale/lang/es-ES.ts +6 -2
  148. package/packages/locale/lang/fr-FR.ts +6 -2
  149. package/packages/locale/lang/hu-HU.ts +6 -2
  150. package/packages/locale/lang/hy-AM.ts +6 -2
  151. package/packages/locale/lang/id-ID.ts +6 -2
  152. package/packages/locale/lang/it-IT.ts +6 -2
  153. package/packages/locale/lang/ja-JP.ts +6 -2
  154. package/packages/locale/lang/ko-KR.ts +6 -2
  155. package/packages/locale/lang/ms-MY.ts +6 -2
  156. package/packages/locale/lang/nb-NO.ts +6 -2
  157. package/packages/locale/lang/pt-BR.ts +6 -2
  158. package/packages/locale/lang/ru-RU.ts +6 -2
  159. package/packages/locale/lang/th-TH.ts +6 -2
  160. package/packages/locale/lang/ug-CN.ts +6 -2
  161. package/packages/locale/lang/uk-UA.ts +6 -2
  162. package/packages/locale/lang/uz-UZ.ts +6 -2
  163. package/packages/locale/lang/vi-VN.ts +6 -2
  164. package/packages/locale/lang/zh-CHT.ts +6 -2
  165. package/packages/locale/lang/zh-CN.ts +6 -2
  166. package/packages/table/module/custom/panel.ts +30 -23
  167. package/packages/table/module/export/export-panel.ts +27 -16
  168. package/packages/table/module/export/hook.ts +121 -28
  169. package/packages/table/module/validator/hook.ts +2 -2
  170. package/packages/table/src/cell.ts +1 -1
  171. package/packages/table/src/column.ts +2 -0
  172. package/packages/table/src/columnInfo.ts +1 -0
  173. package/packages/table/src/table.ts +96 -31
  174. package/packages/table/src/util.ts +3 -1
  175. package/styles/components/table-module/export.scss +1 -1
  176. /package/es/{iconfont.1779447258442.ttf → iconfont.1779843543280.ttf} +0 -0
  177. /package/es/{iconfont.1779447258442.woff → iconfont.1779843543280.woff} +0 -0
  178. /package/es/{iconfont.1779447258442.woff2 → iconfont.1779843543280.woff2} +0 -0
  179. /package/lib/{iconfont.1779447258442.ttf → iconfont.1779843543280.ttf} +0 -0
  180. /package/lib/{iconfont.1779447258442.woff → iconfont.1779843543280.woff} +0 -0
  181. /package/lib/{iconfont.1779447258442.woff2 → iconfont.1779843543280.woff2} +0 -0
@@ -382,6 +382,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
382
382
  const columnDragOpts = computeColumnDragOpts.value;
383
383
  const {
384
384
  isCrossDrag,
385
+ isPeerDrag,
385
386
  isSelfToChildDrag,
386
387
  isToChildDrag,
387
388
  dragEndMethod
@@ -428,20 +429,27 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
428
429
  if (immediate) {
429
430
  if (dragColumn.parentId && newColumn.parentId) {
430
431
  // 子到子
431
- if (!isCrossDrag) {
432
- return;
433
- }
434
- if (oldAllMaps[newColumn.id]) {
435
- isSelfToChildStatus = true;
436
- if (!(isCrossDrag && isSelfToChildDrag)) {
437
- if (_ui.VxeUI.modal) {
438
- _ui.VxeUI.modal.message({
439
- status: 'error',
440
- content: getI18n('vxe.error.treeDragChild')
441
- });
442
- }
432
+ if (isPeerDrag && !isCrossDrag) {
433
+ if (dragColumn.parentId !== newColumn.parentId) {
434
+ // 非同级
443
435
  return;
444
436
  }
437
+ } else {
438
+ if (!isCrossDrag) {
439
+ return;
440
+ }
441
+ if (oldAllMaps[newColumn.id]) {
442
+ isSelfToChildStatus = true;
443
+ if (!(isCrossDrag && isSelfToChildDrag)) {
444
+ if (_ui.VxeUI.modal) {
445
+ _ui.VxeUI.modal.message({
446
+ status: 'error',
447
+ content: getI18n('vxe.error.treeDragChild')
448
+ });
449
+ }
450
+ return;
451
+ }
452
+ }
445
453
  }
446
454
  } else if (dragColumn.parentId) {
447
455
  // 子到根
@@ -578,6 +586,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
578
586
  const columnDragOpts = computeColumnDragOpts.value;
579
587
  const {
580
588
  isCrossDrag,
589
+ isPeerDrag,
581
590
  isToChildDrag
582
591
  } = columnDragOpts;
583
592
  const optEl = evnt.currentTarget;
@@ -590,11 +599,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
590
599
  customPanelInternalData.prevDragGroupField = null;
591
600
  customPanelInternalData.prevDragAggFnColid = null;
592
601
  // 是否移入有效列
593
- if (column && (isCrossDrag || column.level === 1)) {
602
+ if (column && (isCrossDrag || isPeerDrag || column.level === 1)) {
594
603
  evnt.preventDefault();
595
604
  const offsetY = evnt.clientY - optEl.getBoundingClientRect().y;
596
605
  const dragPos = offsetY < optEl.clientHeight / 2 ? 'top' : 'bottom';
597
- if (!dragCol || !(showSortDragButton && allowSort) || dragCol && dragCol.id === column.id || !isCrossDrag && column.level > 1 || !immediate && column.level > 1 || !isCrossDrag && dragCol.level > 1 || !immediate && dragCol.level > 1) {
606
+ if (!dragCol || !(showSortDragButton && allowSort) || dragCol && dragCol.id === column.id || !isCrossDrag && (isPeerDrag ? dragCol.parentId !== column.parentId : column.level > 1) || !immediate && column.level > 1 || !isCrossDrag && (isPeerDrag ? dragCol.parentId !== column.parentId : dragCol.level > 1) || !immediate && dragCol.level > 1) {
598
607
  showDropTip(evnt, optEl, false, dragPos);
599
608
  return;
600
609
  }
@@ -747,14 +756,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
747
756
  isCustomDragStatus
748
757
  } = tableReactData;
749
758
  const customOpts = computeCustomOpts.value;
750
- const {
751
- immediate
752
- } = customOpts;
753
759
  const columnDragOpts = computeColumnDragOpts.value;
754
760
  const {
755
761
  popupStyle
756
762
  } = customStore;
757
763
  const {
764
+ immediate,
758
765
  checkMethod,
759
766
  visibleMethod,
760
767
  allowVisible,
@@ -771,7 +778,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
771
778
  const isMaxFixedColumn = computeIsMaxFixedColumn.value;
772
779
  const vSize = computeSize.value;
773
780
  const {
774
- isCrossDrag
781
+ isCrossDrag,
782
+ isPeerDrag
775
783
  } = columnDragOpts;
776
784
  const slots = customOpts.slots || {};
777
785
  const headerSlot = slots.header;
@@ -812,7 +820,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
812
820
  column
813
821
  }) : false;
814
822
  const isHidden = !isChecked;
815
- const showSortBtn = (isCrossDrag ? immediate : false) || column.level === 1;
823
+ const showSortBtn = (isCrossDrag || isPeerDrag ? immediate : false) || column.level === 1;
816
824
  colVNs.push((0, _vue.h)('li', {
817
825
  key: column.id,
818
826
  colid: column.id,
@@ -1044,7 +1052,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1044
1052
  const drawerOpts = Object.assign({}, drawerOptions);
1045
1053
  const isMaxFixedColumn = computeIsMaxFixedColumn.value;
1046
1054
  const {
1047
- isCrossDrag
1055
+ isCrossDrag,
1056
+ isPeerDrag
1048
1057
  } = columnDragOpts;
1049
1058
  const slots = customOpts.slots || {};
1050
1059
  const headerSlot = slots.header;
@@ -1098,7 +1107,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1098
1107
  column
1099
1108
  }) : false;
1100
1109
  const isHidden = !isChecked;
1101
- const showSortBtn = (isCrossDrag ? immediate : false) || column.level === 1;
1110
+ const showSortBtn = (isCrossDrag || isPeerDrag ? immediate : false) || column.level === 1;
1102
1111
  trVNs.push((0, _vue.h)('tr', {
1103
1112
  key: column.id,
1104
1113
  colid: column.id,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(W,t){var e=_xeUtils.default.uniqueId();let K=_ui.VxeUI.getComponent("VxeModal"),X=_ui.VxeUI.getComponent("VxeDrawer"),q=_ui.VxeUI.getComponent("VxeButton"),j=_ui.VxeUI.getComponent("VxeNumberInput"),Y=_ui.VxeUI.getComponent("VxeRadioGroup"),Z=(0,_vue.inject)("$xeTable",{}),{props:J,reactData:Q,internalData:n}=Z,{computeSize:M,computeCustomOpts:ee,computeColumnDragOpts:te,computeColumnOpts:xe,computeIsMaxFixedColumn:le,computeResizableOpts:he,computeAggregateOpts:be}=Z.getComputeMaps(),L=(0,_vue.ref)(),oe=(0,_vue.ref)(),ae=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=createInternalData(),a={refElem:L,refBodyWrapperElem:oe,refCustomBodyElem:ae,refDragLineElem:u,refDragTipElem:d},i={},R=e=>{var t=W.customStore;t.activeWrapper=!0,Z.customOpenEvent(e)},G=e=>{let t=W.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||Z.customCloseEvent(e)},300)},ie=({$event:e})=>{Q.isCustomStatus=!0,Z.saveCustom(),Z.closeCustom(),Z.emitCustomEvent("confirm",e),Z.emitCustomEvent("close",e)},se=({$event:e})=>{Z.closeCustom(),Z.emitCustomEvent("close",e)},ne=({$event:e})=>{Z.cancelCustom(),Z.closeCustom(),Z.emitCustomEvent("cancel",e),Z.emitCustomEvent("close",e)},l=e=>{Z.resetCustom(!0),Z.closeCustom(),Z.emitCustomEvent("reset",e),Z.emitCustomEvent("close",e)},re=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=Q.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},ue=(e,t)=>{let l=!e.renderVisible;ee.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),Q.isCustomStatus=!0,Z.handleCustom(),Z.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),Z.checkCustomStatus(),Z.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},_e=e=>{ee.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,Q.isCustomStatus=!0,Z.handleCustom(),Z.saveCustomStore("update:width"))},de=(e,t,l)=>{var o=le.value;let a=null;ee.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),Q.isCustomStatus=!0,Z.handleCustom(),Z.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&Z.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},ce=e=>{var t=Q.customStore,t=!t.isAll;Z.toggleCustomAllCheckbox(),Z.dispatchEvent("custom-visible-all",{checked:t},e)},c=(e,t,l,o)=>{var a,i,s,n,r=oe.value;r&&(n=ae.value)&&(a=T.prevDragToChild,i=r.getBoundingClientRect(),n=n.getBoundingClientRect(),s=u.value,t?s&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.left=Math.max(0,n.x-i.x)+"px",s.style.top=Math.max(1,t.y+r.scrollTop-i.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",a?"y":"n")):s.style.display=""):s&&(s.style.display="node"),n=d.value)&&(n.style.display="block",n.style.top=Math.min(r.clientHeight+r.scrollTop-n.clientHeight,e.clientY+r.scrollTop-i.y)+"px",n.style.left=Math.min(r.clientWidth+r.scrollLeft-n.clientWidth,e.clientX+r.scrollLeft-i.x)+"px",n.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},r=()=>{var e=E.dragCol,t=te.value.tooltipMethod;let l="";l=t?""+(t({$table:Z,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),E.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},me=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=Z.getColumnById(t);e.draggable=!0,E.dragCol=t,E.dragGroupField=null,E.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},ve=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,E.dragCol=null,E.dragGroupField=null,(E.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},pe=e=>{var t=T.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),Q.isCustomDragStatus=!0,T.prevDragGroupField=null,T.prevDragAggFnColid=null},ge=d=>{let c=J.mouseConfig,m=Q.customColumnList,v=n.collectColumn;let p=ee.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isSelfToChildDrag:x,isToChildDrag:h,dragEndMethod:t}=te.value;var l=E.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:b,prevDragToChild:_}=T,C="bottom"===b?1:0;if(a||i)Z.handlePivotTableAggregatePanelDragendEvent&&Z.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:b,dragToChild:!!_,offsetIndex:C})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([r],e=>{l[e.id]=e}),!1);if(p){if(r.parentId&&u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!x))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!x))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,s,n,a=_xeUtils.default.findTree(v,e=>e.id===r.id),a=(o&&g&&x?a&&({items:i,index:n}=a,(s=r.children||[]).forEach(e=>{e.parentId=r.parentId}),i.splice(n,1,...s),r.children=[]):a&&({items:i,index:n,parent:s}=a,i.splice(n,1),s||(e=n)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:i,index:s,parent:n}=a,g&&h&&_?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,i.splice(s+C,0,r)),n||(t=s)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===r.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+C,0,r);c&&(Z.clearSelected&&Z.clearSelected(),Z.clearCellAreas)&&(Z.clearCellAreas(),Z.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:b,offsetIndex:C,_index:{newIndex:t,oldIndex:e}};Z.dispatchEvent("custom-sort-change",a,d),Z.dispatchEvent("column-dragend",a,d),p&&(Q.customColumnList=v.slice(0),Z.handleColDragSwapColumn()),f()}}).catch(()=>{})}s(),E.dragCol=null,E.dragGroupField=null,E.dragAggFnCol=null,T.prevDragGroupField=null,T.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ce=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=ee.value,{isCrossDrag:i,isToChildDrag:s}=te.value,n=e.currentTarget,r=(0,_dom.hasControlKey)(e),u=n.getAttribute("colid"),u=Z.getColumnById(u),d=E.dragCol;T.prevDragGroupField=null,T.prevDragAggFnColid=null,u&&(i||1===u.level)&&(e.preventDefault(),t=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!d||!l||!o||d&&d.id===u.id||!i&&1<u.level||!a&&1<u.level||!i&&1<d.level||!a&&1<d.level?c(e,n,!1,t):(T.prevDragToChild=!!(i&&s&&r&&a),T.prevDragCol=u,T.prevDragPos=t,c(e,n,!0,t)))},f=()=>{T.customDragTime=setTimeout(()=>{Q.isCustomDragStatus=!1,T.customDragTime=void 0},350)},Ee=(e,t)=>{var o=Q.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),f()}))}},Te=(e,t)=>{var o=Q.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),f()}))}},fe=(e,t)=>{let a=Q.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||0<l)&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),f()}))}},Ie=(e,t)=>{let a=Q.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||l<t.length-1)&&(Q.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),f()}))}},ye=()=>{var e=E.dragTipText,t=te.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=ee.value.mode;K||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),X||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),q||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),j||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),Y||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:W,context:t,reactData:E,internalData:T,xeTable:Z,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=ee.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var L=Z.xeGrid,M=Z.xeGantt;let t=W.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=J,{isCustomStatus:a,customColumnList:i}=Q,s=ee.value;var n=te.value;let r=be.value.placement,{mode:G,immediate:v,showSortDragButton:H,showSortMoveButton:p,showSortPutButton:g,modalOptions:P,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:T}=s,f=xe.value,u=f.maxFixedSize,{minWidth:I,maxWidth:y}=he.value;var d=Object.assign({},P),c=Object.assign({},z);let D=le.value,$=n.isCrossDrag;n=s.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,O=t.isIndeterminate,V="right"===r||"bottom"===r,F={$table:Z,$grid:L,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:O,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!T||T({$table:Z,column:o})){let e=0,t=0;b&&(n={$table:Z,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(n):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(n):y));var n=o.renderVisible,r=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:Z,column:o});var c=!n,m=!!$&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:pe,onDragend:ge,onDragover:Ce},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":n,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||ue(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(Z),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&H||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:me,onMouseup:ve}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(Z),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},q?[p?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){Ee(e,o)}}):renderEmptyElement(Z),p?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){Te(e,o)}}):renderEmptyElement(Z),g&&!s?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){fe(e,o)}}):renderEmptyElement(Z),g&&!s?(0,_vue.h)(q,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){Ie(e,o)}}):renderEmptyElement(Z)]:[]):renderEmptyElement(Z)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:f.resizable||R)?(0,_vue.h)("span","-"):j?(0,_vue.h)(j,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){_e(o)}}):renderEmptyElement(Z)]):renderEmptyElement(Z),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){de(o,e,t)}}):renderEmptyElement(Z)]):renderEmptyElement(Z)]))}});n={default:()=>(0,_vue.h)("div",{ref:oe,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?Z.callSlot(k,F):[V||e||!o&&!l||!Z.getPivotTableAggregatePopupPanel?renderEmptyElement(Z):(0,_vue.h)(Z.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},Z.callSlot(A,F)):renderEmptyElement(Z),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(Z),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(Z),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(Z)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":O}],title:getI18n("vxe.table.allTitle"),onClick:ce},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(Z),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(Z),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(Z)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},Z.callSlot(S,F)):renderEmptyElement(Z),ye()]),V&&!e&&(o||l)&&Z.getPivotTableAggregatePopupPanel?(0,_vue.h)(Z.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(Z)]),footer:()=>w?Z.callSlot(w,F):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[q?(0,_vue.h)(q,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:re}):renderEmptyElement(Z),v?q?(0,_vue.h)(q,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:se}):renderEmptyElement(Z):q?(0,_vue.h)(q,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(Z),!v&&q?(0,_vue.h)(q,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:ie}):renderEmptyElement(Z)])};return m&&(n.header=()=>Z.callSlot(m,F)),"drawer"===G?X?(0,_vue.h)(X,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(Z):K?(0,_vue.h)(K,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(Z)}:()=>{var e=Z.xeGrid,t=Z.xeGantt,l=Z.props,o=W.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:n,isCustomDragStatus:r}=Q,u=ee.value;let c=u.immediate;var d=te.value,m=o.popupStyle;let{checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:T,showSortMoveButton:f,showSortPutButton:I}=u,y=le.value;var D=M.value;let A=d.isCrossDrag;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var O={},V=o.isAll,F=o.isIndeterminate,e=("hover"===C&&(O.onMouseenter=R,O.onMouseleave=G),{$table:Z,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:F,isCustomStatus:s});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:Z,column:l})){var i=l.renderVisible,s=l.halfVisible,n=l.children&&l.children.length,r=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:Z,column:l});var u=!i,d=!!A&&c||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":n}],onDragstart:pe,onDragend:ge,onDragover:Ce},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":s,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||ue(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(Z),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&T||b||_)&&(d||(b||_)&&!n)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:me,onMouseup:ve}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(Z),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},r)]),d&&(f||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},q?[f?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){Ee(e,l)}}):renderEmptyElement(Z),f?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){Te(e,l)}}):renderEmptyElement(Z),I&&!a?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){fe(e,l)}}):renderEmptyElement(Z),I&&!a?(0,_vue.h)(q,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){Ie(e,l)}}):renderEmptyElement(Z)]:[]):renderEmptyElement(Z),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[q?(0,_vue.h)(q,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{de(l,"left",e)}}):renderEmptyElement(Z),q?(0,_vue.h)(q,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{de(l,"right",e)}}):renderEmptyElement(Z)]):renderEmptyElement(Z)]))}}),(0,_vue.h)("div",{ref:L,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:m},o.visible?[(0,_vue.h)("div",{ref:oe,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&Z.getPivotTableAggregateSimplePanel?(0,_vue.h)(Z.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(Z),(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?Z.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":F}],title:getI18n("vxe.table.allTitle"),onClick:ce},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},Z.callSlot(k,e)):renderEmptyElement(Z),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},Z.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},O),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},Z.callSlot(w,e)):renderEmptyElement(Z)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?Z.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[q?(0,_vue.h)(q,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:re}):renderEmptyElement(Z),c?q?(0,_vue.h)(q,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:se}):renderEmptyElement(Z):q?(0,_vue.h)(q,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(Z),!c&&q?(0,_vue.h)(q,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:ie}):renderEmptyElement(Z)])]):null]),ye()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(K,t){var e=_xeUtils.default.uniqueId();let X=_ui.VxeUI.getComponent("VxeModal"),q=_ui.VxeUI.getComponent("VxeDrawer"),j=_ui.VxeUI.getComponent("VxeButton"),Y=_ui.VxeUI.getComponent("VxeNumberInput"),Z=_ui.VxeUI.getComponent("VxeRadioGroup"),J=(0,_vue.inject)("$xeTable",{}),{props:Q,reactData:ee,internalData:n}=J,{computeSize:R,computeCustomOpts:te,computeColumnDragOpts:le,computeColumnOpts:he,computeIsMaxFixedColumn:oe,computeResizableOpts:be,computeAggregateOpts:_e}=J.getComputeMaps(),M=(0,_vue.ref)(),ae=(0,_vue.ref)(),ie=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),f=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=createInternalData(),a={refElem:M,refBodyWrapperElem:ae,refCustomBodyElem:ie,refDragLineElem:u,refDragTipElem:d},i={},P=e=>{var t=K.customStore;t.activeWrapper=!0,J.customOpenEvent(e)},G=e=>{let t=K.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||J.customCloseEvent(e)},300)},se=({$event:e})=>{ee.isCustomStatus=!0,J.saveCustom(),J.closeCustom(),J.emitCustomEvent("confirm",e),J.emitCustomEvent("close",e)},ne=({$event:e})=>{J.closeCustom(),J.emitCustomEvent("close",e)},re=({$event:e})=>{J.cancelCustom(),J.closeCustom(),J.emitCustomEvent("cancel",e),J.emitCustomEvent("close",e)},l=e=>{J.resetCustom(!0),J.closeCustom(),J.emitCustomEvent("reset",e),J.emitCustomEvent("close",e)},ue=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=ee.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},de=(e,t)=>{let l=!e.renderVisible;te.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),J.checkCustomStatus(),J.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},Ce=e=>{te.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:width"))},ce=(e,t,l)=>{var o=oe.value;let a=null;te.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&J.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},me=e=>{var t=ee.customStore,t=!t.isAll;J.toggleCustomAllCheckbox(),J.dispatchEvent("custom-visible-all",{checked:t},e)},m=(e,t,l,o)=>{var a,i,s,n,r=ae.value;r&&(n=ie.value)&&(a=T.prevDragToChild,i=r.getBoundingClientRect(),n=n.getBoundingClientRect(),s=u.value,t?s&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.left=Math.max(0,n.x-i.x)+"px",s.style.top=Math.max(1,t.y+r.scrollTop-i.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",a?"y":"n")):s.style.display=""):s&&(s.style.display="node"),n=d.value)&&(n.style.display="block",n.style.top=Math.min(r.clientHeight+r.scrollTop-n.clientHeight,e.clientY+r.scrollTop-i.y)+"px",n.style.left=Math.min(r.clientWidth+r.scrollLeft-n.clientWidth,e.clientX+r.scrollLeft-i.x)+"px",n.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},r=()=>{var e=f.dragCol,t=le.value.tooltipMethod;let l="";l=t?""+(t({$table:J,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),f.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},ve=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=J.getColumnById(t);e.draggable=!0,f.dragCol=t,f.dragGroupField=null,f.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},pe=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,f.dragCol=null,f.dragGroupField=null,(f.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ge=e=>{var t=T.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),ee.isCustomDragStatus=!0,T.prevDragGroupField=null,T.prevDragAggFnColid=null},xe=d=>{let c=Q.mouseConfig,m=ee.customColumnList,v=n.collectColumn;let p=te.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isPeerDrag:x,isSelfToChildDrag:h,isToChildDrag:b,dragEndMethod:t}=le.value;var l=f.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:_,prevDragToChild:C}=T,E="bottom"===_?1:0;if(a||i)J.handlePivotTableAggregatePanelDragendEvent&&J.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,dragToChild:!!C,offsetIndex:E})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([r],e=>{l[e.id]=e}),!1);if(p){if(r.parentId&&u.parentId)if(x&&!g){if(r.parentId!==u.parentId)return}else{if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,s,n,a=_xeUtils.default.findTree(v,e=>e.id===r.id),a=(o&&g&&h?a&&({items:i,index:n}=a,(s=r.children||[]).forEach(e=>{e.parentId=r.parentId}),i.splice(n,1,...s),r.children=[]):a&&({items:i,index:n,parent:s}=a,i.splice(n,1),s||(e=n)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:i,index:s,parent:n}=a,g&&b&&C?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,i.splice(s+E,0,r)),n||(t=s)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===r.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+E,0,r);c&&(J.clearSelected&&J.clearSelected(),J.clearCellAreas)&&(J.clearCellAreas(),J.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,offsetIndex:E,_index:{newIndex:t,oldIndex:e}};J.dispatchEvent("custom-sort-change",a,d),J.dispatchEvent("column-dragend",a,d),p&&(ee.customColumnList=v.slice(0),J.handleColDragSwapColumn()),I()}}).catch(()=>{})}s(),f.dragCol=null,f.dragGroupField=null,f.dragAggFnCol=null,T.prevDragGroupField=null,T.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ee=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=te.value,{isCrossDrag:i,isPeerDrag:s,isToChildDrag:n}=le.value,r=e.currentTarget,u=(0,_dom.hasControlKey)(e),d=r.getAttribute("colid"),d=J.getColumnById(d),c=f.dragCol;T.prevDragGroupField=null,T.prevDragAggFnColid=null,d&&(i||s||1===d.level)&&(e.preventDefault(),t=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",!c||!l||!o||c&&c.id===d.id||!i&&(s?c.parentId!==d.parentId:1<d.level)||!a&&1<d.level||!i&&(s?c.parentId!==d.parentId:1<c.level)||!a&&1<c.level?m(e,r,!1,t):(T.prevDragToChild=!!(i&&n&&u&&a),T.prevDragCol=d,T.prevDragPos=t,m(e,r,!0,t)))},I=()=>{T.customDragTime=setTimeout(()=>{ee.isCustomDragStatus=!1,T.customDragTime=void 0},350)},fe=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),I()}))}},Te=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),I()}))}},Ie=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||0<l)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),I()}))}},ye=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||l<t.length-1)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),I()}))}},De=()=>{var e=f.dragTipText,t=le.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=te.value.mode;X||"modal"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),j||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),Y||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),Z||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:f,internalData:T,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var L=J.xeGrid,M=J.xeGantt;let t=K.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=Q,{isCustomStatus:a,customColumnList:i}=ee,s=te.value;var n=le.value;let r=_e.value.placement,{mode:P,immediate:v,showSortDragButton:G,showSortMoveButton:p,showSortPutButton:g,modalOptions:H,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:f}=s,T=he.value,u=T.maxFixedSize,{minWidth:I,maxWidth:y}=be.value;var d=Object.assign({},H),c=Object.assign({},z);let D=oe.value,{isCrossDrag:$,isPeerDrag:W}=n;n=s.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,O=t.isIndeterminate,V="right"===r||"bottom"===r,F={$table:J,$grid:L,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:O,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!f||f({$table:J,column:o})){let e=0,t=0;b&&(n={$table:J,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(n):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(n):y));var n=o.renderVisible,r=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:J,column:o});var c=!n,m=!(!$&&!W)&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:ge,onDragend:xe,onDragover:Ee},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":n,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||de(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(J),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&G||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(J),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},j?[p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){fe(e,o)}}):renderEmptyElement(J),p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){Te(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){Ie(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){ye(e,o)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){Ce(o)}}):renderEmptyElement(J)]):renderEmptyElement(J),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Z?(0,_vue.h)(Z,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){ce(o,e,t)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}});n={default:()=>(0,_vue.h)("div",{ref:ae,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?J.callSlot(k,F):[V||e||!o&&!l||!J.getPivotTableAggregatePopupPanel?renderEmptyElement(J):(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},J.callSlot(A,F)):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(J),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(J),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(J)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":O}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(J),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(J),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(J)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},J.callSlot(S,F)):renderEmptyElement(J),De()]),V&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,F):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[j?(0,_vue.h)(j,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:ue}):renderEmptyElement(J),v?j?(0,_vue.h)(j,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!v&&j?(0,_vue.h)(j,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:se}):renderEmptyElement(J)])};return m&&(n.header=()=>J.callSlot(m,F)),"drawer"===P?q?(0,_vue.h)(q,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J):X?(0,_vue.h)(X,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J)}:()=>{var e=J.xeGrid,t=J.xeGantt,l=J.props,o=K.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:n,isCustomDragStatus:r}=ee,u=te.value,d=le.value,c=o.popupStyle;let{immediate:m,checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:f,showSortMoveButton:T,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:L}=d;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var O={},V=o.isAll,F=o.isIndeterminate,e=("hover"===C&&(O.onMouseenter=P,O.onMouseleave=G),{$table:J,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:F,isCustomStatus:s});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:J,column:l})){var i=l.renderVisible,s=l.halfVisible,n=l.children&&l.children.length,r=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:J,column:l});var u=!i,d=!(!A&&!L)&&m||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":n}],onDragstart:ge,onDragend:xe,onDragover:Ee},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":s,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||de(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&f||b||_)&&(d||(b||_)&&!n)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(J),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},r)]),d&&(T||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},j?[T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){fe(e,l)}}):renderEmptyElement(J),T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){Te(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){Ie(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){ye(e,l)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[j?(0,_vue.h)(j,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{ce(l,"left",e)}}):renderEmptyElement(J),j?(0,_vue.h)(j,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{ce(l,"right",e)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}}),(0,_vue.h)("div",{ref:M,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:c},o.visible?[(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&J.getPivotTableAggregateSimplePanel?(0,_vue.h)(J.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(J),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?J.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":F}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",F?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},J.callSlot(k,e)):renderEmptyElement(J),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},J.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},O),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},J.callSlot(w,e)):renderEmptyElement(J)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?J.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[j?(0,_vue.h)(j,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:ue}):renderEmptyElement(J),m?j?(0,_vue.h)(j,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!m&&j?(0,_vue.h)(j,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:se}):renderEmptyElement(J)])]):null]),De()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
@@ -206,6 +206,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
206
206
  } = reactData;
207
207
  const {
208
208
  hasTree,
209
+ hasRowGroup,
209
210
  hasMerge,
210
211
  isPrint,
211
212
  hasColgroup,
@@ -363,6 +364,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
363
364
  'onUpdate:modelValue'(value) {
364
365
  defaultOptions.isHeader = value;
365
366
  }
367
+ }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
368
+ modelValue: defaultOptions.isFooter,
369
+ disabled: !storeData.hasFooter,
370
+ title: getI18n('vxe.export.expFooterTitle'),
371
+ content: getI18n('vxe.export.expOptFooter'),
372
+ 'onUpdate:modelValue'(value) {
373
+ defaultOptions.isFooter = value;
374
+ }
366
375
  }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
367
376
  modelValue: isHeader ? defaultOptions.isTitle : false,
368
377
  disabled: !isHeader,
@@ -405,23 +414,23 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
405
414
  'onUpdate:modelValue'(value) {
406
415
  defaultOptions.useStyle = value;
407
416
  }
408
- }), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
409
- modelValue: hasTree ? defaultOptions.isAllExpand : false,
417
+ })]), (0, _vue.h)('div', {
418
+ class: 'vxe-table-export--panel-option-row'
419
+ }, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
420
+ modelValue: hasTree ? defaultOptions.isTreeAllExpanded : false,
410
421
  disabled: hasEmptyData || !hasTree,
411
- title: getI18n('vxe.export.expAllExpandTitle'),
412
- content: getI18n('vxe.export.expOptAllExpand'),
422
+ title: getI18n('vxe.export.expTreeAllExpandTitle'),
423
+ content: getI18n('vxe.export.expOptTreeAllExpand'),
413
424
  'onUpdate:modelValue'(value) {
414
- defaultOptions.isAllExpand = value;
425
+ defaultOptions.isTreeAllExpanded = value;
415
426
  }
416
- }) : renderEmptyElement($xeTable)]), (0, _vue.h)('div', {
417
- class: 'vxe-table-export--panel-option-row'
418
- }, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
419
- modelValue: defaultOptions.isFooter,
420
- disabled: !storeData.hasFooter,
421
- title: getI18n('vxe.export.expFooterTitle'),
422
- content: getI18n('vxe.export.expOptFooter'),
427
+ }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
428
+ modelValue: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
429
+ disabled: hasEmptyData || !hasRowGroup,
430
+ title: getI18n('vxe.export.expRowGroupAllExpandTitle'),
431
+ content: getI18n('vxe.export.expOptRowGroupAllExpand'),
423
432
  'onUpdate:modelValue'(value) {
424
- defaultOptions.isFooter = value;
433
+ defaultOptions.isRowGroupAllExpanded = value;
425
434
  }
426
435
  }) : renderEmptyElement($xeTable)])])])]])])]), bottomSlot ? (0, _vue.h)('div', {
427
436
  class: 'vxe-table-export--panel-bottom'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(f){let y=_ui.VxeUI.getComponent("VxeModal"),V=_ui.VxeUI.getComponent("VxeButton"),T=_ui.VxeUI.getComponent("VxeSelect"),k=_ui.VxeUI.getComponent("VxeInput"),O=_ui.VxeUI.getComponent("VxeCheckbox"),U=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=U.getComputeMaps(),D=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),A=(0,_vue.ref)(),M=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.computed)(()=>{var e=f.storeData;return e.columns.every(e=>e.checked)}),N=(0,_vue.computed)(()=>{var e=f.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),q=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=f;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),B=(0,_vue.computed)(()=>{var e=f.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),S=t=>{var e=f.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),S(e))},w=()=>{var e=f.storeData,e=e.columns;D.isAll=e.every(e=>e.disabled||e.checked),D.isIndeterminate=!D.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},K=()=>{var e=f.storeData;let t=!D.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),D.isAll=t,w()},P=()=>{(0,_vue.nextTick)(()=>{var e=M.value,t=H.value,l=A.value,e=e||t||l;e&&e.focus()}),w()},r=()=>{var{storeData:e,defaultOptions:t}=f,{hasMerge:e,columns:l}=e,o=L.value,r=q.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&r&&o)&&t.isMerge})},t=()=>{var e=f.storeData,t=o.value;e.visible=!1,U.print(Object.assign({},t,r()))},a=()=>{let e=f.storeData;var t=l.value;D.loading=!0,U.exportData(Object.assign({},t,r())).then(()=>{D.loading=!1,e.visible=!1}).catch(()=>{D.loading=!1})},X=()=>{var e=f.storeData;e.visible=!1},j=()=>{var e=f.storeData;(e.isPrint?t:a)()};return(0,_vue.nextTick)(()=>{y||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),V||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),T||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"]),k||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),O||(0,_log.errLog)("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=U.xeGrid,o=U.xeGantt,{defaultOptions:r,storeData:a}=f,{isAll:n,isIndeterminate:p}=D,{hasTree:i,hasMerge:d,isPrint:u,hasColgroup:s,columns:x}=a,v=r.isHeader,c=[],m=L.value,h=N.value,_=q.value,g=B.value;var e=r.slots||{};let E=e.top,b=e.bottom,C=e.default,t=e.footer,I=e.parameter;return _xeUtils.default.eachTree(x,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,r=e.halfChecked,a="html"===e.type;c.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":r,"is--disabled":e.disabled}],title:a?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),S(e),w()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),y?(0,_vue.h)(y,{id:"VXE_EXPORT_MODAL",modelValue:a.visible,title:getI18n(u?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:D.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:P},{default:()=>{var e={$table:U,$grid:l,$gantt:o,options:r,columns:x,params:r.params},t="empty"===r.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[E?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},U.callSlot(E,e)):renderEmptyElement(U),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},C?U.callSlot(C,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[u?renderEmptyElement(U):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{ref:M,modelValue:r.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){r.filename=e}}):renderEmptyElement(U)])]),u?renderEmptyElement(U):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[T?(0,_vue.h)(T,{modelValue:r.type,options:a.typeList,"onUpdate:modelValue"(e){r.type=e}}):renderEmptyElement(U)])]),u||h?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{ref:H,modelValue:r.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){r.sheetName=e}}):renderEmptyElement(U)])]):renderEmptyElement(U),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[T?(0,_vue.h)(T,{modelValue:r.mode,options:a.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){r.mode=e}}):renderEmptyElement(U)])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":n,"is--indeterminate":p}],title:getI18n("vxe.table.allTitle"),onClick:K},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},c)])])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),I?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},U.callSlot(I,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[O?(0,_vue.h)(O,{modelValue:t||v,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){r.isHeader=e}}):renderEmptyElement(U),O?(0,_vue.h)(O,{modelValue:!!v&&r.isTitle,disabled:!v,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){r.isTitle=e}}):renderEmptyElement(U),O?(0,_vue.h)(O,{modelValue:!!(v&&s&&_)&&r.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!v||!s||!_,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){r.isColgroup=e}}):renderEmptyElement(U)]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[O?(0,_vue.h)(O,{modelValue:!t&&r.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){r.original=e}}):renderEmptyElement(U),O?(0,_vue.h)(O,{modelValue:!!(d&&_&&m)&&r.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!d||!_||!m,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){r.isMerge=e}}):renderEmptyElement(U),u||!O?renderEmptyElement(U):(0,_vue.h)(O,{modelValue:!!g&&r.useStyle,disabled:!g,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){r.useStyle=e}}),O?(0,_vue.h)(O,{modelValue:!!i&&r.isAllExpand,disabled:t||!i,title:getI18n("vxe.export.expAllExpandTitle"),content:getI18n("vxe.export.expOptAllExpand"),"onUpdate:modelValue"(e){r.isAllExpand=e}}):renderEmptyElement(U)]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[O?(0,_vue.h)(O,{modelValue:r.isFooter,disabled:!a.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){r.isFooter=e}}):renderEmptyElement(U)])])])]])])]),b?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},U.callSlot(b,e)):renderEmptyElement(U)])},footer(){var e={$table:U,$grid:l,$gantt:o,options:r,columns:x,params:r.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?U.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[V?(0,_vue.h)(V,{content:getI18n("vxe.export.expCancel"),onClick:X}):renderEmptyElement(U),V?(0,_vue.h)(V,{ref:A,status:"primary",content:getI18n(u?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:j}):renderEmptyElement(U)])])}}):renderEmptyElement(U)}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(f){let T=_ui.VxeUI.getComponent("VxeModal"),V=_ui.VxeUI.getComponent("VxeButton"),k=_ui.VxeUI.getComponent("VxeSelect"),O=_ui.VxeUI.getComponent("VxeInput"),U=_ui.VxeUI.getComponent("VxeCheckbox"),A=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=A.getComputeMaps(),D=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),M=(0,_vue.ref)(),H=(0,_vue.ref)(),w=(0,_vue.ref)(),L=(0,_vue.computed)(()=>{var e=f.storeData;return e.columns.every(e=>e.checked)}),N=(0,_vue.computed)(()=>{var e=f.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),q=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=f;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),B=(0,_vue.computed)(()=>{var e=f.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),S=t=>{var e=f.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),S(e))},K=()=>{var e=f.storeData,e=e.columns;D.isAll=e.every(e=>e.disabled||e.checked),D.isIndeterminate=!D.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},P=()=>{var e=f.storeData;let t=!D.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),D.isAll=t,K()},R=()=>{(0,_vue.nextTick)(()=>{var e=H.value,t=w.value,l=M.value,e=e||t||l;e&&e.focus()}),K()},r=()=>{var{storeData:e,defaultOptions:t}=f,{hasMerge:e,columns:l}=e,o=L.value,r=q.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&r&&o)&&t.isMerge})},t=()=>{var e=f.storeData,t=o.value;e.visible=!1,A.print(Object.assign({},t,r()))},a=()=>{let e=f.storeData;var t=l.value;D.loading=!0,A.exportData(Object.assign({},t,r())).then(()=>{D.loading=!1,e.visible=!1}).catch(()=>{D.loading=!1})},X=()=>{var e=f.storeData;e.visible=!1},j=()=>{var e=f.storeData;(e.isPrint?t:a)()};return(0,_vue.nextTick)(()=>{T||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),V||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),k||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"]),O||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),U||(0,_log.errLog)("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=A.xeGrid,o=A.xeGantt,{defaultOptions:r,storeData:a}=f,{isAll:n,isIndeterminate:p}=D,{hasTree:i,hasRowGroup:d,hasMerge:u,isPrint:s,hasColgroup:x,columns:v}=a,c=r.isHeader,m=[],h=L.value,_=N.value,g=q.value,E=B.value;var e=r.slots||{};let b=e.top,C=e.bottom,I=e.default,t=e.footer,y=e.parameter;return _xeUtils.default.eachTree(v,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,r=e.halfChecked,a="html"===e.type;m.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":r,"is--disabled":e.disabled}],title:a?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),S(e),K()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),T?(0,_vue.h)(T,{id:"VXE_EXPORT_MODAL",modelValue:a.visible,title:getI18n(s?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:D.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:R},{default:()=>{var e={$table:A,$grid:l,$gantt:o,options:r,columns:v,params:r.params},t="empty"===r.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[b?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},A.callSlot(b,e)):renderEmptyElement(A),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},I?A.callSlot(I,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[s?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:H,modelValue:r.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){r.filename=e}}):renderEmptyElement(A)])]),s?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:r.type,options:a.typeList,"onUpdate:modelValue"(e){r.type=e}}):renderEmptyElement(A)])]),s||_?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:w,modelValue:r.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){r.sheetName=e}}):renderEmptyElement(A)])]):renderEmptyElement(A),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:r.mode,options:a.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){r.mode=e}}):renderEmptyElement(A)])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":n,"is--indeterminate":p}],title:getI18n("vxe.table.allTitle"),onClick:P},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},m)])])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),y?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A.callSlot(y,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:t||c,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){r.isHeader=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:r.isFooter,disabled:!a.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){r.isFooter=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!c&&r.isTitle,disabled:!c,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){r.isTitle=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!(c&&x&&g)&&r.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!c||!x||!g,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){r.isColgroup=e}}):renderEmptyElement(A)]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:!t&&r.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){r.original=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!(u&&g&&h)&&r.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!g||!h,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){r.isMerge=e}}):renderEmptyElement(A),s||!U?renderEmptyElement(A):(0,_vue.h)(U,{modelValue:!!E&&r.useStyle,disabled:!E,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){r.useStyle=e}})]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:!!i&&r.isTreeAllExpanded,disabled:t||!i,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand"),"onUpdate:modelValue"(e){r.isTreeAllExpanded=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!d&&r.isRowGroupAllExpanded,disabled:t||!d,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand"),"onUpdate:modelValue"(e){r.isRowGroupAllExpanded=e}}):renderEmptyElement(A)])])])]])])]),C?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},A.callSlot(C,e)):renderEmptyElement(A)])},footer(){var e={$table:A,$grid:l,$gantt:o,options:r,columns:v,params:r.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?A.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[V?(0,_vue.h)(V,{content:getI18n("vxe.export.expCancel"),onClick:X}):renderEmptyElement(A),V?(0,_vue.h)(V,{ref:M,status:"primary",content:getI18n(s?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:j}):renderEmptyElement(A)])])}}):renderEmptyElement(A)}}});
@@ -294,13 +294,9 @@ hooks.add('tableExportModule', {
294
294
  computeSeqOpts,
295
295
  computeRadioOpts,
296
296
  computeCheckboxOpts,
297
- computeColumnOpts
297
+ computeColumnOpts,
298
+ computeAggregateOpts
298
299
  } = $xeTable.getComputeMaps();
299
- const hasTreeChildren = row => {
300
- const treeOpts = computeTreeOpts.value;
301
- const childrenField = treeOpts.children || treeOpts.childrenField;
302
- return row[childrenField] && row[childrenField].length;
303
- };
304
300
  const getSeq = (cellValue, row, $rowIndex, column, $columnIndex) => {
305
301
  const seqOpts = computeSeqOpts.value;
306
302
  const seqMd = seqOpts.seqMethod || column.seqMethod;
@@ -336,38 +332,141 @@ hooks.add('tableExportModule', {
336
332
  };
337
333
  const getBodyLabelData = (opts, columns, datas) => {
338
334
  const {
339
- isAllExpand,
335
+ isTreeAllExpanded,
336
+ isRowGroupAllExpanded,
340
337
  mode
341
338
  } = opts;
342
339
  const {
343
340
  treeConfig
344
341
  } = props;
342
+ const {
343
+ isRowGroupStatus
344
+ } = reactData;
345
345
  const radioOpts = computeRadioOpts.value;
346
346
  const checkboxOpts = computeCheckboxOpts.value;
347
347
  const treeOpts = computeTreeOpts.value;
348
348
  const columnOpts = computeColumnOpts.value;
349
+ const aggregateOpts = computeAggregateOpts.value;
349
350
  if (!htmlCellElem) {
350
351
  htmlCellElem = document.createElement('div');
351
352
  }
353
+ const {
354
+ handleGetRowId
355
+ } = (0, _util.createHandleGetRowId)($xeTable);
356
+ if (isRowGroupStatus) {
357
+ // 如果是数据分组
358
+ const {
359
+ mapChildrenField
360
+ } = aggregateOpts;
361
+ const rest = [];
362
+ const expandMaps = {};
363
+ const useMaps = {};
364
+ _xeUtils.default.eachTree(datas, (item, $rowIndex, items, path, parentItem, nodes) => {
365
+ const row = item._row || item;
366
+ const rowid = handleGetRowId(row);
367
+ if (useMaps[rowid]) {
368
+ return;
369
+ }
370
+ const parentRow = parentItem && parentItem._row ? parentItem._row : parentItem;
371
+ const pRowid = parentRow ? handleGetRowId(parentRow) : '';
372
+ if (isRowGroupAllExpanded || !parentRow || expandMaps[pRowid] && $xeTable.isRowExpandByRow(parentRow)) {
373
+ const hasRowChild = mapChildrenField && row[mapChildrenField] && row[mapChildrenField].length;
374
+ const item = {
375
+ _row: row,
376
+ _level: nodes.length - 1,
377
+ _hasChild: hasRowChild,
378
+ _expand: hasRowChild && $xeTable.isRowExpandByRow(row)
379
+ };
380
+ columns.forEach((column, $columnIndex) => {
381
+ let cellValue = '';
382
+ const renderOpts = column.editRender || column.cellRender;
383
+ let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
384
+ if (!bodyExportMethod && renderOpts && renderOpts.name) {
385
+ const compConf = renderer.get(renderOpts.name);
386
+ if (compConf) {
387
+ bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
388
+ }
389
+ }
390
+ if (!bodyExportMethod) {
391
+ bodyExportMethod = columnOpts.exportMethod;
392
+ }
393
+ if (bodyExportMethod) {
394
+ cellValue = bodyExportMethod({
395
+ $table: $xeTable,
396
+ row,
397
+ column,
398
+ options: opts
399
+ });
400
+ } else {
401
+ switch (column.type) {
402
+ case 'seq':
403
+ {
404
+ const seqVal = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
405
+ cellValue = mode === 'all' ? seqVal : getSeq(seqVal, row, $rowIndex, column, $columnIndex);
406
+ break;
407
+ }
408
+ case 'checkbox':
409
+ cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
410
+ item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
411
+ item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({
412
+ $table: $xeTable,
413
+ row
414
+ });
415
+ break;
416
+ case 'radio':
417
+ cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
418
+ item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
419
+ item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({
420
+ $table: $xeTable,
421
+ row
422
+ });
423
+ break;
424
+ default:
425
+ if (opts.original) {
426
+ cellValue = (0, _util.getCellValue)(row, column);
427
+ } else {
428
+ cellValue = $xeTable.getCellLabel(row, column);
429
+ if (column.type === 'html') {
430
+ htmlCellElem.innerHTML = cellValue;
431
+ cellValue = htmlCellElem.innerText.trim();
432
+ } else {
433
+ const cell = $xeTable.getCellElement(row, column);
434
+ if (cell && !(0, _dom.hasClass)(cell, 'is--progress')) {
435
+ cellValue = cell.innerText.trim();
436
+ }
437
+ }
438
+ }
439
+ }
440
+ }
441
+ item[column.id] = toStringValue(cellValue);
442
+ });
443
+ useMaps[rowid] = true;
444
+ if (pRowid) {
445
+ expandMaps[pRowid] = true;
446
+ }
447
+ rest.push(Object.assign(item, row));
448
+ }
449
+ }, {
450
+ children: mapChildrenField
451
+ });
452
+ return rest;
453
+ }
352
454
  if (treeConfig) {
455
+ // 如果是树结构
353
456
  const childrenField = treeOpts.children || treeOpts.childrenField;
354
- // 如果是树表格只允许导出数据源
355
457
  const rest = [];
356
458
  const expandMaps = {};
357
459
  const useMaps = {};
358
- const {
359
- handleGetRowId
360
- } = (0, _util.createHandleGetRowId)($xeTable);
361
- _xeUtils.default.eachTree(datas, (item, $rowIndex, items, path, parent, nodes) => {
460
+ _xeUtils.default.eachTree(datas, (item, $rowIndex, items, path, parentItem, nodes) => {
362
461
  const row = item._row || item;
363
462
  const rowid = handleGetRowId(row);
364
463
  if (useMaps[rowid]) {
365
464
  return;
366
465
  }
367
- const parentRow = parent && parent._row ? parent._row : parent;
466
+ const parentRow = parentItem && parentItem._row ? parentItem._row : parentItem;
368
467
  const pRowid = parentRow ? handleGetRowId(parentRow) : '';
369
- if (isAllExpand || !parentRow || expandMaps[pRowid] && $xeTable.isTreeExpandByRow(parentRow)) {
370
- const hasRowChild = hasTreeChildren(row);
468
+ if (isTreeAllExpanded || !parentRow || expandMaps[pRowid] && $xeTable.isTreeExpandByRow(parentRow)) {
469
+ const hasRowChild = row[childrenField] && row[childrenField].length;
371
470
  const item = {
372
471
  _row: row,
373
472
  _level: nodes.length - 1,
@@ -1171,6 +1270,7 @@ hooks.add('tableExportModule', {
1171
1270
  const {
1172
1271
  initStore,
1173
1272
  isGroup,
1273
+ rowGroupList,
1174
1274
  footerTableData,
1175
1275
  exportStore,
1176
1276
  exportParams
@@ -1181,7 +1281,8 @@ hooks.add('tableExportModule', {
1181
1281
  mergeFooterList
1182
1282
  } = internalData;
1183
1283
  const exportOpts = computeExportOpts.value;
1184
- const hasTree = treeConfig;
1284
+ const hasTree = !!treeConfig;
1285
+ const hasRowGroup = rowGroupList.length > 0;
1185
1286
  const customOpts = computeCustomOpts.value;
1186
1287
  const selectRecords = $xeTable.getCheckboxRecords();
1187
1288
  const proxyOpts = $xeGGWrapper ? $xeGGWrapper.getComputeMaps().computeProxyOpts.value : {};
@@ -1198,6 +1299,11 @@ hooks.add('tableExportModule', {
1198
1299
  current: 'current',
1199
1300
  modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []).concat(['current', 'selected', 'empty'])
1200
1301
  }, options);
1302
+ // 已废弃,参数 isAllExpand
1303
+ if (_xeUtils.default.isBoolean(defOpts.isAllExpand)) {
1304
+ (0, _log.warnLog)('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
1305
+ defOpts.isTreeAllExpanded = defOpts.isAllExpand;
1306
+ }
1201
1307
  const types = defOpts.types || _xeUtils.default.keys(exportOpts._typeMaps);
1202
1308
  const modes = defOpts.modes || [];
1203
1309
  const checkMethod = customOpts.checkMethod;
@@ -1245,17 +1351,16 @@ hooks.add('tableExportModule', {
1245
1351
  }) : false);
1246
1352
  });
1247
1353
  // 更新条件
1248
- Object.assign(exportStore, {
1249
- columns: exportColumns,
1250
- typeList,
1251
- modeList,
1252
- hasFooter,
1253
- hasMerge,
1254
- hasTree,
1255
- isPrint,
1256
- hasColgroup: isGroup,
1257
- visible: true
1258
- });
1354
+ exportStore.columns = exportColumns;
1355
+ exportStore.typeList = typeList;
1356
+ exportStore.modeList = modeList;
1357
+ exportStore.hasFooter = hasFooter;
1358
+ exportStore.hasMerge = hasMerge;
1359
+ exportStore.hasTree = hasTree;
1360
+ exportStore.hasRowGroup = hasRowGroup;
1361
+ exportStore.isPrint = !!isPrint;
1362
+ exportStore.hasColgroup = isGroup;
1363
+ exportStore.visible = true;
1259
1364
  // 默认参数
1260
1365
  Object.assign(exportParams, {
1261
1366
  mode: selectRecords.length ? 'selected' : 'current'
@@ -1351,7 +1456,8 @@ hooks.add('tableExportModule', {
1351
1456
  // filename: '',
1352
1457
  // sheetName: '',
1353
1458
  // original: false,
1354
- // isAllExpand: false,
1459
+ // isTreeAllExpanded: false,
1460
+ // isRowGroupAllExpanded: false,
1355
1461
  // data: null,
1356
1462
  // remote: false,
1357
1463
  // dataFilterMethod: null,
@@ -1361,6 +1467,11 @@ hooks.add('tableExportModule', {
1361
1467
  // beforeExportMethod: null,
1362
1468
  // afterExportMethod: null
1363
1469
  }, exportOpts, options);
1470
+ // 已废弃,参数 isAllExpand
1471
+ if (_xeUtils.default.isBoolean(opts.isAllExpand)) {
1472
+ (0, _log.warnLog)('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
1473
+ opts.isTreeAllExpanded = opts.isAllExpand;
1474
+ }
1364
1475
  let {
1365
1476
  filename,
1366
1477
  sheetName,