vxe-table 4.13.34 → 4.13.36

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 (58) hide show
  1. package/es/grid/src/grid.js +35 -11
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/hook.js +2 -2
  4. package/es/table/module/validator/hook.js +11 -3
  5. package/es/table/src/body.js +20 -3
  6. package/es/table/src/cell.js +55 -39
  7. package/es/table/src/column.js +2 -0
  8. package/es/table/src/columnInfo.js +2 -0
  9. package/es/table/src/props.js +3 -1
  10. package/es/table/src/table.js +133 -75
  11. package/es/table/src/util.js +7 -4
  12. package/es/ui/index.js +4 -4
  13. package/es/ui/src/log.js +1 -1
  14. package/lib/grid/src/grid.js +39 -15
  15. package/lib/grid/src/grid.min.js +1 -1
  16. package/lib/index.umd.js +173 -96
  17. package/lib/index.umd.min.js +1 -1
  18. package/lib/style.css +1 -1
  19. package/lib/table/module/edit/hook.js +2 -2
  20. package/lib/table/module/edit/hook.min.js +1 -1
  21. package/lib/table/module/validator/hook.js +15 -3
  22. package/lib/table/module/validator/hook.min.js +1 -1
  23. package/lib/table/src/body.js +19 -2
  24. package/lib/table/src/body.min.js +1 -1
  25. package/lib/table/src/cell.js +47 -32
  26. package/lib/table/src/cell.min.js +1 -1
  27. package/lib/table/src/column.js +2 -0
  28. package/lib/table/src/column.min.js +1 -1
  29. package/lib/table/src/columnInfo.js +2 -0
  30. package/lib/table/src/columnInfo.min.js +1 -1
  31. package/lib/table/src/props.js +3 -1
  32. package/lib/table/src/props.min.js +1 -1
  33. package/lib/table/src/table.js +32 -32
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/src/util.js +10 -7
  36. package/lib/table/src/util.min.js +1 -1
  37. package/lib/ui/index.js +4 -4
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/package.json +1 -1
  42. package/packages/grid/src/grid.ts +39 -12
  43. package/packages/table/module/edit/hook.ts +2 -2
  44. package/packages/table/module/validator/hook.ts +10 -3
  45. package/packages/table/src/body.ts +20 -3
  46. package/packages/table/src/cell.ts +55 -39
  47. package/packages/table/src/column.ts +2 -0
  48. package/packages/table/src/columnInfo.ts +3 -0
  49. package/packages/table/src/props.ts +3 -1
  50. package/packages/table/src/table.ts +135 -74
  51. package/packages/table/src/util.ts +7 -3
  52. package/packages/ui/index.ts +3 -3
  53. /package/es/{iconfont.1749092482353.ttf → iconfont.1749440132931.ttf} +0 -0
  54. /package/es/{iconfont.1749092482353.woff → iconfont.1749440132931.woff} +0 -0
  55. /package/es/{iconfont.1749092482353.woff2 → iconfont.1749440132931.woff2} +0 -0
  56. /package/lib/{iconfont.1749092482353.ttf → iconfont.1749440132931.ttf} +0 -0
  57. /package/lib/{iconfont.1749092482353.woff → iconfont.1749440132931.woff} +0 -0
  58. /package/lib/{iconfont.1749092482353.woff2 → iconfont.1749440132931.woff2} +0 -0
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(p){let{props:m,reactData:R,internalData:C}=p,o=p.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=R,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(p,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(p,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=m.treeConfig,{tableFullTreeData:e,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:r}=C,c=E.value,{transform:g,rowField:w,mapChildrenField:v}=c,f=c.children||c.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&g?{[v]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&g?F(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)}),i.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+h.length)}));else if(o&&g){let n=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:v});if(n){let o=n.parent,a=o?o[v]:e;t=s[(0,_util.getRowid)(p,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(p,e);e[c.parentField]&&o&&e[c.parentField]!==o[w]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[w]]),o&&(e[c.parentField]=o[w]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...h)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),F(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=p.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}return h.forEach(e=>{var t=(0,_util.getRowid)(p,e);r[t]=e}),R.insertRowFlag++,p.cacheRowMap(!1),p.updateScrollYStatus(),p.handleTableData(o&&g),o&&g||p.updateAfterDataIndex(),p.updateFooter(),p.handleUpdateBodyMerge(),p.checkSelectionStatus(),R.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=m.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=R.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(p,t)!==(0,_util.getRowid)(p,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,p.updateFooter(),p.dispatchEvent("edit-closed",{row:o,rowIndex:p.getRowIndex(o),$rowIndex:p.getVMRowIndex(o),column:a,columnIndex:p.getColumnIndex(a),$columnIndex:p.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},i=(l,r,o,e)=>{let a=p.xeGrid;var{editConfig:t,mouseConfig:i}=m,{editStore:n,tableColumn:d}=R,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),h=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:p,$grid:a}))){i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:a}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=m.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(i({row:t,rowIndex:p.getRowIndex(t),column:o,columnIndex:p.getColumnIndex(o),cell:e,$table:p},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=m.treeConfig,l=R.editStore;let{tableFullTreeData:r,selectCheckboxMaps:o,afterFullData:a,mergeBodyList:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:w,mapChildrenField:v}=g,f=g.children||g.childrenField;g=l.actived,l=c.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;p.isInsertByRow(e)||(t=(0,_util.getRowid)(p,e),s[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(p,e);o[e]&&delete o[e]}),R.updateCheckboxFlag++),n===e?(e=h=n.slice(0),C.tableFullData=[],C.afterFullData=[],p.clearMergeCells()):t&&w?e.forEach(e=>{let t=(0,_util.getRowid)(p,e);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:f})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=p.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=p.findRowIndexOf(a,e);-1<r&&(i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<p.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(p,e);u[e]&&delete u[e],d[e]&&delete d[e]}),R.removeRowFlag++,R.insertRowFlag++,R.pendingRowFlag++,p.cacheRowMap(!1),p.handleTableData(t&&w),p.updateFooter(),p.handleUpdateBodyMerge(),t&&w||p.updateAfterDataIndex(),p.checkSelectionStatus(),R.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return I.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return I.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=m,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>p.isUpdateByRow(e),r):l.filter(e=>p.isUpdateByRow(e))):[]},getActiveRecord(){return(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),p.getEditRecord()},getEditRecord(){var e=R.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<p.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=R.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),p.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=R.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),p.isEditByRow(e)},isEditByRow(e){var t=R.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?p.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=R.tableData,r=x.value,t=_xeUtils.default.isString(t)?p.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=p.findRowIndexOf(l,e))&&t&&(l=p.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:p.getColumnIndex(t),cell:l},p.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&p.scrollToRow(o,a)}},handleSelected(e,t){var l=m.mouseConfig,r=R.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=R.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=p.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(p){let{props:R,reactData:m,internalData:C}=p,o=p.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=m,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(p,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(p,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=R.treeConfig,{tableFullTreeData:e,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:r}=C,c=E.value,{transform:g,rowField:w,mapChildrenField:v}=c,f=c.children||c.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&g?{[v]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&g?F(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)}),i.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+h.length)}));else if(o&&g){let n=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:v});if(n){let o=n.parent,a=o?o[v]:e;t=s[(0,_util.getRowid)(p,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(p,e);e[c.parentField]&&o&&e[c.parentField]!==o[w]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[w]]),o&&(e[c.parentField]=o[w]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...h)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),F(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=p.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}return h.forEach(e=>{var t=(0,_util.getRowid)(p,e);r[t]=e}),m.insertRowFlag++,p.cacheRowMap(!1),p.updateScrollYStatus(),p.handleTableData(o&&g),o&&g||p.updateAfterDataIndex(),p.updateFooter(),p.handleUpdateBodyMerge(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=m.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(p,t)!==(0,_util.getRowid)(p,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,p.updateFooter(),p.dispatchEvent("edit-closed",{row:o,rowIndex:p.getRowIndex(o),$rowIndex:p.getVMRowIndex(o),column:a,columnIndex:p.getColumnIndex(a),$columnIndex:p.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},i=(l,r,o,e)=>{let a=p.xeGrid;var{editConfig:t,mouseConfig:i}=R,{editStore:n,tableColumn:d}=m,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),h=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)&&!p.isAggregateRecord(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:p,$grid:a}))){i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:a}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(i({row:t,rowIndex:p.getRowIndex(t),column:o,columnIndex:p.getColumnIndex(o),cell:e,$table:p},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=R.treeConfig,l=m.editStore;let{tableFullTreeData:r,selectCheckboxMaps:o,afterFullData:a,mergeBodyList:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:w,mapChildrenField:v}=g,f=g.children||g.childrenField;g=l.actived,l=c.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;p.isInsertByRow(e)||(t=(0,_util.getRowid)(p,e),s[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(p,e);o[e]&&delete o[e]}),m.updateCheckboxFlag++),n===e?(e=h=n.slice(0),C.tableFullData=[],C.afterFullData=[],p.clearMergeCells()):t&&w?e.forEach(e=>{let t=(0,_util.getRowid)(p,e);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:f})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=p.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=p.findRowIndexOf(a,e);-1<r&&(i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<p.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(p,e);u[e]&&delete u[e],d[e]&&delete d[e]}),m.removeRowFlag++,m.insertRowFlag++,m.pendingRowFlag++,p.cacheRowMap(!1),p.handleTableData(t&&w),p.updateFooter(),p.handleUpdateBodyMerge(),t&&w||p.updateAfterDataIndex(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return I.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return I.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>p.isUpdateByRow(e),r):l.filter(e=>p.isUpdateByRow(e))):[]},getActiveRecord(){return(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),p.getEditRecord()},getEditRecord(){var e=m.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<p.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=m.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),p.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=m.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),p.isEditByRow(e)},isEditByRow(e){var t=m.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?p.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=m.tableData,r=x.value,t=_xeUtils.default.isString(t)?p.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=p.findRowIndexOf(l,e))&&t&&(l=p.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:p.getColumnIndex(t),cell:l},p.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&p.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=m.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=m.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=p.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
@@ -157,7 +157,8 @@ hooks.add('tableValidatorModule', {
157
157
  const {
158
158
  computeValidOpts,
159
159
  computeTreeOpts,
160
- computeEditOpts
160
+ computeEditOpts,
161
+ computeAggregateOpts
161
162
  } = $xeTable.getComputeMaps();
162
163
  let validatorMethods = {};
163
164
  let validatorPrivateMethods = {};
@@ -209,13 +210,16 @@ hooks.add('tableValidatorModule', {
209
210
  editRules,
210
211
  treeConfig
211
212
  } = props;
213
+ const {
214
+ isRowGroupStatus
215
+ } = reactData;
212
216
  const {
213
217
  afterFullData,
214
218
  pendingRowMaps,
215
219
  removeRowMaps
216
220
  } = internalData;
217
221
  const treeOpts = computeTreeOpts.value;
218
- const childrenField = treeOpts.children || treeOpts.childrenField;
222
+ const aggregateOpts = computeAggregateOpts.value;
219
223
  const validOpts = computeValidOpts.value;
220
224
  let validList;
221
225
  if (rows === true) {
@@ -251,6 +255,9 @@ hooks.add('tableValidatorModule', {
251
255
  if (pendingRowMaps[rowid]) {
252
256
  return;
253
257
  }
258
+ if ($xeTable.isAggregateRecord(row)) {
259
+ return;
260
+ }
254
261
  if (isFull || !validRuleErr) {
255
262
  const colVailds = [];
256
263
  columns.forEach(column => {
@@ -290,7 +297,12 @@ hooks.add('tableValidatorModule', {
290
297
  rowValidErrs.push(Promise.all(colVailds));
291
298
  }
292
299
  };
293
- if (treeConfig) {
300
+ if (isRowGroupStatus) {
301
+ _xeUtils.default.eachTree(validList, handleVaild, {
302
+ children: aggregateOpts.mapChildrenField
303
+ });
304
+ } else if (treeConfig) {
305
+ const childrenField = treeOpts.children || treeOpts.childrenField;
294
306
  _xeUtils.default.eachTree(validList, handleVaild, {
295
307
  children: childrenField
296
308
  });
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,l){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(l))}function validMaxValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l>_xeUtils.default.toNumber(e))}function validMinValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l<_xeUtils.default.toNumber(e))}function validRuleValue(e,l,t){var{type:e,min:r,max:i,pattern:a}=e,u="array"===e,n="number"===e,e="string"===e,s=""+l;if(!validREValue(a,s))return!1;if(u){if(!_xeUtils.default.isArray(l))return!1;if(t&&!l.length)return!1;if(!validMinValue(r,l.length))return!1;if(!validMaxValue(i,l.length))return!1}else if(n){a=Number(l);if(isNaN(a))return!1;if(!validMinValue(r,a))return!1;if(!validMaxValue(i,a))return!1}else{if(e&&!_xeUtils.default.isString(l))return!1;if(t&&!s)return!1;if(!validMinValue(r,s.length))return!1;if(!validMaxValue(i,s.length))return!1}return!0}function checkRuleStatus(e,l){var t=e.required,r=_xeUtils.default.isArray(l)?!l.length:(0,_utils.eqEmptyValue)(l);if(t){if(r)return!1;if(!validRuleValue(e,l,t))return!1}else if(!r&&!validRuleValue(e,l,t))return!1;return!0}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(h){let{props:m,reactData:p,internalData:x}=h,g=h.getRefMaps().refValidTooltip,{computeValidOpts:_,computeTreeOpts:R,computeEditOpts:r}=h.getComputeMaps(),w={},V={},M,t=(e,t,u,a)=>{let n={},{editRules:s,treeConfig:r}=m,{afterFullData:l,pendingRowMaps:o,removeRowMaps:d}=x;var i=R.value,i=i.children||i.childrenField;let c=_.value,g,f=(!0===e?g=l:e&&(_xeUtils.default.isFunction(e)?u=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||(h.getInsertRecords?h.getInsertRecords().concat(h.getUpdateRecords()):[]),[]),v=(x._lastCallTime=Date.now(),M=!1,w.clearValidate(),{});if(s){let l=t&&t.length?t:h.getColumns();e=i=>{var e=(0,_util.getRowid)(h,i);if(!d[e]&&!o[e]&&(a||!M)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&M||!_xeUtils.default.has(s,r)||e.push(V.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:h.getRowIndex(i),row:i,columnIndex:h.getColumnIndex(t),column:t,field:r,$table:h};if(n[r]||(n[r]=[]),v[(0,_util.getRowid)(h,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},n[r].push(l),!a)return M=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(g,e,{children:i}):g.forEach(e),Promise.all(f).then(()=>{let e=Object.keys(n);var l,t,r;return p.validErrorMaps=(l=v,"single"===_.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(n[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(n),e()):("obsolete"===getConfig().validToReject?l:e)(n)})};var r,i=()=>{var l;a.cell=h.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===_.value.autoPos?(h.dispatchEvent("valid-error",l,null),e()):h.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(V.showValidTooltip(l))})}).then(t)};!1===c.autoPos?t():(r=a.row,h.scrollToRow(r,a.column).then(i))}))}return p.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})};return w={fullValidate(e,l){return _xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(h,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(h,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=p.validErrorMaps,t=g.value,i=_.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(h,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)p.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(h,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(h,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}p.validErrorMaps=u}return(0,_vue.nextTick)()}},V={validCellRules(e,s,o,l){let d=h.xeGrid;var t=m.editRules,r=o.field;let c=[],g=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let u=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(s,r):l;n.forEach(l=>{let{trigger:t,validator:r}=l;if("all"===e||!t||e===t)if(r){var i,a={cellValue:u,rule:l,rules:n,row:s,rowIndex:h.getRowIndex(s),column:o,columnIndex:h.getColumnIndex(o),field:o.field,$table:h,$grid:d};let e;_xeUtils.default.isString(r)?(i=validators.get(r))&&(i=i.tableCellValidatorMethod||i.cellValidatorMethod)?e=i(a):(0,_log.errLog)("vxe.error.notValidators",[r]):e=r(a),e&&(_xeUtils.default.isError(e)?(M=!0,c.push(new Rule({type:"custom",trigger:t,content:e.message,rule:new Rule(l)}))):e.catch&&g.push(e.catch(e=>{M=!0,c.push(new Rule({type:"custom",trigger:t,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else checkRuleStatus(l,u)||(M=!0,c.push(new Rule(l)))})}}return Promise.all(g).then(()=>{var e;if(c.length)return e={rules:c,rule:c[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=m.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=m,a=p.editStore,a=a.actived;let u=r.value;var t=_.value;if(l&&"single"===t.msgMode&&(p.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(V.hasCellRules(i,l,t))return V.validCellRules(i,l,t).then(()=>{"row"===u.mode&&w.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},V.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=m.height,{tableData:t,validStore:r,validErrorMaps:i}=p,{rule:a,row:u,column:n,cell:s}=e,o=_.value,d=g.value,c=a.content;return r.visible=!0,"single"===o.msgMode?p.validErrorMaps={[(0,_util.getRowid)(h,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}:p.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(h,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}),h.dispatchEvent("valid-error",e,null),d&&("tooltip"===o.message||"default"===o.message&&!l&&t.length<2)?d.open(s,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},w),V)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,l){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(l))}function validMaxValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l>_xeUtils.default.toNumber(e))}function validMinValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l<_xeUtils.default.toNumber(e))}function validRuleValue(e,l,t){var{type:e,min:r,max:i,pattern:a}=e,u="array"===e,n="number"===e,e="string"===e,s=""+l;if(!validREValue(a,s))return!1;if(u){if(!_xeUtils.default.isArray(l))return!1;if(t&&!l.length)return!1;if(!validMinValue(r,l.length))return!1;if(!validMaxValue(i,l.length))return!1}else if(n){a=Number(l);if(isNaN(a))return!1;if(!validMinValue(r,a))return!1;if(!validMaxValue(i,a))return!1}else{if(e&&!_xeUtils.default.isString(l))return!1;if(t&&!s)return!1;if(!validMinValue(r,s.length))return!1;if(!validMaxValue(i,s.length))return!1}return!0}function checkRuleStatus(e,l){var t=e.required,r=_xeUtils.default.isArray(l)?!l.length:(0,_utils.eqEmptyValue)(l);if(t){if(r)return!1;if(!validRuleValue(e,l,t))return!1}else if(!r&&!validRuleValue(e,l,t))return!1;return!0}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){let{props:x,reactData:_,internalData:R}=p,g=p.getRefMaps().refValidTooltip,{computeValidOpts:w,computeTreeOpts:V,computeEditOpts:r,computeAggregateOpts:M}=p.getComputeMaps(),U={},E={},b,t=(e,t,u,a)=>{let n={},{editRules:s,treeConfig:r}=x;var i=_.isRowGroupStatus;let{afterFullData:l,pendingRowMaps:o,removeRowMaps:d}=R;var c=V.value,g=M.value;let f=w.value,v,h=(!0===e?v=l:e&&(_xeUtils.default.isFunction(e)?u=e:v=_xeUtils.default.isArray(e)?e:[e]),v=v||(p.getInsertRecords?p.getInsertRecords().concat(p.getUpdateRecords()):[]),[]),m=(R._lastCallTime=Date.now(),b=!1,U.clearValidate(),{});if(s){let l=t&&t.length?t:p.getColumns();e=i=>{var e=(0,_util.getRowid)(p,i);if(!d[e]&&!o[e]&&!p.isAggregateRecord(i)&&(a||!b)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&b||!_xeUtils.default.has(s,r)||e.push(E.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:p.getRowIndex(i),row:i,columnIndex:p.getColumnIndex(t),column:t,field:r,$table:p};if(n[r]||(n[r]=[]),m[(0,_util.getRowid)(p,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},n[r].push(l),!a)return b=!0,Promise.reject(l)}))}),h.push(Promise.all(e))}};return i?_xeUtils.default.eachTree(v,e,{children:g.mapChildrenField}):r?(t=c.children||c.childrenField,_xeUtils.default.eachTree(v,e,{children:t})):v.forEach(e),Promise.all(h).then(()=>{let e=Object.keys(n);var l,t,r;return _.validErrorMaps=(l=m,"single"===w.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(n[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(n),e()):("obsolete"===getConfig().validToReject?l:e)(n)})};var r,i=()=>{var l;a.cell=p.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===w.value.autoPos?(p.dispatchEvent("valid-error",l,null),e()):p.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(E.showValidTooltip(l))})}).then(t)};!1===f.autoPos?t():(r=a.row,p.scrollToRow(r,a.column).then(i))}))}return _.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})};return U={fullValidate(e,l){return _xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=_.validErrorMaps,t=g.value,i=w.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)_.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(p,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(p,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}_.validErrorMaps=u}return(0,_vue.nextTick)()}},E={validCellRules(e,s,o,l){let d=p.xeGrid;var t=x.editRules,r=o.field;let c=[],g=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let u=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(s,r):l;n.forEach(l=>{let{trigger:t,validator:r}=l;if("all"===e||!t||e===t)if(r){var i,a={cellValue:u,rule:l,rules:n,row:s,rowIndex:p.getRowIndex(s),column:o,columnIndex:p.getColumnIndex(o),field:o.field,$table:p,$grid:d};let e;_xeUtils.default.isString(r)?(i=validators.get(r))&&(i=i.tableCellValidatorMethod||i.cellValidatorMethod)?e=i(a):(0,_log.errLog)("vxe.error.notValidators",[r]):e=r(a),e&&(_xeUtils.default.isError(e)?(b=!0,c.push(new Rule({type:"custom",trigger:t,content:e.message,rule:new Rule(l)}))):e.catch&&g.push(e.catch(e=>{b=!0,c.push(new Rule({type:"custom",trigger:t,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else checkRuleStatus(l,u)||(b=!0,c.push(new Rule(l)))})}}return Promise.all(g).then(()=>{var e;if(c.length)return e={rules:c,rule:c[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=x.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=x,a=_.editStore,a=a.actived;let u=r.value;var t=w.value;if(l&&"single"===t.msgMode&&(_.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(E.hasCellRules(i,l,t))return E.validCellRules(i,l,t).then(()=>{"row"===u.mode&&U.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},E.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=x.height,{tableData:t,validStore:r,validErrorMaps:i}=_,{rule:a,row:u,column:n,cell:s}=e,o=w.value,d=g.value,c=a.content;return r.visible=!0,"single"===o.msgMode?_.validErrorMaps={[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}:_.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}),p.dispatchEvent("valid-error",e,null),d&&("tooltip"===o.message||"default"===o.message&&!l&&t.length<2)?d.open(s,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},U),E)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
@@ -328,6 +328,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
328
328
  $xeTable.triggerCellDblclickEvent(evnt, cellParams);
329
329
  };
330
330
  let isMergeCell = false;
331
+ let mergeRowspan = 1;
331
332
  // 合并行或列
332
333
  if (mergeBodyFlag && mergeBodyList.length) {
333
334
  const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
@@ -341,6 +342,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
341
342
  }
342
343
  if (rowspan > 1) {
343
344
  isMergeCell = true;
345
+ mergeRowspan = rowspan;
344
346
  tdAttrs.rowspan = rowspan;
345
347
  }
346
348
  if (colspan > 1) {
@@ -358,9 +360,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
358
360
  return null;
359
361
  }
360
362
  if (rowspan > 1) {
363
+ isMergeCell = true;
364
+ mergeRowspan = rowspan;
361
365
  tdAttrs.rowspan = rowspan;
362
366
  }
363
367
  if (colspan > 1) {
368
+ isMergeCell = true;
364
369
  tdAttrs.colspan = colspan;
365
370
  }
366
371
  }
@@ -375,7 +380,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
375
380
  isDirty = $xeTable.isUpdateByRow(row, column.field);
376
381
  }
377
382
  const isVNAutoHeight = scrollYLoad && !hasEllipsis;
378
- const cellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
383
+ let cellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
379
384
  const isLastColumn = $columnIndex === columns.length - 1;
380
385
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
381
386
  let isVNPreEmptyStatus = false;
@@ -388,6 +393,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
388
393
  }
389
394
  }
390
395
  }
396
+ if (mergeRowspan > 1) {
397
+ const mEndRow = afterFullData[_rowIndex + mergeRowspan - 1];
398
+ if (mEndRow) {
399
+ const meRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, mEndRow)];
400
+ if (meRowRest) {
401
+ cellHeight += meRowRest.oTop - rowRest.oTop + (0, _util.getCellRestHeight)(meRowRest, cellOpts, rowOpts, defaultRowHeight);
402
+ }
403
+ }
404
+ }
391
405
  const tcStyle = {};
392
406
  if (hasEllipsis && resizeWidthFlag) {
393
407
  let tsColspan = tdAttrs.colspan || 0;
@@ -419,7 +433,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
419
433
  }));
420
434
  } else {
421
435
  // 渲染单元格
422
- tdVNs.push(...renderLine(rowid, cellParams, cellHeight), (0, _vue.h)('div', {
436
+ if (treeConfig) {
437
+ tdVNs.push(...renderLine(rowid, cellParams, cellHeight));
438
+ }
439
+ tdVNs.push((0, _vue.h)('div', {
423
440
  key: 'tc',
424
441
  class: ['vxe-cell', {
425
442
  'c--title': showTitle,
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Ge=(0,_vue.inject)("$xeTable",{}),{xID:z,props:We,context:$,reactData:Pe,internalData:Ve}=Ge,{computeEditOpts:Xe,computeMouseOpts:Ke,computeCellOffsetWidth:Ye,computeAreaOpts:Je,computeDefaultRowHeight:Qe,computeEmptyOpts:A,computeTooltipOpts:Ze,computeRadioOpts:e,computeExpandOpts:oe,computeTreeOpts:p,computeCheckboxOpts:el,computeCellOpts:ll,computeValidOpts:tl,computeRowOpts:al,computeColumnOpts:rl,computeRowDragOpts:ol,computeColumnDragOpts:l,computeResizableOpts:il,computeVirtualXOpts:sl,computeVirtualYOpts:dl}=Ge.getComputeMaps(),q=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),nl=()=>{var e=We.delayHover,{lastScrollTime:l,isDragResize:t}=Pe;return!!(t||l&&Date.now()<l+e)},ul=(e,l,t)=>{var{row:a,column:r}=l,o=Ve.afterFullData,i=We.treeConfig,s=p.value,{slots:r,treeNode:n}=r,d=Ve.fullAllDataRowIdData;if(r&&r.line)return Ge.callSlot(r.line,l);r=d[e];let u=0,c=null;return r&&(u=r.level,c=r.items[r.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ge.eqRow(o[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ge):0)+16+"px"}})])]:[]},se=(q,e,l,F,H,t,a,U,r,o,L,j,i)=>{var s=Ge.xeGrid,{columnKey:N,resizable:n,showOverflow:d,border:B,height:u,treeConfig:G,cellClassName:W,cellStyle:P,align:V,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=We,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:x,mergeBodyFlag:le,calcCellHeightFlag:h,resizeHeightFlag:m,resizeWidthFlag:te,editStore:ae,isAllOverflow:re,validErrorMaps:w}=Pe,{fullAllDataRowIdData:f,fullColumnIdData:_,mergeBodyCellMaps:oe,visibleColumn:ie,afterFullData:se,mergeBodyList:ne,scrollXStore:de,scrollYStore:ue}=Ve,ce=ll.value,b=tl.value,pe=el.value,ve=Xe.value,y=Ze.value,ge=il.value,xe=sl.value,he=dl.value,{isAllColumnDrag:ge,isAllRowDrag:me}=ge,C=al.value,D=ol.value,we=Qe.value,h=h?ce.height||C.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:_e}=D,be=rl.value,ye=Ke.value,Ce=Je.value,De=Ye.value,Ce=Ce.selectCellToRow,{type:Re,cellRender:Ee,editRender:Oe,align:Ie,showOverflow:Se,className:Me,treeNode:ke,rowResize:Te,padding:E,verticalAlign:O,slots:ze}=o,I=ce.verticalAlign,ae=ae.actived,f=f[e]||{},S=o.id,_=_[S]||{},M=Oe||Ee,M=M?renderer.get(M.name):null,$e=M?M.tableCellClassName||M.cellClassName:null,Ae=M?M.tableCellStyle||M.cellStyle:"";let qe=y.showAll;var Fe=_.index,y=_._index,_=(0,_utils.isEnableConf)(Oe),m=m?f.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===v?ce.padding:v:E,v=_xeUtils.default.eqNull(Se)?d:Se,E="ellipsis"===v;let T="title"===v,z=!0===v||"tooltip"===v;d=re||T||z||E,Se=_xeUtils.default.isBoolean(o.resizable)?o.resizable:be.resizable||n,v=!!h,n=0<m;let He;h={},m=Ie||(M?M.tableCellAlign:"")||V,Ie=_xeUtils.default.eqNull(O)?I:O,M=w[e+":"+S],V=c&&b.showMessage&&("default"===b.message?u||1<g.length:"inline"===b.message),I={colid:S};let $={$table:Ge,$grid:s,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:a,$rowIndex:U,_rowIndex:r,column:o,columnIndex:Fe,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:H,visibleData:se,data:g,items:i},A=!1,Ue=!1,Le=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(Ue=!(!R||!R($))),(T||z||qe||p)&&(h.onMouseenter=e=>{nl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||qe)&&Ge.triggerBodyTooltipEvent(e,$),Ge.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(z||qe||p)&&(h.onMouseleave=e=>{nl()||((z||qe)&&Ge.handleTargetLeaveEvent(e),Ge.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(A||pe.range||K)&&(h.onMousedown=e=>{Ge.triggerCellMousedownEvent(e,$)}),A&&(h.onMouseup=Ge.triggerCellMouseupEvent),h.onClick=e=>{Ge.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Ge.triggerCellDblclickEvent(e,$)}));if(le&&ne.length){O=oe[r+":"+y];if(O){var{rowspan:w,colspan:c}=O;if(!w||!c)return null;1<w&&(Le=!0,I.rowspan=w),1<c&&(Le=!0,I.colspan=c)}}else if(X){var{rowspan:u=1,colspan:s=1}=X($)||{};if(!u||!s)return null;1<u&&(I.rowspan=u),1<s&&(I.colspan=s)}!(k=k&&Le&&(1<I.colspan||1<I.rowspan)?!1:k)&&Y&&(Oe||Ee)&&(ve.showStatus||ve.showUpdateStatus)&&(He=Ge.isUpdateByRow(t,o.field));q=x&&!d,a=f.resizeHeight||ce.height||C.height||f.height||we,U=L===j.length-1,se=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let je=!1;Le||J&&(0,_util.getRowid)(Ge,J)===e||(x&&!G&&!he.immediate&&(r<ue.visibleStartIndex-ue.preloadSize||r>ue.visibleEndIndex+ue.preloadSize)||ee&&!xe.immediate&&!o.fixed&&(y<de.visibleStartIndex-de.preloadSize||y>de.visibleEndIndex+de.preloadSize))&&(je=!0);g={};if(d&&te){let l=I.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=ie[Fe+e];Ne&&(l+=Ne.renderWidth)}g.width=o.renderWidth-De*l+"px"}x||d||v||n?g.height=a+"px":g.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g})):(i.push(...ul(e,$,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g,title:T?Ge.getCellLabel(t,o):null},je?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell($))])),V&&M&&(D=M.rule,R=ze?ze.valid:null,p=Object.assign(Object.assign(Object.assign({},$),M),{rule:M}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,p)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?Ge.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},M.content)]])]))));let Be=!1;return K&&ye.area&&Ce&&((y||!0!==Ce)&&Ce!==o.field||(Be=!0)),!k&&Se&&ge&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!B||"none"===B}],onMousedown:e=>Ge.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Ge.handleColResizeDblclickEvent(e,$)})),(Te||me)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ge.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Ge.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ie?"col--vertical-"+Ie:"",m?"col--"+m:"",Re?"col--"+Re:"",{"col--last":U,"col--tree-node":ke,"col--edit":_,"col--ellipsis":d,"col--cs-height":v,"col--rs-height":n,"col--to-row":Be,"col--auto-height":q,"fixed--width":!se,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||je,"is--drag-cell":A&&(fe||_e||!H),"is--drag-disabled":Ue,"col--dirty":He,"col--active":Y&&_&&ae.row===t&&(ae.column===o||"row"===ve.mode),"col--valid-error":!!M,"col--current":Z===o},(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(Me,$),(0,_dom.getPropClass)(W,$)],key:N||ee||x||be.useKey||C.useKey||be.drag?S:L},I),{style:Object.assign({},_xeUtils.default.isFunction(Ae)?Ae($):Ae,_xeUtils.default.isFunction(P)?P($):P)}),h),F&&k?[]:i)},ie=(h,m,w,f)=>{let _=Ge.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=We,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:k,scrollYLoad:T,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,isDragColMove:H,rowExpandHeightFlag:U,isRowGroupStatus:L}=Pe,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ve,Q=el.value,Z=e.value,P=p.value,V=Xe.value,X=al.value,K=rl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ge).handleGetRowId,re=O||L;return w.forEach((a,r)=>{let o=ae(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{nl()||Ge.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{nl()||Ge.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ge,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=A&&!!$&&!!W[o];let e=!1,l=[],t=!1;E&&(t=Ge.isInsertByRow(a)),!O||T||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[o]),!X.drag||L||O&&!Y||(p.onDragstart=Ge.handleRowDragDragstartEvent,p.onDragend=Ge.handleRowDragDragendEvent,p.onDragover=Ge.handleRowDragDragoverEvent);c=["vxe-body--row",re?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ge.eqRow(q,a),"row--checked":Q.highlight&&Ge.isCheckedByCheckboxRow(a),"row--pending":!!F&&!!G[o],"row--group":c},(0,_dom.getPropClass)(D,v)];let x=f.map((e,l)=>se(d,o,h,m,n,a,s,r,u,e,l,f,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(H?"":"-disabled"),tag:"tr",class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=oe.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:f.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:_,$table:Ge,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:f.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,f))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=F,l[e+"table"]=H,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ge.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=We,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:f}=Pe,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:y}=Ve,C=al.value,D=A.value,R=Ke.value,E=ol.value,O=oe.value;let I=d,S=r,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||o||i||(M=!0),c||!a&&p||(S=_),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ge,w)])&&(x=d._index,m=I[0],O=I[I.length-1],o=b[(0,_util.getRowid)(Ge,m)],i=b[(0,_util.getRowid)(Ge,O)],o)&&i&&(p=o._index,_=i._index,x<p?I=[w].concat(I):_<x&&(I=I.concat([w]))),a||n||v&&f&&2<S.length&&(g=y[f.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],o=y[b.id],O)&&o&&(i=O._index,p=o._index,d<i?S=[f].concat(S):p<d&&(S=S.concat([f])));let k;_=e?e.empty:null,k=_?Ge.callSlot(_,{$table:Ge,$grid:l}):(w=(x=D.name?renderer.get(D.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(D,{$table:Ge})):We.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ge.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:F,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ge):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:H,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ge.triggerCellAreaExtendMousedownEvent&&Ge.triggerCellAreaExtendMousedownEvent(e,{$table:Ge,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ge),a?renderEmptyElement(Ge):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(k){let Ve=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Xe,context:$,reactData:Ke,internalData:Ye}=Ve,{computeEditOpts:Je,computeMouseOpts:Qe,computeCellOffsetWidth:Ze,computeAreaOpts:el,computeDefaultRowHeight:ll,computeEmptyOpts:A,computeTooltipOpts:tl,computeRadioOpts:e,computeExpandOpts:re,computeTreeOpts:p,computeCheckboxOpts:al,computeCellOpts:ol,computeValidOpts:rl,computeRowOpts:il,computeColumnOpts:sl,computeRowDragOpts:nl,computeColumnDragOpts:l,computeResizableOpts:dl,computeVirtualXOpts:ul,computeVirtualYOpts:pl}=Ve.getComputeMaps(),q=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),cl=()=>{var e=Xe.delayHover,{lastScrollTime:l,isDragResize:t}=Ke;return!!(t||l&&Date.now()<l+e)},vl=(e,l,t)=>{var{row:a,column:o}=l,r=Ye.afterFullData,i=Xe.treeConfig,s=p.value,{slots:o,treeNode:n}=o,d=Ye.fullAllDataRowIdData;if(o&&o.line)return Ve.callSlot(o.line,l);o=d[e];let u=0,c=null;return o&&(u=o.level,c=o.items[o.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ve.eqRow(r[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ve):0)+16+"px"}})])]:[]},se=(q,e,l,H,F,t,U,L,a,o,j,N,r)=>{var i=Ve.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:G,height:d,treeConfig:W,cellClassName:P,cellStyle:V,align:X,spanMethod:K,mouseConfig:Y,editConfig:J,editRules:u,tooltipConfig:c,padding:p}=Xe,{tableData:v,dragRow:Q,overflowX:Z,currentColumn:ee,scrollXLoad:le,scrollYLoad:g,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:oe,isAllOverflow:re,validErrorMaps:m}=Ke,{fullAllDataRowIdData:ie,fullColumnIdData:w,mergeBodyCellMaps:se,visibleColumn:ne,afterFullData:de,mergeBodyList:ue,scrollXStore:ce,scrollYStore:pe}=Ye,_=ol.value,f=rl.value,ve=al.value,ge=Je.value,b=tl.value,xe=dl.value,he=ul.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=il.value,C=nl.value,_e=ll.value,x=x?_.height||y.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:be}=C,ye=sl.value,Ce=Qe.value,Re=el.value,De=Ze.value,Re=Re.selectCellToRow,{type:Ee,cellRender:Oe,editRender:Ie,align:Se,showOverflow:Me,className:Te,treeNode:ke,rowResize:ze,padding:D,verticalAlign:E,slots:$e}=o,O=_.verticalAlign,oe=oe.actived,Ae=ie[e]||{},I=o.id,w=w[I]||{},S=Ie||Oe,S=S?renderer.get(S.name):null,qe=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var Ue=w.index,b=w._index,w=(0,_utils.isEnableConf)(Ie),h=h?Ae.resizeHeight:0;let M=l?o.fixed!==l:o.fixed&&Z;Z=_xeUtils.default.eqNull(D)?null===p?_.padding:p:D,p=_xeUtils.default.eqNull(Me)?n:Me,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;n=re||T||k||D,Me=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,p=!!x,s=0<h;let Le;x={},h=Se||(S?S.tableCellAlign:"")||X,Se=_xeUtils.default.eqNull(E)?O:E,S=m[e+":"+I],X=u&&f.showMessage&&("default"===f.message?d||1<v.length:"inline"===f.message),O={colid:I};let z={$table:Ve,$grid:i,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:U,$rowIndex:L,_rowIndex:a,column:o,columnIndex:Ue,$columnIndex:j,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:de,data:v,items:r},$=!1,je=!1,A=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(je=!(!R||!R(z))),(T||k||Fe||c)&&(x.onMouseenter=e=>{cl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Ve.triggerBodyTooltipEvent(e,z),Ve.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||c)&&(x.onMouseleave=e=>{cl()||((k||Fe)&&Ve.handleTargetLeaveEvent(e),Ve.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||ve.range||Y)&&(x.onMousedown=e=>{Ve.triggerCellMousedownEvent(e,z)}),$&&(x.onMouseup=Ve.triggerCellMouseupEvent),x.onClick=e=>{Ve.triggerCellClickEvent(e,z)},!(x.onDblclick=e=>{Ve.triggerCellDblclickEvent(e,z)})),Ne=1;if(te&&ue.length){E=se[a+":"+b];if(E){var{rowspan:m,colspan:u}=E;if(!m||!u)return null;1<m&&(A=!0,Ne=m,O.rowspan=m),1<u&&(A=!0,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K(z)||{};if(!d||!i)return null;1<d&&(A=!0,Ne=d,O.rowspan=d),1<i&&(A=!0,O.colspan=i)}!(M=M&&A&&(1<O.colspan||1<O.rowspan)?!1:M)&&J&&(Ie||Oe)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Ve.isUpdateByRow(t,o.field));q=g&&!n;let Be=(0,_util.getCellRestHeight)(Ae,_,y,_e);U=j===N.length-1,L=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ge=!1;A||Q&&(0,_util.getRowid)(Ve,Q)===e||(g&&!W&&!me.immediate&&(a<pe.visibleStartIndex-pe.preloadSize||a>pe.visibleEndIndex+pe.preloadSize)||le&&!he.immediate&&!o.fixed&&(b<ce.visibleStartIndex-ce.preloadSize||b>ce.visibleEndIndex+ce.preloadSize))&&(Ge=!0),1<Ne&&(v=de[a+Ne-1])&&(r=ie[(0,_util.getRowid)(Ve,v)])&&(Be+=r.oTop-Ae.oTop+(0,_util.getCellRestHeight)(r,_,y,_e));C={};if(n&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var We=ne[Ue+e];We&&(l+=We.renderWidth)}C.width=o.renderWidth-De*l+"px"}g||n||p||s?C.height=Be+"px":C.minHeight=Be+"px";R=[];M&&re?R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C})):(W&&R.push(...vl(e,z,Be)),R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C,title:T?Ve.getCellLabel(t,o):null},Ge?[]:[(0,_vue.h)("div",{colid:I,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(z))])),X&&S&&(c=S.rule,ve=$e?$e.valid:null,te=Object.assign(Object.assign(Object.assign({},z),S),{rule:S}),R.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,te)],style:c&&c.maxWidth?{width:c.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[ve?Ve.callSlot(ve,te):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let Pe=!1;return Y&&Ce.area&&Re&&((b||!0!==Re)&&Re!==o.field||(Pe=!0)),!M&&Me&&xe&&R.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!G||"none"===G}],onMousedown:e=>Ve.handleColResizeMousedownEvent(e,l,z),onDblclick:e=>Ve.handleColResizeDblclickEvent(e,z)})),(ze||we)&&y.resizable&&R.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ve.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Ve.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",I,Se?"col--vertical-"+Se:"",h?"col--"+h:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":ke,"col--edit":w,"col--ellipsis":n,"col--cs-height":p,"col--rs-height":s,"col--to-row":Pe,"col--auto-height":q,"fixed--width":!L,"fixed--hidden":M,"is--padding":Z,"is--progress":M&&re||Ge,"is--drag-cell":$&&(fe||be||!F),"is--drag-disabled":je,"col--dirty":Le,"col--active":J&&w&&oe.row===t&&(oe.column===o||"row"===ge.mode),"col--valid-error":!!S,"col--current":ee===o},(0,_dom.getPropClass)(qe,z),(0,_dom.getPropClass)(Te,z),(0,_dom.getPropClass)(P,z)],key:B||le||g||ye.useKey||y.useKey||ye.drag?I:j},O),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(V)?V(z):V)}),x),H&&M?[]:R)},ie=(h,m,w,_)=>{let f=Ve.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:R,rowStyle:D,editConfig:E,treeConfig:O}=Xe,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:H,isDragColMove:F,rowExpandHeightFlag:U,isRowGroupStatus:L}=Ke,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ye,Q=al.value,Z=e.value,P=p.value,V=Je.value,X=il.value,K=sl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ve).handleGetRowId,oe=O||L;return w.forEach((a,o)=>{let r=ae(a);var i=j[r]||{};let s=o,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{cl()||Ve.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{cl()||Ve.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ve,seq:d,rowid:r,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:o,_rowIndex:u}),g=A&&!!$&&!!W[r];let e=!1,l=[],t=!1;E&&(t=Ve.isInsertByRow(a)),!O||k||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[r]),!X.drag||L||O&&!Y||(p.onDragstart=Ve.handleRowDragDragstartEvent,p.onDragend=Ve.handleRowDragDragendEvent,p.onDragover=Ve.handleRowDragDragoverEvent);c=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ve.eqRow(q,a),"row--checked":Q.highlight&&Ve.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!G[r],"row--group":c},(0,_dom.getPropClass)(R,v)];let x=_.map((e,l)=>se(d,r,h,m,n,a,s,o,u,e,l,_,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(F?"":"-disabled"),tag:"tr",class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),x)),g){var{height:c,padding:v,mode:p}=re.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:f,$table:Ve,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:r,rowIndex:s,$rowIndex:o,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=H,l[e+"table"]=F,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ve.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:o}=k;var{spanMethod:r,footerSpanMethod:i,mouseConfig:s}=Xe,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:_}=Ke,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ye,C=il.value,R=A.value,D=Qe.value,E=nl.value,O=re.value;let I=d,S=o,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||r||i||(M=!0),c||!a&&p||(S=f),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ve,w)])&&(x=d._index,m=I[0],O=I[I.length-1],r=b[(0,_util.getRowid)(Ve,m)],i=b[(0,_util.getRowid)(Ve,O)],r)&&i&&(p=r._index,f=i._index,x<p?I=[w].concat(I):f<x&&(I=I.concat([w]))),a||n||v&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],r=y[b.id],O)&&r&&(i=O._index,p=r._index,d<i?S=[_].concat(S):p<d&&(S=S.concat([_])));let T;f=e?e.empty:null,T=f?Ve.callSlot(f,{$table:Ve,$grid:l}):(w=(x=R.name?renderer.get(R.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(R,{$table:Ve})):Xe.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ve.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:H,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ve):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&D.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},D.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ve.triggerCellAreaExtendMousedownEvent&&Ve.triggerCellAreaExtendMousedownEvent(e,{$table:Ve,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ve),a?renderEmptyElement(Ve):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},T)])])])}}});
@@ -347,15 +347,15 @@ function renderCellHandle(params) {
347
347
  const {
348
348
  computeEditOpts,
349
349
  computeCheckboxOpts,
350
- computeRowGroupOpts
350
+ computeAggregateOpts
351
351
  } = $table.getComputeMaps();
352
- const rowGroupOpts = computeRowGroupOpts.value;
352
+ const aggregateOpts = computeAggregateOpts.value;
353
353
  const {
354
354
  mode
355
- } = rowGroupOpts;
355
+ } = aggregateOpts;
356
356
  const checkboxOpts = computeCheckboxOpts.value;
