vxe-table 3.12.0-beta.9 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/es/locale/lang/de-DE.js +490 -490
  2. package/es/locale/lang/en-US.js +438 -438
  3. package/es/locale/lang/it-IT.js +692 -0
  4. package/es/locale/lang/ru-RU.js +36 -36
  5. package/es/locale/lang/th-TH.js +692 -0
  6. package/es/locale/lang/zh-CHT.js +19 -19
  7. package/es/style.css +1 -1
  8. package/es/table/module/custom/panel.js +5 -5
  9. package/es/table/module/export/mixin.js +208 -140
  10. package/es/table/src/cell.js +88 -61
  11. package/es/table/src/column.js +2 -2
  12. package/es/table/src/group.js +2 -2
  13. package/es/table/src/methods.js +112 -87
  14. package/es/table/src/table.js +7 -11
  15. package/es/toolbar/src/toolbar.js +22 -4
  16. package/es/ui/index.js +2 -2
  17. package/es/ui/src/log.js +1 -1
  18. package/es/ui/src/vn.js +3 -0
  19. package/lib/index.umd.js +512 -356
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/locale/lang/de-DE.js +490 -490
  22. package/lib/locale/lang/de-DE.min.js +1 -1
  23. package/lib/locale/lang/en-US.js +438 -438
  24. package/lib/locale/lang/en-US.min.js +1 -1
  25. package/lib/locale/lang/en-US.umd.js +438 -438
  26. package/lib/locale/lang/it-IT.js +698 -0
  27. package/lib/locale/lang/it-IT.min.js +1 -0
  28. package/lib/locale/lang/ru-RU.js +36 -36
  29. package/lib/locale/lang/ru-RU.min.js +1 -1
  30. package/lib/locale/lang/ru-RU.umd.js +36 -36
  31. package/lib/locale/lang/th-TH.js +698 -0
  32. package/lib/locale/lang/th-TH.min.js +1 -0
  33. package/lib/locale/lang/zh-CHT.js +19 -19
  34. package/lib/locale/lang/zh-CHT.min.js +1 -1
  35. package/lib/locale/lang/zh-CHT.umd.js +19 -19
  36. package/lib/style.css +1 -1
  37. package/lib/table/module/custom/panel.js +5 -5
  38. package/lib/table/module/custom/panel.min.js +1 -1
  39. package/lib/table/module/export/mixin.js +239 -167
  40. package/lib/table/module/export/mixin.min.js +1 -1
  41. package/lib/table/src/cell.js +109 -83
  42. package/lib/table/src/cell.min.js +1 -1
  43. package/lib/table/src/methods.js +112 -87
  44. package/lib/table/src/methods.min.js +1 -1
  45. package/lib/table/src/table.js +4 -9
  46. package/lib/table/src/table.min.js +1 -1
  47. package/lib/toolbar/src/toolbar.js +36 -2
  48. package/lib/toolbar/src/toolbar.min.js +1 -1
  49. package/lib/ui/index.js +2 -2
  50. package/lib/ui/index.min.js +1 -1
  51. package/lib/ui/src/log.js +1 -1
  52. package/lib/ui/src/log.min.js +1 -1
  53. package/lib/ui/src/vn.js +3 -0
  54. package/lib/ui/src/vn.min.js +1 -1
  55. package/package.json +3 -3
  56. package/packages/locale/lang/de-DE.ts +492 -491
  57. package/packages/locale/lang/en-US.ts +438 -438
  58. package/packages/locale/lang/it-IT.ts +692 -0
  59. package/packages/locale/lang/ru-RU.ts +36 -36
  60. package/packages/locale/lang/th-TH.ts +692 -0
  61. package/packages/locale/lang/zh-CHT.ts +19 -19
  62. package/packages/table/module/custom/panel.ts +5 -5
  63. package/packages/table/module/export/mixin.ts +227 -156
  64. package/packages/table/src/cell.ts +141 -108
  65. package/packages/table/src/methods.ts +136 -105
  66. package/packages/table/src/table.ts +8 -12
  67. package/packages/toolbar/src/toolbar.ts +26 -8
  68. package/packages/ui/index.ts +1 -1
  69. package/packages/ui/src/vn.ts +4 -1
  70. /package/es/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
  71. /package/es/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
  72. /package/es/{iconfont.1735301172726.woff2 → iconfont.1735661059384.woff2} +0 -0
  73. /package/lib/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
  74. /package/lib/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
  75. /package/lib/{iconfont.1735301172726.woff2 → iconfont.1735661059384.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,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[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,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isCrossDrag:s,visibleMethod:i,disabledMethod:c}=t.computeColumnDragOpts;if(!n.drag||!a||i&&!i(r)||l.fixed||!s&&l.parentId)return renderEmptyElement(t);{let l=c&&c(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[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:g,iconLoaded:h,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)),g&&"default"!==g||(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?h||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,g;n||(g={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:g},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 g=!1,h=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),h=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!h)}},c&&(v=!c({row:t})),d&&(g=!!o[u]));s=Object.assign(Object.assign({},l),{checked:h,disabled:v,visible:b,indeterminate:g});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?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":h,"is--disabled":v,"is--indeterminate":g,"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,g=E?E.default:null,E=E?E.checkbox:null;let h=!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&&(h=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:h});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,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]:h,"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:g}=d,h=a.slots,b=h?h.default:null;let v=!1,x=!1;return h&&h.icon?renderCellBaseVNs(e,l,r.callSlot(h.icon,l,e)):(t||(h=(0,_util.getRowid)(r,n),v=!!o[h],d&&(x=!!s[h])),renderCellBaseVNs(e,l,[!u||g&&!g(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,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[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,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=t.computeRowDragOpts,u=u||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||u&&!u(l)||d&&!i&&!c&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isPeerDrag:s,isCrossDrag:i,visibleMethod:c,disabledMethod:u}=t.computeColumnDragOpts;if(!n.drag||!a||c&&!c(r)||l.fixed||!s&&!i&&l.parentId)return renderEmptyElement(t);{let l=u&&u(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[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,o=t;let s=t;o=o.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===o,u=!0===o||"tooltip"===o;d={};return(c||u||i)&&(d.mouseenter=e=>{s._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(d.mouseleave=e=>{s._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:d}):e("span",{class:"vxe-cell--title",on:d},(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{treeExpandedMaps:a,treeExpandLazyLoadedMaps:d}=t,o=t.fullAllDataRowIdData,s=t.computeTreeOpts,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:g,iconLoaded:h,showIcon:p,iconOpen:b,iconClose:v}=s,x=s.children||s.childrenField,s=s.hasChild||s.hasChildField,x=i[x],x=x&&x.length,c=c?c.icon:null;let f=!1,T=!1,m=!1,_=!1;var I={};return c?t.callSlot(c,l,e):(n||(c=(0,_util.getRowid)(t,i),T=!!a[c],E&&(a=o[c],m=!!d[c],f=i[s],_=!!a.treeLoaded)),g&&"default"!==g||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[p&&(!E||_?x:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",m?h||getIcon().TABLE_TREE_LOADED:T?b||getIcon().TABLE_TREE_OPEN:v||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,n=r.treeConfig,a=r.computeSeqOpts,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 a=r.selectRadioRow,d=t.slots,{labelField:o,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=d?d.default:null,d=d?d.radio:null,a=c===a;let C=!i||i({row:c}),E=!!s,g;n||(g={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:E,visible:C});return d?renderCellBaseVNs(e,l,r.callSlot(d,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||o)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,o))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":E}],on:g},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:d}=r,o=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.computeCheckboxOpts,u=t.getTitle(),C={},E=(n||(C.click=e=>{o||r.triggerCheckAllEvent(e,!a)}),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 d=r.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.computeCheckboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,p=!u||u({row:t}),b=!!c;var v,u={},o=(a||(v=(0,_util.getRowid)(r,t),h=!!o[v],u.click=e=>{!b&&p&&r.triggerCheckRowEvent(e,l,!h)},c&&(b=!c({row:t})),d&&(g=!!s[v])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:p,indeterminate:g}));return C?renderCellBaseVNs(e,l,r.callSlot(C,o,e)):(c=[],p&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,o,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":g,"is--hidden":!p}],on:u},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 d=r.treeConfig,o=r.treeIndeterminateMaps,s=r.computeCheckboxOpts,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,g=E?E.default:null,E=E?E.checkbox:null;let h=!1,p=!1,b=!C||C({row:t}),v=!!u;var x,C={},c=(a||(x=(0,_util.getRowid)(r,t),p=_xeUtils.default.get(t,c),C.click=e=>{!v&&b&&r.triggerCheckRowEvent(e,l,!p)},u&&(v=!u({row:t})),d&&(h=!!o[x])),Object.assign(Object.assign({},l),{checked:p,disabled:v,visible:b,indeterminate:h}));return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],b&&u.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":v,"is--indeterminate":s&&!p?t[s]:h,"is--hidden":!b}],on:C},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{rowExpandedMaps:d,rowExpandLazyLoadedMaps:o}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:g}=r.computeExpandOpts,h=a.slots,p=h?h.default:null,h=h?h.icon:null;let b=!1,v=!1;return h?renderCellBaseVNs(e,l,r.callSlot(h,l,e)):(t||(h=(0,_util.getRowid)(r,n),b=!!d[h],s&&(v=!!o[h])),renderCellBaseVNs(e,l,[!u||g&&!g(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":b}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",v?c||getIcon().TABLE_EXPAND_LOADED:b?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),p||i?e("span",{class:"vxe-table--expand-label"},p?r.callSlot(p,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 a=r.filterStore,{showIcon:d,iconNone:o,iconMatch:s}=r.computeFilterOpts;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}=r,d=r.computeEditOpts,{sortable:o,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(o?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;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,r=r.editStore,r=r.actived,t=t.editRender;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;
