vxe-table 3.11.21 → 3.11.23

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 (154) hide show
  1. package/es/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
  2. package/es/iconfont.1733805838288.woff +0 -0
  3. package/es/iconfont.1733805838288.woff2 +0 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +2 -0
  7. package/es/locale/lang/de-DE.js +2 -0
  8. package/es/locale/lang/en-US.js +3 -1
  9. package/es/locale/lang/es-ES.js +2 -0
  10. package/es/locale/lang/fr-FR.js +2 -0
  11. package/es/locale/lang/hu-HU.js +2 -0
  12. package/es/locale/lang/hy-AM.js +2 -0
  13. package/es/locale/lang/ja-JP.js +2 -0
  14. package/es/locale/lang/ko-KR.js +2 -0
  15. package/es/locale/lang/nb-NO.js +2 -0
  16. package/es/locale/lang/pt-BR.js +2 -0
  17. package/es/locale/lang/ru-RU.js +2 -0
  18. package/es/locale/lang/ug-CN.js +2 -0
  19. package/es/locale/lang/uk-UA.js +2 -0
  20. package/es/locale/lang/vi-VN.js +2 -0
  21. package/es/locale/lang/zh-CHT.js +2 -0
  22. package/es/locale/lang/zh-CN.js +2 -0
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/table/module/custom/mixin.js +8 -3
  26. package/es/table/module/custom/panel.js +44 -27
  27. package/es/table/render/index.js +26 -6
  28. package/es/table/src/body.js +2 -2
  29. package/es/table/src/cell.js +7 -2
  30. package/es/table/src/header.js +1 -1
  31. package/es/table/src/methods.js +195 -48
  32. package/es/table/src/table.js +31 -4
  33. package/es/table/style.css +62 -4
  34. package/es/table/style.min.css +1 -1
  35. package/es/ui/index.js +4 -1
  36. package/es/ui/src/log.js +1 -1
  37. package/es/vxe-table/style.css +62 -4
  38. package/es/vxe-table/style.min.css +1 -1
  39. package/lib/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
  40. package/lib/iconfont.1733805838288.woff +0 -0
  41. package/lib/iconfont.1733805838288.woff2 +0 -0
  42. package/lib/index.css +1 -1
  43. package/lib/index.min.css +1 -1
  44. package/lib/index.umd.js +369 -106
  45. package/lib/index.umd.min.js +1 -1
  46. package/lib/locale/lang/ar-EG.js +2 -0
  47. package/lib/locale/lang/ar-EG.min.js +1 -1
  48. package/lib/locale/lang/de-DE.js +2 -0
  49. package/lib/locale/lang/de-DE.min.js +1 -1
  50. package/lib/locale/lang/en-US.js +3 -1
  51. package/lib/locale/lang/en-US.min.js +1 -1
  52. package/lib/locale/lang/en-US.umd.js +3 -1
  53. package/lib/locale/lang/es-ES.js +2 -0
  54. package/lib/locale/lang/es-ES.min.js +1 -1
  55. package/lib/locale/lang/es-ES.umd.js +2 -0
  56. package/lib/locale/lang/fr-FR.js +2 -0
  57. package/lib/locale/lang/fr-FR.min.js +1 -1
  58. package/lib/locale/lang/hu-HU.js +2 -0
  59. package/lib/locale/lang/hu-HU.min.js +1 -1
  60. package/lib/locale/lang/hu-HU.umd.js +2 -0
  61. package/lib/locale/lang/hy-AM.js +2 -0
  62. package/lib/locale/lang/hy-AM.min.js +1 -1
  63. package/lib/locale/lang/ja-JP.js +2 -0
  64. package/lib/locale/lang/ja-JP.min.js +1 -1
  65. package/lib/locale/lang/ja-JP.umd.js +2 -0
  66. package/lib/locale/lang/ko-KR.js +2 -0
  67. package/lib/locale/lang/ko-KR.min.js +1 -1
  68. package/lib/locale/lang/ko-KR.umd.js +2 -0
  69. package/lib/locale/lang/nb-NO.js +2 -0
  70. package/lib/locale/lang/nb-NO.min.js +1 -1
  71. package/lib/locale/lang/pt-BR.js +2 -0
  72. package/lib/locale/lang/pt-BR.min.js +1 -1
  73. package/lib/locale/lang/pt-BR.umd.js +2 -0
  74. package/lib/locale/lang/ru-RU.js +2 -0
  75. package/lib/locale/lang/ru-RU.min.js +1 -1
  76. package/lib/locale/lang/ru-RU.umd.js +2 -0
  77. package/lib/locale/lang/ug-CN.js +2 -0
  78. package/lib/locale/lang/ug-CN.min.js +1 -1
  79. package/lib/locale/lang/uk-UA.js +2 -0
  80. package/lib/locale/lang/uk-UA.min.js +1 -1
  81. package/lib/locale/lang/uk-UA.umd.js +2 -0
  82. package/lib/locale/lang/vi-VN.js +2 -0
  83. package/lib/locale/lang/vi-VN.min.js +1 -1
  84. package/lib/locale/lang/zh-CHT.js +2 -0
  85. package/lib/locale/lang/zh-CHT.min.js +1 -1
  86. package/lib/locale/lang/zh-CHT.umd.js +2 -0
  87. package/lib/locale/lang/zh-CN.js +2 -0
  88. package/lib/locale/lang/zh-CN.min.js +1 -1
  89. package/lib/locale/lang/zh-CN.umd.js +2 -0
  90. package/lib/style.css +1 -1
  91. package/lib/style.min.css +1 -1
  92. package/lib/table/module/custom/mixin.js +8 -3
  93. package/lib/table/module/custom/mixin.min.js +1 -1
  94. package/lib/table/module/custom/panel.js +49 -37
  95. package/lib/table/module/custom/panel.min.js +1 -1
  96. package/lib/table/render/index.js +38 -6
  97. package/lib/table/render/index.min.js +1 -1
  98. package/lib/table/src/body.js +2 -2
  99. package/lib/table/src/body.min.js +1 -1
  100. package/lib/table/src/cell.js +6 -1
  101. package/lib/table/src/cell.min.js +1 -1
  102. package/lib/table/src/header.js +1 -1
  103. package/lib/table/src/header.min.js +1 -1
  104. package/lib/table/src/methods.js +232 -51
  105. package/lib/table/src/methods.min.js +1 -1
  106. package/lib/table/src/table.js +25 -3
  107. package/lib/table/src/table.min.js +1 -1
  108. package/lib/table/style/style.css +62 -4
  109. package/lib/table/style/style.min.css +1 -1
  110. package/lib/ui/index.js +4 -1
  111. package/lib/ui/index.min.js +1 -1
  112. package/lib/ui/src/log.js +1 -1
  113. package/lib/ui/src/log.min.js +1 -1
  114. package/lib/vxe-table/style/style.css +62 -4
  115. package/lib/vxe-table/style/style.min.css +1 -1
  116. package/package.json +2 -2
  117. package/packages/locale/lang/ar-EG.ts +2 -0
  118. package/packages/locale/lang/de-DE.ts +2 -0
  119. package/packages/locale/lang/en-US.ts +3 -1
  120. package/packages/locale/lang/es-ES.ts +2 -0
  121. package/packages/locale/lang/fr-FR.ts +2 -0
  122. package/packages/locale/lang/hu-HU.ts +2 -0
  123. package/packages/locale/lang/hy-AM.ts +2 -0
  124. package/packages/locale/lang/ja-JP.ts +2 -0
  125. package/packages/locale/lang/ko-KR.ts +2 -0
  126. package/packages/locale/lang/nb-NO.ts +2 -0
  127. package/packages/locale/lang/pt-BR.ts +2 -0
  128. package/packages/locale/lang/ru-RU.ts +2 -0
  129. package/packages/locale/lang/ug-CN.ts +2 -0
  130. package/packages/locale/lang/uk-UA.ts +2 -0
  131. package/packages/locale/lang/vi-VN.ts +2 -0
  132. package/packages/locale/lang/zh-CHT.ts +2 -0
  133. package/packages/locale/lang/zh-CN.ts +2 -0
  134. package/packages/table/module/custom/mixin.ts +9 -3
  135. package/packages/table/module/custom/panel.ts +48 -27
  136. package/packages/table/render/index.ts +24 -5
  137. package/packages/table/src/body.ts +2 -2
  138. package/packages/table/src/cell.ts +8 -2
  139. package/packages/table/src/header.ts +1 -1
  140. package/packages/table/src/methods.ts +209 -50
  141. package/packages/table/src/table.ts +34 -4
  142. package/packages/ui/index.ts +3 -0
  143. package/styles/components/icon.scss +13 -1
  144. package/styles/components/table.scss +53 -3
  145. package/styles/icon/iconfont.ttf +0 -0
  146. package/styles/icon/iconfont.woff +0 -0
  147. package/styles/icon/iconfont.woff2 +0 -0
  148. package/styles/theme/dark.scss +1 -0
  149. package/styles/theme/light.scss +1 -0
  150. package/styles/variable.scss +1 -0
  151. package/es/iconfont.1733469864818.woff +0 -0
  152. package/es/iconfont.1733469864818.woff2 +0 -0
  153. package/lib/iconfont.1733469864818.woff +0 -0
  154. package/lib/iconfont.1733469864818.woff2 +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,disabledMethod:a}=r.computeRowDragOpts,a=a||(t?t.rowDisabledMethod:null);let d=a&&a(l);return e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":d}],on:{mousedown(e){d||r.handleCellDragMousedownEvent(e,l)},mouseup:r.handleCellDragMouseupEvent}},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,visibleMethod:i}=t.computeRowDragOpts,i=i||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||i&&!i(l)||d&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,l){let{$table:r,column:t}=l;var n=r.computeColumnOpts,{showIcon:a,icon:d,visibleMethod:o,disabledMethod:s}=r.computeColumnDragOpts;let i=s&&s(l);return!n.drag||!a||o&&!o(l)||t.fixed||t.parentId?renderEmptyElement(r):e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],on:{mousedown(e){i||r.handleHeaderCellDragMousedownEvent(e,l)},mouseup:r.handleHeaderCellDragMouseupEvent}},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,{showHeaderOverflow:o,tooltipOpts:s}=t;let i=s.showAll||s.enabled;s=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===s,u=!0===s||"tooltip"===s;o={};return(c||u||i)&&(o.mouseenter=e=>{t._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{t._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:s,editOpts:i,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:s&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===i.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeOpts:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:o,fullAllDataRowIdData:s}=t,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:h,iconLoaded:g,showIcon:b,iconOpen:v,iconClose:x}=a,p=a.children||a.childrenField,a=a.hasChild||a.hasChildField,p=i[p],p=p&&p.length;let f=!1,T=!1,m=!1,_=!1;var H={};return c&&c.icon?t.callSlot(c.icon,l,e,r):(n||(c=(0,_util.getRowid)(t,i),T=!!d[c],E&&(d=s[c],m=!!o[c],f=i[a],_=!!d.treeLoaded)),h&&"default"!==h||(H.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[b&&(!E||_?p:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:H},[e("i",{class:["vxe-tree--node-btn",m?g||getIcon().TABLE_TREE_LOADED:T?v||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,{treeConfig:n,seqOpts:a}=r,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var{radioOpts:a,selectRadioRow:d}=r,o=t.slots,{labelField:a,checkMethod:s,visibleMethod:i}=a,c=l.row,u=o?o.default:null,o=o?o.radio:null,d=c===d;let C=!i||i({row:c}),E=!!s,h;n||(h={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:d,disabled:E,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",d?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,a))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":d,"is--disabled":E}],on:h},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l,{isAllSelected:a,isIndeterminate:d,isAllCheckboxDisabled:o}=r;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.checkboxOpts,u=t.getTitle();let C;n||(C={click(e){o||r.triggerCheckAllEvent(e,!a)}});var E=Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d});return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,selectCheckboxMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.checkboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let h=!1,g=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),g=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!g)}},c&&(v=!c({row:t})),d&&(h=!!o[u]));s=Object.assign(Object.assign({},l),{checked:g,disabled:v,visible:b,indeterminate:h});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,s,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":v,"is--indeterminate":h,"is--hidden":!b}],on:x},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,checkboxOpts:s}=r,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,h=E?E.default:null,E=E?E.checkbox:null;let g=!1,b=!1,v=!C||C({row:t}),x=!!u,p;a||(C=(0,_util.getRowid)(r,t),b=_xeUtils.default.get(t,c),p={click(e){!x&&v&&r.triggerCheckRowEvent(e,l,!b)}},u&&(x=!u({row:t})),d&&(g=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:g});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||i)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":x,"is--indeterminate":s&&!b?t[s]:g,"is--hidden":!v}],on:p},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{expandOpts:d,rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=r,{lazy:d,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:h}=d,g=a.slots,b=g?g.default:null;let v=!1,x=!1;return g&&g.icon?renderCellBaseVNs(e,l,r.callSlot(g.icon,l,e)):(t||(g=(0,_util.getRowid)(r,n),v=!!o[g],d&&(x=!!s[g])),renderCellBaseVNs(e,l,[!u||h&&!h(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",x?c||getIcon().TABLE_EXPAND_LOADED:v?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var{filterStore:a,filterOpts:d}=r,{showIcon:d,iconNone:o,iconMatch:s}=d;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a,editOpts:d}=r,{sortable:o,remoteSort:s,filters:i,editRender:c}=t;let u=!1,C=(a&&(a=_xeUtils.default.get(a,t.field))&&(u=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(C=[u&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(c)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,C.concat(Cell.renderHeaderTitle(e,l)).concat(o||s?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,disabledMethod:a}=r.computeRowDragOpts,a=a||(t?t.rowDisabledMethod:null);let d=a&&a(l);return e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":d}],on:{mousedown(e){d||r.handleCellDragMousedownEvent(e,l)},mouseup:r.handleCellDragMouseupEvent}},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,isCrossDrag:i,visibleMethod:c}=t.computeRowDragOpts,c=c||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||c&&!c(l)||d&&!i&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,l){let{$table:r,column:t}=l;var n=r.computeColumnOpts,{showIcon:a,icon:d,visibleMethod:o,disabledMethod:s}=r.computeColumnDragOpts;let i=s&&s(l);return!n.drag||!a||o&&!o(l)||t.fixed||t.parentId?renderEmptyElement(r):e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],on:{mousedown(e){i||r.handleHeaderCellDragMousedownEvent(e,l)},mouseup:r.handleHeaderCellDragMouseupEvent}},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,{showHeaderOverflow:o,tooltipOpts:s}=t;let i=s.showAll||s.enabled;s=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===s,u=!0===s||"tooltip"===s;o={};return(c||u||i)&&(o.mouseenter=e=>{t._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{t._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:s,editOpts:i,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:s&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===i.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeOpts:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:o,fullAllDataRowIdData:s}=t,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:h,iconLoaded:g,showIcon:b,iconOpen:v,iconClose:x}=a,p=a.children||a.childrenField,a=a.hasChild||a.hasChildField,p=i[p],p=p&&p.length;let f=!1,T=!1,m=!1,_=!1;var H={};return c&&c.icon?t.callSlot(c.icon,l,e,r):(n||(c=(0,_util.getRowid)(t,i),T=!!d[c],E&&(d=s[c],m=!!o[c],f=i[a],_=!!d.treeLoaded)),h&&"default"!==h||(H.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[b&&(!E||_?p:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:H},[e("i",{class:["vxe-tree--node-btn",m?g||getIcon().TABLE_TREE_LOADED:T?v||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,{treeConfig:n,seqOpts:a}=r,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var{radioOpts:a,selectRadioRow:d}=r,o=t.slots,{labelField:a,checkMethod:s,visibleMethod:i}=a,c=l.row,u=o?o.default:null,o=o?o.radio:null,d=c===d;let C=!i||i({row:c}),E=!!s,h;n||(h={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:d,disabled:E,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",d?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,a))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":d,"is--disabled":E}],on:h},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l,{isAllSelected:a,isIndeterminate:d,isAllCheckboxDisabled:o}=r;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.checkboxOpts,u=t.getTitle();let C;n||(C={click(e){o||r.triggerCheckAllEvent(e,!a)}});var E=Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d});return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,selectCheckboxMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.checkboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let h=!1,g=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),g=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!g)}},c&&(v=!c({row:t})),d&&(h=!!o[u]));s=Object.assign(Object.assign({},l),{checked:g,disabled:v,visible:b,indeterminate:h});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,s,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":v,"is--indeterminate":h,"is--hidden":!b}],on:x},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,checkboxOpts:s}=r,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,h=E?E.default:null,E=E?E.checkbox:null;let g=!1,b=!1,v=!C||C({row:t}),x=!!u,p;a||(C=(0,_util.getRowid)(r,t),b=_xeUtils.default.get(t,c),p={click(e){!x&&v&&r.triggerCheckRowEvent(e,l,!b)}},u&&(x=!u({row:t})),d&&(g=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:g});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||i)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":x,"is--indeterminate":s&&!b?t[s]:g,"is--hidden":!v}],on:p},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{expandOpts:d,rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=r,{lazy:d,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:h}=d,g=a.slots,b=g?g.default:null;let v=!1,x=!1;return g&&g.icon?renderCellBaseVNs(e,l,r.callSlot(g.icon,l,e)):(t||(g=(0,_util.getRowid)(r,n),v=!!o[g],d&&(x=!!s[g])),renderCellBaseVNs(e,l,[!u||h&&!h(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",x?c||getIcon().TABLE_EXPAND_LOADED:v?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var{filterStore:a,filterOpts:d}=r,{showIcon:d,iconNone:o,iconMatch:s}=d;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a,editOpts:d}=r,{sortable:o,remoteSort:s,filters:i,editRender:c}=t;let u=!1,C=(a&&(a=_xeUtils.default.get(a,t.field))&&(u=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(C=[u&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(c)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,C.concat(Cell.renderHeaderTitle(e,l)).concat(o||s?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
@@ -92,7 +92,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
92
92
  thOns.mousedown = evnt => $xetable.triggerHeaderCellMousedownEvent(evnt, params);
93
93
  }
94
94
  // 拖拽行事件
95
- if (columnOpts.drag && !column.parentId) {
95
+ if (columnOpts.drag) {
96
96
  thOns.dragstart = $xetable.handleHeaderCellDragDragstartEvent;
97
97
  thOns.dragend = $xetable.handleHeaderCellDragDragendEvent;
98
98
  thOns.dragover = $xetable.handleHeaderCellDragDragoverEvent;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,cellType="header",renderRows=(x,v,C,b)=>{let{$parent:y,fixedType:_}=v,{$listeners:w,resizable:$,border:z,columnKey:W,headerCellClassName:H,headerCellStyle:R,showHeaderOverflow:S,headerAlign:T,align:M,highlightCurrentColumn:D,currentColumn:k,scrollXLoad:O,overflowX:U,scrollbarWidth:e,sortOpts:E,mouseConfig:I,columnOpts:A}=y;return C.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=_?e.fixed!==_&&!o:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?S:r,a=a||(s?s.tableHeaderCellAlign:"")||T||i||(s?s.tableCellAlign:"")||M;let c="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let p=i||s||c;var r={},h=e.filters&&e.filters.some(e=>e.checked),m=y.getColumnIndex(e),f=y.getVTColumnIndex(e);let g={$table:y,$grid:y.xegrid,$rowIndex:b,column:e,columnIndex:m,$columnIndex:l,_columnIndex:f,fixed:_,type:cellType,isHidden:u,hasFilter:h};return O&&!p&&(c=p=!0),(A.isCurrent||D||w["header-cell-click"]||"cell"===E.trigger)&&(r.click=e=>y.triggerHeaderCellClickEvent(e,g)),w["header-cell-dblclick"]&&(r.dblclick=e=>y.triggerHeaderCellDblclickEvent(e,g)),I&&(r.mousedown=e=>y.triggerHeaderCellMousedownEvent(e,g)),A.drag&&!e.parentId&&(r.dragstart=y.handleHeaderCellDragDragstartEvent,r.dragend=y.handleHeaderCellDragDragendEvent,r.dragover=y.handleHeaderCellDragDragoverEvent),x("th",{class:["vxe-header--column",d,{["col--"+a]:a,["col--"+t]:t,"col--last":l===C.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":p,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":h,"col--current":k===e},(0,_utils.getClass)(n,g),(0,_utils.getClass)(H,g)],attrs:{colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},style:R?_xeUtils.default.isFunction(R)?R(g):R:null,on:r,key:W||A.useKey||A.drag||o?d:l},[x("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(x,g)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:A.resizable||$)?null:x("div",{class:["vxe-resizable",{"is--line":!z||"none"===z}],on:{mousedown:e=>v.resizeMousedown(e,g)}})])}).concat(e?[x("th",{key:"gr"+b,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,a,e){let i=a.$parent;var l=i;let n=a.fixedType,{headerRowClassName:o,headerRowStyle:s}=l,d=i.isDragColMove,u=i.columnOpts;return e.map((e,l)=>{var t={$table:i,$rowIndex:l,fixed:n,type:cellType};return u.drag?r("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(d?"":"-disabled"),class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null}},renderRows(r,a,e,l)):r("tr",{class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null},renderRows(r,a,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var{_e:e,$parent:l,fixedType:r,headerColumn:a,tableColumn:i,fixedColumn:n}=this,{tId:l,isGroup:o,visibleColumn:s,showHeaderOverflow:d,scrollXLoad:u,scrollbarWidth:c}=l;let p=a,h=i;return o?h=s:(r&&(u||d)&&(h=n),p=[h]),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},h.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(c?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,p))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let s=t.column,{$parent:r,fixedType:d}=this,a=l.visibleColumn,{tableBody:i,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:n,clientX:g}=e,x=t.cell=n.parentNode,v=l.computeResizableOpts,C=0,b=i.$el;var l=(0,_dom.getOffsetPos)(n,p),o=n.clientWidth,y=Math.floor(o/2);let _=(0,_util.getColReMinWidth)(t)-y,w=l.left-x.clientWidth+o+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,H="left"===d,R="right"===d,S=0;if(H||R){var T=H?"nextElementSibling":"previousElementSibling";let e=x[T];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(S+=e.offsetWidth),e=e[T];R&&c&&($=c.offsetLeft+S)}function M(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=d?0:b.scrollLeft,H?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-S-_):R?(w=(u?u.clientWidth:0)+S+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,a=f.getBoundingClientRect(),i=h.clientWidth,n=m.clientWidth,o=m.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",m.textContent=s.renderWidth+(R?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=M,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=s.renderWidth+(R?$-C:C-$);s.resizeWidth=l,"fixed"===v.dragMode&&a.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},M(e),r.closeMenu()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,cellType="header",renderRows=(x,v,C,b)=>{let{$parent:y,fixedType:_}=v,{$listeners:w,resizable:$,border:z,columnKey:W,headerCellClassName:H,headerCellStyle:R,showHeaderOverflow:S,headerAlign:T,align:M,highlightCurrentColumn:D,currentColumn:k,scrollXLoad:O,overflowX:U,scrollbarWidth:e,sortOpts:E,mouseConfig:A,columnOpts:I}=y;return C.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:i,align:a,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=_?e.fixed!==_&&!o:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?S:r,i=i||(s?s.tableHeaderCellAlign:"")||T||a||(s?s.tableCellAlign:"")||M;let c="ellipsis"===r;a="title"===r,s=!0===r||"tooltip"===r;let p=a||s||c;var r={},h=e.filters&&e.filters.some(e=>e.checked),m=y.getColumnIndex(e),f=y.getVTColumnIndex(e);let g={$table:y,$grid:y.xegrid,$rowIndex:b,column:e,columnIndex:m,$columnIndex:l,_columnIndex:f,fixed:_,type:cellType,isHidden:u,hasFilter:h};return O&&!p&&(c=p=!0),(I.isCurrent||D||w["header-cell-click"]||"cell"===E.trigger)&&(r.click=e=>y.triggerHeaderCellClickEvent(e,g)),w["header-cell-dblclick"]&&(r.dblclick=e=>y.triggerHeaderCellDblclickEvent(e,g)),A&&(r.mousedown=e=>y.triggerHeaderCellMousedownEvent(e,g)),I.drag&&(r.dragstart=y.handleHeaderCellDragDragstartEvent,r.dragend=y.handleHeaderCellDragDragendEvent,r.dragover=y.handleHeaderCellDragDragoverEvent),x("th",{class:["vxe-header--column",d,{["col--"+i]:i,["col--"+t]:t,"col--last":l===C.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":p,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":h,"col--current":k===e},(0,_utils.getClass)(n,g),(0,_utils.getClass)(H,g)],attrs:{colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},style:R?_xeUtils.default.isFunction(R)?R(g):R:null,on:r,key:W||I.useKey||I.drag||o?d:l},[x("div",{class:["vxe-cell",{"c--title":a,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(x,g)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:I.resizable||$)?null:x("div",{class:["vxe-resizable",{"is--line":!z||"none"===z}],on:{mousedown:e=>v.resizeMousedown(e,g)}})])}).concat(e?[x("th",{key:"gr"+b,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,i,e){let a=i.$parent;var l=a;let n=i.fixedType,{headerRowClassName:o,headerRowStyle:s}=l,d=a.isDragColMove,u=a.columnOpts;return e.map((e,l)=>{var t={$table:a,$rowIndex:l,fixed:n,type:cellType};return u.drag?r("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(d?"":"-disabled"),class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null}},renderRows(r,i,e,l)):r("tr",{class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null},renderRows(r,i,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var{_e:e,$parent:l,fixedType:r,headerColumn:i,tableColumn:a,fixedColumn:n}=this,{tId:l,isGroup:o,visibleColumn:s,showHeaderOverflow:d,scrollXLoad:u,scrollbarWidth:c}=l;let p=i,h=a;return o?h=s:(r&&(u||d)&&(h=n),p=[h]),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},h.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(c?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,p))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let s=t.column,{$parent:r,fixedType:d}=this,i=l.visibleColumn,{tableBody:a,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:n,clientX:g}=e,x=t.cell=n.parentNode,v=l.computeResizableOpts,C=0,b=a.$el;var l=(0,_dom.getOffsetPos)(n,p),o=n.clientWidth,y=Math.floor(o/2);let _=(0,_util.getColReMinWidth)(t)-y,w=l.left-x.clientWidth+o+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,H="left"===d,R="right"===d,S=0;if(H||R){var T=H?"nextElementSibling":"previousElementSibling";let e=x[T];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(S+=e.offsetWidth),e=e[T];R&&c&&($=c.offsetLeft+S)}function M(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=d?0:b.scrollLeft,H?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-S-_):R?(w=(u?u.clientWidth:0)+S+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,i=f.getBoundingClientRect(),a=h.clientWidth,n=m.clientWidth,o=m.clientHeight;let e=-n;t<n+a?e=n+a-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-o,Math.max(0,l.clientY-i.y-o/2))+"px",m.textContent=s.renderWidth+(R?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=M,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=s.renderWidth+(R?$-C:C-$);s.resizeWidth=l,"fixed"===v.dragMode&&i.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},M(e),r.closeMenu()}}};
@@ -501,7 +501,7 @@ const updateColDropTipContent = ($xeTable, tdEl) => {
501
501
  }
502
502
  reactData.dragTipText = tipContent;
503
503
  };
504
- function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
504
+ function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
505
505
  const reactData = $xeTable;
506
506
  const el = $xeTable.$refs.refElem;
507
507
  if (!el) {
@@ -515,26 +515,30 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
515
515
  if (trEl) {
516
516
  const rdLineEl = $xeTable.$refs.refDragRowLineElem;
517
517
  if (rdLineEl) {
518
- const trRect = trEl.getBoundingClientRect();
519
- let top = Math.max(1, trRect.y - wrapperRect.y);
520
- if (dragPos === 'bottom') {
521
- top = Math.min(wrapperRect.height - 1, trRect.y - wrapperRect.y + trRect.height);
518
+ if (showLine) {
519
+ const trRect = trEl.getBoundingClientRect();
520
+ rdLineEl.style.display = 'block';
521
+ rdLineEl.style.top = `${Math.max(1, trRect.y - wrapperRect.y)}px`;
522
+ rdLineEl.style.height = `${trRect.height}px`;
523
+ rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
524
+ rdLineEl.setAttribute('drag-pos', dragPos);
525
+ } else {
526
+ rdLineEl.style.display = '';
522
527
  }
523
- rdLineEl.style.top = `${top}px`;
524
- rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
525
- rdLineEl.style.display = 'block';
526
528
  }
527
529
  } else if (thEl) {
528
530
  const cdLineEl = $xeTable.$refs.refDragColLineElem;
529
531
  if (cdLineEl) {
530
- const thRect = thEl.getBoundingClientRect();
531
- let left = Math.max(1, thRect.x - wrapperRect.x);
532
- if (dragPos === 'right') {
533
- left = Math.min(wrapperRect.width - 2, thRect.x - wrapperRect.x + thRect.width);
532
+ if (showLine) {
533
+ const thRect = thEl.getBoundingClientRect();
534
+ cdLineEl.style.display = 'block';
535
+ cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`;
536
+ cdLineEl.style.width = `${thRect.width}px`;
537
+ cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
538
+ cdLineEl.setAttribute('drag-pos', dragPos);
539
+ } else {
540
+ cdLineEl.style.display = '';
534
541
  }
535
- cdLineEl.style.left = `${left}px`;
536
- cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
537
- cdLineEl.style.display = 'block';
538
542
  }
539
543
  }
540
544
  const rdTipEl = $xeTable.$refs.refDragTipElem;
@@ -542,6 +546,7 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
542
546
  rdTipEl.style.display = 'block';
543
547
  rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
544
548
  rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`;
549
+ rdTipEl.setAttribute('drag-status', showLine ? 'normal' : 'disabled');
545
550
  }
546
551
  }
547
552
  const hideDropTip = $xeTable => {
@@ -1091,6 +1096,7 @@ const Methods = {
1091
1096
  };
1092
1097
  }
1093
1098
  if (isSource) {
1099
+ cacheItem.level = level;
1094
1100
  cacheItem.index = treeConfig && parent ? -1 : index;
1095
1101
  fullDataRowIdMaps[rowid] = cacheItem;
1096
1102
  }
@@ -1894,6 +1900,17 @@ const Methods = {
1894
1900
  tableColumn: this.tableColumn.slice(0)
1895
1901
  };
1896
1902
  },
1903
+ /**
1904
+ * 获取表格的全量列
1905
+ */
1906
+ getFullColumns() {
1907
+ const $xeTable = this;
1908
+ const internalData = $xeTable;
1909
+ const {
1910
+ collectColumn
1911
+ } = internalData;
1912
+ return collectColumn.slice(0);
1913
+ },
1897
1914
  /**
1898
1915
  * 获取数据,和 data 的行为一致,也可以指定索引获取数据
1899
1916
  */
@@ -2424,6 +2441,38 @@ const Methods = {
2424
2441
  footerData: footerTableData.slice(0)
2425
2442
  };
2426
2443
  },
2444
+ /**
2445
+ * 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
2446
+ */
2447
+ getFullData() {
2448
+ const $xeTable = this;
2449
+ const props = $xeTable;
2450
+ const internalData = $xeTable;
2451
+ const {
2452
+ treeConfig
2453
+ } = props;
2454
+ const {
2455
+ tableFullData,
2456
+ tableFullTreeData
2457
+ } = internalData;
2458
+ if (treeConfig) {
2459
+ const treeOpts = $xeTable.computeTreeOpts;
2460
+ const {
2461
+ transform,
2462
+ mapChildrenField
2463
+ } = treeOpts;
2464
+ const childrenField = treeOpts.children || treeOpts.childrenField;
2465
+ if (transform) {
2466
+ return _xeUtils.default.toArrayTree(_xeUtils.default.toTreeArray(tableFullTreeData, {
2467
+ children: mapChildrenField
2468
+ }), {
2469
+ children: childrenField
2470
+ });
2471
+ }
2472
+ return tableFullTreeData.slice(0);
2473
+ }
2474
+ return tableFullData.slice(0);
2475
+ },
2427
2476
  /**
2428
2477
  * 处理数据加载默认行为
2429
2478
  * 默认执行一次,除非被重置
@@ -2625,9 +2674,12 @@ const Methods = {
2625
2674
  return this.refreshColumn(true);
2626
2675
  },
2627
2676
  handleCustomRestore(storeData) {
2677
+ const $xetable = this;
2678
+ const reactData = $xetable;
2679
+ const internalData = $xetable;
2628
2680
  let {
2629
2681
  collectColumn
2630
- } = this;
2682
+ } = internalData;
2631
2683
  const {
2632
2684
  resizableData,
2633
2685
  sortData,
@@ -2659,9 +2711,12 @@ const Methods = {
2659
2711
  // 如果自定义了顺序
2660
2712
  if (hasCustomSort) {
2661
2713
  collectColumn = _xeUtils.default.orderBy(collectColumn, 'renderSortNumber');
2662
- this.collectColumn = collectColumn;
2663
- this.tableFullColumn = getColumnList(collectColumn);
2714
+ internalData.collectColumn = collectColumn;
2715
+ internalData.tableFullColumn = getColumnList(collectColumn);
2664
2716
  }
2717
+ reactData.isCustomStatus = true;
2718
+ } else {
2719
+ reactData.isCustomStatus = false;
2665
2720
  }
2666
2721
  },
2667
2722
  /**
@@ -5507,20 +5562,45 @@ const Methods = {
5507
5562
  }, params), evnt);
5508
5563
  }
5509
5564
  },
5565
+ triggerCurrentColumnEvent(evnt, params) {
5566
+ const $xeTable = this;
5567
+ const columnOpts = $xeTable.computeColumnOpts;
5568
+ const {
5569
+ currentMethod
5570
+ } = columnOpts;
5571
+ const {
5572
+ column
5573
+ } = params;
5574
+ if (!currentMethod || currentMethod({
5575
+ column
5576
+ })) {
5577
+ $xeTable.setCurrentColumn(column);
5578
+ }
5579
+ },
5510
5580
  triggerCurrentRowEvent(evnt, params) {
5581
+ const $xeTable = this;
5582
+ const reactData = $xeTable;
5511
5583
  const {
5512
5584
  currentRow: oldValue
5513
- } = this;
5585
+ } = reactData;
5586
+ const rowOpts = $xeTable.computeRowOpts;
5587
+ const {
5588
+ currentMethod
5589
+ } = rowOpts;
5514
5590
  const {
5515
5591
  row: newValue
5516
5592
  } = params;
5517
5593
  const isChange = oldValue !== newValue;
5518
- this.setCurrentRow(newValue);
5519
- if (isChange) {
5520
- this.emitEvent('current-change', Object.assign({
5521
- oldValue,
5522
- newValue
5523
- }, params), evnt);
5594
+ if (!currentMethod || currentMethod({
5595
+ row: newValue
5596
+ })) {
5597
+ $xeTable.setCurrentRow(newValue);
5598
+ if (isChange) {
5599
+ $xeTable.dispatchEvent('current-change', Object.assign({
5600
+ oldValue,
5601
+ newValue
5602
+ }, params), evnt);
5603
+ }
5524
5604
  }
5525
5605
  },
5526
5606
  /**
@@ -5667,7 +5747,7 @@ const Methods = {
5667
5747
  cell
5668
5748
  }, params), evnt);
5669
5749
  if (this.columnOpts.isCurrent || this.highlightCurrentColumn) {
5670
- return this.setCurrentColumn(column);
5750
+ this.triggerCurrentColumnEvent(evnt, params);
5671
5751
  }
5672
5752
  return this.$nextTick();
5673
5753
  },
@@ -5928,20 +6008,26 @@ const Methods = {
5928
6008
  } = props;
5929
6009
  const rowDragOpts = $xeTable.computeRowDragOpts;
5930
6010
  const {
6011
+ fullAllDataRowIdData
6012
+ } = internalData;
6013
+ const {
6014
+ isCrossDrag,
6015
+ isSelfToChildDrag,
5931
6016
  dragEndMethod
5932
6017
  } = rowDragOpts;
5933
6018
  const treeOpts = $xeTable.computeTreeOpts;
5934
6019
  const {
5935
- transform
6020
+ transform,
6021
+ mapChildrenField,
6022
+ parentField
5936
6023
  } = treeOpts;
6024
+ const childrenField = treeOpts.children || treeOpts.childrenField;
5937
6025
  const {
5938
6026
  dragRow
5939
6027
  } = reactData;
5940
6028
  const {
5941
6029
  afterFullData,
5942
- afterTreeFullData,
5943
6030
  tableFullData,
5944
- tableFullTreeData,
5945
6031
  prevDragRow,
5946
6032
  prevDragPos
5947
6033
  } = internalData;
@@ -5961,26 +6047,102 @@ const Methods = {
5961
6047
  }
5962
6048
  let oafIndex = -1;
5963
6049
  let nafIndex = -1;
6050
+ // 如果为树结构
5964
6051
  if (treeConfig) {
5965
- // 移出源位置
5966
- oafIndex = $xeTable.findRowIndexOf(afterTreeFullData, dragRow);
5967
- const otfIndex = $xeTable.findRowIndexOf(tableFullTreeData, dragRow);
5968
- afterTreeFullData.splice(oafIndex, 1);
5969
- tableFullTreeData.splice(otfIndex, 1);
5970
- // 插新位置
5971
- const pafIndex = $xeTable.findRowIndexOf(afterTreeFullData, prevDragRow);
5972
- const ptfIndex = $xeTable.findRowIndexOf(tableFullTreeData, prevDragRow);
5973
- nafIndex = pafIndex + dragOffsetIndex;
5974
- const ntfIndex = ptfIndex + dragOffsetIndex;
5975
- afterTreeFullData.splice(nafIndex, 0, dragRow);
5976
- tableFullTreeData.splice(ntfIndex, 0, dragRow);
6052
+ if (transform) {
6053
+ // 移出源位置
6054
+ const oldRowid = (0, _util.getRowid)($xeTable, dragRow);
6055
+ const oldRest = fullAllDataRowIdData[oldRowid];
6056
+ const newRowid = (0, _util.getRowid)($xeTable, prevDragRow);
6057
+ const newRest = fullAllDataRowIdData[newRowid];
6058
+ if (oldRest && newRest) {
6059
+ const {
6060
+ level: oldLevel
6061
+ } = oldRest;
6062
+ const {
6063
+ level: newLevel
6064
+ } = newRest;
6065
+ const oldAllMaps = {};
6066
+ _xeUtils.default.eachTree([dragRow], item => {
6067
+ oldAllMaps[(0, _util.getRowid)($xeTable, item)] = item;
6068
+ }, {
6069
+ children: mapChildrenField
6070
+ });
6071
+ let isSelfToChildStatus = false;
6072
+ if (oldLevel && newLevel) {
6073
+ // 子到子
6074
+ if (!isCrossDrag) {
6075
+ return;
6076
+ }
6077
+ if (oldAllMaps[newRowid]) {
6078
+ if (!isSelfToChildDrag) {
6079
+ isSelfToChildStatus = true;
6080
+ if (_ui.VxeUI.modal) {
6081
+ _ui.VxeUI.modal.message({
6082
+ status: 'error',
6083
+ content: getI18n('vxe.error.treeDragChild')
6084
+ });
6085
+ }
6086
+ return;
6087
+ }
6088
+ }
6089
+ } else if (oldLevel) {
6090
+ // 子到根
6091
+ if (!isCrossDrag) {
6092
+ return;
6093
+ }
6094
+ } else if (newLevel) {
6095
+ // 根到子
6096
+ if (!isCrossDrag) {
6097
+ return;
6098
+ }
6099
+ if (oldAllMaps[newRowid]) {
6100
+ isSelfToChildStatus = true;
6101
+ if (!isSelfToChildDrag) {
6102
+ if (_ui.VxeUI.modal) {
6103
+ _ui.VxeUI.modal.message({
6104
+ status: 'error',
6105
+ content: getI18n('vxe.error.treeDragChild')
6106
+ });
6107
+ }
6108
+ return;
6109
+ }
6110
+ }
6111
+ } else {
6112
+ // 根到根
6113
+ }
6114
+ const fullList = _xeUtils.default.toTreeArray(internalData.afterTreeFullData, {
6115
+ children: childrenField
6116
+ });
6117
+ // 移出
6118
+ const otfIndex = $xeTable.findRowIndexOf(fullList, dragRow);
6119
+ fullList.splice(otfIndex, 1);
6120
+ // 插入
6121
+ const ptfIndex = $xeTable.findRowIndexOf(fullList, prevDragRow);
6122
+ const ntfIndex = ptfIndex + dragOffsetIndex;
6123
+ fullList.splice(ntfIndex, 0, dragRow);
6124
+ // 改变层级
6125
+ if (isSelfToChildStatus && isSelfToChildDrag) {
6126
+ _xeUtils.default.each(dragRow[childrenField], childRow => {
6127
+ childRow[parentField] = dragRow[parentField];
6128
+ });
6129
+ }
6130
+ dragRow[parentField] = prevDragRow[parentField];
6131
+ internalData.tableFullTreeData = _xeUtils.default.toArrayTree(fullList, {
6132
+ key: treeOpts.rowField,
6133
+ parentKey: treeOpts.parentField,
6134
+ children: childrenField,
6135
+ mapChildren: treeOpts.mapChildrenField
6136
+ });
6137
+ }
6138
+ }
5977
6139
  } else {
5978
- // 移出源位置
6140
+ // 移出
5979
6141
  oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
5980
6142
  const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
5981
6143
  afterFullData.splice(oafIndex, 1);
5982
6144
  tableFullData.splice(otfIndex, 1);
5983
- // 插新位置
6145
+ // 插入
5984
6146
  const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
5985
6147
  const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
5986
6148
  nafIndex = pafIndex + dragOffsetIndex;
@@ -5989,9 +6151,9 @@ const Methods = {
5989
6151
  tableFullData.splice(ntfIndex, 0, dragRow);
5990
6152
  }
5991
6153
  reactData.isDragRowMove = true;
5992
- $xeTable.cacheRowMap();
5993
- $xeTable.updateScrollYStatus();
5994
6154
  $xeTable.handleTableData(treeConfig && transform);
6155
+ $xeTable.cacheRowMap(true);
6156
+ $xeTable.updateScrollYStatus();
5995
6157
  if (!(treeConfig && transform)) {
5996
6158
  $xeTable.updateAfterDataIndex();
5997
6159
  }
@@ -6026,29 +6188,44 @@ const Methods = {
6026
6188
  },
6027
6189
  handleRowDragDragoverEvent(evnt) {
6028
6190
  const $xeTable = this;
6191
+ const props = $xeTable;
6029
6192
  const internalData = $xeTable;
6030
6193
  const reactData = $xeTable;
6194
+ const {
6195
+ treeConfig
6196
+ } = props;
6197
+ const {
6198
+ fullAllDataRowIdData
6199
+ } = internalData;
6031
6200
  const {
6032
6201
  dragRow
6033
6202
  } = reactData;
6203
+ const rowDragOpts = $xeTable.computeRowDragOpts;
6204
+ const {
6205
+ isCrossDrag
6206
+ } = rowDragOpts;
6034
6207
  if (!dragRow) {
6035
6208
  evnt.preventDefault();
6036
6209
  return;
6037
6210
  }
6038
6211
  const trEl = evnt.currentTarget;
6039
- const rowid = trEl.getAttribute('rowid');
6040
- const row = $xeTable.getRowById(rowid);
6041
- if (row) {
6042
- evnt.preventDefault();
6212
+ const rowid = trEl.getAttribute('rowid') || '';
6213
+ const rest = fullAllDataRowIdData[rowid];
6214
+ if (rest) {
6215
+ const row = rest.row;
6043
6216
  evnt.preventDefault();
6044
6217
  const {
6045
6218
  dragRow
6046
6219
  } = reactData;
6047
6220
  const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
6048
6221
  const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
6222
+ if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && rest.level) {
6223
+ showDropTip($xeTable, evnt, trEl, null, false, dragPos);
6224
+ return;
6225
+ }
6049
6226
  internalData.prevDragRow = row;
6050
6227
  internalData.prevDragPos = dragPos;
6051
- showDropTip($xeTable, evnt, trEl, null, dragPos);
6228
+ showDropTip($xeTable, evnt, trEl, null, true, dragPos);
6052
6229
  $xeTable.dispatchEvent('row-dragover', {
6053
6230
  oldRow: dragRow,
6054
6231
  targetRow: row,
@@ -6218,9 +6395,13 @@ const Methods = {
6218
6395
  } = reactData;
6219
6396
  const offsetX = evnt.clientX - thEl.getBoundingClientRect().x;
6220
6397
  const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
6398
+ if (dragCol.id === column.id || column.parentId) {
6399
+ showDropTip($xeTable, evnt, null, thEl, false, dragPos);
6400
+ return;
6401
+ }
6221
6402
  internalData.prevDragCol = column;
6222
6403
  internalData.prevDragPos = dragPos;
6223
- showDropTip($xeTable, evnt, null, thEl, dragPos);
6404
+ showDropTip($xeTable, evnt, null, thEl, true, dragPos);
6224
6405
  $xeTable.dispatchEvent('column-dragover', {
6225
6406
  oldColumn: dragCol,
6226
6407
  targetColumn: column,