357
357
  const editOpts = computeEditOpts.value;
358
- const isDeepCell = treeNode || isRowGroupStatus && row.isAggregate && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
358
+ const isDeepCell = treeNode || isRowGroupStatus && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
359
359
  switch (type) {
360
360
  case 'seq':
361
361
  return isDeepCell ? Cell.renderDeepIndexCell(params) : Cell.renderSeqCell(params);
@@ -482,7 +482,8 @@ const Cell = exports.Cell = {
482
482
  slots,
483
483
  editRender,
484
484
  cellRender,
485
- rowGroupNode
485
+ rowGroupNode,
486
+ aggFunc
486
487
  } = column;
487
488
  const renderOpts = editRender || cellRender;
488
489
  const defaultSlot = slots ? slots.default : null;
@@ -503,51 +504,61 @@ const Cell = exports.Cell = {
503
504
  }
504
505
  }
505
506
  let cellValue = '';
506
- if (isRowGroupStatus && row.isAggregate) {
507
+ if (isRowGroupStatus && field && row.isAggregate) {
508
+ const aggRow = row;
507
509
  const {
508
510
  fullColumnFieldData
509
511
  } = tableInternalData;
510
512
  const {
511
- computeRowGroupOpts
513
+ computeAggregateOpts
512
514
  } = $table.getComputeMaps();
513
- const rowGroupOpts = computeRowGroupOpts.value;
515
+ const aggregateOpts = computeAggregateOpts.value;
514
516
  const {
515
517
  mode,
516
518
  showTotal,
517
519
  totalMethod,
518
520
  countFields,
519
- countMethod,
520
521
  contentMethod,
521
522
  mapChildrenField
522
- } = rowGroupOpts;
523
- const groupField = row.groupField;
524
- const groupContent = row.groupContent;
525
- const childList = mapChildrenField ? row[mapChildrenField] || [] : [];
526
- const totalValue = row.childCount;
523
+ } = aggregateOpts;
524
+ const aggMethod = aggregateOpts.aggregateMethod || aggregateOpts.countMethod;
525
+ const groupField = aggRow.groupField;
526
+ const groupContent = aggRow.groupContent;
527
+ const childList = mapChildrenField ? aggRow[mapChildrenField] || [] : [];
528
+ const childCount = aggRow.childCount;
527
529
  const colRest = fullColumnFieldData[groupField] || {};
528
- const params = {
530
+ const ctParams = {
529
531
  $table,
530
532
  groupField,
531
533
  groupColumn: colRest ? colRest.column : null,
532
534
  column,
533
535
  groupValue: groupContent,
534
536
  children: childList,
535
- totalValue: totalValue
537
+ childCount,
538
+ aggValue: null,
539
+ /**
540
+ * 已废弃
541
+ * @deprecated
542
+ */
543
+ totalValue: childCount
536
544
  };
537
- if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
545
+ if (mode === 'column' ? field === aggRow.groupField : rowGroupNode) {
538
546
  cellValue = groupContent;
539
547
  if (contentMethod) {
540
- cellValue = `${contentMethod(params)}`;
548
+ cellValue = `${contentMethod(ctParams)}`;
541
549
  }
542
550
  if (showTotal) {
543
- cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
551
+ cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(ctParams) : childCount, childCount]);
544
552
  }
545
- } else if (countFields && countFields.includes(field)) {
546
- if (countMethod) {
547
- cellValue = `${countMethod(params)}`;
553
+ } else if ($table.getPivotTableAggregateCellAggValue) {
554
+ cellValue = $table.getPivotTableAggregateCellAggValue(params);
555
+ } else if (aggFunc === true || countFields && countFields.includes(field)) {
556
+ if (aggMethod) {
557
+ ctParams.aggValue = childCount;
558
+ cellValue = `${aggMethod(ctParams)}`;
548
559
  }
549
560
  }
550
- } else if (!(isRowGroupStatus && row.isAggregate)) {
561
+ } else {
551
562
  cellValue = $table.getCellLabel(row, column);
552
563
  }
