vxe-table 4.11.0-beta.0 → 4.11.0-beta.10

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 (72) hide show
  1. package/README.md +18 -13
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/locale/lang/id-ID.js +695 -0
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/table/module/edit/hook.js +1 -7
  8. package/es/table/module/export/export-panel.js +8 -0
  9. package/es/table/module/export/hook.js +30 -11
  10. package/es/table/render/index.js +10 -0
  11. package/es/table/src/body.js +4 -2
  12. package/es/table/src/cell.js +3 -0
  13. package/es/table/src/footer.js +4 -2
  14. package/es/table/src/header.js +6 -4
  15. package/es/table/src/table.js +46 -21
  16. package/es/table/style.css +1 -1
  17. package/es/table/style.min.css +1 -1
  18. package/es/ui/index.js +1 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-table/style.css +1 -1
  21. package/es/vxe-table/style.min.css +1 -1
  22. package/lib/index.css +1 -1
  23. package/lib/index.min.css +1 -1
  24. package/lib/index.umd.js +119 -47
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/locale/lang/id-ID.js +701 -0
  27. package/lib/locale/lang/id-ID.min.js +1 -0
  28. package/lib/style.css +1 -1
  29. package/lib/style.min.css +1 -1
  30. package/lib/table/module/edit/hook.js +1 -9
  31. package/lib/table/module/edit/hook.min.js +1 -1
  32. package/lib/table/module/export/export-panel.js +8 -0
  33. package/lib/table/module/export/hook.js +33 -10
  34. package/lib/table/module/export/hook.min.js +1 -1
  35. package/lib/table/render/index.js +10 -0
  36. package/lib/table/render/index.min.js +1 -1
  37. package/lib/table/src/body.js +4 -1
  38. package/lib/table/src/body.min.js +1 -1
  39. package/lib/table/src/cell.js +3 -0
  40. package/lib/table/src/cell.min.js +1 -1
  41. package/lib/table/src/footer.js +4 -1
  42. package/lib/table/src/footer.min.js +1 -1
  43. package/lib/table/src/header.js +6 -3
  44. package/lib/table/src/header.min.js +1 -1
  45. package/lib/table/src/table.js +48 -21
  46. package/lib/table/src/table.min.js +1 -1
  47. package/lib/table/style/style.css +1 -1
  48. package/lib/table/style/style.min.css +1 -1
  49. package/lib/ui/index.js +1 -1
  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/vxe-table/style/style.css +1 -1
  54. package/lib/vxe-table/style/style.min.css +1 -1
  55. package/package.json +2 -2
  56. package/packages/locale/lang/id-ID.ts +695 -0
  57. package/packages/table/module/edit/hook.ts +1 -7
  58. package/packages/table/module/export/export-panel.ts +9 -0
  59. package/packages/table/module/export/hook.ts +37 -20
  60. package/packages/table/render/index.ts +10 -0
  61. package/packages/table/src/body.ts +5 -2
  62. package/packages/table/src/cell.ts +3 -0
  63. package/packages/table/src/footer.ts +5 -2
  64. package/packages/table/src/header.ts +7 -4
  65. package/packages/table/src/table.ts +50 -22
  66. package/styles/components/table.scss +1 -1
  67. /package/es/{iconfont.1739430864081.ttf → iconfont.1739790215610.ttf} +0 -0
  68. /package/es/{iconfont.1739430864081.woff → iconfont.1739790215610.woff} +0 -0
  69. /package/es/{iconfont.1739430864081.woff2 → iconfont.1739790215610.woff2} +0 -0
  70. /package/lib/{iconfont.1739430864081.ttf → iconfont.1739790215610.ttf} +0 -0
  71. /package/lib/{iconfont.1739430864081.woff → iconfont.1739790215610.woff} +0 -0
  72. /package/lib/{iconfont.1739430864081.woff2 → iconfont.1739790215610.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?r.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isPeerDrag:s,isCrossDrag:i,visibleMethod:c}=d.value,c=c||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||c&&!c(e)||a&&!s&&!i&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=t.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?""+i(o):(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?""+(l?n(o,...i.slice(1)):n(o)):"";if(d){t=renderer.get(d.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),d=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return d.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return t&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a.fullAllDataRowIdData,o=o.value,{row:s,column:i,level:c}=l,i=i.slots,{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,f=!1,m=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],b=s[o],m=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||m?_:_||b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!s||s({row:i}),C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle(),u={},C=(t||(u.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:d}=r.reactData,s=r.getComputeMaps().computeCheckboxOpts,{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t.slots,C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1,g=!c||c({row:e}),h=!!i;var E,c={},o=(n||(E=(0,_util.getRowid)(r,e),p=!!o[E],c.onClick=e=>{!h&&g&&r.triggerCheckRowEvent(e,l,!p)},i&&(h=!i({row:e})),a&&(v=!!d[E])),Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v}));return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},c),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.treeIndeterminateMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),E=!!c;var _,u={},i=(n||(_=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),u.onClick=e=>{!E&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(E=!c({row:e})),a&&(p=!!o[_])),Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},u),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.reactData,d=r.getComputeMaps().computeExpandOpts,{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,iconLayout:a,iconAsc:o,iconDesc:d,iconVisibleMethod:s}=t.value,i=r.order;return!t||s&&!s(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${a}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",o||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===i}],title:getI18n("vxe.table.sortAsc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===i}],title:getI18n("vxe.table.sortDesc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?r.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isPeerDrag:s,isCrossDrag:i,visibleMethod:c}=d.value,c=c||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||c&&!c(e)||a&&!s&&!i&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=t.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?""+i(o):(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?""+(l?n(o,...i.slice(1)):n(o)):"";if(d){t=renderer.get(d.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),d=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return d.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return t&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a.fullAllDataRowIdData,o=o.value,{row:s,column:i,level:c}=l,i=i.slots,{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,f=!1,m=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],b=s[o],m=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||m?_:_||b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!s||s({row:i}),C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle(),u={},C=(t||(u.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:d}=r.reactData,s=r.getComputeMaps().computeCheckboxOpts,{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t.slots,C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1,g=!c||c({row:e}),h=!!i;var E,c={},o=(n||(E=(0,_util.getRowid)(r,e),p=!!o[E],c.onClick=e=>{!h&&g&&r.triggerCheckRowEvent(e,l,!p)},i&&(h=!i({row:e})),a&&(v=!!d[E])),Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v}));return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},c),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.treeIndeterminateMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),E=!!c;var _,u={},i=(n||(_=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),u.onClick=e=>{!E&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(E=!c({row:e})),a&&(p=!!o[_])),Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},u),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.reactData,d=r.getComputeMaps().computeExpandOpts,{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,iconLayout:a,iconAsc:o,iconDesc:d,iconVisibleMethod:s}=t.value,i=r.order;return!t||s&&!s(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${a}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",o||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===i}],title:getI18n("vxe.table.sortAsc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===i}],title:getI18n("vxe.table.sortDesc"),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
@@ -339,6 +339,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
339
339
  } = tableInternalData;
