vxe-table 3.14.0-beta.2 → 3.14.0-beta.21

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 (165) hide show
  1. package/es/grid/src/grid.js +78 -48
  2. package/es/locale/lang/ar-EG.js +7 -1
  3. package/es/locale/lang/de-DE.js +7 -1
  4. package/es/locale/lang/en-US.js +7 -1
  5. package/es/locale/lang/es-ES.js +7 -1
  6. package/es/locale/lang/fr-FR.js +7 -1
  7. package/es/locale/lang/hu-HU.js +7 -1
  8. package/es/locale/lang/hy-AM.js +7 -1
  9. package/es/locale/lang/id-ID.js +7 -1
  10. package/es/locale/lang/it-IT.js +7 -1
  11. package/es/locale/lang/ja-JP.js +7 -1
  12. package/es/locale/lang/ko-KR.js +7 -1
  13. package/es/locale/lang/nb-NO.js +7 -1
  14. package/es/locale/lang/pt-BR.js +7 -1
  15. package/es/locale/lang/ru-RU.js +7 -1
  16. package/es/locale/lang/th-TH.js +7 -1
  17. package/es/locale/lang/ug-CN.js +7 -1
  18. package/es/locale/lang/uk-UA.js +7 -1
  19. package/es/locale/lang/vi-VN.js +7 -1
  20. package/es/locale/lang/zh-CHT.js +7 -1
  21. package/es/locale/lang/zh-CN.js +7 -1
  22. package/es/style.css +1 -1
  23. package/es/table/module/edit/mixin.js +14 -9
  24. package/es/table/module/filter/panel.js +12 -2
  25. package/es/table/module/keyboard/mixin.js +86 -21
  26. package/es/table/module/validator/mixin.js +2 -2
  27. package/es/table/render/index.js +90 -59
  28. package/es/table/src/body.js +22 -17
  29. package/es/table/src/cell.js +25 -20
  30. package/es/table/src/footer.js +9 -4
  31. package/es/table/src/header.js +2 -2
  32. package/es/table/src/methods.js +942 -678
  33. package/es/table/src/props.js +4 -0
  34. package/es/table/src/table.js +74 -32
  35. package/es/table/src/util.js +65 -7
  36. package/es/ui/index.js +1 -1
  37. package/es/ui/src/log.js +1 -1
  38. package/helper/vetur/attributes.json +1 -1
  39. package/helper/vetur/tags.json +1 -1
  40. package/lib/grid/src/grid.js +85 -65
  41. package/lib/grid/src/grid.min.js +1 -1
  42. package/lib/index.umd.js +1641 -1076
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/locale/lang/ar-EG.js +7 -1
  45. package/lib/locale/lang/ar-EG.min.js +1 -1
  46. package/lib/locale/lang/de-DE.js +7 -1
  47. package/lib/locale/lang/de-DE.min.js +1 -1
  48. package/lib/locale/lang/en-US.js +7 -1
  49. package/lib/locale/lang/en-US.min.js +1 -1
  50. package/lib/locale/lang/en-US.umd.js +7 -1
  51. package/lib/locale/lang/es-ES.js +7 -1
  52. package/lib/locale/lang/es-ES.min.js +1 -1
  53. package/lib/locale/lang/es-ES.umd.js +7 -1
  54. package/lib/locale/lang/fr-FR.js +7 -1
  55. package/lib/locale/lang/fr-FR.min.js +1 -1
  56. package/lib/locale/lang/hu-HU.js +7 -1
  57. package/lib/locale/lang/hu-HU.min.js +1 -1
  58. package/lib/locale/lang/hu-HU.umd.js +7 -1
  59. package/lib/locale/lang/hy-AM.js +7 -1
  60. package/lib/locale/lang/hy-AM.min.js +1 -1
  61. package/lib/locale/lang/id-ID.js +7 -1
  62. package/lib/locale/lang/id-ID.min.js +1 -1
  63. package/lib/locale/lang/it-IT.js +7 -1
  64. package/lib/locale/lang/it-IT.min.js +1 -1
  65. package/lib/locale/lang/ja-JP.js +7 -1
  66. package/lib/locale/lang/ja-JP.min.js +1 -1
  67. package/lib/locale/lang/ja-JP.umd.js +7 -1
  68. package/lib/locale/lang/ko-KR.js +7 -1
  69. package/lib/locale/lang/ko-KR.min.js +1 -1
  70. package/lib/locale/lang/ko-KR.umd.js +7 -1
  71. package/lib/locale/lang/nb-NO.js +7 -1
  72. package/lib/locale/lang/nb-NO.min.js +1 -1
  73. package/lib/locale/lang/pt-BR.js +7 -1
  74. package/lib/locale/lang/pt-BR.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.umd.js +7 -1
  76. package/lib/locale/lang/ru-RU.js +7 -1
  77. package/lib/locale/lang/ru-RU.min.js +1 -1
  78. package/lib/locale/lang/ru-RU.umd.js +7 -1
  79. package/lib/locale/lang/th-TH.js +7 -1
  80. package/lib/locale/lang/th-TH.min.js +1 -1
  81. package/lib/locale/lang/ug-CN.js +7 -1
  82. package/lib/locale/lang/ug-CN.min.js +1 -1
  83. package/lib/locale/lang/uk-UA.js +7 -1
  84. package/lib/locale/lang/uk-UA.min.js +1 -1
  85. package/lib/locale/lang/uk-UA.umd.js +7 -1
  86. package/lib/locale/lang/vi-VN.js +7 -1
  87. package/lib/locale/lang/vi-VN.min.js +1 -1
  88. package/lib/locale/lang/zh-CHT.js +7 -1
  89. package/lib/locale/lang/zh-CHT.min.js +1 -1
  90. package/lib/locale/lang/zh-CHT.umd.js +7 -1
  91. package/lib/locale/lang/zh-CN.js +7 -1
  92. package/lib/locale/lang/zh-CN.min.js +1 -1
  93. package/lib/locale/lang/zh-CN.umd.js +7 -1
  94. package/lib/style.css +1 -1
  95. package/lib/table/module/edit/mixin.js +16 -11
  96. package/lib/table/module/edit/mixin.min.js +1 -1
  97. package/lib/table/module/filter/panel.js +8 -2
  98. package/lib/table/module/filter/panel.min.js +1 -1
  99. package/lib/table/module/keyboard/mixin.js +89 -25
  100. package/lib/table/module/keyboard/mixin.min.js +1 -1
  101. package/lib/table/module/validator/mixin.js +3 -3
  102. package/lib/table/module/validator/mixin.min.js +1 -1
  103. package/lib/table/render/index.js +99 -64
  104. package/lib/table/render/index.min.js +1 -1
  105. package/lib/table/src/body.js +27 -17
  106. package/lib/table/src/body.min.js +1 -1
  107. package/lib/table/src/cell.js +37 -21
  108. package/lib/table/src/cell.min.js +1 -1
  109. package/lib/table/src/footer.js +9 -3
  110. package/lib/table/src/footer.min.js +1 -1
  111. package/lib/table/src/header.js +2 -1
  112. package/lib/table/src/header.min.js +1 -1
  113. package/lib/table/src/methods.js +1101 -798
  114. package/lib/table/src/methods.min.js +1 -1
  115. package/lib/table/src/props.js +4 -0
  116. package/lib/table/src/props.min.js +1 -1
  117. package/lib/table/src/table.js +79 -31
  118. package/lib/table/src/table.min.js +1 -1
  119. package/lib/table/src/util.js +72 -7
  120. package/lib/table/src/util.min.js +1 -1
  121. package/lib/ui/index.js +1 -1
  122. package/lib/ui/index.min.js +1 -1
  123. package/lib/ui/src/log.js +1 -1
  124. package/lib/ui/src/log.min.js +1 -1
  125. package/package.json +2 -2
  126. package/packages/grid/src/grid.ts +92 -57
  127. package/packages/locale/lang/ar-EG.ts +7 -1
  128. package/packages/locale/lang/de-DE.ts +7 -1
  129. package/packages/locale/lang/en-US.ts +7 -1
  130. package/packages/locale/lang/es-ES.ts +7 -1
  131. package/packages/locale/lang/fr-FR.ts +7 -1
  132. package/packages/locale/lang/hu-HU.ts +7 -1
  133. package/packages/locale/lang/hy-AM.ts +7 -1
  134. package/packages/locale/lang/id-ID.ts +7 -1
  135. package/packages/locale/lang/it-IT.ts +7 -1
  136. package/packages/locale/lang/ja-JP.ts +7 -1
  137. package/packages/locale/lang/ko-KR.ts +7 -1
  138. package/packages/locale/lang/nb-NO.ts +7 -1
  139. package/packages/locale/lang/pt-BR.ts +7 -1
  140. package/packages/locale/lang/ru-RU.ts +7 -1
  141. package/packages/locale/lang/th-TH.ts +7 -1
  142. package/packages/locale/lang/ug-CN.ts +7 -1
  143. package/packages/locale/lang/uk-UA.ts +7 -1
  144. package/packages/locale/lang/vi-VN.ts +7 -1
  145. package/packages/locale/lang/zh-CHT.ts +7 -1
  146. package/packages/locale/lang/zh-CN.ts +7 -1
  147. package/packages/table/module/edit/mixin.ts +17 -12
  148. package/packages/table/module/filter/panel.ts +12 -2
  149. package/packages/table/module/keyboard/mixin.ts +94 -27
  150. package/packages/table/module/validator/mixin.ts +2 -2
  151. package/packages/table/render/index.ts +89 -57
  152. package/packages/table/src/body.ts +21 -16
  153. package/packages/table/src/cell.ts +25 -20
  154. package/packages/table/src/footer.ts +9 -4
  155. package/packages/table/src/header.ts +2 -2
  156. package/packages/table/src/methods.ts +1035 -720
  157. package/packages/table/src/props.ts +16 -12
  158. package/packages/table/src/table.ts +87 -35
  159. package/packages/table/src/util.ts +73 -7
  160. /package/es/{iconfont.1741079977180.ttf → iconfont.1742437924038.ttf} +0 -0
  161. /package/es/{iconfont.1741079977180.woff → iconfont.1742437924038.woff} +0 -0
  162. /package/es/{iconfont.1741079977180.woff2 → iconfont.1742437924038.woff2} +0 -0
  163. /package/lib/{iconfont.1741079977180.ttf → iconfont.1742437924038.ttf} +0 -0
  164. /package/lib/{iconfont.1741079977180.woff → iconfont.1742437924038.woff} +0 -0
  165. /package/lib/{iconfont.1741079977180.woff2 → iconfont.1742437924038.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 getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:c,treeOpts:l}=n,{rowField:u,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)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[u],{children:g}):null;if(i){var i=i.item,o=c[(0,_util.getRowid)(n,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,expandHeight:0};s[r]=i,c[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),d[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,c[r]=o}})}function handleInsertRowAt(a,t,l,s){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:c,afterFullData:o,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:d,rowField:f,mapChildrenField:w}=g,m=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&d?{[w]:[],[m]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&d?insertTreeRow(a,v,!1):(v.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,expandHeight:0};u[t]=l,h[t]=l,o.unshift(e),n.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&d?insertTreeRow(a,v,!0):(v.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,expandHeight:0};u[t]=l,h[t]=l,o.push(e),n.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&d){let d=_xeUtils.default.findTree(c,e=>l[f]===e[f],{children:w});if(d){let i=d.parent,o=i?i[w]:c;t=h[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.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=d.index+t;s&&(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:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(c,e=>l[f]===e[f],{children:m});if(t){var p=t.items;let e=t.index;s&&(e+=1),p.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!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=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(n,l);-1<t?n.splice(t+(s?1:0),0,...v):n.push(...v),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}let x=r.insertMaps;return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);x[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&d),i&&d||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){var{editConfig:t,mouseConfig:n}=l,{editStore:d,tableColumn:a}=l,s=l.computeEditOpts,c=s.mode,{actived:d,focused:u}=d;let{row:h,column:g}=r;var f=g.editRender,w=r.cell||l.getCellElement(h,g),m=s.beforeEditMethod||s.activeMethod;if((r.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(h)){if(d.row!==h||"cell"===c&&d.column!==g){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))){n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),d.column&&handleClearEdit(l,i),t="edit-activated",g.renderHeight=w.offsetHeight,d.args=r,d.row=h,d.column=g,"row"===c?a.forEach(e=>getEditColumnModel(h,e)):getEditColumnModel(h,g);let e=s.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))})}l.dispatchEvent(t,{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},i)}else{t=d.column;n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==g&&(f=t.model,f.update&&(0,_util.setCellValue)(h,t,f.value),l.clearValidate)&&l.clearValidate(h,g),g.renderHeight=w.offsetHeight,d.args=r,d.column=g,e&&setTimeout(()=>{l.handleFocus(r,i)})}u.column=null,u.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}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 l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:n,selectCheckboxMaps:d}=r,{tableFullTreeData:a,afterFullData:s,tableFullData:c}=i;var i=l.computeCheckboxOpts,u=l.computeTreeOpts;let{transform:h,mapChildrenField:g}=u,f=u.children||u.childrenField,{actived:w,removeMaps:m,insertMaps:v}=n;u=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),m[t]=e)}),!u){let t=Object.assign({},d);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=p=c.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&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(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(s,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)}),s.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);v[e]&&delete v[e]}),l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&h),t&&h||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.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(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){var e,t;let{keepSource:l,tableFullData:r,isUpdateByRow:i,treeConfig:o,treeOpts:n,editStore:d}=this;return l?(e=d.actived,{row:e,column:t}=e,(e||t)&&syncActivedCell(this),o?_xeUtils.default.filterTree(r,e=>i(e),n):r.filter(e=>i(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_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:n,cell:d}=r,a=n.editRender;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?d.querySelector("input,textarea"):d.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!n.fixed&&this.scrollToRow(o,n)}},_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)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_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 l=this,{mouseConfig:r,mouseOpts:i,editOpts:o,editStore:n}=this,{actived:d,selected:a}=n,{row:s,column:c}=e,u=r&&i.selected;return!u||a.row===s&&a.column===c||(d.row!==s||"cell"===o.mode&&d.column!==c)&&(handleClearEdit(l,t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=s,a.column=c,u&&this.addCellSelectedClass(),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(),removeCellSelectedClass(this),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"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),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 getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,treeOpts:l}=n,{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)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,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,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),d[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:u,afterFullData:o,tableFullData:n,fullDataRowIdData:c,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:d,rowField:f,mapChildrenField:w}=g,m=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&d?{[w]:[],[m]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&d?insertTreeRow(a,v,!1):(v.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,expandHeight:0};c[t]=l,h[t]=l,o.unshift(e),n.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&d?insertTreeRow(a,v,!0):(v.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,expandHeight:0};c[t]=l,h[t]=l,o.push(e),n.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&d){let d=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:w});if(d){let i=d.parent,o=i?i[w]:u;t=h[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.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=d.index+t;s&&(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:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:m});if(t){var p=t.items;let e=t.index;s&&(e+=1),p.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!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=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(n,l);-1<t?n.splice(t+(s?1:0),0,...v):n.push(...v),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}let x=r.insertMaps;return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);x[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&d),i&&d||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){var{editConfig:t,mouseConfig:n}=l,{editStore:d,tableColumn:a}=l,s=l.computeEditOpts,u=s.mode,{actived:d,focused:c}=d;let{row:h,column:g}=r;var f=g.editRender,w=r.cell||l.getCellElement(h,g),m=s.beforeEditMethod||s.activeMethod;if((r.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(h)){if(d.row!==h||"cell"===u&&d.column!==g){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))){n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),d.column&&handleClearEdit(l,i),t="edit-activated",g.renderHeight=w.offsetHeight,d.args=r,d.row=h,d.column=g,"row"===u?a.forEach(e=>getEditColumnModel(h,e)):getEditColumnModel(h,g);let e=s.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))})}l.dispatchEvent(t,{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},i)}else{t=d.column;n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==g&&(f=t.model,f.update&&(0,_util.setCellValue)(h,t,f.value),l.clearValidate)&&l.clearValidate(h,g),g.renderHeight=w.offsetHeight,d.args=r,d.column=g,e&&setTimeout(()=>{l.handleFocus(r,i)})}c.column=null,c.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}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 l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:n}=r,{tableFullTreeData:d,selectCheckboxMaps:a,afterFullData:s,tableFullData:u,pendingRowMaps:c}=i;var i=l.computeCheckboxOpts,h=l.computeTreeOpts;let{transform:g,mapChildrenField:f}=h,w=h.children||h.childrenField,{actived:m,removeMaps:v}=n,p=Object.assign({},n.insertMaps);h=i.checkField;let x=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),v[t]=e)}),h||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),r.updateCheckboxFlag++),u===e?(e=x=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&g?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),x.push(l[0])),_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:w})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),x.push(t[0]));let r=this.findRowIndexOf(s,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)}),s.splice(r,1))}),m.row&&-1<l.findRowIndexOf(e,m.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);p[e]&&delete p[e],c[e]&&delete c[e]}),n.insertMaps=p,r.pendingRowFlag++,l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&g),t&&g||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:x.length?x[x.length-1]:null,rows:x}))},_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(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){var e,t;let{keepSource:l,tableFullData:r,isUpdateByRow:i,treeConfig:o,treeOpts:n,editStore:d}=this;return l?(e=d.actived,{row:e,column:t}=e,(e||t)&&syncActivedCell(this),o?_xeUtils.default.filterTree(r,e=>i(e),n):r.filter(e=>i(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_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:n,cell:d}=r,a=n.editRender;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?d.querySelector("input,textarea"):d.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!n.fixed&&this.scrollToRow(o,n)}},_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)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_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 l=this,{mouseConfig:r,mouseOpts:i,editOpts:o,editStore:n}=this,{actived:d,selected:a}=n,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===o.mode&&d.column!==u)&&(handleClearEdit(l,t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),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(),removeCellSelectedClass(this),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"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
@@ -79,11 +79,17 @@ var _default = exports.default = {
79
79
  const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
80
80
  if (filterSlot) {
81
81
  return [h('div', {
82
- class: 'vxe-table--filter-template'
82
+ class: 'vxe-table--filter-template',
83
+ style: maxHeight ? {
84
+ maxHeight: `${maxHeight}px`
85
+ } : {}
83
86
  }, $xeTable.callSlot(filterSlot, params, h))];
84
87
  } else if (rtFilter) {
85
88
  return [h('div', {
86
- class: 'vxe-table--filter-template'
89
+ class: 'vxe-table--filter-template',
90
+ style: maxHeight ? {
91
+ maxHeight: `${maxHeight}px`
92
+ } : {}
87
93
  }, (0, _vn.getSlotVNs)(rtFilter.call($xeTable, h, filterRender, params)))];
88
94
  }
89
95
  const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some(item => item._checked);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default={name:"VxeTableFilterPanel",props:{filterStore:Object},computed:{hasCheckOption(){var e=this.filterStore;return e&&e.options.some(e=>e.checked)}},render(e){var t=this.$parent,l=t,i=this.filterStore,{visible:r,multiple:s,column:a}=i,n=a?a.filterRender:null,c=(0,_utils.isEnableConf)(n)?renderer.get(n.name):null,o=c?c.tableFilterClassName||c.filterClassName:"",l=Object.assign({},l._currFilterParams,{$panel:this,$table:t}),h=t.computeFilterOpts.destroyOnClose;return e("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",c&&c.className?c.className:"",(0,_utils.getClass)(o,l),{"is--animat":t.animat,"is--multiple":s,"is--active":r}],style:i.style},i.visible&&(!h||r)&&a?this.renderOptions(e,n,c).concat(this.renderFooter(e)):[])},methods:{renderOptions(l,e,t){var i=this.$parent;let r=this.filterStore,{column:s,multiple:a,maxHeight:n}=r;var c=s?s.slots:null,c=c?c.filter:null,o=Object.assign({},i._currFilterParams,{$panel:this,$table:i}),t=t?t.renderTableFilter||t.renderFilter:null;return c?[l("div",{class:"vxe-table--filter-template"},i.callSlot(c,o,l))]:t?[l("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t.call(i,l,e,o)))]:(c=a?r.isAllSelected:!r.options.some(e=>e._checked),t=a&&r.isIndeterminate,[l("ul",{class:"vxe-table--filter-header"},[l("li",{class:["vxe-table--filter-option",{"is--checked":c,"is--indeterminate":t}],attrs:{title:getI18n(a?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{this.changeAllOption(e,!r.isAllSelected)}}},(a?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:c?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),l("ul",{class:"vxe-table--filter-body",style:n?{maxHeight:n+"px"}:{}},r.options.map(t=>{var e=t._checked;return l("li",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{this.changeOption(e,!t._checked,t)}}},(a?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])},renderFooter(e){var{hasCheckOption:t,filterStore:l}=this,{column:i,multiple:r}=l,s=this.$parent.computeFilterOpts,i=i.filterRender,i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null,t=!t&&!l.isAllSelected&&!l.isIndeterminate;return r&&(!i||!1!==i.showTableFilterFooter&&!1!==i.showFilterFooter&&!1!==i.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":t},attrs:{disabled:t},on:{click:this.confirmFilter}},s.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:this.resetFilter}},s.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},filterCheckAllEvent(e,t){var l=this.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},changeRadioOption(e,t,l){var{$parent:i,filterStore:r}=this;r.options.forEach(e=>{e._checked=!1}),l._checked=t,i.checkFilterOptions(),this.confirmFilter(e)},changeMultipleOption(e,t,l){var i=this.$parent;l._checked=t,i.checkFilterOptions()},changeAllOption(e,t){this.filterStore.multiple?this.filterCheckAllEvent(e,t):this.resetFilter(e)},changeOption(e,t,l){this.filterStore.multiple?this.changeMultipleOption(e,t,l):this.changeRadioOption(e,t,l)},confirmFilter(e){var t=this.$parent;t.handleFilterConfirmFilter(e)},resetFilter(e){var t=this.$parent;t.handleFilterResetFilter(e)}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default={name:"VxeTableFilterPanel",props:{filterStore:Object},computed:{hasCheckOption(){var e=this.filterStore;return e&&e.options.some(e=>e.checked)}},render(e){var t=this.$parent,l=t,i=this.filterStore,{visible:r,multiple:s,column:a}=i,n=a?a.filterRender:null,c=(0,_utils.isEnableConf)(n)?renderer.get(n.name):null,o=c?c.tableFilterClassName||c.filterClassName:"",l=Object.assign({},l._currFilterParams,{$panel:this,$table:t}),h=t.computeFilterOpts.destroyOnClose;return e("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",c&&c.className?c.className:"",(0,_utils.getClass)(o,l),{"is--animat":t.animat,"is--multiple":s,"is--active":r}],style:i.style},i.visible&&(!h||r)&&a?this.renderOptions(e,n,c).concat(this.renderFooter(e)):[])},methods:{renderOptions(l,e,t){var i=this.$parent;let r=this.filterStore,{column:s,multiple:a,maxHeight:n}=r;var c=s?s.slots:null,c=c?c.filter:null,o=Object.assign({},i._currFilterParams,{$panel:this,$table:i}),t=t?t.renderTableFilter||t.renderFilter:null;return c?[l("div",{class:"vxe-table--filter-template",style:n?{maxHeight:n+"px"}:{}},i.callSlot(c,o,l))]:t?[l("div",{class:"vxe-table--filter-template",style:n?{maxHeight:n+"px"}:{}},(0,_vn.getSlotVNs)(t.call(i,l,e,o)))]:(c=a?r.isAllSelected:!r.options.some(e=>e._checked),t=a&&r.isIndeterminate,[l("ul",{class:"vxe-table--filter-header"},[l("li",{class:["vxe-table--filter-option",{"is--checked":c,"is--indeterminate":t}],attrs:{title:getI18n(a?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{this.changeAllOption(e,!r.isAllSelected)}}},(a?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:c?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),l("ul",{class:"vxe-table--filter-body",style:n?{maxHeight:n+"px"}:{}},r.options.map(t=>{var e=t._checked;return l("li",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{this.changeOption(e,!t._checked,t)}}},(a?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])},renderFooter(e){var{hasCheckOption:t,filterStore:l}=this,{column:i,multiple:r}=l,s=this.$parent.computeFilterOpts,i=i.filterRender,i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null,t=!t&&!l.isAllSelected&&!l.isIndeterminate;return r&&(!i||!1!==i.showTableFilterFooter&&!1!==i.showFilterFooter&&!1!==i.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":t},attrs:{disabled:t},on:{click:this.confirmFilter}},s.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:this.resetFilter}},s.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},filterCheckAllEvent(e,t){var l=this.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},changeRadioOption(e,t,l){var{$parent:i,filterStore:r}=this;r.options.forEach(e=>{e._checked=!1}),l._checked=t,i.checkFilterOptions(),this.confirmFilter(e)},changeMultipleOption(e,t,l){var i=this.$parent;l._checked=t,i.checkFilterOptions()},changeAllOption(e,t){this.filterStore.multiple?this.filterCheckAllEvent(e,t):this.resetFilter(e)},changeOption(e,t,l){this.filterStore.multiple?this.changeMultipleOption(e,t,l):this.changeRadioOption(e,t,l)},confirmFilter(e){var t=this.$parent;t.handleFilterConfirmFilter(e)},resetFilter(e){var t=this.$parent;t.handleFilterResetFilter(e)}}};
@@ -115,18 +115,27 @@ var _default = exports.default = {
115
115
  methods: {
116
116
  // 处理 Tab 键移动
117
117
  moveTabSelected(args, isLeft, evnt) {
118
+ const $xeTable = this;
119
+ const props = $xeTable;
120
+ const internalData = $xeTable;
121
+ const {
122
+ editConfig
123
+ } = props;
118
124
  const {
119
125
  afterFullData,
120
- visibleColumn,
121
- editConfig,
122
- editOpts
123
- } = this;
126
+ visibleColumn
127
+ } = internalData;
128
+ const editOpts = $xeTable.computeEditOpts;
129
+ const rowOpts = $xeTable.computeRowOpts;
130
+ const currentRowOpts = $xeTable.computeCurrentRowOpts;
131
+ const columnOpts = $xeTable.computeColumnOpts;
132
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
124
133
  let targetRow;
125
134
  let targetRowIndex;
126
135
  let targetColumnIndex;
127
136
  const params = Object.assign({}, args);
128
- const _rowIndex = this.getVTRowIndex(params.row);
129
- const _columnIndex = this.getVTColumnIndex(params.column);
137
+ const _rowIndex = $xeTable.getVTRowIndex(params.row);
138
+ const _columnIndex = $xeTable.getVTColumnIndex(params.column);
130
139
  evnt.preventDefault();
131
140
  if (isLeft) {
132
141
  // 向左
@@ -162,31 +171,48 @@ var _default = exports.default = {
162
171
  }
163
172
  params.columnIndex = targetColumnIndex;
164
173
  params.column = targetColumn;
165
- params.cell = this.getCellElement(params.row, params.column);
174
+ params.cell = $xeTable.getCellElement(params.row, params.column);
175
+ if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
176
+ $xeTable.triggerCurrentRowEvent(evnt, params);
177
+ }
178
+ if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
179
+ $xeTable.triggerCurrentColumnEvent(evnt, params);
180
+ }
166
181
  if (editConfig) {
167
182
  if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
168
183
  if (editOpts.mode === 'row') {
169
- this.handleEdit(params, evnt);
184
+ $xeTable.handleEdit(params, evnt);
170
185
  } else {
171
- this.scrollToRow(params.row, params.column).then(() => this.handleSelected(params, evnt));
186
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
187
+ $xeTable.handleSelected(params, evnt);
188
+ });
172
189
  }
173
190
  }
174
191
  } else {
175
- this.scrollToRow(params.row, params.column).then(() => this.handleSelected(params, evnt));
192
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
193
+ $xeTable.handleSelected(params, evnt);
194
+ });
176
195
  }
177
196
  }
178
197
  },
179
198
  // 处理当前行方向键移动
180
199
  moveCurrentRow(isUpArrow, isDwArrow, evnt) {
200
+ const $xeTable = this;
201
+ const props = $xeTable;
202
+ const reactData = $xeTable;
203
+ const internalData = $xeTable;
204
+ const {
205
+ treeConfig
206
+ } = props;
207
+ const {
208
+ currentRow
209
+ } = reactData;
181
210
  const {
182
- currentRow,
183
- treeConfig,
184
- treeOpts,
185
211
  afterFullData
186
- } = this;
212
+ } = internalData;
213
+ const treeOpts = $xeTable.computeTreeOpts;
187
214
  const childrenField = treeOpts.children || treeOpts.childrenField;
188
215
  let targetRow;
189
- evnt.preventDefault();
190
216
  if (currentRow) {
191
217
  if (treeConfig) {
192
218
  const {
@@ -201,7 +227,7 @@ var _default = exports.default = {
201
227
  targetRow = items[index + 1];
202
228
  }
203
229
  } else {
204
- const _rowIndex = this.getVTRowIndex(currentRow);
230
+ const _rowIndex = $xeTable.getVTRowIndex(currentRow);
205
231
  if (isUpArrow && _rowIndex > 0) {
206
232
  targetRow = afterFullData[_rowIndex - 1];
207
233
  } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
@@ -212,22 +238,60 @@ var _default = exports.default = {
212
238
  targetRow = afterFullData[0];
213
239
  }
214
240
  if (targetRow) {
241
+ evnt.preventDefault();
215
242
  const params = {
216
- $table: this,
217
- row: targetRow
243
+ $table: $xeTable,
244
+ row: targetRow,
245
+ rowIndex: $xeTable.getRowIndex(targetRow),
246
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
218
247
  };
219
- this.scrollToRow(targetRow).then(() => this.triggerCurrentRowEvent(evnt, params));
248
+ $xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
249
+ }
250
+ },
251
+ // 处理当前列方向键移动
252
+ moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
253
+ const $xeTable = this;
254
+ const reactData = $xeTable;
255
+ const internalData = $xeTable;
256
+ const {
257
+ currentColumn
258
+ } = reactData;
259
+ const {
260
+ visibleColumn
261
+ } = internalData;
262
+ let targetCol = null;
263
+ if (currentColumn) {
264
+ const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
265
+ if (isLeftArrow && _columnIndex > 0) {
266
+ targetCol = visibleColumn[_columnIndex - 1];
267
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
268
+ targetCol = visibleColumn[_columnIndex + 1];
269
+ }
270
+ } else {
271
+ targetCol = visibleColumn[0];
272
+ }
273
+ if (targetCol) {
274
+ evnt.preventDefault();
275
+ const params = {
276
+ $table: $xeTable,
277
+ column: targetCol,
278
+ columnIndex: $xeTable.getColumnIndex(targetCol),
279
+ $columnIndex: $xeTable.getVMColumnIndex(targetCol)
280
+ };
281
+ $xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
220
282
  }
221
283
  },
222
284
  // 处理可编辑方向键移动
223
285
  moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
286
+ const $xeTable = this;
287
+ const internalData = $xeTable;
224
288
  const {
225
289
  afterFullData,
226
290
  visibleColumn
227
- } = this;
291
+ } = internalData;
228
292
  const params = Object.assign({}, args);
229
- const _rowIndex = this.getVTRowIndex(params.row);
230
- const _columnIndex = this.getVTColumnIndex(params.column);
293
+ const _rowIndex = $xeTable.getVTRowIndex(params.row);
294
+ const _columnIndex = $xeTable.getVTColumnIndex(params.column);
231
295
  evnt.preventDefault();
232
296
  if (isUpArrow && _rowIndex > 0) {
233
297
  // 移动到上一行
@@ -246,9 +310,9 @@ var _default = exports.default = {
246
310
  params.columnIndex = _columnIndex + 1;
247
311
  params.column = visibleColumn[params.columnIndex];
248
312
  }
249
- this.scrollToRow(params.row, params.column).then(() => {
250
- params.cell = this.getCellElement(params.row, params.column);
251
- this.handleSelected(params, evnt);
313
+ $xeTable.scrollToRow(params.row, params.column).then(() => {
314
+ params.cell = $xeTable.getCellElement(params.row, params.column);
315
+ $xeTable.handleSelected(params, evnt);
252
316
  });
253
317
  },
254
318
  handleCellMousedownEvent(evnt, params) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var i,r,n=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(n&&(i=getComputedStyle(e),l-=_xeUtils.default.toNumber(i.paddingTop),o-=_xeUtils.default.toNumber(i.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,n&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,i,r,n){var s=t.showOverflow,{fullAllDataRowIdData:h,isResizeCellHeight:a}=t,d=t.computeRowOpts,c=t.computeCellOpts,u=t.computeDefaultRowHeight,l=l.row;let g=0,f=[],m=0;var x=0<n,p=t.scrollYLoad,w=t.afterFullData;if(m=x?r+n:i.height-r+Math.abs(n),p){i=t.getVTRowIndex(l);if(!(a||c.height||d.height)&&s)f=x?w.slice(i,i+Math.ceil(m/u)):w.slice(i-Math.floor(m/u),i+1);else if(x)for(let e=i;e<w.length;e++){var v=w[e],b=h[t.getRowid(v)]||{};if(g+=b.resizeHeight||c.height||d.height||b.height||u,f.push(v),g>m)return f}else for(let e=i;0<=e;e--){var R=w[e],C=h[t.getRowid(R)]||{};if(g+=C.resizeHeight||c.height||d.height||C.height||u,f.push(R),g>m)return f}}else for(var T=x?"next":"previous";o&&g<m;){var _=t.getRowNode(o);_&&(f.push(_.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return f}var _default=exports.default={methods:{moveTabSelected(e,t,l){var{afterFullData:o,visibleColumn:i,editConfig:r,editOpts:n}=this;let s,h,a,d=Object.assign({},e);var e=this.getVTRowIndex(d.row),c=this.getVTColumnIndex(d.column),t=(l.preventDefault(),t?c<=0?0<e&&(h=e-1,s=o[h],a=i.length-1):a=c-1:c>=i.length-1?e<o.length-1&&(h=e+1,s=o[h],a=0):a=c+1,i[a]);t&&(s?(d.rowIndex=h,d.row=s):d.rowIndex=e,d.columnIndex=a,d.column=t,d.cell=this.getCellElement(d.row,d.column),r?"click"!==n.trigger&&"dblclick"!==n.trigger||("row"===n.mode?this.handleEdit(d,l):this.scrollToRow(d.row,d.column).then(()=>this.handleSelected(d,l))):this.scrollToRow(d.row,d.column).then(()=>this.handleSelected(d,l)))},moveCurrentRow(e,t,l){let{currentRow:o,treeConfig:i,treeOpts:r,afterFullData:n}=this;var s,h=r.children||r.childrenField;let a;if(l.preventDefault(),o?i?({index:h,items:s}=_xeUtils.default.findTree(n,e=>e===o,{children:h}),e&&0<h?a=s[h-1]:t&&h<s.length-1&&(a=s[h+1])):(s=this.getVTRowIndex(o),e&&0<s?a=n[s-1]:t&&s<n.length-1&&(a=n[s+1])):a=n[0],a){let e={$table:this,row:a};this.scrollToRow(a).then(()=>this.triggerCurrentRowEvent(l,e))}},moveSelected(e,t,l,o,i,r){var{afterFullData:n,visibleColumn:s}=this;let h=Object.assign({},e);var e=this.getVTRowIndex(h.row),a=this.getVTColumnIndex(h.column);r.preventDefault(),l&&0<e?(h.rowIndex=e-1,h.row=n[h.rowIndex]):i&&e<n.length-1?(h.rowIndex=e+1,h.row=n[h.rowIndex]):t&&a?(h.columnIndex=a-1,h.column=s[h.columnIndex]):o&&a<s.length-1&&(h.columnIndex=a+1,h.column=s[h.columnIndex]),this.scrollToRow(h.row,h.column).then(()=>{h.cell=this.getCellElement(h.row,h.column),this.handleSelected(h,r)})},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:i,checkboxConfig:r,checkboxOpts:n,mouseConfig:s,mouseOpts:h}=this;if(s&&h.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);r&&n.range&&this.handleCheckboxRangeEvent(e,t),s&&h.selected&&(l&&"cell"!==o.mode||i(t,e))},handleCheckboxRangeEvent(e,y){let E=this;var t=E.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:i,cell:r}=y;if("checkbox"===i.type){let I=l;if(o&&"left"===i.fixed?I=o:t&&"right"===i.fixed&&(I=t),I){let t=E.$refs.refElem,s=e.clientX,h=e.clientY,a=I.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,c=this.getCheckboxRecords(),u=[],g=1;l=getTargetOffset(e.target,I);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,x=I.scrollTop,n=d.offsetHeight,p=d.getBoundingClientRect(),w=h-p.y,v=null,b=!1,R=1,C=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-s,l=l-h+(I.scrollTop-x);let o=Math.abs(l),i=Math.abs(t),r=f,n=m;l<g?(r+=l)<g&&(r=g,o=f):o=Math.min(o,I.scrollHeight-f-g),t<g?(n+=t,i>m&&(n=g,i=m)):i=Math.min(i,I.clientWidth-m-g),a.style.height=o+"px",a.style.width=i+"px",a.style.left=n+"px",a.style.top=r+"px",a.style.display="block";t=getCheckboxRangeRows(this,e,y,d,p,w,l<g?-o:o);10<o&&t.length!==u.length&&(u=t,e.ctrlKey?t.forEach(e=>{E.handleBatchSelectRows([e],-1===c.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),C("change",e))},_=()=>{clearTimeout(v),v=null},k=r=>{_(),v=setTimeout(()=>{var e,t,l,o,i;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=I,i=Math.ceil(50*R/n),b?t+l<o?(this.scrollTo(e,t+i),k(r),T(r)):_():t?(this.scrollTo(e,t-i),k(r),T(r)):_())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(I).boundingTop;t<l?(b=!1,R=l-t,v||k(e)):t>l+I.clientHeight?(b=!0,R=t-l-I.clientHeight,v||k(e)):v&&_(),T(e)},document.onmouseup=e=>{_(),(0,_dom.removeClass)(t,"drag--range"),a.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,C("end",e)},C("start",e)}}}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var n,r,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,n,r,i){var s=t.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:c}=t,d=t.computeRowOpts,a=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let g=0,f=[],m=0;var x=0<i,p=t.scrollYLoad,w=t.afterFullData;if(m=x?r+i:n.height-r+Math.abs(i),p){n=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&s)f=x?w.slice(n,n+Math.ceil(m/h)):w.slice(n-Math.floor(m/h),n+1);else if(x)for(let e=n;e<w.length;e++){var v=w[e],C=u[t.getRowid(v)]||{};if(g+=C.resizeHeight||a.height||d.height||C.height||h,f.push(v),g>m)return f}else for(let e=n;0<=e;e--){var b=w[e],R=u[t.getRowid(b)]||{};if(g+=R.resizeHeight||a.height||d.height||R.height||h,f.push(b),g>m)return f}}else for(var T=x?"next":"previous";o&&g<m;){var I=t.getRowNode(o);I&&(f.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return f}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var n=o.editConfig,{afterFullData:r,visibleColumn:i}=o,s=o.computeEditOpts,u=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,a=o.computeCurrentColumnOpts;let h,g,f,m=Object.assign({},e);var e=o.getVTRowIndex(m.row),x=o.getVTColumnIndex(m.column),t=(l.preventDefault(),t?x<=0?0<e&&(g=e-1,h=r[g],f=i.length-1):f=x-1:x>=i.length-1?e<r.length-1&&(g=e+1,h=r[g],f=0):f=x+1,i[f]);t&&(h?(m.rowIndex=g,m.row=h):m.rowIndex=e,m.columnIndex=f,m.column=t,m.cell=o.getCellElement(m.row,m.column),u.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,m),d.isCurrent&&a.isFollowSelected&&o.triggerCurrentColumnEvent(l,m),n?"click"!==s.trigger&&"dblclick"!==s.trigger||("row"===s.mode?o.handleEdit(m,l):o.scrollToRow(m.row,m.column).then(()=>{o.handleSelected(m,l)})):o.scrollToRow(m.row,m.column).then(()=>{o.handleSelected(m,l)}))},moveCurrentRow(e,t,l){let o=this;var n=o,r=o,i=o,n=n.treeConfig;let s=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let u;if(s?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===s,{children:i}),e&&0<n?u=i[n-1]:t&&n<i.length-1&&(u=i[n+1])):(i=o.getVTRowIndex(s),e&&0<i?u=r[i-1]:t&&i<r.length-1&&(u=r[i+1])):u=r[0],u){l.preventDefault();let e={$table:o,row:u,rowIndex:o.getRowIndex(u),$rowIndex:o.getVMRowIndex(u)};o.scrollToRow(u).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,n,r){let i=this;var{afterFullData:s,visibleColumn:u}=i;let c=Object.assign({},e);var e=i.getVTRowIndex(c.row),d=i.getVTColumnIndex(c.column);r.preventDefault(),l&&0<e?(c.rowIndex=e-1,c.row=s[c.rowIndex]):n&&e<s.length-1?(c.rowIndex=e+1,c.row=s[c.rowIndex]):t&&d?(c.columnIndex=d-1,c.column=u[c.columnIndex]):o&&d<u.length-1&&(c.columnIndex=d+1,c.column=u[c.columnIndex]),i.scrollToRow(c.row,c.column).then(()=>{c.cell=i.getCellElement(c.row,c.column),i.handleSelected(c,r)})},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:n,checkboxConfig:r,checkboxOpts:i,mouseConfig:s,mouseOpts:u}=this;if(s&&u.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),s&&u.selected&&(l&&"cell"!==o.mode||n(t,e))},handleCheckboxRangeEvent(e,k){let O=this;var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=k;if("checkbox"===n.type){let E=l;if(o&&"left"===n.fixed?E=o:t&&"right"===n.fixed&&(E=t),E){let t=O.$refs.refElem,s=e.clientX,u=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,a=this.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,E);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,x=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=u-p.y,v=null,C=!1,b=1,R=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-s,l=l-u+(E.scrollTop-x);let o=Math.abs(l),n=Math.abs(t),r=f,i=m;l<g?(r+=l)<g&&(r=g,o=f):o=Math.min(o,E.scrollHeight-f-g),t<g?(i+=t,n>m&&(i=g,n=m)):n=Math.min(n,E.clientWidth-m-g),c.style.height=o+"px",c.style.width=n+"px",c.style.left=i+"px",c.style.top=r+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,k,d,p,w,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{O.handleBatchSelectRows([e],-1===a.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(v),v=null},_=r=>{I(),v=setTimeout(()=>{var e,t,l,o,n;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,n=Math.ceil(50*b/i),C?t+l<o?(this.scrollTo(e,t+n),_(r),T(r)):I():t?(this.scrollTo(e,t-n),_(r),T(r)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(C=!1,b=l-t,v||_(e)):t>l+E.clientHeight?(C=!0,b=t-l-E.clientHeight,v||_(e)):v&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}}}};
@@ -178,11 +178,11 @@ var _default = exports.default = {
178
178
  treeConfig
179
179
  } = props;
180
180
  const {
181
- editStore,
182
- pendingRowMaps
181
+ editStore
183
182
  } = reactData;
184
183
  const {
185
- afterFullData
184
+ afterFullData,
185
+ pendingRowMaps
186
186
  } = internalData;
187
187
  const {
188
188
  removeMaps
@@ -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 i=this;var t=i,r=i,o=i;let u={},{editRules:n,treeConfig:d}=t,{editStore:h,pendingRowMaps:g}=r;t=o.afterFullData;let c=h.removeMaps;r=i.computeTreeOpts,o=r.children||r.childrenField;let f,p=(!0===e?f=t:e&&(_xeUtils.default.isFunction(e)?a=e:f=_xeUtils.default.isArray(e)?e:[e]),f=f||this.getInsertRecords().concat(this.getUpdateRecords()),[]),m=(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(!c[e]&&!g[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]=[]),m[(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)}))}),p.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(f,r,{children:o}):f.forEach(r),Promise.all(p).then(()=>{let e=Object.keys(u);return this.validErrorMaps=this.handleErrMsgMode(m),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 g=[],c=[];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]):(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&c.push(e.catch(e=>{this.validRuleErr=!0,g.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,g.push(new Rule(t)))}})}}return Promise.all(c).then(()=>{var e;if(g.length)return e={rules:g,rule:g[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 r=i,t=i,o=i;let u={},{editRules:n,treeConfig:d}=r;r=t.editStore;let{afterFullData:h,pendingRowMaps:g}=o,c=r.removeMaps;t=i.computeTreeOpts,o=t.children||t.childrenField;let f,p=(!0===e?f=h:e&&(_xeUtils.default.isFunction(e)?a=e:f=_xeUtils.default.isArray(e)?e:[e]),f=f||this.getInsertRecords().concat(this.getUpdateRecords()),[]),m=(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(!c[e]&&!g[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]=[]),m[(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)}))}),p.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(f,r,{children:o}):f.forEach(r),Promise.all(p).then(()=>{let e=Object.keys(u);return this.validErrorMaps=this.handleErrMsgMode(m),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 g=[],c=[];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]):(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&c.push(e.catch(e=>{this.validRuleErr=!0,g.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,g.push(new Rule(t)))}})}}return Promise.all(c).then(()=>{var e;if(g.length)return e={rules:g,rule:g[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()}}};
@@ -10,7 +10,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
10
10
  const {
11
11
  getConfig,
12
12
  renderer,
13
- getI18n
13
+ getI18n,
14
+ getComponent
14
15
  } = _ui.VxeUI;
15
16
  const componentDefaultModelProp = 'value';
16
17
  const defaultCompProps = {};
@@ -48,7 +49,7 @@ function getOldComponent({
48
49
  function getDefaultComponent({
49
50
  name
50
51
  }) {
51
- return name;
52
+ return getComponent(name) || name;
52
53
  }
53
54
  function handleConfirmFilter(params, checked, option) {
54
55
  const {
@@ -690,6 +691,69 @@ function handleExportTreeSelectMethod(params) {
690
691
  } = params;
691
692
  return options.original ? (0, _util.getCellValue)(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
692
693
  }
694
+ function handleNumberCell(h, renderOpts, params) {
695
+ const {
696
+ props = {},
697
+ showNegativeStatus
698
+ } = renderOpts;
699
+ const {
700
+ row,
701
+ column
702
+ } = params;
703
+ const {
704
+ type
705
+ } = props;
706
+ let cellValue = _xeUtils.default.get(row, column.field);
707
+ let isNegative = false;
708
+ if (!(0, _utils.isEmptyValue)(cellValue)) {
709
+ const numberInputConfig = getConfig().numberInput || {};
710
+ if (type === 'float') {
711
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
712
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
713
+ cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
714
+ if (!autoFill) {
715
+ cellValue = _xeUtils.default.toNumber(cellValue);
716
+ }
717
+ if (showNegativeStatus) {
718
+ if (cellValue < 0) {
719
+ isNegative = true;
720
+ }
721
+ }
722
+ } else if (type === 'amount') {
723
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
724
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
725
+ const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
726
+ cellValue = _xeUtils.default.toNumber(cellValue);
727
+ if (showNegativeStatus) {
728
+ if (cellValue < 0) {
729
+ isNegative = true;
730
+ }
731
+ }
732
+ cellValue = _xeUtils.default.commafy(cellValue, {
733
+ digits
734
+ });
735
+ if (!autoFill) {
736
+ const [iStr, dStr] = cellValue.split('.');
737
+ if (dStr) {
738
+ const dRest = dStr.replace(/0+$/, '');
739
+ cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
740
+ }
741
+ }
742
+ if (showCurrency) {
743
+ cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
744
+ }
745
+ } else {
746
+ if (showNegativeStatus) {
747
+ if (_xeUtils.default.toNumber(cellValue) < 0) {
748
+ isNegative = true;
749
+ }
750
+ }
751
+ }
752
+ }
753
+ return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative ? {
754
+ class: 'is--negative'
755
+ } : {});
756
+ }
693
757
  /**
694
758
  * 表格 - 渲染器
695
759
  */
@@ -761,72 +825,22 @@ renderer.mixin({
761
825
  renderTableFilter: defaultFilterRender,
762
826
  tableFilterDefaultMethod: handleInputFilterMethod
763
827
  },
764
- VxeNumberInput: {
765
- tableAutoFocus: 'input',
766
- renderTableEdit: defaultEditRender,
767
- renderTableCell(h, renderOpts, params) {
768
- const {
769
- props = {},
770
- showNegativeStatus
771
- } = renderOpts;
828
+ FormatNumberInput: {
829
+ renderTableDefault: handleNumberCell,
830
+ tableFilterDefaultMethod: handleInputFilterMethod,
831
+ tableExportMethod(params) {
772
832
  const {
773
833
  row,
774
834
  column
775
835
  } = params;
776
- const {
777
- type
778
- } = props;
779
- let cellValue = _xeUtils.default.get(row, column.field);
780
- let isNegative = false;
781
- if (!(0, _utils.isEmptyValue)(cellValue)) {
782
- const numberInputConfig = getConfig().numberInput || {};
783
- if (type === 'float') {
784
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
785
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
786
- cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
787
- if (!autoFill) {
788
- cellValue = _xeUtils.default.toNumber(cellValue);
789
- }
790
- if (showNegativeStatus) {
791
- if (cellValue < 0) {
792
- isNegative = true;
793
- }
794
- }
795
- } else if (type === 'amount') {
796
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
797
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
798
- const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
799
- cellValue = _xeUtils.default.toNumber(cellValue);
800
- if (showNegativeStatus) {
801
- if (cellValue < 0) {
802
- isNegative = true;
803
- }
804
- }
805
- cellValue = _xeUtils.default.commafy(cellValue, {
806
- digits
807
- });
808
- if (!autoFill) {
809
- const [iStr, dStr] = cellValue.split('.');
810
- if (dStr) {
811
- const dRest = dStr.replace(/0+$/, '');
812
- cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
813
- }
814
- }
815
- if (showCurrency) {
816
- cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
817
- }
818
- } else {
819
- if (showNegativeStatus) {
820
- if (_xeUtils.default.toNumber(cellValue) < 0) {
821
- isNegative = true;
822
- }
823
- }
824
- }
825
- }
826
- return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative ? {
827
- class: 'is--negative'
828
- } : {});
829
- },
836
+ const cellValue = _xeUtils.default.get(row, column.field);
837
+ return cellValue;
838
+ }
839
+ },
840
+ VxeNumberInput: {
841
+ tableAutoFocus: 'input',
842
+ renderTableEdit: defaultEditRender,
843
+ renderTableCell: handleNumberCell,
830
844
  renderTableFooter(h, renderOpts, params) {
831
845
  const {
832
846
  props = {}
@@ -962,11 +976,22 @@ renderer.mixin({
962
976
  tableFilterDefaultMethod: handleFilterMethod,
963
977
  tableExportMethod: handleExportSelectMethod
964
978
  },
979
+ /**
980
+ * 已废弃,被 FormatSelect 替换
981
+ * @deprecated
982
+ */
965
983
  formatOption: {
966
984
  renderTableDefault(h, renderOpts, params) {
967
985
  return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params));
968
986
  }
969
987
  },
988
+ FormatSelect: {
989
+ renderTableDefault(h, renderOpts, params) {
990
+ return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params));
991
+ },
992
+ tableFilterDefaultMethod: handleFilterMethod,
993
+ tableExportMethod: handleExportSelectMethod
994
+ },
970
995
  VxeTreeSelect: {
971
996
  tableAutoFocus: 'input',
972
997
  renderTableEdit: defaultTableOrTreeSelectEditRender,
@@ -983,11 +1008,21 @@ renderer.mixin({
983
1008
  },
984
1009
  tableExportMethod: handleExportTreeSelectMethod
985
1010
  },
1011
+ /**
1012
+ * 已废弃,被 FormatTreeSelect 替换
1013
+ * @deprecated
1014
+ */
986
1015
  formatTree: {
987
1016
  renderTableDefault(h, renderOpts, params) {
988
1017
  return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params));
989
1018
  }
990
1019
  },
1020
+ FormatTreeSelect: {
1021
+ renderTableDefault(h, renderOpts, params) {
1022
+ return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params));
1023
+ },
1024
+ tableExportMethod: handleExportTreeSelectMethod
1025
+ },
991
1026
  VxeColorPicker: {
992
1027
  tableAutoFocus: 'input',
993
1028
  renderTableEdit(h, renderOpts, params) {