553
564
  const cellPlaceholder = editRender ? editRender.placeholder : '';
@@ -579,7 +590,7 @@ const Cell = exports.Cell = {
579
590
  level
580
591
  } = params;
581
592
  const {
582
- computeRowGroupOpts
593
+ computeAggregateOpts
583
594
  } = $table.getComputeMaps();
584
595
  const {
585
596
  rowGroupExpandedFlag
@@ -587,11 +598,11 @@ const Cell = exports.Cell = {
587
598
  const {
588
599
  rowGroupExpandedMaps
589
600
  } = tableInternalData;
590
- const rowGroupOpts = computeRowGroupOpts.value;
601
+ const aggregateOpts = computeAggregateOpts.value;
591
602
  const {
592
603
  padding,
593
604
  indent
594
- } = rowGroupOpts;
605
+ } = aggregateOpts;
595
606
  const rowid = (0, _util.getRowid)($table, row);
596
607
  const isExpand = !!rowGroupExpandedFlag && !!rowGroupExpandedMaps[rowid];
597
608
  return (0, _vue.h)('div', {
@@ -601,14 +612,14 @@ const Cell = exports.Cell = {
601
612
  style: padding && indent ? {
602
613
  paddingLeft: `${level * indent}px`
603
614
  } : undefined
604
- }, [(0, _vue.h)('span', {
615
+ }, [row.isAggregate ? (0, _vue.h)('span', {
605
616
  class: 'vxe-row-group--node-btn',
606
617
  onClick(evnt) {
607
618
  $table.triggerRowGroupExpandEvent(evnt, params);
608
619
  }
609
620
  }, [(0, _vue.h)('i', {
610
621
  class: isExpand ? getIcon().TABLE_ROW_GROUP_OPEN : getIcon().TABLE_ROW_GROUP_CLOSE
611
- })]), (0, _vue.h)('div', {
622
+ })]) : renderEmptyElement($table), (0, _vue.h)('div', {
612
623
  class: 'vxe-row-group-cell'
613
624
  }, cellVNodes)]);
614
625
  },
@@ -708,14 +719,18 @@ const Cell = exports.Cell = {
708
719
  const {
709
720
  rowGroupNode
710
721
  } = column;
711
- if (row.isAggregate) {
722
+ const tableReactData = $table.reactData;
723
+ const {
724
+ rowGroupList
725
+ } = tableReactData;
726
+ if (rowGroupList.length) {
712
727
  const {
713
- computeRowGroupOpts
728
+ computeAggregateOpts
714
729
  } = $table.getComputeMaps();
715
- const rowGroupOpts = computeRowGroupOpts.value;
730
+ const aggregateOpts = computeAggregateOpts.value;
716
731
  const {
717
732
  mode
718
- } = rowGroupOpts;
733
+ } = aggregateOpts;
719
734
  if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
720
735
  return [Cell.renderRowGroupBtn(params, cellVNodes)];
721
736
  }
@@ -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:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.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)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),p=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&p.push(renderCellDragIcon(e)),p.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:p}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=p&&p(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(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:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=r;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,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.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:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeRowGroupOpts:u}=r.getComputeMaps(),u=u.value.mode,p=c.value,c=r.value,C=d||a&&t.isAggregate&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return C?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return C?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return p.checkField?C?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):C?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return C?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?C?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):C?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):C?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,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(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.reactData,a=l.internalData,n=n.isRowGroupStatus,{field:o,slots:d,editRender:s,cellRender:i,rowGroupNode:c}=r,i=s||i,d=d?d.default:null;if(d)return renderCellBaseVNs(e,l.callSlot(d,e));if(i){d=renderer.get(i.name);if(d){var u=d.renderTableCell||d.renderCell,d=d.renderTableDefault||d.renderDefault,u=s?u:d;if(u)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(u(i,Object.assign({$type:s?"edit":"cell"},e))))}}let p="";if(n&&t.isAggregate){var d=a.fullColumnFieldData,u=l.getComputeMaps().computeRowGroupOpts,{mode:i,showTotal:a,totalMethod:u,countFields:C,countMethod:v,contentMethod:g,mapChildrenField:h}=u.value,_=t.groupField,b=t.groupContent,h=h&&t[h]||[],E=t.childCount,d=d[_]||{};let e={$table:l,groupField:_,groupColumn:d?d.column:null,column:r,groupValue:b,children:h,totalValue:E};("column"===i?r.field===t.groupField:c)?(p=b,g&&(p=""+g(e)),a&&(p=getI18n("vxe.table.rowGroupContentTotal",[p,u?u(e):E,E]))):C&&C.includes(o)&&v&&(p=""+v(e))}else n&&t.isAggregate||(p=l.getCellLabel(t,r));_=s?s.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[s&&(0,_utils.eqEmptyValue)(p)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(_),1)):(0,_vue.h)("span",(0,_utils.formatText)(p,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeRowGroupOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,a=(0,_util.getRowid)(t,a),r=!!r&&!!n[a];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:p,lazy:C,trigger:v,iconLoaded:g,showIcon:h,iconOpen:_,iconClose:b}=d,E=d.children||d.childrenField,d=d.hasChild||d.hasChildField,E=o[E],E=E&&E.length;let m=!1,x=!1,f=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],C&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),v&&"default"!==v||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&p?{paddingLeft:s*p+"px"}:void 0},[h&&(!C||D?E:E||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:f?g||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode;if(r.isAggregate){t=t.getComputeMaps().computeRowGroupOpts,t=t.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.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=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),p=!!d,C;r||(C={onClick(e){!p&&u&&t.triggerRadioRowEvent(e,l)}},d&&(p=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:p,visible:u});return o?renderCellBaseVNs(l,t.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?t.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":p}]},C),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,p=t.getTitle(),C={},v=(r||(C.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(v,a?l.callSlot(a,v):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},C),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||p?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,v):p)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,v):p)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:p}=c.value,C=r.slots,v=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,_=!p||p({$table:t,row:e}),b=!!u;var E,p={},o=(!n&&(E=(0,_util.getRowid)(t,e),h=!!o&&!!s[E],p.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({$table:t,row:e})),a||d)&&(g=!!i[E]),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:g}));return C?renderCellBaseVNs(l,t.callSlot(C,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":g,"is--hidden":!_}]},p),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:p,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,v=r.slots,g=v?v.default:null,v=v?v.checkbox:null;let h=!1,_=!1,b=!C||C({$table:t,row:e}),E=!!p;var m,C={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),C.onClick=e=>{!E&&b&&t.triggerCheckRowEvent(e,l,!_)},p&&(E=!p({$table:t,row:e})),a||d)&&(h=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:E,visible:b,indeterminate:h}));return v?renderCellBaseVNs(l,t.callSlot(v,o)):(u=[],b&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),g||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":E,"is--indeterminate":i&&!_?e[i]:h,"is--hidden":!b}]},C),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:p,iconClose:C,visibleMethod:v}=s.value,g=n.slots,h=g?g.default:null,g=g?g.icon:null;let _=!1,b=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):g?renderCellBaseVNs(l,t.callSlot(g,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(b=!!d[a])),renderCellBaseVNs(l,[!u||v&&!v(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",b?c||getIcon().TABLE_EXPAND_LOADED:_?p||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(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:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.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}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class: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:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.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",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.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:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.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)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),p=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&p.push(renderCellDragIcon(e)),p.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:p}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=p&&p(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(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:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=r;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,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.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:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeAggregateOpts:u}=r.getComputeMaps(),u=u.value.mode,p=c.value,c=r.value,C=d||a&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return C?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return C?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return p.checkField?C?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):C?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return C?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?C?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):C?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):C?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,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(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var l,t,r,n,a,o,d,{$table:s,row:i,column:c}=e,u=s.reactData,p=s.internalData,u=u.isRowGroupStatus,{field:C,slots:g,editRender:v,cellRender:h,rowGroupNode:_,aggFunc:b}=c,h=v||h,g=g?g.default:null;if(g)return renderCellBaseVNs(e,s.callSlot(g,e));if(h){g=renderer.get(h.name);if(g){var E=g.renderTableCell||g.renderCell,g=g.renderTableDefault||g.renderDefault,E=v?E:g;if(E)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(E(h,Object.assign({$type:v?"edit":"cell"},e))))}}let m="";u&&C&&i.isAggregate?(g=i,E=p.fullColumnFieldData,h=s.getComputeMaps().computeAggregateOpts,{mode:p,showTotal:h,totalMethod:l,countFields:t,contentMethod:r,mapChildrenField:a}=u=h.value,u=u.aggregateMethod||u.countMethod,d=g.groupField,n=g.groupContent,a=a&&g[a]||[],o=g.childCount,d={$table:s,groupField:d,groupColumn:(E=E[d]||{})?E.column:null,column:c,groupValue:n,children:a,childCount:o,aggValue:null,totalValue:o},("column"===p?C===g.groupField:_)?(m=n,r&&(m=""+r(d)),h&&(m=getI18n("vxe.table.rowGroupContentTotal",[m,l?l(d):o,o]))):s.getPivotTableAggregateCellAggValue?m=s.getPivotTableAggregateCellAggValue(e):(!0===b||t&&t.includes(C))&&u&&(d.aggValue=o,m=""+u(d))):m=s.getCellLabel(i,c);E=v?v.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[v&&(0,_utils.eqEmptyValue)(m)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(E),1)):(0,_vue.h)("span",(0,_utils.formatText)(m,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,i=(0,_util.getRowid)(t,a),r=!!r&&!!n[i];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:p,lazy:C,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:b}=d,E=d.children||d.childrenField,d=d.hasChild||d.hasChildField,E=o[E],E=E&&E.length;let m=!1,x=!1,f=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],C&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&p?{paddingLeft:s*p+"px"}:void 0},[h&&(!C||D?E:E||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:f?v||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.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=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),p=!!d,C;r||(C={onClick(e){!p&&u&&t.triggerRadioRowEvent(e,l)}},d&&(p=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:p,visible:u});return o?renderCellBaseVNs(l,t.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?t.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":p}]},C),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,p=t.getTitle(),C={},g=(r||(C.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},C),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||p?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:p}=c.value,C=r.slots,g=C?C.default:null,C=C?C.checkbox:null;let v=!1,h=!1,_=!p||p({$table:t,row:e}),b=!!u;var E,p={},o=(!n&&(E=(0,_util.getRowid)(t,e),h=!!o&&!!s[E],p.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({$table:t,row:e})),a||d)&&(v=!!i[E]),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:v}));return C?renderCellBaseVNs(l,t.callSlot(C,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":v,"is--hidden":!_}]},p),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:p,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,g=r.slots,v=g?g.default:null,g=g?g.checkbox:null;let h=!1,_=!1,b=!C||C({$table:t,row:e}),E=!!p;var m,C={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),C.onClick=e=>{!E&&b&&t.triggerCheckRowEvent(e,l,!_)},p&&(E=!p({$table:t,row:e})),a||d)&&(h=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:E,visible:b,indeterminate:h}));return g?renderCellBaseVNs(l,t.callSlot(g,o)):(u=[],b&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":E,"is--indeterminate":i&&!_?e[i]:h,"is--hidden":!b}]},C),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:p,iconClose:C,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,b=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(b=!!d[a])),renderCellBaseVNs(l,[!u||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",b?c||getIcon().TABLE_EXPAND_LOADED:_?p||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(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:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.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}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class: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:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.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",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
@@ -128,6 +128,8 @@ const columnProps = exports.columnProps = {
128
128
  editRender: Object,
129
129
  // 内容渲染配置项
130
130
  contentRender: Object,
131
+ // 聚合函数
132
+ aggFunc: [String, Boolean],
131
133
  // 额外的参数
132
134
  params: Object
133
135
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let o=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeColgroup",null);if(!r)return()=>(0,_vue.createCommentVNode)();let n=_cell.default.createColumn(r,e);n.slots=t;var t=()=>(0,_vue.h)("div",{ref:o}),u={columnConfig:n,renderVN:t};return(0,_util.watchColumn)(r,e,n),(0,_vue.onMounted)(()=>{var e=o.value;e&&(0,_util.assembleColumn)(r,e,n,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,n)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let o=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeColgroup",null);if(!r)return()=>(0,_vue.createCommentVNode)();let n=_cell.default.createColumn(r,e);n.slots=t;var t=()=>(0,_vue.h)("div",{ref:o}),u={columnConfig:n,renderVN:t};return(0,_util.watchColumn)(r,e,n),(0,_vue.onMounted)(()=>{var e=o.value;e&&(0,_util.assembleColumn)(r,e,n,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,n)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});