340
340
  const {
341
341
  isGroup,
342
+ overflowX,
342
343
  scrollXLoad,
343
344
  scrollYLoad,
344
345
  dragCol
@@ -353,8 +354,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
353
354
  isOptimizeMode = true;
354
355
  }
355
356
  }
356
- if (fixedType) {
357
+ if (fixedType || !overflowX) {
357
358
  renderColumnList = visibleColumn;
359
+ }
360
+ if (fixedType) {
358
361
  if (isOptimizeMode) {
359
362
  renderColumnList = fixedColumn || [];
360
363
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(v){let K=(0,_vue.inject)("$xeTable",{}),{xID:x,props:g,reactData:m,internalData:_}=K,{computeTooltipOpts:l,computeColumnOpts:h,computeColumnDragOpts:b,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:n}=K.getComputeMaps(),w=(0,_vue.ref)(),y=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(w,y,C,T,F)=>{let I=v.fixedType,{resizable:O,border:D,footerCellClassName:S,footerCellStyle:E,footerAlign:M,footerSpanMethod:k,align:z,columnKey:U,showFooterOverflow:R}=g,{scrollXLoad:$,scrollYLoad:A,overflowX:j,currentColumn:q,mergeFooterList:L}=m,N=_.scrollXStore,X=l.value;let H=n.value.isAllColumnDrag,P=h.value;var e=r.value;let V=t.value,B=o.value,G=(0,_util.getCellHeight)(B.height||V.height)||e;return w.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,s=l.id,i=i||u,u=i?renderer.get(i.name):null;let d=X.showAll;var i=l.children&&l.children.length,i=I?l.fixed!==I&&!i:l.fixed&&j,c=(_xeUtils.default.isBoolean(B.padding)?B:V).padding,o=_xeUtils.default.eqNull(o)?R:o,r=r||(u?u.tableFooterCellAlign:"")||M||n||(u?u.tableCellAlign:"")||z;let p="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||p;var n=_xeUtils.default.isBoolean(l.resizable)?l.resizable:P.resizable||O,u={colid:s},o={},g=K.getColumnIndex(l),m=K.getVTColumnIndex(l),_=m;let h={$table:K,$grid:K.xegrid,row:C,rowIndex:F,_rowIndex:F,$rowIndex:T,column:l,columnIndex:g,$columnIndex:e,_columnIndex:m,itemIndex:_,items:C,fixed:I,type:renderType,data:y};if($&&!x&&(p=x=!0),(f||v||d)&&(o.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||d)&&K.triggerFooterTooltipEvent(e,h)}),(v||d)&&(o.onMouseleave=e=>{(v||d)&&K.handleTargetLeaveEvent(e)}),o.onClick=e=>{K.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},o.onDblclick=e=>{K.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)},L.length){g=mergeFooterMethod(L,F,m);if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}}else if(k){var{rowspan:_=1,colspan:g=1}=k(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===w.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;$&&!l.fixed&&(m<N.visibleStartIndex-N.preloadSize||m>N.visibleEndIndex+N.preloadSize)&&(b=!0);m={};return x?m.height=G+"px":m.minHeight=G+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":i,"is--padding":c,"col--ellipsis":x,"col--current":q===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(S,h)]},u),{style:E?_xeUtils.default.isFunction(E)?E(h):E:null}),o),{key:U||$||A||P.useKey||P.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":p}],style:m},b?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!i&&n&&H?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!D||"none"===D}],onMousedown:e=>K.handleColResizeMousedownEvent(e,I,h),onDblclick:e=>K.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(K)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=v.fixedType,l=_.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=w,l[e+"scroll"]=y,l[e+"table"]=C,l[e+"colgroup"]=T,l[e+"list"]=F,l[e+"xSpace"]=I})}),(0,_vue.onUnmounted)(()=>{var e=v.fixedType,l=_.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=v;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=g,{visibleColumn:a,fullColumnIdData:i}=_,{isGroup:u,scrollXLoad:s,scrollYLoad:d,dragCol:c}=m;let p=t,f=!(s||d||n)||o||r?!1:!0;return l&&(p=a,f)&&(p=e||[]),l||u||s&&c&&2<p.length&&(d=i[c.id])&&(n=d._index,o=p[0],r=p[p.length-1],a=i[o.id],u=i[r.id],a)&&u&&(s=a._index,d=u._index,n<s?p=[c].concat(p):d<n&&(p=p.concat([c]))),(0,_vue.h)("div",{ref:w,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:x},[(0,_vue.h)("div",{ref:y,class:"vxe-table--footer-inner-wrapper",onScroll(e){K.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(K):(0,_vue.h)("div",{ref:I,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--footer",xid:x,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:T},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:F},(r=>{let{fixedType:n,footerTableData:a}=v,{footerRowClassName:i,footerRowStyle:u}=g,{isColLoading:s,isDragColMove:d}=m,c=h.value,p=b.value;return a.map((e,l)=>{let t=l;var o={$table:K,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return!s&&c.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>O(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},O(r,a,e,l,t))})})(p))])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(x){let K=(0,_vue.inject)("$xeTable",{}),{xID:g,props:m,reactData:_,internalData:h}=K,{computeTooltipOpts:l,computeColumnOpts:b,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:n}=K.getComputeMaps(),y=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(w,y,C,T,F)=>{let I=x.fixedType,{resizable:O,border:D,footerCellClassName:S,footerCellStyle:E,footerAlign:M,footerSpanMethod:k,align:z,columnKey:U,showFooterOverflow:R}=m,{scrollXLoad:$,scrollYLoad:A,overflowX:j,currentColumn:q,mergeFooterList:L}=_,X=h.scrollXStore,N=l.value;let H=n.value.isAllColumnDrag,P=b.value;var e=r.value;let V=t.value,B=o.value,G=(0,_util.getCellHeight)(B.height||V.height)||e;return w.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,s=l.id,i=i||u,u=i?renderer.get(i.name):null;let d=N.showAll;var i=l.children&&l.children.length,i=I?l.fixed!==I&&!i:l.fixed&&j,c=(_xeUtils.default.isBoolean(B.padding)?B:V).padding,o=_xeUtils.default.eqNull(o)?R:o,r=r||(u?u.tableFooterCellAlign:"")||M||n||(u?u.tableCellAlign:"")||z;let p="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||p;var n=_xeUtils.default.isBoolean(l.resizable)?l.resizable:P.resizable||O,u={colid:s},o={},g=K.getColumnIndex(l),m=K.getVTColumnIndex(l),_=m;let h={$table:K,$grid:K.xegrid,row:C,rowIndex:F,_rowIndex:F,$rowIndex:T,column:l,columnIndex:g,$columnIndex:e,_columnIndex:m,itemIndex:_,items:C,fixed:I,type:renderType,data:y};if($&&!x&&(p=x=!0),(f||v||d)&&(o.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||d)&&K.triggerFooterTooltipEvent(e,h)}),(v||d)&&(o.onMouseleave=e=>{(v||d)&&K.handleTargetLeaveEvent(e)}),o.onClick=e=>{K.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},o.onDblclick=e=>{K.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)},L.length){g=mergeFooterMethod(L,F,m);if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}}else if(k){var{rowspan:_=1,colspan:g=1}=k(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===w.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;$&&!l.fixed&&(m<X.visibleStartIndex-X.preloadSize||m>X.visibleEndIndex+X.preloadSize)&&(b=!0);m={};return x?m.height=G+"px":m.minHeight=G+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":i,"is--padding":c,"col--ellipsis":x,"col--current":q===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(S,h)]},u),{style:E?_xeUtils.default.isFunction(E)?E(h):E:null}),o),{key:U||$||A||P.useKey||P.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":p}],style:m},b?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!i&&n&&H?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!D||"none"===D}],onMousedown:e=>K.handleColResizeMousedownEvent(e,I,h),onDblclick:e=>K.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(K)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=y,l[e+"scroll"]=C,l[e+"table"]=T,l[e+"colgroup"]=F,l[e+"list"]=I,l[e+"xSpace"]=O})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=x;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=h,{isGroup:u,overflowX:s,scrollXLoad:d,scrollYLoad:c,dragCol:p}=_;let f=t,v=!(d||c||n)||o||r?!1:!0;return!l&&s||(f=a),l&&v&&(f=e||[]),l||u||d&&p&&2<f.length&&(c=i[p.id])&&(n=c._index,o=f[0],r=f[f.length-1],s=i[o.id],a=i[r.id],s)&&a&&(u=s._index,d=a._index,n<u?f=[p].concat(f):d<n&&(f=f.concat([p]))),(0,_vue.h)("div",{ref:y,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:C,class:"vxe-table--footer-inner-wrapper",onScroll(e){K.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(K):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--footer",xid:g,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:I},(r=>{let{fixedType:n,footerTableData:a}=x,{footerRowClassName:i,footerRowStyle:u}=m,{isColLoading:s,isDragColMove:d}=_,c=b.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:K,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return!s&&c.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>D(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},D(r,a,e,l,t))})})(f))])])])}}});
@@ -196,8 +196,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
196
196
  'is--sortable': column.sortable,