@@ -125,33 +125,28 @@ function handleVirtualXVisible($xeTable) {
125
125
  };
126
126
  }
127
127
  const computeRowHeight = $xeTable => {
128
- const props = $xeTable;
129
- const {
130
- showOverflow
131
- } = props;
132
128
  const tableHeader = $xeTable.$refs.tableHeader;
133
129
  const tableBody = $xeTable.$refs.tableBody;
134
130
  const tableBodyElem = tableBody ? tableBody.$el : null;
135
131
  const vSize = $xeTable.computeSize;
136
132
  const rowHeightMaps = $xeTable.computeRowHeightMaps;
137
- let rowHeight = 24;
138
- if (showOverflow) {
139
- if (tableBodyElem) {
140
- const tableHeaderElem = tableHeader ? tableHeader.$el : null;
141
- let firstTrElem;
142
- firstTrElem = tableBodyElem.querySelector('tr');
143
- if (!firstTrElem && tableHeaderElem) {
144
- firstTrElem = tableHeaderElem.querySelector('tr');
145
- }
146
- if (firstTrElem) {
147
- rowHeight = firstTrElem.clientHeight;
148
- }
149
- if (!rowHeight) {
150
- rowHeight = rowHeightMaps[vSize || 'default'];
151
- }
133
+ let rowHeight = 0;
134
+ if (tableBodyElem) {
135
+ const tableHeaderElem = tableHeader ? tableHeader.$el : null;
136
+ let firstTrElem;
137
+ firstTrElem = tableBodyElem.querySelector('tr');
138
+ if (!firstTrElem && tableHeaderElem) {
139
+ firstTrElem = tableHeaderElem.querySelector('tr');
152
140
  }
141
+ if (firstTrElem) {
142
+ rowHeight = firstTrElem.clientHeight;
143
+ }
144
+ }
145
+ if (!rowHeight) {
146
+ rowHeight = rowHeightMaps[vSize || 'default'];
153
147
  }
154
- return rowHeight;
148
+ // 最低支持 18px 行高
149
+ return Math.max(18, rowHeight);
155
150
  };
156
151
  function handleVirtualYVisible($xeTable) {
157
152
  const internalData = $xeTable;
@@ -620,7 +615,9 @@ const handleScrollToRowColumn = ($xeTable, fieldOrColumn, row) => {
620
615
  return $xeTable.$nextTick();
621
616
  };
622
617
  function handleRecalculateLayout($xeTable, reFull) {
618
+ const internalData = $xeTable;
623
619
  const el = $xeTable.$refs.refElem;
620
+ internalData.reRunTime = Date.now();
624
621
  if (!el || !el.clientWidth) {
625
622
  return $xeTable.$nextTick();
626
623
  }
@@ -1107,7 +1104,7 @@ const Methods = {
1107
1104
  const isLazy = treeConfig && treeOpts.lazy;
1108
1105
  const fullAllDataRowIdMaps = {};
1109
1106
  const fullDataRowIdMaps = {};
1110
- const handleCache = (row, index, items, path, parent, nodes) => {
1107
+ const handleCache = (row, index, items, path, parentRow, nodes) => {
1111
1108
  let rowid = (0, _util.getRowid)(this, row);
1112
1109
  const seq = treeConfig && path ? (0, _util.toTreePathSeq)(path) : index + 1;
1113
1110
  const level = nodes ? nodes.length - 1 : 0;
@@ -1128,16 +1125,16 @@ const Methods = {
1128
1125
  _index: -1,
1129
1126
  $index: -1,
1130
1127
  items,
1131
- parent,
1128
+ parent: parentRow,
1132
1129
  level,
1133
1130
  height: 0
1134
1131
  };
1135
1132
  }
1136
1133
  cacheItem.row = row;
1137
1134
  cacheItem.items = items;
1138
- cacheItem.parent = parent;
1135
+ cacheItem.parent = parentRow;
1139
1136
  cacheItem.level = level;
1140
- cacheItem.index = treeConfig && parent ? -1 : index;
1137
+ cacheItem.index = treeConfig && parentRow ? -1 : index;
1141
1138
  if (isSource) {
1142
1139
  fullDataRowIdMaps[rowid] = cacheItem;
1143
1140
  }
@@ -1220,9 +1217,9 @@ const Methods = {
1220
1217
  sourceDataRowIdData[rowid] = _xeUtils.default.clone(childRow, true);
1221
1218
  });
1222
1219
  }
1223
- _xeUtils.default.eachTree(rows, (childRow, index, items, path, parent, nodes) => {
1220
+ _xeUtils.default.eachTree(rows, (childRow, index, items, path, parentItem, nodes) => {
1224
1221
  const rowid = (0, _util.getRowid)($xeTable, childRow);
1225
- const parentRow = parent || parentRest.row;
1222
+ const parentRow = parentItem || parentRest.row;
1226
1223
  const rest = {
1227
1224
  row: childRow,
1228
1225
  rowid,
@@ -1279,7 +1276,7 @@ const Methods = {
1279
1276
  let radioColumn;
1280
1277
  let htmlColumn;
1281
1278
  let hasFixed;
1282
- const handleFunc = (column, index, items, path, parent) => {
1279
+ const handleFunc = (column, index, items, path, parentColumn) => {
1283
1280
  const {
1284
1281
  id: colid,
1285
1282
  field,
@@ -1294,7 +1291,7 @@ const Methods = {
1294
1291
  colid,
1295
1292
  index,
1296
1293
  items,
1297
- parent: parent || null,
1294
+ parent: parentColumn || null,
1298
1295
  width: 0
1299
1296
  };
1300
1297
  if (field) {
@@ -1358,9 +1355,9 @@ const Methods = {
1358
1355
  fullColumnIdData[colid] = rest;
1359
1356
  };
1360
1357
  if (isGroup) {
1361
- _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent, nodes) => {
1358
+ _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn, nodes) => {
1362
1359
  column.level = nodes.length;
1363
- handleFunc(column, index, items, path, parent);
1360
+ handleFunc(column, index, items, path, parentColumn);
1364
1361
  });
1365
1362
  } else {
1366
1363
  tableFullColumn.forEach(handleFunc);
@@ -2030,10 +2027,10 @@ const Methods = {
2030
2027
  if (treeConfig && treeOpts.transform) {
2031
2028
  const fullData = [];
2032
2029
  const expandMaps = {};
2033
- _xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path, parent) => {
2030
+ _xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path, parentRow) => {
2034
2031
  const rowid = (0, _util.getRowid)(this, row);
2035
- const parentRowid = (0, _util.getRowid)(this, parent);
2036
- if (!parent || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
2032
+ const parentRowid = (0, _util.getRowid)(this, parentRow);
2033
+ if (!parentRow || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
2037
2034
  const rowRest = fullAllDataRowIdData[rowid];
2038
2035
  if (rowRest) {
2039
2036
  rowRest._index = fullData.length;
@@ -2729,11 +2726,11 @@ const Methods = {
2729
2726
  let hasCustomSort = false;
2730
2727
  // 处理还原
2731
2728
  if (resizableData || sortData || visibleData || fixedData) {
2732
- _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
2729
+ _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentRow) => {
2733
2730
  const colKey = column.getKey();
2734
2731
  // 支持一级
2735
- if (!parent) {
2736
- if (fixedData && fixedData[colKey]) {
2732
+ if (!parentRow) {
2733
+ if (fixedData && fixedData[colKey] !== undefined) {
2737
2734
  column.fixed = fixedData[colKey];
2738
2735
  }
2739
2736
  if (sortData && _xeUtils.default.isNumber(sortData[colKey])) {
@@ -2827,9 +2824,9 @@ const Methods = {
2827
2824
  let hasSort = 0;
2828
2825
  let hasFixedt = 0;
2829
2826
  let hasVisible = 0;
2830
- _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
2827
+ _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
2831
2828
  // 只支持一级
2832
- if (!parent) {
2829
+ if (!parentColumn) {
2833
2830
  collectColumn.forEach(column => {
2834
2831
  const colKey = column.getKey();
2835
2832
  if (colKey) {
@@ -2837,7 +2834,7 @@ const Methods = {
2837
2834
  sortData[colKey] = column.renderSortNumber;
2838
2835
  }
2839
2836
  });
2840
- if (column.fixed && column.fixed !== column.defaultFixed) {
2837
+ if (column.fixed !== column.defaultFixed) {
2841
2838
  const colKey = column.getKey();
2842
2839
  if (colKey) {
2843
2840
  hasFixedt = 1;
@@ -2973,13 +2970,13 @@ const Methods = {
2973
2970
  const leftGroupList = [];
2974
2971
  const centerGroupList = [];
2975
2972
  const rightGroupList = [];
2976
- _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
2973
+ _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
2977
2974
  const isColGroup = (0, _utils.hasChildrenList)(column);
2978
2975
  // 如果是分组,必须按组设置固定列,不允许给子列设置固定
2979
- if (parent && parent.fixed) {
2980
- column.fixed = parent.fixed;
2976
+ if (parentColumn && parentColumn.fixed) {
2977
+ column.fixed = parentColumn.fixed;
2981
2978
  }
2982
- if (parent && column.fixed !== parent.fixed) {
2979
+ if (parentColumn && column.fixed !== parentColumn.fixed) {
2983
2980
  (0, _log.errLog)('vxe.error.groupFixed');
2984
2981
  }
2985
2982
  if (isColGroup) {
@@ -3187,28 +3184,35 @@ const Methods = {
3187
3184
  * 刷新布局
3188
3185
  */
3189
3186
  recalculate(reFull) {
3187
+ const $xeTable = this;
3188
+ const internalData = $xeTable;
3190
3189
  return new Promise(resolve => {
3191
- const $xeTable = this;
3192
- const internalData = $xeTable;
3193
3190
  const {
3194
- rceTimeout
3191
+ rceTimeout,
3192
+ reRunTime
3195
3193
  } = internalData;
3194
+ const resizeOpts = $xeTable.computeResizeOpts;
3195
+ const refreshDelay = resizeOpts.refreshDelay || 20;
3196
3196
  const el = $xeTable.$refs.refElem;
3197
3197
  if (el && el.clientWidth) {
3198
3198
  $xeTable.autoCellWidth();
3199
3199
  }
3200
3200
  if (rceTimeout) {
3201
3201
  clearTimeout(rceTimeout);
3202
- $xeTable.$nextTick(() => {
3203
- resolve();
3204
- });
3202
+ if (reRunTime && reRunTime + (refreshDelay - 5) < Date.now()) {
3203
+ resolve(handleRecalculateLayout($xeTable, !!reFull));
3204
+ } else {
3205
+ $xeTable.$nextTick(() => {
3206
+ resolve();
3207
+ });
3208
+ }
3205
3209
  } else {
3206
3210
  resolve(handleRecalculateLayout($xeTable, !!reFull));
3207
3211
  }
3208
3212
  internalData.rceTimeout = setTimeout(() => {
3209
3213
  internalData.rceTimeout = undefined;
3210
- resolve(handleRecalculateLayout($xeTable, !!reFull));
3211
- }, 15);
3214
+ handleRecalculateLayout($xeTable, !!reFull);
3215
+ }, refreshDelay);
3212
3216
  });
3213
3217
  },
3214
3218
  calcCellWidth() {
@@ -5964,7 +5968,9 @@ const Methods = {
5964
5968
  actived
5965
5969
  } = editStore;
5966
5970
  const cell = evnt.currentTarget;
5967
- params.cell = cell;
5971
+ params = Object.assign({
5972
+ cell
5973
+ }, params);
5968
5974
  if ((0, _utils.isEnableConf)(editConfig) && editOpts.trigger === 'dblclick') {
5969
5975
  if (!actived.args || evnt.currentTarget !== actived.args.cell) {
5970
5976
  if (editOpts.mode === 'row') {
@@ -6179,6 +6185,7 @@ const Methods = {
6179
6185
  prevDragToChild
6180
6186
  } = internalData;
6181
6187
  const {
6188
+ isPeerDrag,
6182
6189
  isCrossDrag,
6183
6190
  isSelfToChildDrag,
6184
6191
  dragEndMethod
@@ -6240,20 +6247,27 @@ const Methods = {
6240
6247
  let isSelfToChildStatus = false;
6241
6248
  if (oldLevel && newLevel) {
6242
6249
  // 子到子
6243
- if (!isCrossDrag) {
6244
- return;
6245
- }
6246
- if (oldAllMaps[newRowid]) {
6247
- isSelfToChildStatus = true;
6248
- if (!isSelfToChildDrag) {
6249
- if (_ui.VxeUI.modal) {
6250
- _ui.VxeUI.modal.message({
6251
- status: 'error',
6252
- content: getI18n('vxe.error.treeDragChild')
6253
- });
6254
- }
6250
+ if (isPeerDrag) {
6251
+ if (oldRest.row[parentField] !== newRest.row[parentField]) {
6252
+ // 非同级
6253
+ return;
6254
+ }
6255
+ } else {
6256
+ if (!isCrossDrag) {
6255
6257
  return;
6256
6258
  }
6259
+ if (oldAllMaps[newRowid]) {
6260
+ isSelfToChildStatus = true;
6261
+ if (!(isCrossDrag && isSelfToChildDrag)) {
6262
+ if (_ui.VxeUI.modal) {
6263
+ _ui.VxeUI.modal.message({
6264
+ status: 'error',
6265
+ content: getI18n('vxe.error.treeDragChild')
6266
+ });
6267
+ }
6268
+ return;
6269
+ }
6270
+ }
6257
6271
  }
6258
6272
  } else if (oldLevel) {
6259
6273
  // 子到根
@@ -6267,7 +6281,7 @@ const Methods = {
6267
6281
  }
6268
6282
  if (oldAllMaps[newRowid]) {
6269
6283
  isSelfToChildStatus = true;
6270
- if (!isSelfToChildDrag) {
6284
+ if (!(isCrossDrag && isSelfToChildDrag)) {
6271
6285
  if (_ui.VxeUI.modal) {
6272
6286
  _ui.VxeUI.modal.message({
6273
6287
  status: 'error',
@@ -6291,7 +6305,7 @@ const Methods = {
6291
6305
  const ntfIndex = ptfIndex + dragOffsetIndex;
6292
6306
  fullList.splice(ntfIndex, 0, dragRow);
6293
6307
  // 改变层级
6294
- if (isSelfToChildStatus && isSelfToChildDrag) {
6308
+ if (isSelfToChildStatus && isCrossDrag && isSelfToChildDrag) {
6295
6309
  _xeUtils.default.each(dragRow[childrenField], childRow => {
6296
6310
  childRow[parentField] = dragRow[parentField];
6297
6311
  });
@@ -6372,10 +6386,12 @@ const Methods = {
6372
6386
  } = reactData;
6373
6387
  const treeOpts = $xeTable.computeTreeOpts;
6374
6388
  const {
6375
- transform
6389
+ transform,
6390
+ parentField
6376
6391
  } = treeOpts;
6377
6392
  const rowDragOpts = $xeTable.computeRowDragOpts;
6378
6393
  const {
6394
+ isPeerDrag,
6379
6395
  isCrossDrag,
6380
6396
  isToChildDrag
6381
6397
  } = rowDragOpts;
@@ -6395,7 +6411,7 @@ const Methods = {
6395
6411
  } = reactData;
6396
6412
  const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
6397
6413
  const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
6398
- if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && rest.level) {
6414
+ if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rest.level)) {
6399
6415
  showDropTip($xeTable, evnt, trEl, null, false, dragPos);
6400
6416
  return;
6401
6417
  }
@@ -6477,6 +6493,7 @@ const Methods = {
6477
6493
  } = props;
6478
6494
  const columnDragOpts = $xeTable.computeColumnDragOpts;
6479
6495
  const {
6496
+ isPeerDrag,
6480
6497
  isCrossDrag,
6481
6498
  isSelfToChildDrag,
6482
6499
  isToChildDrag,
@@ -6509,20 +6526,27 @@ const Methods = {
6509
6526
  let isSelfToChildStatus = false;
6510
6527
  if (oldColumn.parentId && newColumn.parentId) {
6511
6528
  // 子到子
6512
- if (!isCrossDrag) {
6513
- return;
6514
- }
6515
- if (oldAllMaps[newColumn.id]) {
6516
- isSelfToChildStatus = true;
6517
- if (!isSelfToChildDrag) {
6518
- if (_ui.VxeUI.modal) {
6519
- _ui.VxeUI.modal.message({
6520
- status: 'error',
6521
- content: getI18n('vxe.error.treeDragChild')
6522
- });
6523
- }
6529
+ if (isPeerDrag) {
6530
+ if (oldColumn.parentId !== newColumn.parentId) {
6531
+ // 非同级
6532
+ return;
6533
+ }
6534
+ } else {
6535
+ if (!isCrossDrag) {
6524
6536
  return;
6525
6537
  }
6538
+ if (oldAllMaps[newColumn.id]) {
6539
+ isSelfToChildStatus = true;
6540
+ if (!(isCrossDrag && isSelfToChildDrag)) {
6541
+ if (_ui.VxeUI.modal) {
6542
+ _ui.VxeUI.modal.message({
6543
+ status: 'error',
6544
+ content: getI18n('vxe.error.treeDragChild')
6545
+ });
6546
+ }
6547
+ return;
6548
+ }
6549
+ }
6526
6550
  }
6527
6551
  } else if (oldColumn.parentId) {
6528
6552
  // 子到根
@@ -6536,7 +6560,7 @@ const Methods = {
6536
6560
  }
6537
6561
  if (oldAllMaps[newColumn.id]) {
6538
6562
  isSelfToChildStatus = true;
6539
- if (!isSelfToChildDrag) {
6563
+ if (!(isCrossDrag && isSelfToChildDrag)) {
6540
6564
  if (_ui.VxeUI.modal) {
6541
6565
  _ui.VxeUI.modal.message({
6542
6566
  status: 'error',
@@ -6551,7 +6575,7 @@ const Methods = {
6551
6575
  }
6552
6576
  const oldewMatchRest = _xeUtils.default.findTree(collectColumn, item => item.id === oldColumn.id);
6553
6577
  // 改变层级
6554
- if (isSelfToChildStatus && isSelfToChildDrag) {
6578
+ if (isSelfToChildStatus && isCrossDrag && isSelfToChildDrag) {
6555
6579
  if (oldewMatchRest) {
6556
6580
  const {
6557
6581
  items: oCols,
@@ -6585,7 +6609,7 @@ const Methods = {
6585
6609
  parent: nParent
6586
6610
  } = newMatchRest;
6587
6611
  // 转子级
6588
- if (isToChildDrag && prevDragToChild) {
6612
+ if (isCrossDrag && isToChildDrag && prevDragToChild) {
6589
6613
  oldColumn.parentId = newColumn.id;
6590
6614
  newColumn.children = (newColumn.children || []).concat([oldColumn]);
6591
6615
  } else {
@@ -6596,8 +6620,8 @@ const Methods = {
6596
6620
  nafIndex = nIndex;
6597
6621
  }
6598
6622
  }
6599
- _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
6600
- if (!parent) {
6623
+ _xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
6624
+ if (!parentColumn) {
6601
6625
  const sortIndex = index + 1;
6602
6626
  column.renderSortNumber = sortIndex;
6603
6627
  }
@@ -6665,6 +6689,7 @@ const Methods = {
6665
6689
  const columnDragOpts = $xeTable.computeColumnDragOpts;
6666
6690
  const {
6667
6691
  isToChildDrag,
6692
+ isPeerDrag,
6668
6693
  isCrossDrag
6669
6694
  } = columnDragOpts;
6670
6695
  if (!dragCol) {
@@ -6682,11 +6707,11 @@ const Methods = {
6682
6707
  } = evnt;
6683
6708
  const offsetX = clientX - thEl.getBoundingClientRect().x;
6684
6709
  const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
6685
- if (column.fixed || dragCol && dragCol.id === column.id || !isCrossDrag && column.parentId) {
6710
+ if (column.fixed || dragCol && dragCol.id === column.id || !isCrossDrag && (isPeerDrag ? dragCol.parentId !== column.parentId : column.parentId)) {
6686
6711
  showDropTip($xeTable, evnt, null, thEl, false, dragPos);
6687
6712
  return;
6688
6713
  }
6689
- internalData.prevDragToChild = !!(isToChildDrag && hasCtrlKey);
6714
+ internalData.prevDragToChild = !!(isCrossDrag && isToChildDrag && hasCtrlKey);
6690
6715
  internalData.prevDragCol = column;
6691
6716
  internalData.prevDragPos = dragPos;
6692
6717
  showDropTip($xeTable, evnt, null, thEl, true, dragPos);