vxe-table 3.12.12 → 3.12.14

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 (57) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/edit/mixin.js +5 -6
  6. package/es/table/module/validator/mixin.js +13 -1
  7. package/es/table/render/index.js +104 -43
  8. package/es/table/src/header.js +4 -2
  9. package/es/table/src/methods.js +35 -28
  10. package/es/table/src/table.js +68 -28
  11. package/es/table/style.css +33 -2
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +5 -3
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +33 -2
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/index.min.css +1 -1
  19. package/lib/index.umd.js +232 -106
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/style.css +1 -1
  22. package/lib/style.min.css +1 -1
  23. package/lib/table/module/edit/mixin.js +5 -6
  24. package/lib/table/module/edit/mixin.min.js +1 -1
  25. package/lib/table/module/validator/mixin.js +18 -4
  26. package/lib/table/module/validator/mixin.min.js +1 -1
  27. package/lib/table/render/index.js +109 -41
  28. package/lib/table/render/index.min.js +1 -1
  29. package/lib/table/src/header.js +4 -2
  30. package/lib/table/src/header.min.js +1 -1
  31. package/lib/table/src/methods.js +46 -40
  32. package/lib/table/src/methods.min.js +1 -1
  33. package/lib/table/src/table.js +44 -9
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/style/style.css +33 -2
  36. package/lib/table/style/style.min.css +1 -1
  37. package/lib/ui/index.js +5 -3
  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/lib/vxe-table/style/style.css +33 -2
  42. package/lib/vxe-table/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/table/module/edit/mixin.ts +5 -6
  45. package/packages/table/module/validator/mixin.ts +15 -2
  46. package/packages/table/render/index.ts +120 -51
  47. package/packages/table/src/header.ts +4 -2
  48. package/packages/table/src/methods.ts +42 -30
  49. package/packages/table/src/table.ts +71 -28
  50. package/packages/ui/index.ts +4 -2
  51. package/styles/components/table.scss +31 -2
  52. /package/es/{iconfont.1739010705633.ttf → iconfont.1739181382716.ttf} +0 -0
  53. /package/es/{iconfont.1739010705633.woff → iconfont.1739181382716.woff} +0 -0
  54. /package/es/{iconfont.1739010705633.woff2 → iconfont.1739181382716.woff2} +0 -0
  55. /package/lib/{iconfont.1739010705633.ttf → iconfont.1739181382716.ttf} +0 -0
  56. /package/lib/{iconfont.1739010705633.woff → iconfont.1739181382716.woff} +0 -0
  57. /package/lib/{iconfont.1739010705633.woff2 → iconfont.1739181382716.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_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,getI18n}=_ui.VxeUI;function insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u,treeOpts:l}=s,{rowField:c,parentField:h,mapChildrenField:g}=l,f=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(n,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[f],t=i[g];_xeUtils.default.isArray(e)||(e=i[f]=[]),_xeUtils.default.isArray(t)||(t=i[f]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0};d[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),n[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,d){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:u,afterFullData:o,tableFullData:s,fullDataRowIdData:c,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:n,rowField:f,mapChildrenField:w}=g,v=g.children||g.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&n?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&n?insertTreeRow(a,m,!1):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};c[t]=l,h[t]=l,o.unshift(e),s.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)i&&n?insertTreeRow(a,m,!0):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};c[t]=l,h[t]=l,o.push(e),s.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+m.length)}));else if(i&&n){let n=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:w});if(n){let i=n.parent,o=i?i[w]:u;t=h[(0,_util.getRowid)(a,i)];let s=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=n.index+t;d&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:s+1,height:0,resizeHeight:0,oTop:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:v});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,m,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=d?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...m);t=a.findRowIndexOf(s,l);-1<t?s.splice(t+(d?1:0),0,...m):s.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}let _=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);_[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&n),i&&n||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:s,rowField:n,parentField:a}=e.computeTreeOpts;return o&&s?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[n]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let t=this;var l=t,r=t,i=t,l=l.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:n}=r,{tableFullTreeData:a,afterFullData:d,tableFullData:u}=i;var i=t.computeCheckboxOpts,c=t.computeTreeOpts;let{transform:h,mapChildrenField:g}=c,f=c.children||c.childrenField,{actived:w,removeList:v,insertMaps:m}=s;c=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{t.isInsertByRow(e)||v.push(e)}),!c){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):l&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<t.findRowIndexOf(e,w.row)&&t.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(t,e);m[e]&&delete m[e]}),t.updateFooter(),t.cacheRowMap(!1),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),r.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,n;return e?(s=o.actived,{row:s,column:n}=s,(s||n)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:n}=this,a=o.mode,{actived:i,focused:t}=i;let{row:d,column:u}=l;var c=u.editRender,h=l.cell=l.cell||this.getCellElement(d,u),g=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(c)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===a&&i.column!==u){let t="edit-disabled";if(!g||g(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",u.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=u,"row"===a?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,u);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==u&&(c=e.model,c.update&&(0,_util.setCellValue)(d,e,c.value),this.clearValidate()),u.renderHeight=h.offsetHeight,i.args=l,i.column=u,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:n}=i,a=l.validOpts;let d=l.computeMouseOpts;if(s||n){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:n,columnIndex:l.getColumnIndex(n),$columnIndex:l.getVMColumnIndex(n)},e)}return r.row=null,r.column=null,l.$nextTick(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()}),a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick()},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:n}=r,a=s.editRender;if((0,_utils.isEnableConf)(a)){var d=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:n}=o,{row:a,column:d}=e,u=l&&r.selected;return!u||n.row===a&&n.column===d||(s.row!==a||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),n.args=e,n.row=a,n.column=d,u&&this.addColSdCls(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),this.reColSdCls(),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},reColSdCls(){var e=this.$el.querySelector(".col--selected");e&&(0,_dom.removeClass)(e,"col--selected")},addColSdCls(){var e=this.editStore.selected,{row:e,column:t}=e;this.reColSdCls(),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_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,getI18n}=_ui.VxeUI;function insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u,treeOpts:l}=s,{rowField:c,parentField:h,mapChildrenField:g}=l,f=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(n,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[f],t=i[g];_xeUtils.default.isArray(e)||(e=i[f]=[]),_xeUtils.default.isArray(t)||(t=i[f]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0};d[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),n[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,d){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:u,afterFullData:o,tableFullData:s,fullDataRowIdData:c,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:n,rowField:f,mapChildrenField:w}=g,v=g.children||g.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&n?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&n?insertTreeRow(a,m,!1):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};c[t]=l,h[t]=l,o.unshift(e),s.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)i&&n?insertTreeRow(a,m,!0):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};c[t]=l,h[t]=l,o.push(e),s.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+m.length)}));else if(i&&n){let n=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:w});if(n){let i=n.parent,o=i?i[w]:u;t=h[(0,_util.getRowid)(a,i)];let s=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=n.index+t;d&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:s+1,height:0,resizeHeight:0,oTop:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:v});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,m,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=d?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...m);t=a.findRowIndexOf(s,l);-1<t?s.splice(t+(d?1:0),0,...m):s.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}let _=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);_[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&n),i&&n||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:s,rowField:n,parentField:a}=e.computeTreeOpts;return o&&s?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[n]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let t=this;var l=t,r=t,i=t,l=l.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:n}=r,{tableFullTreeData:a,afterFullData:d,tableFullData:u}=i;var i=t.computeCheckboxOpts,c=t.computeTreeOpts;let{transform:h,mapChildrenField:g}=c,f=c.children||c.childrenField,{actived:w,removeList:v,insertMaps:m}=s;c=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{t.isInsertByRow(e)||v.push(e)}),!c){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):l&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<t.findRowIndexOf(e,w.row)&&t.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(t,e);m[e]&&delete m[e]}),t.updateFooter(),t.cacheRowMap(!1),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),r.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,n;return e?(s=o.actived,{row:s,column:n}=s,(s||n)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:n}=this,a=o.mode,{actived:i,focused:t}=i;let{row:d,column:u}=l;var c=u.editRender,h=l.cell=l.cell||this.getCellElement(d,u),g=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(c)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===a&&i.column!==u){let t="edit-disabled";if(!g||g(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",u.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=u,"row"===a?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,u);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==u&&(c=e.model,c.update&&(0,_util.setCellValue)(d,e,c.value),this.clearValidate()),u.renderHeight=h.offsetHeight,i.args=l,i.column=u,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:n}=i,a=l.validOpts;let d=l.computeMouseOpts;if(s||n){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:n,columnIndex:l.getColumnIndex(n),$columnIndex:l.getVMColumnIndex(n)},e)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick().then(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()})},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:n}=r,a=s.editRender;if((0,_utils.isEnableConf)(a)){var d=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:n}=o,{row:a,column:d}=e,u=l&&r.selected;return!u||n.row===a&&n.column===d||(s.row!==a||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),n.args=e,n.row=a,n.column=d,u&&this.addColSdCls(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),this.reColSdCls(),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},reColSdCls(){var e=this.$el.querySelector(".col--selected");e&&(0,_dom.removeClass)(e,"col--selected")},addColSdCls(){var e=this.editStore.selected,{row:e,column:t}=e;this.reColSdCls(),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
@@ -168,13 +168,22 @@ var _default = exports.default = {
168
168
  * 返回 Promise 对象,或者使用回调方式
169
169
  */
170
170
  beginValidate(rows, cols, cb, isFull) {
171
+ const $xeTable = this;
172
+ const props = $xeTable;
173
+ const reactData = $xeTable;
174
+ const internalData = $xeTable;
171
175
  const validRest = {};
172
176
  const {
173
177
  editRules,
174
- afterFullData,
175
- treeConfig,
176
- treeOpts
177
- } = this;
178
+ treeConfig
179
+ } = props;
180
+ const {
181
+ pendingRowMaps
182
+ } = reactData;
183
+ const {
184
+ afterFullData
185
+ } = internalData;
186
+ const treeOpts = $xeTable.computeTreeOpts;
178
187
  const childrenField = treeOpts.children || treeOpts.childrenField;
179
188
  let validList;
180
189
  if (rows === true) {
@@ -197,6 +206,11 @@ var _default = exports.default = {
197
206
  if (editRules) {
198
207
  const columns = cols && cols.length ? cols : this.getColumns();
199
208
  const handleVaild = row => {
209
+ const rowid = (0, _util.getRowid)($xeTable, row);
210
+ // 是否标记删除
211
+ if (pendingRowMaps[rowid]) {
212
+ return;
213
+ }
200
214
  if (isFull || !this.validRuleErr) {
201
215
  const colVailds = [];
202
216
  columns.forEach(column => {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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 validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let o={},{editRules:u,afterFullData:t,treeConfig:i,treeOpts:r}=this;var n=r.children||r.childrenField;let d,h=(!0===e?d=t:e&&(_xeUtils.default.isFunction(e)?a=e:d=_xeUtils.default.isArray(e)?e:[e]),d=d||this.getInsertRecords().concat(this.getUpdateRecords()),[]),c=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});if(u){let t=l&&l.length?l:this.getColumns();e=r=>{if(s||!this.validRuleErr){let e=[];t.forEach(l=>{let i=_xeUtils.default.isString(l)?l:l.field;!s&&this.validRuleErr||!_xeUtils.default.has(u,i)||e.push(this.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:this.getRowIndex(r),row:r,columnIndex:this.getColumnIndex(l),column:l,field:i,$table:this};if(o[i]||(o[i]=[]),c[(0,_util.getRowid)(this,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},o[i].push(t),!s)return this.validRuleErr=!0,Promise.reject(t)}))}),h.push(Promise.all(e))}};return i?_xeUtils.default.eachTree(d,e,{children:n}):d.forEach(e),Promise.all(h).then(()=>{let e=Object.keys(o);return this.validErrorMaps=this.handleErrMsgMode(c),this.$nextTick().then(()=>{if(e.length)return Promise.reject(o[e[0]][0]);a&&a()})}).catch(s=>new Promise((e,t)=>{let l=()=>{this.$nextTick(()=>{a?(a(o),e()):("obsolete"===getConfig().validToReject?t:e)(o)})};var i,r=()=>{s.cell=this.getCellElement(s.row,s.column),(0,_dom.scrollToView)(s.cell),this.handleValidError(s).then(l)};!1===this.validOpts.autoPos?l():(i=s.row,this.scrollToRow(i,s.column).then(r))}))}return this.validErrorMaps={},this.$nextTick().then(()=>{a&&a()})},hasCellRules(t,e,l){var i=this.editRules,l=l.property;return!(!l||!i)&&(i=_xeUtils.default.get(i,l))&&_xeUtils.default.find(i,e=>"all"===t||!e.trigger||t===e.trigger)},validCellRules(e,d,h,t){var l=this.editRules,i=h.property;let c=[],g=[];if(i&&l){let n=_xeUtils.default.get(l,i);if(n){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(d,i):t;n.forEach(t=>{let{type:l,trigger:i,required:r,validator:s}=t;if("all"===e||!i||e===i)if(s){var a={cellValue:u,rule:t,rules:n,row:d,rowIndex:this.getRowIndex(d),column:h,columnIndex:this.getColumnIndex(h),field:h.property,$table:this};let e;_xeUtils.default.isString(s)?(o=validators.get(s))?(o=o.tableCellValidatorMethod||o.cellValidatorMethod)?e=o(a):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[s]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&g.push(e.catch(e=>{this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var o="array"===l,a=_xeUtils.default.isArray(u);let e=!0;e=o||a?!a||!u.length:_xeUtils.default.isString(u)?(0,_utils.eqEmptyValue)(u.trim()):(0,_utils.eqEmptyValue)(u),(r?e||validErrorRuleValue(t,u):!e&&validErrorRuleValue(t,u))&&(this.validRuleErr=!0,c.push(new Rule(t)))}})}}return Promise.all(g).then(()=>{var e;if(c.length)return e={rules:c,rule:c[0]},Promise.reject(e)})},_clearValidate(e,t){var{validOpts:l,validErrorMaps:i}=this,r=this.$refs.refValidTooltip,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let s=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e)),a={};if(r&&r.visible&&r.close(),"single"===l.msgMode)this.validErrorMaps={};else{if(e.length&&s.length)a=Object.assign({},i),e.forEach(t=>{s.forEach(e=>{e=(0,_util.getRowid)(this,t)+":"+e.id;a[e]&&delete a[e]})});else if(e.length){let l=e.map(e=>""+(0,_util.getRowid)(this,e));_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[0])&&(a[t]=e)})}else if(s.length){let l=s.map(e=>""+e.id);_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[1])&&(a[t]=e)})}this.validErrorMaps=a}return this.$nextTick()},triggerValidate(r){let{editConfig:e,editStore:t,editRules:l,editOpts:s,validOpts:i}=this;var a=t.actived;if(l&&"single"===i.msgMode&&(this.validErrorMaps={}),e&&l&&a.row){let{row:t,column:l,cell:i}=a.args;if(this.hasCellRules(r,t,l))return this.validCellRules(r,t,l).then(()=>{"row"===s.mode&&this.clearValidate(t,l)}).catch(({rule:e})=>e.trigger&&r!==e.trigger?Promise.resolve():(e={rule:e,row:t,column:l,cell:i},this.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var{$refs:t,height:l,validStore:i,validErrorMaps:r,tableData:s,validOpts:a}=this,{rule:o,row:u,column:n,cell:d}=e,t=t.refValidTooltip,h=o.content;return i.visible=!0,"single"===a.msgMode?this.validErrorMaps={[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}:this.validErrorMaps=Object.assign({},r,{[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}),this.emitEvent("valid-error",e,null),t&&("tooltip"===a.message||"default"===a.message&&!l&&s.length<2)?t.open(d,h):this.$nextTick()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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 validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let i=this;var t=i,r=i,o=i;let u={},{editRules:n,treeConfig:d}=t,h=r.pendingRowMaps;t=o.afterFullData,r=i.computeTreeOpts,o=r.children||r.childrenField;let c,g=(!0===e?c=t:e&&(_xeUtils.default.isFunction(e)?a=e:c=_xeUtils.default.isArray(e)?e:[e]),c=c||this.getInsertRecords().concat(this.getUpdateRecords()),[]),f=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});if(n){let t=l&&l.length?l:this.getColumns();r=r=>{var e=(0,_util.getRowid)(i,r);if(!h[e]&&(s||!this.validRuleErr)){let e=[];t.forEach(l=>{let i=_xeUtils.default.isString(l)?l:l.field;!s&&this.validRuleErr||!_xeUtils.default.has(n,i)||e.push(this.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:this.getRowIndex(r),row:r,columnIndex:this.getColumnIndex(l),column:l,field:i,$table:this};if(u[i]||(u[i]=[]),f[(0,_util.getRowid)(this,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},u[i].push(t),!s)return this.validRuleErr=!0,Promise.reject(t)}))}),g.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(c,r,{children:o}):c.forEach(r),Promise.all(g).then(()=>{let e=Object.keys(u);return this.validErrorMaps=this.handleErrMsgMode(f),this.$nextTick().then(()=>{if(e.length)return Promise.reject(u[e[0]][0]);a&&a()})}).catch(s=>new Promise((e,t)=>{let l=()=>{this.$nextTick(()=>{a?(a(u),e()):("obsolete"===getConfig().validToReject?t:e)(u)})};var i,r=()=>{s.cell=this.getCellElement(s.row,s.column),(0,_dom.scrollToView)(s.cell),this.handleValidError(s).then(l)};!1===this.validOpts.autoPos?l():(i=s.row,this.scrollToRow(i,s.column).then(r))}))}return this.validErrorMaps={},this.$nextTick().then(()=>{a&&a()})},hasCellRules(t,e,l){var i=this.editRules,l=l.property;return!(!l||!i)&&(i=_xeUtils.default.get(i,l))&&_xeUtils.default.find(i,e=>"all"===t||!e.trigger||t===e.trigger)},validCellRules(e,d,h,t){var l=this.editRules,i=h.property;let c=[],g=[];if(i&&l){let n=_xeUtils.default.get(l,i);if(n){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(d,i):t;n.forEach(t=>{let{type:l,trigger:i,required:r,validator:s}=t;if("all"===e||!i||e===i)if(s){var a={cellValue:u,rule:t,rules:n,row:d,rowIndex:this.getRowIndex(d),column:h,columnIndex:this.getColumnIndex(h),field:h.property,$table:this};let e;_xeUtils.default.isString(s)?(o=validators.get(s))?(o=o.tableCellValidatorMethod||o.cellValidatorMethod)?e=o(a):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[s]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&g.push(e.catch(e=>{this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var o="array"===l,a=_xeUtils.default.isArray(u);let e=!0;e=o||a?!a||!u.length:_xeUtils.default.isString(u)?(0,_utils.eqEmptyValue)(u.trim()):(0,_utils.eqEmptyValue)(u),(r?e||validErrorRuleValue(t,u):!e&&validErrorRuleValue(t,u))&&(this.validRuleErr=!0,c.push(new Rule(t)))}})}}return Promise.all(g).then(()=>{var e;if(c.length)return e={rules:c,rule:c[0]},Promise.reject(e)})},_clearValidate(e,t){var{validOpts:l,validErrorMaps:i}=this,r=this.$refs.refValidTooltip,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let s=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e)),a={};if(r&&r.visible&&r.close(),"single"===l.msgMode)this.validErrorMaps={};else{if(e.length&&s.length)a=Object.assign({},i),e.forEach(t=>{s.forEach(e=>{e=(0,_util.getRowid)(this,t)+":"+e.id;a[e]&&delete a[e]})});else if(e.length){let l=e.map(e=>""+(0,_util.getRowid)(this,e));_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[0])&&(a[t]=e)})}else if(s.length){let l=s.map(e=>""+e.id);_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[1])&&(a[t]=e)})}this.validErrorMaps=a}return this.$nextTick()},triggerValidate(r){let{editConfig:e,editStore:t,editRules:l,editOpts:s,validOpts:i}=this;var a=t.actived;if(l&&"single"===i.msgMode&&(this.validErrorMaps={}),e&&l&&a.row){let{row:t,column:l,cell:i}=a.args;if(this.hasCellRules(r,t,l))return this.validCellRules(r,t,l).then(()=>{"row"===s.mode&&this.clearValidate(t,l)}).catch(({rule:e})=>e.trigger&&r!==e.trigger?Promise.resolve():(e={rule:e,row:t,column:l,cell:i},this.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var{$refs:t,height:l,validStore:i,validErrorMaps:r,tableData:s,validOpts:a}=this,{rule:o,row:u,column:n,cell:d}=e,t=t.refValidTooltip,h=o.content;return i.visible=!0,"single"===a.msgMode?this.validErrorMaps={[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}:this.validErrorMaps=Object.assign({},r,{[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}),this.emitEvent("valid-error",e,null),t&&("tooltip"===a.message||"default"===a.message&&!l&&s.length<2)?t.open(d,h):this.$nextTick()}}};
@@ -120,12 +120,17 @@ function getCellLabelVNs(h, renderOpts, params, cellLabel) {
120
120
  * @param modelFunc
121
121
  * @param changeFunc
122
122
  */
123
- function getNativeElementOns(renderOpts, params, modelFunc, changeFunc) {
123
+ function getNativeElementOns(renderOpts, params, eFns) {
124
124
  const {
125
125
  events
126
126
  } = renderOpts;
127
127
  const modelEvent = (0, _vn.getModelEvent)(renderOpts);
128
128
  const changeEvent = (0, _vn.getChangeEvent)(renderOpts);
129
+ const {
130
+ model: modelFunc,
131
+ change: changeFunc,
132
+ blur: blurFunc
133
+ } = eFns || {};
129
134
  const isSameEvent = changeEvent === modelEvent;
130
135
  const ons = {};
131
136
  if (events) {
@@ -147,15 +152,24 @@ function getNativeElementOns(renderOpts, params, modelFunc, changeFunc) {
147
152
  };
148
153
  }
149
154
  if (!isSameEvent && changeFunc) {
150
- ons[(0, _vn.getOnName)(changeEvent)] = function (...args) {
151
- changeFunc(...args);
155
+ ons[(0, _vn.getOnName)(changeEvent)] = function (evnt) {
156
+ changeFunc(evnt);
152
157
  if (events && events[changeEvent]) {
153
- events[changeEvent](params, ...args);
158
+ events[changeEvent](params, evnt);
159
+ }
160
+ };
161
+ }
162
+ if (blurFunc) {
163
+ ons[(0, _vn.getOnName)(blurEvent)] = function (evnt) {
164
+ blurFunc(evnt);
165
+ if (events && events[blurEvent]) {
166
+ events[blurEvent](params, evnt);
154
167
  }
155
168
  };
156
169
  }
157
170
  return ons;
158
171
  }
172
+ const blurEvent = 'blur';
159
173
  /**
160
174
  * 组件事件处理
161
175
  * @param renderOpts
@@ -163,12 +177,17 @@ function getNativeElementOns(renderOpts, params, modelFunc, changeFunc) {
163
177
  * @param modelFunc
164
178
  * @param changeFunc
165
179
  */
166
- function getComponentOns(renderOpts, params, modelFunc, changeFunc) {
180
+ function getComponentOns(renderOpts, params, eFns) {
167
181
  const {
168
182
  events
169
183
  } = renderOpts;
170
184
  const modelEvent = (0, _vn.getModelEvent)(renderOpts);
171
185
  const changeEvent = (0, _vn.getChangeEvent)(renderOpts);
186
+ const {
187
+ model: modelFunc,
188
+ change: changeFunc,
189
+ blur: blurFunc
190
+ } = eFns || {};
172
191
  const ons = {};
173
192
  _xeUtils.default.objectEach(events, (func, key) => {
174
193
  ons[(0, _vn.getOnName)(key)] = function (...args) {
@@ -196,6 +215,14 @@ function getComponentOns(renderOpts, params, modelFunc, changeFunc) {
196
215
  }
197
216
  };
198
217
  }
218
+ if (blurFunc) {
219
+ ons[(0, _vn.getOnName)(blurEvent)] = function (...args) {
220
+ blurFunc(...args);
221
+ if (events && events[blurEvent]) {
222
+ events[blurEvent](params, ...args);
223
+ }
224
+ };
225
+ }
199
226
  return ons;
200
227
  }
201
228
  function getEditOns(renderOpts, params) {
@@ -211,31 +238,47 @@ function getEditOns(renderOpts, params) {
211
238
  model
212
239
  } = column;
213
240
  const isImmediate = isImmediateCell(renderOpts, params);
214
- return getComponentOns(renderOpts, params, cellValue => {
215
- // 处理 model 值双向绑定
216
- model.update = true;
217
- model.value = cellValue;
218
- if (isImmediate) {
219
- (0, _util.setCellValue)(row, column, cellValue);
220
- }
221
- }, eventParams => {
222
- // 处理 change 事件相关逻辑
223
- if (!isImmediate && ['VxeInput', 'VxeNumberInput', 'VxeTextarea', '$input', '$textarea'].includes(name)) {
224
- const cellValue = eventParams.value;
241
+ return getComponentOns(renderOpts, params, {
242
+ model(cellValue) {
243
+ // 处理 model 值双向绑定
225
244
  model.update = true;
226
245
  model.value = cellValue;
227
- $table.updateStatus(params, cellValue);
228
- } else {
229
- $table.updateStatus(params);
246
+ if (isImmediate) {
247
+ (0, _util.setCellValue)(row, column, cellValue);
248
+ }
249
+ },
250
+ change(eventParams) {
251
+ // 处理 change 事件相关逻辑
252
+ if (!isImmediate && name && ['VxeInput', 'VxeNumberInput', 'VxeTextarea', '$input', '$textarea'].includes(name)) {
253
+ const cellValue = eventParams.value;
254
+ model.update = true;
255
+ model.value = cellValue;
256
+ $table.updateStatus(params, cellValue);
257
+ } else {
258
+ $table.updateStatus(params);
259
+ }
260
+ },
261
+ blur() {
262
+ if (isImmediate) {
263
+ $table.handleCellRuleUpdateStatus('blur', params);
264
+ } else {
265
+ $table.handleCellRuleUpdateStatus('blur', params, model.value);
266
+ }
230
267
  }
231
268
  });
232
269
  }
233
270
  function getFilterOns(renderOpts, params, option) {
234
- return getComponentOns(renderOpts, params, value => {
235
- // 处理 model 值双向绑定
236
- option.data = value;
237
- }, () => {
238
- handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
271
+ return getComponentOns(renderOpts, params, {
272
+ model(value) {
273
+ // 处理 model 值双向绑定
274
+ option.data = value;
275
+ },
276
+ change() {
277
+ handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
278
+ },
279
+ blur() {
280
+ handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
281
+ }
239
282
  });
240
283
  }
241
284
  function getNativeEditOns(renderOpts, params) {
@@ -247,27 +290,52 @@ function getNativeEditOns(renderOpts, params) {
247
290
  const {
248
291
  model
249
292
  } = column;
250
- return getNativeElementOns(renderOpts, params, evnt => {
251
- // 处理 model 值双向绑定
252
- const cellValue = evnt.target.value;
253
- if (isImmediateCell(renderOpts, params)) {
254
- (0, _util.setCellValue)(row, column, cellValue);
255
- } else {
256
- model.update = true;
257
- model.value = cellValue;
293
+ return getNativeElementOns(renderOpts, params, {
294
+ model(evnt) {
295
+ // 处理 model 值双向绑定
296
+ const targetEl = evnt.target;
297
+ if (targetEl) {
298
+ const cellValue = targetEl.value;
299
+ if (isImmediateCell(renderOpts, params)) {
300
+ (0, _util.setCellValue)(row, column, cellValue);
301
+ } else {
302
+ model.update = true;
303
+ model.value = cellValue;
304
+ }
305
+ }
306
+ },
307
+ change(evnt) {
308
+ // 处理 change 事件相关逻辑
309
+ const targetEl = evnt.target;
310
+ if (targetEl) {
311
+ const cellValue = targetEl.value;
312
+ $table.updateStatus(params, cellValue);
313
+ }
314
+ },
315
+ blur(evnt) {
316
+ const targetEl = evnt.target;
317
+ if (targetEl) {
318
+ const cellValue = targetEl.value;
319
+ $table.updateStatus(params, cellValue);
320
+ }
258
321
  }
259
- }, evnt => {
260
- // 处理 change 事件相关逻辑
261
- const cellValue = evnt.target.value;
262
- $table.updateStatus(params, cellValue);
263
322
  });
264
323
  }
265
324
  function getNativeFilterOns(renderOpts, params, option) {
266
- return getNativeElementOns(renderOpts, params, evnt => {
267
- // 处理 model 值双向绑定
268
- option.data = evnt.target.value;
269
- }, () => {
270
- handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
325
+ return getNativeElementOns(renderOpts, params, {
326
+ model(evnt) {
327
+ // 处理 model 值双向绑定
328
+ const targetEl = evnt.target;
329
+ if (targetEl) {
330
+ option.data = targetEl.value;
331
+ }
332
+ },
333
+ change() {
334
+ handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
335
+ },
336
+ blur() {
337
+ handleConfirmFilter(params, !_xeUtils.default.eqNull(option.data), option);
338
+ }
271
339
  });
272
340
  }
273
341
  /**
@@ -1 +1 @@
1
- var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r){t=t.placeholder;return[e("span",{class:"vxe-cell--label"},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u=a===o,i={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),u&&r&&r(e),n&&n[o]&&n[o](l,e)}),!u&&r&&(i[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),i}function getComponentOns(e,l,t,r){let n=e.events,o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),u={};return _xeUtils.default.objectEach(n,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),n&&n[o]&&n[o](l,e)}),r&&(u[(0,_vn.getOnName)(a)]=function(...e){r(...e),n&&n[a]&&n[a](l,...e)}),u}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},e=>{!u&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;r.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.type;let i=_xeUtils.default.get(o,a.field);return i&&(o=getConfig().numberInput||{},"float"===u?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,r),r),a||(i=_xeUtils.default.toNumber(i))):"amount"===u&&(r=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,2),u=handleDefaultValue(n.showCurrency,o.showCurrency,!1),i=_xeUtils.default.commafy(_xeUtils.default.toNumber(i),{digits:a}),r||([a,r]=i.split("."),r&&(r=r.replace(/0+$/,""),i=r?[a,".",r].join(""):a)),u)&&(i=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)),getCellLabelVNs(e,t,l,i)},renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&"time"!==r.type?getLabelFormatDate(a,r):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
1
+ var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r){t=t.placeholder;return[e("span",{class:"vxe-cell--label"},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d=o===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),a&&(s[(0,_vn.getOnName)(n)]=function(e){a(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(o)]=function(e){u(e),r&&r[o]&&r[o](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(r,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),a&&(d[(0,_vn.getOnName)(n)]=function(e){a(e),r&&r[n]&&r[n](l,e)}),u&&(d[(0,_vn.getOnName)(o)]=function(...e){u(...e),r&&r[o]&&r[o](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&o&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,a.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.type;let i=_xeUtils.default.get(o,a.field);return i&&(o=getConfig().numberInput||{},"float"===u?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,r),r),a||(i=_xeUtils.default.toNumber(i))):"amount"===u&&(r=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,2),u=handleDefaultValue(n.showCurrency,o.showCurrency,!1),i=_xeUtils.default.commafy(_xeUtils.default.toNumber(i),{digits:a}),r||([a,r]=i.split("."),r&&(r=r.replace(/0+$/,""),i=r?[a,".",r].join(""):a)),u)&&(i=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)),getCellLabelVNs(e,t,l,i)},renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&"time"!==r.type?getLabelFormatDate(a,r):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -136,8 +136,10 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
136
136
  const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
137
137
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
138
138
  let isVNPreEmptyStatus = false;
139
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
140
- isVNPreEmptyStatus = true;
139
+ if (!isGroup) {
140
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
141
+ isVNPreEmptyStatus = true;
142
+ }
141
143
  }
142
144
  const tcStyle = {};
143
145
  if (hasEllipsis) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=($,e,l,E,S,D)=>{let T=e.$parent,R=T.xegrid;var r=T,a=T,t=T;let I=e.fixedType,{resizable:O,border:U,columnKey:k,headerCellClassName:z,headerCellStyle:M,showHeaderOverflow:A,headerAlign:F,align:q,mouseConfig:X}=r,{currentColumn:L,scrollXLoad:G,scrollYLoad:N,overflowX:B}=a,V=t.scrollXStore,K=T.computeColumnOpts,P=T.computeColumnDragOpts,W=T.computeCellOpts;e=T.computeDefaultRowHeight;let Y=T.computeHeaderCellOpts,j=(0,_util.getCellHeight)(Y.height||W.height)||e,{disabledMethod:J,isCrossDrag:Q,isPeerDrag:Z}=P;return S.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:s,editRender:o,cellRender:n}=e,u=e.id,o=o||n,n=o?renderer.get(o.name):null,o=e.children&&e.children.length,c=I?e.fixed!==I&&!o:e.fixed&&B,p=(_xeUtils.default.isBoolean(Y.padding)?Y:W).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?A:a,t=t||(n?n.tableHeaderCellAlign:"")||F||i||(n?n.tableCellAlign:"")||q;let f="ellipsis"===a;i="title"===a,n=!0===a||"tooltip"===a;let x=i||n||f,m=!1,g=null;d&&(g=d[0],m=d.some(e=>e.checked));var a=T.getColumnIndex(e),h=T.getVTColumnIndex(e);let v={$table:T,$grid:R,$rowIndex:D,column:e,columnIndex:a,$columnIndex:l,_columnIndex:h,firstFilterOption:g,fixed:I,type:cellType,isHidden:c,hasFilter:m};var a={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},C={click:e=>T.triggerHeaderCellClickEvent(e,v),dblclick:e=>T.triggerHeaderCellDblclickEvent(e,v)},b=(G&&!x&&(f=x=!0),K.drag&&"cell"===P.trigger);let y=!1;b&&(y=!(!J||!J(v))),(X||b)&&(C.mousedown=e=>T.triggerHeaderCellMousedownEvent(e,v)),K.drag&&(C.dragstart=T.handleHeaderCellDragDragstartEvent,C.dragend=T.handleHeaderCellDragDragendEvent,C.dragover=T.handleHeaderCellDragDragoverEvent,b)&&(C.mouseup=T.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,w=_xeUtils.default.isBoolean(e.resizable)?e.resizable:K.resizable||O,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let _=!1;G&&!e.fixed&&(h<V.visibleStartIndex-V.preloadSize||h>V.visibleEndIndex+V.preloadSize)&&(_=!0);h={};return x?h.height=j+"px":h.minHeight=j+"px",$("th",{class:["vxe-header--column",u,{["col--"+t]:t,["col--"+r]:r,"col--last":b,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":x,"fixed--width":!H,"fixed--hidden":c,"is--padding":p,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":m,"is--drag-active":!e.fixed&&!y&&(Q||Z||!e.parentId),"is--drag-disabled":y,"col--current":L===e},(0,_utils.getClass)(s,v),(0,_utils.getClass)(z,v)],attrs:a,style:M?_xeUtils.default.isFunction(M)?M(v):M:void 0,on:C,key:k||G||N||K.useKey||K.drag||o?u:l},[$("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":n,"c--ellipsis":f}],style:h},_||E&&c?[]:[$("div",{attrs:{colid:u},class:"vxe-cell--wrapper"},e.renderHeader($,v))]),!c&&w?$("div",{class:["vxe-cell--col-resizable",{"is--line":!U||"none"===U}],on:{mousedown:e=>T.handleColResizeMousedownEvent(e,I,v),dblclick:e=>T.handleColResizeDblclickEvent(e,v)}}):renderEmptyElement(T)])})};function renderHeads(a,t,i,d,e){let s=t.$parent;var l=s,r=s;let o=t.fixedType,n=s.computeColumnOpts,u=s.computeColumnDragOpts,{headerRowClassName:c,headerRowStyle:p}=l,{isColLoading:f,isDragColMove:x}=r;return e.map((e,l)=>{var r={$table:s,$rowIndex:l,fixed:o,type:cellType};return!f&&n.drag&&u.animation?a("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(x?"":"-disabled"),class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:null}},renderRows(a,t,i,d,e,l)):a("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:void 0},renderRows(a,t,i,d,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:s,tableColumn:o}=this;var n=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,scrollXLoad:f,scrollYLoad:x,dragCol:m}=a,{visibleColumn:t,fullColumnIdData:g}=t,h=l.computeMouseOpts;let v=n,C=o,b=!1;return a?C=t:(!(f||x||u)||c||p||(b=!0),d&&(C=t,b)&&(C=s||[]),v=[C]),d||a||f&&m&&2<C.length&&(n=g[m.id])&&(x=n._index,u=C[0],c=C[C.length-1],p=g[u.id],t=g[c.id],p)&&t&&(f=p._index,n=t._index,x<f?(C=[m].concat(C),v=[[m].concat(v[0])].concat(v.slice(1))):n<x&&(C=C.concat([m]),v=[v[0].concat([m])].concat(v.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refHeaderColgroup"},C.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,b,v)),e&&h.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-copy-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=($,e,E,S,D,T)=>{let R=e.$parent,I=R.xegrid;var l=R,r=R,a=R;let O=e.fixedType,{resizable:U,border:k,columnKey:z,headerCellClassName:M,headerCellStyle:A,showHeaderOverflow:F,headerAlign:q,align:X,mouseConfig:L}=l,{currentColumn:G,scrollXLoad:N,scrollYLoad:B,overflowX:V}=r,K=a.scrollXStore,P=R.computeColumnOpts,W=R.computeColumnDragOpts,Y=R.computeCellOpts;e=R.computeDefaultRowHeight;let j=R.computeHeaderCellOpts,J=(0,_util.getCellHeight)(j.height||Y.height)||e,{disabledMethod:Q,isCrossDrag:Z,isPeerDrag:ee}=W;return D.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:s,editRender:o,cellRender:n}=e,u=e.id,o=o||n,n=o?renderer.get(o.name):null,o=e.children&&e.children.length,c=O?e.fixed!==O&&!o:e.fixed&&V,p=(_xeUtils.default.isBoolean(j.padding)?j:Y).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?F:a,t=t||(n?n.tableHeaderCellAlign:"")||q||i||(n?n.tableCellAlign:"")||X;let f="ellipsis"===a;i="title"===a,n=!0===a||"tooltip"===a;let x=i||n||f,m=!1,g=null;d&&(g=d[0],m=d.some(e=>e.checked));var a=R.getColumnIndex(e),h=R.getVTColumnIndex(e);let v={$table:R,$grid:I,$rowIndex:T,column:e,columnIndex:a,$columnIndex:l,_columnIndex:h,firstFilterOption:g,fixed:O,type:cellType,isHidden:c,hasFilter:m};var a={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},C={click:e=>R.triggerHeaderCellClickEvent(e,v),dblclick:e=>R.triggerHeaderCellDblclickEvent(e,v)},b=(N&&!x&&(f=x=!0),P.drag&&"cell"===W.trigger);let y=!1;b&&(y=!(!Q||!Q(v))),(L||b)&&(C.mousedown=e=>R.triggerHeaderCellMousedownEvent(e,v)),P.drag&&(C.dragstart=R.handleHeaderCellDragDragstartEvent,C.dragend=R.handleHeaderCellDragDragendEvent,C.dragover=R.handleHeaderCellDragDragoverEvent,b)&&(C.mouseup=R.handleHeaderCellDragMouseupEvent);var b=l===D.length-1,w=_xeUtils.default.isBoolean(e.resizable)?e.resizable:P.resizable||U,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let _=!1;E||N&&!e.fixed&&(h<K.visibleStartIndex-K.preloadSize||h>K.visibleEndIndex+K.preloadSize)&&(_=!0);h={};return x?h.height=J+"px":h.minHeight=J+"px",$("th",{class:["vxe-header--column",u,{["col--"+t]:t,["col--"+r]:r,"col--last":b,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":x,"fixed--width":!H,"fixed--hidden":c,"is--padding":p,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":m,"is--drag-active":!e.fixed&&!y&&(Z||ee||!e.parentId),"is--drag-disabled":y,"col--current":G===e},(0,_utils.getClass)(s,v),(0,_utils.getClass)(M,v)],attrs:a,style:A?_xeUtils.default.isFunction(A)?A(v):A:void 0,on:C,key:z||N||B||P.useKey||P.drag||o?u:l},[$("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":n,"c--ellipsis":f}],style:h},_||S&&c?[]:[$("div",{attrs:{colid:u},class:"vxe-cell--wrapper"},e.renderHeader($,v))]),!c&&w?$("div",{class:["vxe-cell--col-resizable",{"is--line":!k||"none"===k}],on:{mousedown:e=>R.handleColResizeMousedownEvent(e,O,v),dblclick:e=>R.handleColResizeDblclickEvent(e,v)}}):renderEmptyElement(R)])})};function renderHeads(a,t,i,d,e){let s=t.$parent;var l=s,r=s;let o=t.fixedType,n=s.computeColumnOpts,u=s.computeColumnDragOpts,{headerRowClassName:c,headerRowStyle:p}=l,{isColLoading:f,isDragColMove:x}=r;return e.map((e,l)=>{var r={$table:s,$rowIndex:l,fixed:o,type:cellType};return!f&&n.drag&&u.animation?a("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(x?"":"-disabled"),class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:null}},renderRows(a,t,i,d,e,l)):a("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:p?_xeUtils.default.isFunction(p)?p(r):p:void 0},renderRows(a,t,i,d,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:s,tableColumn:o}=this;var n=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,scrollXLoad:f,scrollYLoad:x,dragCol:m}=a,{visibleColumn:t,fullColumnIdData:g}=t,h=l.computeMouseOpts;let v=n,C=o,b=!1;return a?C=t:(!(f||x||u)||c||p||(b=!0),d&&(C=t,b)&&(C=s||[]),v=[C]),d||a||f&&m&&2<C.length&&(n=g[m.id])&&(x=n._index,u=C[0],c=C[C.length-1],p=g[u.id],t=g[c.id],p)&&t&&(f=p._index,n=t._index,x<f?(C=[m].concat(C),v=[[m].concat(v[0])].concat(v.slice(1))):n<x&&(C=C.concat([m]),v=[v[0].concat([m])].concat(v.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refHeaderColgroup"},C.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,b,v)),e&&h.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-copy-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]}}};
@@ -7079,10 +7079,9 @@ const Methods = {
7079
7079
  } = sortOpts;
7080
7080
  const {
7081
7081
  field,
7082
- sortable,
7083
- remoteSort
7082
+ sortable
7084
7083
  } = column;
7085
- if (sortable || remoteSort) {
7084
+ if (sortable || column.remoteSort) {
7086
7085
  if (!order || column.order === order) {
7087
7086
  if (allowClear) {
7088
7087
  $xeTable.clearSort(multiple ? column : null);
@@ -7096,6 +7095,44 @@ const Methods = {
7096
7095
  $xeTable.handleColumnSortEvent(evnt, column);
7097
7096
  }
7098
7097
  },
7098
+ handleCellRuleUpdateStatus(type, cellParams, cellValue) {
7099
+ const $xeTable = this;
7100
+ const reactData = $xeTable;
7101
+ const {
7102
+ validStore
7103
+ } = reactData;
7104
+ const {
7105
+ row,
7106
+ column
7107
+ } = cellParams;
7108
+ if ($xeTable.hasCellRules) {
7109
+ if ($xeTable.hasCellRules(type, row, column)) {
7110
+ const cell = $xeTable.getCellElement(row, column);
7111
+ if (cell) {
7112
+ const customVal = !_xeUtils.default.isUndefined(cellValue);
7113
+ return $xeTable.validCellRules(type, row, column, cellValue).then(() => {
7114
+ if (customVal && validStore.visible) {
7115
+ (0, _util.setCellValue)(row, column, cellValue);
7116
+ }
7117
+ $xeTable.clearValidate(row, column);
7118
+ }).catch(({
7119
+ rule
7120
+ }) => {
7121
+ if (customVal) {
7122
+ (0, _util.setCellValue)(row, column, cellValue);
7123
+ }
7124
+ $xeTable.showValidTooltip({
7125
+ rule,
7126
+ row,
7127
+ column,
7128
+ cell
7129
+ });
7130
+ });
7131
+ }
7132
+ }
7133
+ }
7134
+ return $xeTable.$nextTick();
7135
+ },
7099
7136
  /**
7100
7137
  * 表头单元格按下事件
7101
7138
  */
@@ -9805,45 +9842,14 @@ const Methods = {
9805
9842
  * 如果单元格配置了校验规则,则会进行校验
9806
9843
  */
9807
9844
  updateStatus(slotParams, cellValue) {
9808
- const customVal = !_xeUtils.default.isUndefined(cellValue);
9845
+ const $xeTable = this;
9846
+ const props = $xeTable;
9809
9847
  return this.$nextTick().then(() => {
9810
9848
  const {
9811
- $refs,
9812
- editRules,
9813
- validStore
9814
- } = this;
9815
- const refTableBody = $refs.refTableBody;
9816
- if (slotParams && refTableBody && editRules) {
9817
- const {
9818
- row,
9819
- column
9820
- } = slotParams;
9821
- const type = 'change';
9822
- if (this.hasCellRules) {
9823
- if (this.hasCellRules(type, row, column)) {
9824
- const cell = this.getCellElement(row, column);
9825
- if (cell) {
9826
- return this.validCellRules(type, row, column, cellValue).then(() => {
9827
- if (customVal && validStore.visible) {
9828
- (0, _util.setCellValue)(row, column, cellValue);
9829
- }
9830
- this.clearValidate(row, column);
9831
- }).catch(({
9832
- rule
9833
- }) => {
9834
- if (customVal) {
9835
- (0, _util.setCellValue)(row, column, cellValue);
9836
- }
9837
- this.showValidTooltip({
9838
- rule,
9839
- row,
9840
- column,
9841
- cell
9842
- });
9843
- });
9844
- }
9845
- }
9846
- }
9849
+ editRules
9850
+ } = props;
9851
+ if (slotParams && editRules) {
9852
+ return $xeTable.handleCellRuleUpdateStatus('change', slotParams, cellValue);
9847
9853
  }
9848
9854
  });
9849
9855
  },