197
197
  'col--filter': !!filters,
198
198
  'is--filter-active': hasFilter,
199
- 'is--drag-active': !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
200
- 'is--drag-disabled': isDisabledDrag,
199
+ 'is--drag-active': columnOpts.drag && !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
200
+ 'is--drag-disabled': columnOpts.drag && isDisabledDrag,
201
201
  'col--current': currentColumn === column
202
202
  }, headerClassName ? _xeUtils.default.isFunction(headerClassName) ? headerClassName(cellParams) : headerClassName : '', headerCellClassName ? _xeUtils.default.isFunction(headerCellClassName) ? headerCellClassName(cellParams) : headerCellClassName : ''],
203
203
  style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : null
@@ -279,6 +279,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
279
279
  } = tableProps;
280
280
  const {
281
281
  isGroup,
282
+ overflowX,
282
283
  scrollXLoad,
283
284
  scrollYLoad,
284
285
  dragCol
@@ -302,8 +303,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
302
303
  isOptimizeMode = true;
303
304
  }
304
305
  }
305
- if (fixedType) {
306
+ if (fixedType || !overflowX) {
306
307
  renderColumnList = visibleColumn;
308
+ }
309
+ if (fixedType) {
307
310
  // 如果是使用优化模式
308
311
  if (isOptimizeMode) {
309
312
  renderColumnList = fixedColumn || [];
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){let Q=(0,_vue.inject)("$xeTable",{}),{xID:_,props:m,reactData:b,internalData:C}=Q,{computeColumnOpts:y,computeColumnDragOpts:w,computeCellOpts:l,computeMouseOpts:D,computeHeaderCellOpts:a,computeDefaultRowHeight:r}=Q.getComputeMaps(),H=(0,_vue.ref)([]),E=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),t=(0,_vue.ref)(),n=()=>{var e=b.isGroup;H.value=e?(0,_util.convertHeaderColumnToRows)(f.tableGroupColumn):[]},U=(H,E,S,M)=>{let T=f.fixedType,{resizable:I,border:O,columnKey:U,headerCellClassName:k,headerCellStyle:z,showHeaderOverflow:R,headerAlign:$,align:F,mouseConfig:A}=m,{currentColumn:q,scrollXLoad:j,scrollYLoad:G,overflowX:L}=b,N=C.scrollXStore,X=y.value,V=w.value,B=l.value;var e=r.value;let K=a.value,P=(0,_util.getCellHeight)(K.height||B.height)||e,{disabledMethod:W,isCrossDrag:Y,isPeerDrag:J}=V;return S.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:n,filters:i,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=T?e.fixed!==T&&!d:!!e.fixed&&L,v=(_xeUtils.default.isBoolean(K.padding)?K:B).padding,r=_xeUtils.default.eqNull(r)?R:r,t=t||(u?u.tableHeaderCellAlign:"")||$||n||(u?u.tableCellAlign:"")||F;let p="ellipsis"===r;n="title"===r,u=!0===r||"tooltip"===r;let x=n||u||p,h=!1,g=null;i&&(g=i[0],h=i.some(e=>e.checked));var r=Q.getColumnIndex(e),f=Q.getVTColumnIndex(e);let _={$table:Q,$grid:Q.xegrid,$rowIndex:M,column:e,columnIndex:r,$columnIndex:l,_columnIndex:f,firstFilterOption:g,fixed:T,type:renderType,isHidden:c,hasFilter:h};var r={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={onClick:e=>Q.triggerHeaderCellClickEvent(e,_),onDblclick:e=>Q.triggerHeaderCellDblclickEvent(e,_)},b=(j&&!x&&(p=x=!0),X.drag&&"cell"===V.trigger);let C=!1;b&&(C=!(!W||!W(_))),(A||b)&&(m.onMousedown=e=>Q.triggerHeaderCellMousedownEvent(e,_)),X.drag&&(m.onDragstart=Q.handleHeaderCellDragDragstartEvent,m.onDragend=Q.handleHeaderCellDragDragendEvent,m.onDragover=Q.handleHeaderCellDragDragoverEvent,b)&&(m.onMouseup=Q.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:X.resizable||I,w=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;H||j&&!e.fixed&&(f<N.visibleStartIndex-N.preloadSize||f>N.visibleEndIndex+N.preloadSize)&&(D=!0);f={};return x?f.height=P+"px":f.minHeight=P+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+t]:t,["col--"+a]:a,"col--last":b,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":x,"fixed--width":!w,"fixed--hidden":c,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":h,"is--drag-active":!e.fixed&&!C&&(Y||J||!e.parentId),"is--drag-disabled":C,"col--current":q===e},o?_xeUtils.default.isFunction(o)?o(_):o:"",k?_xeUtils.default.isFunction(k)?k(_):k:""],style:z?_xeUtils.default.isFunction(z)?z(_):z:null},r),m),{key:U||j||G||X.useKey||X.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":u,"c--ellipsis":p}],style:f},D||E&&c?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},e.renderHeader(_))]),!c&&y?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!O||"none"===O}],onMousedown:e=>Q.handleColResizeMousedownEvent(e,T,_),onDblclick:e=>Q.handleColResizeDblclickEvent(e,_)}):renderEmptyElement(Q)])})};return(0,_vue.watch)(()=>f.tableColumn,n),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f.fixedType,l=Q.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=E,l[e+"scroll"]=S,l[e+"table"]=M,l[e+"colgroup"]=T,l[e+"list"]=I,l[e+"xSpace"]=O,l[e+"repair"]=t,n()})}),(0,_vue.onUnmounted)(()=>{var e=f.fixedType,l=Q.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=f;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:n,footerSpanMethod:i}=m,{isGroup:o,scrollXLoad:d,scrollYLoad:u,dragCol:s}=b,{visibleColumn:c,fullColumnIdData:v}=C,p=D.value;let x=H.value,h=a,g=!1;return o?h=c:(!(d||u||t)||n||i||(g=!0),l&&(h=c,g)&&(h=e||[]),x=[h]),l||o||d&&s&&2<h.length&&(u=v[s.id])&&(t=u._index,n=h[0],i=h[h.length-1],c=v[n.id],d=v[i.id],c)&&d&&(u=c._index,n=d._index,t<u?(h=[s].concat(h),x=[[s].concat(x[0])].concat(x.slice(1))):n<t&&(h=h.concat([s]),x=[x[0].concat([s])].concat(x.slice(1)))),(0,_vue.h)("div",{ref:E,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:_},[(0,_vue.h)("div",{ref:S,class:"vxe-table--header-inner-wrapper",onScroll(e){Q.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(Q):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:M,class:"vxe-table--header",xid:_,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:T},h.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:I},((r,t,e)=>{let n=f.fixedType,{headerRowClassName:i,headerRowStyle:o}=m,{isColLoading:d,isDragColMove:u}=b,s=y.value,c=w.value;return e.map((e,l)=>{var a={$table:Q,$rowIndex:l,fixed:n,type:renderType};return!d&&s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(u?"":"-disabled"),tag:"tr",class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},{default:()=>U(r,t,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},U(r,t,e,l))})})(o,g,x))]),r&&p.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(Q)])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(_){let Q=(0,_vue.inject)("$xeTable",{}),{xID:m,props:b,reactData:C,internalData:y}=Q,{computeColumnOpts:w,computeColumnDragOpts:D,computeCellOpts:l,computeMouseOpts:H,computeHeaderCellOpts:a,computeDefaultRowHeight:r}=Q.getComputeMaps(),E=(0,_vue.ref)([]),S=(0,_vue.ref)(),M=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),U=(0,_vue.ref)(),t=(0,_vue.ref)(),n=()=>{var e=C.isGroup;E.value=e?(0,_util.convertHeaderColumnToRows)(_.tableGroupColumn):[]},k=(H,E,S,M)=>{let T=_.fixedType,{resizable:I,border:O,columnKey:U,headerCellClassName:k,headerCellStyle:z,showHeaderOverflow:R,headerAlign:$,align:F,mouseConfig:A}=b,{currentColumn:q,scrollXLoad:j,scrollYLoad:G,overflowX:L}=C,X=y.scrollXStore,N=w.value,V=D.value,B=l.value;var e=r.value;let K=a.value,P=(0,_util.getCellHeight)(K.height||B.height)||e,{disabledMethod:W,isCrossDrag:Y,isPeerDrag:J}=V;return S.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:n,filters:i,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=T?e.fixed!==T&&!d:!!e.fixed&&L,v=(_xeUtils.default.isBoolean(K.padding)?K:B).padding,r=_xeUtils.default.eqNull(r)?R:r,t=t||(u?u.tableHeaderCellAlign:"")||$||n||(u?u.tableCellAlign:"")||F;let p="ellipsis"===r;n="title"===r,u=!0===r||"tooltip"===r;let x=n||u||p,h=!1,g=null;i&&(g=i[0],h=i.some(e=>e.checked));var r=Q.getColumnIndex(e),f=Q.getVTColumnIndex(e);let _={$table:Q,$grid:Q.xegrid,$rowIndex:M,column:e,columnIndex:r,$columnIndex:l,_columnIndex:f,firstFilterOption:g,fixed:T,type:renderType,isHidden:c,hasFilter:h};var r={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={onClick:e=>Q.triggerHeaderCellClickEvent(e,_),onDblclick:e=>Q.triggerHeaderCellDblclickEvent(e,_)},b=(j&&!x&&(p=x=!0),N.drag&&"cell"===V.trigger);let C=!1;b&&(C=!(!W||!W(_))),(A||b)&&(m.onMousedown=e=>Q.triggerHeaderCellMousedownEvent(e,_)),N.drag&&(m.onDragstart=Q.handleHeaderCellDragDragstartEvent,m.onDragend=Q.handleHeaderCellDragDragendEvent,m.onDragover=Q.handleHeaderCellDragDragoverEvent,b)&&(m.onMouseup=Q.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:N.resizable||I,w=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;H||j&&!e.fixed&&(f<X.visibleStartIndex-X.preloadSize||f>X.visibleEndIndex+X.preloadSize)&&(D=!0);f={};return x?f.height=P+"px":f.minHeight=P+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+t]:t,["col--"+a]:a,"col--last":b,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":x,"fixed--width":!w,"fixed--hidden":c,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":h,"is--drag-active":N.drag&&!e.fixed&&!C&&(Y||J||!e.parentId),"is--drag-disabled":N.drag&&C,"col--current":q===e},o?_xeUtils.default.isFunction(o)?o(_):o:"",k?_xeUtils.default.isFunction(k)?k(_):k:""],style:z?_xeUtils.default.isFunction(z)?z(_):z:null},r),m),{key:U||j||G||N.useKey||N.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":u,"c--ellipsis":p}],style:f},D||E&&c?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},e.renderHeader(_))]),!c&&y?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!O||"none"===O}],onMousedown:e=>Q.handleColResizeMousedownEvent(e,T,_),onDblclick:e=>Q.handleColResizeDblclickEvent(e,_)}):renderEmptyElement(Q)])})};return(0,_vue.watch)(()=>_.tableColumn,n),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_.fixedType,l=Q.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=S,l[e+"scroll"]=M,l[e+"table"]=T,l[e+"colgroup"]=I,l[e+"list"]=O,l[e+"xSpace"]=U,l[e+"repair"]=t,n()})}),(0,_vue.onUnmounted)(()=>{var e=_.fixedType,l=Q.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=_;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:n,footerSpanMethod:i}=b,{isGroup:o,overflowX:d,scrollXLoad:u,scrollYLoad:s,dragCol:c}=C,{visibleColumn:v,fullColumnIdData:p}=y,x=H.value;let h=E.value,g=a,f=!1;return o?g=v:(!(u||s||t)||n||i||(f=!0),!l&&d||(g=v),l&&f&&(g=e||[]),h=[g]),l||o||u&&c&&2<g.length&&(s=p[c.id])&&(t=s._index,n=g[0],i=g[g.length-1],d=p[n.id],v=p[i.id],d)&&v&&(u=d._index,s=v._index,t<u?(g=[c].concat(g),h=[[c].concat(h[0])].concat(h.slice(1))):s<t&&(g=g.concat([c]),h=[h[0].concat([c])].concat(h.slice(1)))),(0,_vue.h)("div",{ref:S,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:m},[(0,_vue.h)("div",{ref:M,class:"vxe-table--header-inner-wrapper",onScroll(e){Q.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(Q):(0,_vue.h)("div",{ref:U,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--header",xid:m,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:I},g.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:O},((r,t,e)=>{let n=_.fixedType,{headerRowClassName:i,headerRowStyle:o}=b,{isColLoading:d,isDragColMove:u}=C,s=w.value,c=D.value;return e.map((e,l)=>{var a={$table:Q,$rowIndex:l,fixed:n,type:renderType};return!d&&s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(u?"":"-disabled"),tag:"tr",class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},{default:()=>k(r,t,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",i?_xeUtils.default.isFunction(i)?i(a):i:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},k(r,t,e,l))})})(o,f,h))]),r&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(Q)])])}}});
@@ -1299,6 +1299,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1299
1299
  const fullColumnIdData = internalData.fullColumnIdData = {};
1300
1300
  const fullColumnFieldData = internalData.fullColumnFieldData = {};
1301
1301
  const mouseOpts = computeMouseOpts.value;
1302
+ const expandOpts = computeExpandOpts.value;
1302
1303
  const columnOpts = computeColumnOpts.value;
1303
1304
  const columnDragOpts = computeColumnDragOpts.value;
1304
1305
  const {
@@ -1404,10 +1405,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
1404
1405
  } else {
1405
1406
  tableFullColumn.forEach(handleFunc);
1406
1407
  }
1407
- if (process.env.NODE_ENV === 'development') {
1408
- if (expandColumn && mouseOpts.area) {
1409
- (0, _log.errLog)('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
1410
- }
1408
+ if (expandColumn && expandOpts.mode !== 'fixed' && mouseOpts.area) {
1409
+ (0, _log.errLog)('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
1411
1410
  }
1412
1411
  if (process.env.NODE_ENV === 'development') {
1413
1412
  if (htmlColumn) {
@@ -2918,7 +2917,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
2918
2917
  delete rExpandLazyLoadedMaps[rowid];
2919
2918
  }
2920
2919
  reactData.rowExpandLazyLoadedMaps = rExpandLazyLoadedMaps;
2921
- (0, _vue.nextTick)().then(() => tableMethods.recalculate()).then(() => resolve());
2920
+ (0, _vue.nextTick)().then(() => $xeTable.recalculate()).then(() => $xeTable.updateCellAreas()).then(() => resolve());
2922
2921
  });
2923
2922
  } else {
2924
2923
  resolve();
@@ -3449,6 +3448,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
3449
3448
  });
3450
3449
  };
3451
3450
  const handleColumn = collectColumn => {
3451
+ const expandOpts = computeExpandOpts.value;
3452
3452
  internalData.collectColumn = collectColumn;
3453
3453
  const tableFullColumn = getColumnList(collectColumn);
3454
3454
  internalData.tableFullColumn = tableFullColumn;
@@ -3456,6 +3456,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
3456
3456
  reactData.isDragColMove = false;
3457
3457
  initColumnSort();
3458
3458
  return Promise.resolve(restoreCustomStorage()).then(() => {
3459
+ const {
3460
+ scrollXLoad,
3461
+ scrollYLoad,
3462
+ expandColumn
3463
+ } = reactData;
3459
3464
  cacheColumnMap();
3460
3465
  parseColumns(true).then(() => {
3461
3466
  if (reactData.scrollXLoad) {
@@ -3465,10 +3470,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
3465
3470
  $xeTable.clearMergeCells();
3466
3471
  $xeTable.clearMergeFooterItems();
3467
3472
  $xeTable.handleTableData(true);
3468
- if (process.env.NODE_ENV === 'development') {
3469
- if ((reactData.scrollXLoad || reactData.scrollYLoad) && reactData.expandColumn) {
3470
- (0, _log.warnLog)('vxe.error.scrollErrProp', ['column.type=expand']);
3471
- }
3473
+ if ((scrollXLoad || scrollYLoad) && expandColumn && expandOpts.mode !== 'fixed') {
3474
+ (0, _log.warnLog)('vxe.error.scrollErrProp', ['column.type=expand']);
3472
3475
  }
3473
3476
  return (0, _vue.nextTick)().then(() => {
3474
3477
  if ($xeToolbar) {
@@ -3910,6 +3913,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
3910
3913
  }
3911
3914
  }
3912
3915
  };
3916
+ const handleRowExpandScroll = () => {
3917
+ const {
3918
+ elemStore
3919
+ } = internalData;
3920
+ const rowExpandEl = refRowExpandElem.value;
3921
+ const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
3922
+ if (rowExpandEl && bodyScrollElem) {
3923
+ rowExpandEl.scrollTop = bodyScrollElem.scrollTop;
3924
+ }
3925
+ };
3913
3926
  tableMethods = {
3914
3927
  dispatchEvent,
3915
3928
  /**
@@ -5895,7 +5908,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
5895
5908
  const {
5896
5909
  rowExpandedMaps,
5897
5910
  rowExpandLazyLoadedMaps,
5898
- expandColumn: column
5911
+ expandColumn
5899
5912
  } = reactData;
5900
5913
  const {
5901
5914
  fullAllDataRowIdData
@@ -5909,8 +5922,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
5909
5922
  toggleMethod
5910
5923
  } = expandOpts;
5911
5924
  const lazyRests = [];
5912
- const columnIndex = tableMethods.getColumnIndex(column);
5913
- const $columnIndex = tableMethods.getVMColumnIndex(column);
5925
+ const columnIndex = tableMethods.getColumnIndex(expandColumn);
5926
+ const $columnIndex = tableMethods.getVMColumnIndex(expandColumn);
5914
5927
  if (rows) {
5915
5928
  if (!_xeUtils.default.isArray(rows)) {
5916
5929
  rows = [rows];
@@ -5923,7 +5936,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
5923
5936
  const validRows = toggleMethod ? rows.filter(row => toggleMethod({
5924
5937
  $table: $xeTable,
5925
5938
  expanded,
5926
- column,
5939
+ column: expandColumn,
5927
5940
  columnIndex,
5928
5941
  $columnIndex,
5929
5942
  row,
@@ -5956,7 +5969,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
5956
5969
  }
5957
5970
  }
5958
5971
  reactData.rowExpandedMaps = rExpandedMaps;
5959
- return Promise.all(lazyRests).then(() => tableMethods.recalculate());
5972
+ return Promise.all(lazyRests).then(() => $xeTable.recalculate()).then(() => {
5973
+ if (expandColumn) {
5974
+ updateRowExpandStyle();
5975
+ handleRowExpandScroll();
5976
+ }
5977
+ return $xeTable.updateCellAreas();
5978
+ });
5960
5979
  },
5961
5980
  /**
5962
5981
  * 判断行是否为展开状态
@@ -5996,7 +6015,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
5996
6015
  if (expList.length) {
5997
6016
  tableMethods.recalculate();
5998
6017
  }
5999
- });
6018
+ }).then(() => $xeTable.updateCellAreas());
6000
6019
  },
6001
6020
  clearRowExpandReserve() {
6002
6021
  internalData.rowExpandedReserveRowMap = {};
@@ -6475,8 +6494,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
6475
6494
  mouseConfig
6476
6495
  } = props;
6477
6496
  const mouseOpts = computeMouseOpts.value;
6478
- if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreas) {
6479
- return $xeTable.handleRecalculateCellAreas();
6497
+ if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreaEvent) {
6498
+ return $xeTable.handleRecalculateCellAreaEvent();
6480
6499
  }
6481
6500
  return (0, _vue.nextTick)();
6482
6501
  },
@@ -8376,7 +8395,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
8376
8395
  }
8377
8396
  vLen++;
8378
8397
  });
8379
- const isSelected = vLen > 0 ? sLen >= vLen : sLen >= rootList.length;
8398
+ const isSelected = rootList.length > 0 ? vLen > 0 ? sLen >= vLen : sLen >= rootList.length : false;
8380
8399
  const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
8381
8400
  reactData.isAllSelected = isSelected;
8382
8401
  reactData.isIndeterminate = halfSelect;
@@ -10377,7 +10396,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
10377
10396
  updateScrollXSpace() {
10378
10397
  const {
10379
10398
  isGroup,
10380
- scrollXLoad
10399
+ scrollXLoad,
10400
+ overflowX
10381
10401
  } = reactData;
10382
10402
  const {
10383
10403
  visibleColumn,
@@ -10397,7 +10417,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
10397
10417
  const footerElem = tableFooterElem ? tableFooterElem.querySelector('.vxe-table--footer') : null;
10398
10418
  const leftSpaceWidth = visibleColumn.slice(0, scrollXStore.startIndex).reduce((previous, column) => previous + column.renderWidth, 0);
10399
10419
  let marginLeft = '';
10400
- if (scrollXLoad) {
10420
+ if (scrollXLoad && overflowX) {
10401
10421
  marginLeft = `${leftSpaceWidth}px`;
10402
10422
  }
10403
10423
  if (headerElem) {
@@ -11218,6 +11238,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
11218
11238
  scrollYLoad,
11219
11239
  expandColumn
11220
11240
  } = reactData;
11241
+ const expandOpts = computeExpandOpts.value;
11221
11242
  internalData.inited = true;
11222
11243
  internalData.initStatus = true;
11223
11244
  if (!initStatus) {
@@ -11228,7 +11249,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
11228
11249
  // if (checkboxColumn && internalData.tableFullData.length > 300 && !checkboxOpts.checkField) {
11229
11250
  // warnLog('vxe.error.checkProp', ['checkbox-config.checkField'])
11230
11251
  // }
11231
- if ((scrollXLoad || scrollYLoad) && expandColumn) {
11252
+ if ((scrollXLoad || scrollYLoad) && expandColumn && expandOpts.mode !== 'fixed') {
11232
11253
  (0, _log.warnLog)('vxe.error.scrollErrProp', ['column.type=expand']);
11233
11254
  }
11234
11255
  return tableMethods.recalculate();
@@ -11274,6 +11295,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
11274
11295
  (0, _vue.watch)(() => props.showFooter, () => {
11275
11296
  reScrollFlag.value++;
11276
11297
  });
11298
+ (0, _vue.watch)(() => reactData.overflowX, () => {
11299
+ reScrollFlag.value++;
11300
+ });
11301
+ (0, _vue.watch)(() => reactData.overflowY, () => {
11302
+ reScrollFlag.value++;
11303
+ });
11277
11304
  (0, _vue.watch)(reScrollFlag, () => {
11278
11305
  (0, _vue.nextTick)(() => {
11279
11306
  tableMethods.recalculate(true).then(() => tableMethods.refreshScroll());