vxe-table 3.14.2 → 3.14.4

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 (123) hide show
  1. package/es/locale/lang/ar-EG.js +1 -0
  2. package/es/locale/lang/de-DE.js +1 -0
  3. package/es/locale/lang/en-US.js +1 -0
  4. package/es/locale/lang/es-ES.js +1 -0
  5. package/es/locale/lang/fr-FR.js +1 -0
  6. package/es/locale/lang/hu-HU.js +1 -0
  7. package/es/locale/lang/hy-AM.js +1 -0
  8. package/es/locale/lang/id-ID.js +1 -0
  9. package/es/locale/lang/it-IT.js +1 -0
  10. package/es/locale/lang/ja-JP.js +1 -0
  11. package/es/locale/lang/ko-KR.js +1 -0
  12. package/es/locale/lang/nb-NO.js +1 -0
  13. package/es/locale/lang/pt-BR.js +1 -0
  14. package/es/locale/lang/ru-RU.js +1 -0
  15. package/es/locale/lang/th-TH.js +1 -0
  16. package/es/locale/lang/ug-CN.js +1 -0
  17. package/es/locale/lang/uk-UA.js +1 -0
  18. package/es/locale/lang/vi-VN.js +1 -0
  19. package/es/locale/lang/zh-CHT.js +1 -0
  20. package/es/locale/lang/zh-CN.js +1 -0
  21. package/es/style.css +1 -1
  22. package/es/table/module/keyboard/mixin.js +27 -9
  23. package/es/table/module/menu/mixin.js +8 -7
  24. package/es/table/src/methods.js +104 -57
  25. package/es/table/src/table.js +42 -17
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/log.js +1 -1
  28. package/lib/index.umd.js +190 -104
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/locale/lang/ar-EG.js +1 -0
  31. package/lib/locale/lang/ar-EG.min.js +1 -1
  32. package/lib/locale/lang/de-DE.js +1 -0
  33. package/lib/locale/lang/de-DE.min.js +1 -1
  34. package/lib/locale/lang/en-US.js +1 -0
  35. package/lib/locale/lang/en-US.min.js +1 -1
  36. package/lib/locale/lang/en-US.umd.js +1 -0
  37. package/lib/locale/lang/es-ES.js +1 -0
  38. package/lib/locale/lang/es-ES.min.js +1 -1
  39. package/lib/locale/lang/es-ES.umd.js +1 -0
  40. package/lib/locale/lang/fr-FR.js +1 -0
  41. package/lib/locale/lang/fr-FR.min.js +1 -1
  42. package/lib/locale/lang/hu-HU.js +1 -0
  43. package/lib/locale/lang/hu-HU.min.js +1 -1
  44. package/lib/locale/lang/hu-HU.umd.js +1 -0
  45. package/lib/locale/lang/hy-AM.js +1 -0
  46. package/lib/locale/lang/hy-AM.min.js +1 -1
  47. package/lib/locale/lang/id-ID.js +1 -0
  48. package/lib/locale/lang/id-ID.min.js +1 -1
  49. package/lib/locale/lang/it-IT.js +1 -0
  50. package/lib/locale/lang/it-IT.min.js +1 -1
  51. package/lib/locale/lang/ja-JP.js +1 -0
  52. package/lib/locale/lang/ja-JP.min.js +1 -1
  53. package/lib/locale/lang/ja-JP.umd.js +1 -0
  54. package/lib/locale/lang/ko-KR.js +1 -0
  55. package/lib/locale/lang/ko-KR.min.js +1 -1
  56. package/lib/locale/lang/ko-KR.umd.js +1 -0
  57. package/lib/locale/lang/nb-NO.js +1 -0
  58. package/lib/locale/lang/nb-NO.min.js +1 -1
  59. package/lib/locale/lang/pt-BR.js +1 -0
  60. package/lib/locale/lang/pt-BR.min.js +1 -1
  61. package/lib/locale/lang/pt-BR.umd.js +1 -0
  62. package/lib/locale/lang/ru-RU.js +1 -0
  63. package/lib/locale/lang/ru-RU.min.js +1 -1
  64. package/lib/locale/lang/ru-RU.umd.js +1 -0
  65. package/lib/locale/lang/th-TH.js +1 -0
  66. package/lib/locale/lang/th-TH.min.js +1 -1
  67. package/lib/locale/lang/ug-CN.js +1 -0
  68. package/lib/locale/lang/ug-CN.min.js +1 -1
  69. package/lib/locale/lang/uk-UA.js +1 -0
  70. package/lib/locale/lang/uk-UA.min.js +1 -1
  71. package/lib/locale/lang/uk-UA.umd.js +1 -0
  72. package/lib/locale/lang/vi-VN.js +1 -0
  73. package/lib/locale/lang/vi-VN.min.js +1 -1
  74. package/lib/locale/lang/zh-CHT.js +1 -0
  75. package/lib/locale/lang/zh-CHT.min.js +1 -1
  76. package/lib/locale/lang/zh-CHT.umd.js +1 -0
  77. package/lib/locale/lang/zh-CN.js +1 -0
  78. package/lib/locale/lang/zh-CN.min.js +1 -1
  79. package/lib/locale/lang/zh-CN.umd.js +1 -0
  80. package/lib/style.css +1 -1
  81. package/lib/table/module/keyboard/mixin.js +28 -9
  82. package/lib/table/module/keyboard/mixin.min.js +1 -1
  83. package/lib/table/module/menu/mixin.js +10 -7
  84. package/lib/table/module/menu/mixin.min.js +1 -1
  85. package/lib/table/src/methods.js +105 -69
  86. package/lib/table/src/methods.min.js +1 -1
  87. package/lib/table/src/table.js +44 -17
  88. package/lib/table/src/table.min.js +1 -1
  89. package/lib/ui/index.js +1 -1
  90. package/lib/ui/index.min.js +1 -1
  91. package/lib/ui/src/log.js +1 -1
  92. package/lib/ui/src/log.min.js +1 -1
  93. package/package.json +2 -2
  94. package/packages/locale/lang/ar-EG.ts +1 -0
  95. package/packages/locale/lang/de-DE.ts +1 -0
  96. package/packages/locale/lang/en-US.ts +1 -0
  97. package/packages/locale/lang/es-ES.ts +1 -0
  98. package/packages/locale/lang/fr-FR.ts +1 -0
  99. package/packages/locale/lang/hu-HU.ts +1 -0
  100. package/packages/locale/lang/hy-AM.ts +1 -0
  101. package/packages/locale/lang/id-ID.ts +1 -0
  102. package/packages/locale/lang/it-IT.ts +1 -0
  103. package/packages/locale/lang/ja-JP.ts +1 -0
  104. package/packages/locale/lang/ko-KR.ts +1 -0
  105. package/packages/locale/lang/nb-NO.ts +1 -0
  106. package/packages/locale/lang/pt-BR.ts +1 -0
  107. package/packages/locale/lang/ru-RU.ts +1 -0
  108. package/packages/locale/lang/th-TH.ts +1 -0
  109. package/packages/locale/lang/ug-CN.ts +1 -0
  110. package/packages/locale/lang/uk-UA.ts +1 -0
  111. package/packages/locale/lang/vi-VN.ts +1 -0
  112. package/packages/locale/lang/zh-CHT.ts +1 -0
  113. package/packages/locale/lang/zh-CN.ts +1 -0
  114. package/packages/table/module/keyboard/mixin.ts +25 -9
  115. package/packages/table/module/menu/mixin.ts +9 -7
  116. package/packages/table/src/methods.ts +104 -57
  117. package/packages/table/src/table.ts +44 -17
  118. /package/es/{iconfont.1743125678150.ttf → iconfont.1743393991959.ttf} +0 -0
  119. /package/es/{iconfont.1743125678150.woff → iconfont.1743393991959.woff} +0 -0
  120. /package/es/{iconfont.1743125678150.woff2 → iconfont.1743393991959.woff2} +0 -0
  121. /package/lib/{iconfont.1743125678150.ttf → iconfont.1743393991959.ttf} +0 -0
  122. /package/lib/{iconfont.1743125678150.woff → iconfont.1743393991959.woff} +0 -0
  123. /package/lib/{iconfont.1743125678150.woff2 → iconfont.1743393991959.woff2} +0 -0
@@ -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}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,a=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var p=0<i,C=t.scrollYLoad,w=t.afterFullData;if(f=p?n+i:r.height-n+Math.abs(i),C){r=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&u)m=p?w.slice(r,r+Math.ceil(f/h)):w.slice(r-Math.floor(f/h),r+1);else if(p)for(let e=r;e<w.length;e++){var v=w[e],x=s[t.getRowid(v)]||{};if(g+=x.resizeHeight||a.height||d.height||x.height||h,m.push(v),g>f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||a.height||d.height||b.height||h,m.push(R),g>f)return m}}else for(var T=p?"next":"previous";o&&g<f;){var I=t.getRowNode(o);I&&(m.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),r&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):n&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,a=o.computeCurrentColumnOpts;let h,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),p=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?p<=0?0<e&&(g=e-1,h=n[g],m=i.length-1):m=p-1:p>=i.length-1?e<n.length-1&&(g=e+1,h=n[g],m=0):m=p+1,i[m]);t&&(h?(f.rowIndex=g,f.row=h):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&a.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),r?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0<r?s=i[r-1]:t&&r<i.length-1&&(s=i[r+1])):(i=o.getVTRowIndex(u),e&&0<i?s=n[i-1]:t&&i<n.length-1&&(s=n[i+1])):s=n[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?i=n[r-1]:t&&r<n.length-1&&(i=n[r+1])):i=n[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))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeColumnOpts;handleMoveSelected(i,n,e,t,l,o,r),(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n),(t||o)&&(d.isCurrent||s)&&i.moveCurrentColumn(t,o,n)},moveEnterSelected(e,t,l,o,r,n){var i=this,u=i.computeRowOpts,s=i.computeCurrentRowOpts,c=i.computeColumnOpts,d=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);u.isCurrent&&s.isFollowSelected&&i.triggerCurrentRowEvent(n,e),c.isCurrent&&d.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,_){let S=this;var t=S.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:r,cell:n}=_;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=S.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,a=this.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,p=E.scrollTop,i=d.offsetHeight,C=d.getBoundingClientRect(),w=s-C.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;l<g?(n+=l)<g&&(n=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,r>f&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,_,d,C,w,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{S.handleBatchSelectRows([e],-1===a.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},I=()=>{clearTimeout(v),v=null},O=n=>{I(),v=setTimeout(()=>{var e,t,l,o,r;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+r),O(n),T(n)):I():t?(this.scrollTo(e,t-r),O(n),T(n)):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?(x=!1,R=l-t,v||O(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,v||O(e)):v&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("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}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,h=t.computeCellOpts,a=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var C=0<i,p=t.scrollYLoad,w=t.afterFullData;if(f=C?n+i:r.height-n+Math.abs(i),p){r=t.getVTRowIndex(l);if(!(c||h.height||d.height)&&u)m=C?w.slice(r,r+Math.ceil(f/a)):w.slice(r-Math.floor(f/a),r+1);else if(C)for(let e=r;e<w.length;e++){var v=w[e],x=s[t.getRowid(v)]||{};if(g+=x.resizeHeight||h.height||d.height||x.height||a,m.push(v),g>f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||h.height||d.height||b.height||a,m.push(R),g>f)return m}}else for(var T=C?"next":"previous";o&&g<f;){var O=t.getRowNode(o);O&&(m.push(O.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),r&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):n&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let a,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),C=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?C<=0?0<e&&(g=e-1,a=n[g],m=i.length-1):m=C-1:C>=i.length-1?e<n.length-1&&(g=e+1,a=n[g],m=0):m=C+1,i[m]);t&&(a?(f.rowIndex=g,f.row=a):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),r?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0<r?s=i[r-1]:t&&r<i.length-1&&(s=i[r+1])):(i=o.getVTRowIndex(u),e&&0<i?s=n[i-1]:t&&i<n.length-1&&(s=n[i+1])):s=n[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?i=n[r-1]:t&&r<n.length-1&&(i=n[r+1])):i=n[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))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&(d.isFollowSelected?i.triggerCurrentRowEvent(n,e):(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n)),(h.isCurrent||s)&&(a.isFollowSelected?i.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||s)&&i.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&d.isFollowSelected&&i.triggerCurrentRowEvent(n,e),(h.isCurrent||s)&&a.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,S){let _=this;var t=_.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:r,cell:n}=S;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=_.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=this.getCheckboxRecords(),a=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,C=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=s-p.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;l<g?(n+=l)<g&&(n=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,r>f&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,S,d,p,w,l<g?-o:o);10<o&&t.length!==a.length&&(a=t,e.ctrlKey?t.forEach(e=>{_.handleBatchSelectRows([e],-1===h.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},O=()=>{clearTimeout(v),v=null},I=n=>{O(),v=setTimeout(()=>{var e,t,l,o,r;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+r),I(n),T(n)):O():t?(this.scrollTo(e,t-r),I(n),T(n)):O())},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?(x=!1,R=l-t,v||I(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,v||I(e)):v&&O(),T(e)},document.onmouseup=e=>{O(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}}};
@@ -11,7 +11,9 @@ var _utils = require("../../../ui/src/utils");
11
11
  var _log = require("../../../ui/src/log");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  const {
14
- menus
14
+ menus,
15
+ globalEvents,
16
+ GLOBAL_EVENT_KEYS
15
17
  } = _ui.VxeUI;
16
18
  var _default = exports.default = {
17
19
  methods: {
@@ -28,17 +30,18 @@ var _default = exports.default = {
28
30
  return this.$nextTick();
29
31
  },
30
32
  // 处理菜单的移动
31
- moveCtxMenu(evnt, keyCode, ctxMenuStore, property, operKey, operRest, menuList) {
33
+ moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
34
+ const $xeTable = this;
32
35
  let selectItem;
33
36
  const selectIndex = _xeUtils.default.findIndexOf(menuList, item => ctxMenuStore[property] === item);
34
- if (keyCode === operKey) {
37
+ if (hasOper) {
35
38
  if (operRest && (0, _utils.hasChildrenList)(ctxMenuStore.selected)) {
36
39
  ctxMenuStore.showChild = true;
37
40
  } else {
38
41
  ctxMenuStore.showChild = false;
39
42
  ctxMenuStore.selectChild = null;
40
43
  }
41
- } else if (keyCode === 38) {
44
+ } else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
42
45
  for (let len = selectIndex - 1; len >= 0; len--) {
43
46
  if (menuList[len].visible !== false) {
44
47
  selectItem = menuList[len];
@@ -46,7 +49,7 @@ var _default = exports.default = {
46
49
  }
47
50
  }
48
51
  ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
49
- } else if (keyCode === 40) {
52
+ } else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
50
53
  for (let index = selectIndex + 1; index < menuList.length; index++) {
51
54
  if (menuList[index].visible !== false) {
52
55
  selectItem = menuList[index];
@@ -54,8 +57,8 @@ var _default = exports.default = {
54
57
  }
55
58
  }
56
59
  ctxMenuStore[property] = selectItem || menuList[0];
57
- } else if (ctxMenuStore[property] && (keyCode === 13 || keyCode === 32)) {
58
- this.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
60
+ } else if (ctxMenuStore[property] && (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER) || globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR))) {
61
+ $xeTable.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
59
62
  }
60
63
  },
61
64
  /**
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let menus=_ui.VxeUI.menus;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,i,n,o,s){let r;var u=_xeUtils.default.findIndexOf(s,e=>l[i]===e);if(t===n)o&&(0,_utils.hasChildrenList)(l.selected)?l.showChild=!0:(l.showChild=!1,l.selectChild=null);else if(38===t){for(let e=u-1;0<=e;e--)if(!1!==s[e].visible){r=s[e];break}l[i]=r||s[s.length-1]}else if(40===t){for(let e=u+1;e<s.length;e++)if(!1!==s[e].visible){r=s[e];break}l[i]=r||s[0]}else!l[i]||13!==t&&32!==t||this.ctxMenuLinkEvent(e,l[i])},handleGlobalContextmenuEvent(t){var e=this,l=e.$xeGrid,i=e;let{$refs:n,tId:o,editStore:s,menuConfig:r,contextMenu:u,ctxMenuStore:d,ctxMenuOpts:h,mouseConfig:c,mouseOpts:a}=this;var v=s.selected,e=e.$refs.refTableFilter,f=["header","body","footer"];if((0,_utils.isEnableConf)(r)||u){if(d.visible&&n.refTableMenu&&(0,_dom.getEventTargetNode)(t,n.refTableMenu.$el).flag)return void t.preventDefault();if(i._keyCtx){var i="body",g={type:i,$grid:l,$table:this,keyboard:!0,columns:this.visibleColumn.slice(0),$event:t};if(c&&a.area){var m=this.getActiveCellArea();if(m&&m.row&&m.column)return g.row=m.row,g.column=m.column,void this.handleOpenMenuEvent(t,i,g)}else if(c&&a.selected&&v.row&&v.column)return g.row=v.row,g.column=v.column,void this.handleOpenMenuEvent(t,i,g)}for(let e=0;e<f.length;e++){var x=f[e],b=(0,_dom.getEventTargetNode)(t,this.$el,`vxe-${x}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===o),p={type:x,$grid:l,$table:this,columns:this.visibleColumn.slice(0),$event:t};if(b.flag){var b=b.targetElem,M=this.getColumnNode(b).item;let e=x+"-";return Object.assign(p,{column:M,columnIndex:this.getColumnIndex(M),cell:b}),"body"===x&&(M=this.getRowNode(b.parentNode).item,e="",p.row=M,p.rowIndex=this.getRowIndex(M)),this.handleOpenMenuEvent(t,x,p),void(this.$listeners[e+"cell-context-menu"]?("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delEvent",[e+"cell-context-menu",e+"cell-menu"]),this.emitEvent(e+"cell-context-menu",p,t)):this.emitEvent(e+"cell-menu",p,t))}if((0,_dom.getEventTargetNode)(t,this.$el,`vxe-table--${x}-wrapper`,e=>e.getAttribute("xid")===o).flag)return void("cell"===h.trigger?t.preventDefault():this.handleOpenMenuEvent(t,x,p))}}e&&!(0,_dom.getEventTargetNode)(t,e.$el).flag&&this.closeFilter(),this.closeMenu()},handleOpenMenuEvent(l,i,a){let{isCtxMenu:n,ctxMenuStore:v,ctxMenuOpts:e}=this;i=e[i];let o=e.visibleMethod;if(i){let{options:t,disabled:e}=i;e?l.preventDefault():n&&t&&t.length&&(a.options=t,this.preventEvent(l,"event.showMenu",a,()=>{if(!o||o(a)){l.preventDefault(),this.updateZindex();let{scrollTop:n,scrollLeft:o,visibleHeight:s,visibleWidth:r}=(0,_dom.getDomNode)(),u=l.clientY+n,d=l.clientX+o,i=()=>{Object.assign(v,{args:a,visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:this.tZindex,top:u+"px",left:d+"px"}}),this.$nextTick(()=>{var e=this.$refs.refTableMenu.$el,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:i}=(0,_dom.getAbsolutePos)(e),e=e+t-s,i=i+l-r;-10<e&&(v.style.top=Math.max(n+2,u-t-2)+"px"),-10<i&&(v.style.left=Math.max(o+2,d-l-2)+"px")})},{keyboard:e,row:h,column:c}=a;e&&h&&c?this.scrollToRow(h,c).then(()=>{var e=this.getCellElement(h,c),{boundingTop:t,boundingLeft:l}=(0,_dom.getAbsolutePos)(e);u=t+n+Math.floor(e.offsetHeight/2),d=l+o+Math.floor(e.offsetWidth/2),i()}):i()}else this.closeMenu()}))}this.closeFilter()},ctxMenuMouseoverEvent(e,t,l){let d=e.currentTarget;var i=this.ctxMenuStore;e.preventDefault(),e.stopPropagation(),i.selected=t,(i.selectChild=l)||(i.showChild=(0,_utils.hasChildrenList)(t),i.showChild&&this.$nextTick(()=>{var n=d.nextElementSibling;if(n){var{boundingTop:o,boundingLeft:s,visibleHeight:r,visibleWidth:u}=(0,_dom.getAbsolutePos)(d),o=o+d.offsetHeight;let e="",t="",l=(s+d.offsetWidth+n.offsetWidth>u-10&&(e="auto",t=d.offsetWidth+"px"),""),i="";o+n.offsetHeight>r-10&&(l="auto",i="0"),n.style.left=e,n.style.right=t,n.style.top=l,n.style.bottom=i}}))},ctxMenuMouseoutEvent(e,t){var l=this.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,i=this.$xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({menu:t,$grid:i,$table:this,$event:e},this.ctxMenuStore.args),l&&l.menuMethod&&l.menuMethod(t,e),this.$listeners["context-menu-click"]?("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delEvent",["context-menu-click","menu-click"]),this.emitEvent("context-menu-click",t,e)):this.emitEvent("menu-click",t,e),this.closeMenu())}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,i,n,o){let s;var r=_xeUtils.default.findIndexOf(o,e=>t[l]===e);if(i)n&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=r-1;0<=e;e--)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[o.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=r+1;e<o.length;e++)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&this.ctxMenuLinkEvent(e,t[l])},handleGlobalContextmenuEvent(t){var e=this,l=e.$xeGrid,i=e;let{$refs:n,tId:o,editStore:s,menuConfig:r,contextMenu:u,ctxMenuStore:d,ctxMenuOpts:h,mouseConfig:a,mouseOpts:c}=this;var v=s.selected,e=e.$refs.refTableFilter,f=["header","body","footer"];if((0,_utils.isEnableConf)(r)||u){if(d.visible&&n.refTableMenu&&(0,_dom.getEventTargetNode)(t,n.refTableMenu.$el).flag)return void t.preventDefault();if(i._keyCtx){var i="body",g={type:i,$grid:l,$table:this,keyboard:!0,columns:this.visibleColumn.slice(0),$event:t};if(a&&c.area){var m=this.getActiveCellArea();if(m&&m.row&&m.column)return g.row=m.row,g.column=m.column,void this.handleOpenMenuEvent(t,i,g)}else if(a&&c.selected&&v.row&&v.column)return g.row=v.row,g.column=v.column,void this.handleOpenMenuEvent(t,i,g)}for(let e=0;e<f.length;e++){var x=f[e],b=(0,_dom.getEventTargetNode)(t,this.$el,`vxe-${x}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===o),E={type:x,$grid:l,$table:this,columns:this.visibleColumn.slice(0),$event:t};if(b.flag){var b=b.targetElem,p=this.getColumnNode(b).item;let e=x+"-";return Object.assign(E,{column:p,columnIndex:this.getColumnIndex(p),cell:b}),"body"===x&&(p=this.getRowNode(b.parentNode).item,e="",E.row=p,E.rowIndex=this.getRowIndex(p)),this.handleOpenMenuEvent(t,x,E),void(this.$listeners[e+"cell-context-menu"]?("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delEvent",[e+"cell-context-menu",e+"cell-menu"]),this.emitEvent(e+"cell-context-menu",E,t)):this.emitEvent(e+"cell-menu",E,t))}if((0,_dom.getEventTargetNode)(t,this.$el,`vxe-table--${x}-wrapper`,e=>e.getAttribute("xid")===o).flag)return void("cell"===h.trigger?t.preventDefault():this.handleOpenMenuEvent(t,x,E))}}e&&!(0,_dom.getEventTargetNode)(t,e.$el).flag&&this.closeFilter(),this.closeMenu()},handleOpenMenuEvent(l,i,c){let{isCtxMenu:n,ctxMenuStore:v,ctxMenuOpts:e}=this;i=e[i];let o=e.visibleMethod;if(i){let{options:t,disabled:e}=i;e?l.preventDefault():n&&t&&t.length&&(c.options=t,this.preventEvent(l,"event.showMenu",c,()=>{if(!o||o(c)){l.preventDefault(),this.updateZindex();let{scrollTop:n,scrollLeft:o,visibleHeight:s,visibleWidth:r}=(0,_dom.getDomNode)(),u=l.clientY+n,d=l.clientX+o,i=()=>{Object.assign(v,{args:c,visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:this.tZindex,top:u+"px",left:d+"px"}}),this.$nextTick(()=>{var e=this.$refs.refTableMenu.$el,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:i}=(0,_dom.getAbsolutePos)(e),e=e+t-s,i=i+l-r;-10<e&&(v.style.top=Math.max(n+2,u-t-2)+"px"),-10<i&&(v.style.left=Math.max(o+2,d-l-2)+"px")})},{keyboard:e,row:h,column:a}=c;e&&h&&a?this.scrollToRow(h,a).then(()=>{var e=this.getCellElement(h,a),{boundingTop:t,boundingLeft:l}=(0,_dom.getAbsolutePos)(e);u=t+n+Math.floor(e.offsetHeight/2),d=l+o+Math.floor(e.offsetWidth/2),i()}):i()}else this.closeMenu()}))}this.closeFilter()},ctxMenuMouseoverEvent(e,t,l){let d=e.currentTarget;var i=this.ctxMenuStore;e.preventDefault(),e.stopPropagation(),i.selected=t,(i.selectChild=l)||(i.showChild=(0,_utils.hasChildrenList)(t),i.showChild&&this.$nextTick(()=>{var n=d.nextElementSibling;if(n){var{boundingTop:o,boundingLeft:s,visibleHeight:r,visibleWidth:u}=(0,_dom.getAbsolutePos)(d),o=o+d.offsetHeight;let e="",t="",l=(s+d.offsetWidth+n.offsetWidth>u-10&&(e="auto",t=d.offsetWidth+"px"),""),i="";o+n.offsetHeight>r-10&&(l="auto",i="0"),n.style.left=e,n.style.right=t,n.style.top=l,n.style.bottom=i}}))},ctxMenuMouseoutEvent(e,t){var l=this.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,i=this.$xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({menu:t,$grid:i,$table:this,$event:e},this.ctxMenuStore.args),l&&l.menuMethod&&l.menuMethod(t,e),this.$listeners["context-menu-click"]?("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delEvent",["context-menu-click","menu-click"]),this.emitEvent("context-menu-click",t,e)):this.emitEvent("menu-click",t,e),this.closeMenu())}}};
@@ -624,11 +624,11 @@ function updateStyle($xeTable) {
624
624
  }
625
625
  if (xLeftCornerEl) {
626
626
  xLeftCornerEl.style.width = scrollbarXToTop ? `${osbWidth}px` : '';
627
- xLeftCornerEl.style.display = scrollbarXToTop ? osbWidth && osbHeight ? 'block' : '' : '';
627
+ xLeftCornerEl.style.display = scrollbarXToTop ? overflowX && osbHeight ? 'block' : '' : '';
628
628
  }
629
629
  if (xRightCornerEl) {
630
630
  xRightCornerEl.style.width = scrollbarXToTop ? '' : `${osbWidth}px`;
631
- xRightCornerEl.style.display = scrollbarXToTop ? '' : osbWidth && osbHeight ? 'block' : '';
631
+ xRightCornerEl.style.display = scrollbarXToTop ? '' : overflowX && osbHeight ? 'block' : '';
632
632
  }
633
633
  const scrollYVirtualEl = $xeTable.$refs.refScrollYVirtualElem;
634
634
  if (scrollYVirtualEl) {
@@ -639,7 +639,7 @@ function updateStyle($xeTable) {
639
639
  const yTopCornerEl = $xeTable.$refs.refScrollYTopCornerElem;
640
640
  if (yTopCornerEl) {
641
641
  yTopCornerEl.style.height = `${headerHeight}px`;
642
- yTopCornerEl.style.display = headerHeight ? 'block' : '';
642
+ yTopCornerEl.style.display = overflowY && headerHeight ? 'block' : '';
643
643
  }
644
644
  const yWrapperEl = $xeTable.$refs.refScrollYWrapperElem;
645
645
  if (yWrapperEl) {
@@ -650,7 +650,7 @@ function updateStyle($xeTable) {
650
650
  if (yBottomCornerEl) {
651
651
  yBottomCornerEl.style.height = `${footerHeight}px`;
652
652
  yBottomCornerEl.style.top = `${headerHeight + bodyHeight}px`;
653
- yBottomCornerEl.style.display = footerHeight ? 'block' : '';
653
+ yBottomCornerEl.style.display = overflowY && footerHeight ? 'block' : '';
654
654
  }
655
655
  const rowExpandEl = $xeTable.$refs.refRowExpandElem;
656
656
  if (rowExpandEl) {
@@ -5980,32 +5980,38 @@ const Methods = {
5980
5980
  */
5981
5981
  handleGlobalKeydownEvent(evnt) {
5982
5982
  const $xeTable = this;
5983
+ const props = $xeTable;
5983
5984
  const internalData = $xeTable;
5985
+ const reactData = $xeTable;
5984
5986
  const $xeGrid = $xeTable.$xeGrid;
5985
5987
  // 该行为只对当前激活的表格有效
5986
- if (this.isActivated) {
5987
- this.preventEvent(evnt, 'event.keydown', null, () => {
5988
- const {
5989
- afterFullData
5990
- } = internalData;
5988
+ if (internalData.isActivated) {
5989
+ $xeTable.preventEvent(evnt, 'event.keydown', null, () => {
5991
5990
  const {
5992
- filterStore,
5993
- isCtxMenu,
5994
- ctxMenuStore,
5995
- editStore,
5996
- editOpts,
5997
- editConfig,
5998
5991
  mouseConfig,
5999
- mouseOpts,
6000
5992
  keyboardConfig,
6001
- keyboardOpts,
6002
5993
  treeConfig,
6003
- treeOpts,
5994
+ editConfig,
6004
5995
  highlightCurrentRow,
6005
- currentRow,
6006
- bodyCtxMenu,
6007
- rowOpts
6008
- } = this;
5996
+ highlightCurrentColumn
5997
+ } = props;
5998
+ const {
5999
+ ctxMenuStore,
6000
+ editStore,
6001
+ currentRow
6002
+ } = reactData;
6003
+ const {
6004
+ afterFullData
6005
+ } = internalData;
6006
+ const isMenu = $xeTable.computeIsMenu;
6007
+ const bodyMenu = $xeTable.computeBodyMenu;
6008
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
6009
+ const mouseOpts = $xeTable.computeMouseOpts;
6010
+ const editOpts = $xeTable.computeEditOpts;
6011
+ const treeOpts = $xeTable.computeTreeOpts;
6012
+ const menuList = $xeTable.computeMenuList;
6013
+ const rowOpts = $xeTable.computeRowOpts;
6014
+ const columnOpts = $xeTable.computeColumnOpts;
6009
6015
  const {
6010
6016
  selected,
6011
6017
  actived
@@ -6030,33 +6036,44 @@ const Methods = {
6030
6036
  const hasShiftKey = evnt.shiftKey;
6031
6037
  const hasAltKey = evnt.altKey;
6032
6038
  const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
6033
- const operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
6039
+ const operCtxMenu = isMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
6034
6040
  const isEditStatus = (0, _utils.isEnableConf)(editConfig) && actived.column && actived.row;
6035
6041
  const childrenField = treeOpts.children || treeOpts.childrenField;
6036
6042
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
6037
- if (filterStore.visible) {
6038
- if (isEsc) {
6039
- this.closeFilter();
6040
- }
6041
- return;
6042
- }
6043
6043
  if (operCtxMenu) {
6044
6044
  // 如果配置了右键菜单; 支持方向键操作、回车
6045
6045
  evnt.preventDefault();
6046
6046
  if (ctxMenuStore.showChild && (0, _utils.hasChildrenList)(ctxMenuStore.selected)) {
6047
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);
6047
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selectChild', isLeftArrow, false, ctxMenuStore.selected.children);
6048
6048
  } else {
6049
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, this.ctxMenuList);
6049
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList);
6050
+ }
6051
+ } else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKeyboardCellAreaEvent) {
6052
+ $xeTable.handleKeyboardCellAreaEvent(evnt);
6053
+ } else if (isEsc) {
6054
+ // 如果按下了 Esc 键,关闭快捷菜单、筛选
6055
+ if ($xeTable.closeMenu) {
6056
+ $xeTable.closeMenu();
6057
+ }
6058
+ $xeTable.closeFilter();
6059
+ if (keyboardConfig && keyboardOpts.isEsc) {
6060
+ // 如果是激活编辑状态,则取消编辑
6061
+ if (actived.row) {
6062
+ const params = actived.args;
6063
+ $xeTable.handleClearEdit(evnt);
6064
+ // 如果配置了选中功能,则为选中状态
6065
+ if (mouseOpts.selected) {
6066
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt));
6067
+ }
6068
+ }
6050
6069
  }
6051
- } else if (keyboardConfig && mouseConfig && mouseOpts.area && this.handleKeyboardCellAreaEvent) {
6052
- this.handleKeyboardCellAreaEvent(evnt);
6053
6070
  } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'radio')) {
6054
6071
  // 空格键支持选中复选框
6055
6072
  evnt.preventDefault();
6056
6073
  if (selected.column.type === 'checkbox') {
6057
- this.handleToggleCheckRowEvent(evnt, selected.args);
6074
+ $xeTable.handleToggleCheckRowEvent(evnt, selected.args);
6058
6075
  } else {
6059
- this.triggerRadioRowEvent(evnt, selected.args);
6076
+ $xeTable.triggerRadioRowEvent(evnt, selected.args);
6060
6077
  }
6061
6078
  } else if (isF2 && (0, _utils.isEnableConf)(editConfig)) {
6062
6079
  if (!isEditStatus) {
@@ -6064,12 +6081,12 @@ const Methods = {
6064
6081
  if (selected.row && selected.column) {
6065
6082
  evnt.stopPropagation();
6066
6083
  evnt.preventDefault();
6067
- this.handleEdit(selected.args, evnt);
6084
+ $xeTable.handleEdit(selected.args, evnt);
6068
6085
  }
6069
6086
  }
6070
6087
  } else if (isContextMenu) {
6071
6088
  // 如果按下上下文键
6072
- internalData._keyCtx = selected.row && selected.column && bodyCtxMenu.length;
6089
+ internalData._keyCtx = selected.row && selected.column && bodyMenu.length;
6073
6090
  clearTimeout(internalData.keyCtxTimeout);
6074
6091
  internalData.keyCtxTimeout = setTimeout(() => {
6075
6092
  internalData._keyCtx = false;
@@ -6085,10 +6102,10 @@ const Methods = {
6085
6102
  // 如果是激活编辑状态,则取消编辑
6086
6103
  if (actived.row) {
6087
6104
  const params = actived.args;
6088
- this.handleClearEdit(evnt);
6105
+ $xeTable.handleClearEdit(evnt);
6089
6106
  // 如果配置了选中功能,则为选中状态
6090
6107
  if (mouseConfig && mouseOpts.selected) {
6091
- this.$nextTick(() => this.handleSelected(params, evnt));
6108
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt));
6092
6109
  }
6093
6110
  }
6094
6111
  } else {
@@ -6097,13 +6114,13 @@ const Methods = {
6097
6114
  const activeParams = selected.row ? selected.args : actived.args;
6098
6115
  if (hasShiftKey) {
6099
6116
  if (keyboardOpts.enterToTab) {
6100
- this.moveTabSelected(activeParams, hasShiftKey, evnt);
6117
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
6101
6118
  } else {
6102
- this.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
6119
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
6103
6120
  }
6104
6121
  } else {
6105
6122
  if (keyboardOpts.enterToTab) {
6106
- this.moveTabSelected(activeParams, hasShiftKey, evnt);
6123
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
6107
6124
  } else {
6108
6125
  const activeRow = selected.row || actived.row;
6109
6126
  const activeColumn = selected.column || actived.column;
@@ -6135,7 +6152,7 @@ const Methods = {
6135
6152
  return;
6136
6153
  }
6137
6154
  }
6138
- this.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
6155
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
6139
6156
  if (enterMethod) {
6140
6157
  enterMethod(etrParams);
6141
6158
  }
@@ -6149,26 +6166,37 @@ const Methods = {
6149
6166
  evnt.preventDefault();
6150
6167
  const targetRow = childrens[0];
6151
6168
  const params = {
6152
- $table: this,
6153
- row: targetRow
6169
+ $table: $xeTable,
6170
+ row: targetRow,
6171
+ rowIndex: $xeTable.getRowIndex(targetRow),
6172
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
6154
6173
  };
6155
- this.setTreeExpand(currentRow, true).then(() => this.scrollToRow(targetRow)).then(() => this.triggerCurrentRowEvent(evnt, params));
6174
+ $xeTable.setTreeExpand(currentRow, true).then(() => $xeTable.scrollToRow(targetRow)).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
6156
6175
  }
6157
6176
  }
6158
6177
  }
6159
6178
  } else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
6160
6179
  if (!isEditStatus) {
6161
6180
  // 如果按下了方向键
6162
- if (selected.row && selected.column) {
6181
+ if (mouseOpts.selected && selected.row && selected.column) {
6163
6182
  $xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
6183
+ } else {
6184
+ // 当前行按键上下移动
6185
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
6186
+ $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
6187
+ }
6188
+ // 当前行按键左右移动
6189
+ if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
6190
+ $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
6191
+ }
6164
6192
  }
6165
6193
  }
6166
6194
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
6167
6195
  // 如果按下了 Tab 键切换
6168
6196
  if (selected.row || selected.column) {
6169
- this.moveTabSelected(selected.args, hasShiftKey, evnt);
6197
+ $xeTable.moveTabSelected(selected.args, hasShiftKey, evnt);
6170
6198
  } else if (actived.row || actived.column) {
6171
- this.moveTabSelected(actived.args, hasShiftKey, evnt);
6199
+ $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt);
6172
6200
  }
6173
6201
  } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
6174
6202
  // 如果是删除键
@@ -6178,10 +6206,10 @@ const Methods = {
6178
6206
  } = keyboardOpts;
6179
6207
  const params = {
6180
6208
  row: selected.row,
6181
- rowIndex: this.getRowIndex(selected.row),
6209
+ rowIndex: $xeTable.getRowIndex(selected.row),
6182
6210
  column: selected.column,
6183
- columnIndex: this.getColumnIndex(selected.column),
6184
- $table: this,
6211
+ columnIndex: $xeTable.getColumnIndex(selected.column),
6212
+ $table: $xeTable,
6185
6213
  $grid: $xeGrid
6186
6214
  };
6187
6215
  // 是否被禁用
@@ -6192,8 +6220,8 @@ const Methods = {
6192
6220
  (0, _util.setCellValue)(selected.row, selected.column, null);
6193
6221
  }
6194
6222
  // 如果按下 del 键,更新表尾数据
6195
- this.updateFooter();
6196
- this.emitEvent('cell-delete-value', params, evnt);
6223
+ $xeTable.updateFooter();
6224
+ $xeTable.dispatchEvent('cell-delete-value', params, evnt);
6197
6225
  }
6198
6226
  }
6199
6227
  } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
@@ -6206,10 +6234,10 @@ const Methods = {
6206
6234
  if (keyboardOpts.isDel && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
6207
6235
  const params = {
6208
6236
  row: selected.row,
6209
- rowIndex: this.getRowIndex(selected.row),
6237
+ rowIndex: $xeTable.getRowIndex(selected.row),
6210
6238
  column: selected.column,
6211
- columnIndex: this.getColumnIndex(selected.column),
6212
- $table: this,
6239
+ columnIndex: $xeTable.getColumnIndex(selected.column),
6240
+ $table: $xeTable,
6213
6241
  $grid: $xeGrid
6214
6242
  };
6215
6243
  // 是否被禁用
@@ -6221,9 +6249,9 @@ const Methods = {
6221
6249
  if (editMode !== 'insert') {
6222
6250
  (0, _util.setCellValue)(selected.row, selected.column, null);
6223
6251
  }
6224
- this.handleEdit(selected.args, evnt);
6252
+ $xeTable.handleEdit(selected.args, evnt);
6225
6253
  }
6226
- this.emitEvent('cell-backspace-value', params, evnt);
6254
+ $xeTable.dispatchEvent('cell-backspace-value', params, evnt);
6227
6255
  }
6228
6256
  }
6229
6257
  }
@@ -6231,19 +6259,19 @@ const Methods = {
6231
6259
  // 如果树形表格回退键关闭当前行返回父节点
6232
6260
  const {
6233
6261
  parent: parentRow
6234
- } = _xeUtils.default.findTree(this.afterTreeFullData, item => item === currentRow, {
6262
+ } = _xeUtils.default.findTree(internalData.afterTreeFullData, item => item === currentRow, {
6235
6263
  children: childrenField
6236
6264
  });
6237
6265
  if (parentRow) {
6238
6266
  evnt.preventDefault();
6239
6267
  const params = {
6240
6268
  row: parentRow,
6241
- rowIndex: this.getRowIndex(parentRow),
6242
- $rowIndex: this.getVMRowIndex(parentRow),
6243
- $table: this,
6269
+ rowIndex: $xeTable.getRowIndex(parentRow),
6270
+ $rowIndex: $xeTable.getVMRowIndex(parentRow),
6271
+ $table: $xeTable,
6244
6272
  $grid: $xeGrid
6245
6273
  };
6246
- this.setTreeExpand(parentRow, false).then(() => this.scrollToRow(parentRow)).then(() => this.triggerCurrentRowEvent(evnt, params));
6274
+ $xeTable.setTreeExpand(parentRow, false).then(() => $xeTable.scrollToRow(parentRow)).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
6247
6275
  }
6248
6276
  } else if (keyboardConfig && keyboardOpts.isEdit && !hasCtrlKey && !hasMetaKey && (isSpacebar || keyCode >= 48 && keyCode <= 57 || keyCode >= 65 && keyCode <= 90 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 192 || keyCode >= 219 && keyCode <= 222)) {
6249
6277
  const {
@@ -6258,10 +6286,10 @@ const Methods = {
6258
6286
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
6259
6287
  const params = {
6260
6288
  row: selected.row,
6261
- rowIndex: this.getRowIndex(selected.row),
6289
+ rowIndex: $xeTable.getRowIndex(selected.row),
6262
6290
  column: selected.column,
6263
- columnIndex: this.getColumnIndex(selected.column),
6264
- $table: this,
6291
+ columnIndex: $xeTable.getColumnIndex(selected.column),
6292
+ $table: $xeTable,
6265
6293
  $grid: $xeGrid
6266
6294
  };
6267
6295
  if (!beforeEditMethod || beforeEditMethod(params)) {
@@ -6269,12 +6297,12 @@ const Methods = {
6269
6297
  editMethod(params);
6270
6298
  } else {
6271
6299
  (0, _util.setCellValue)(selected.row, selected.column, null);
6272
- this.handleEdit(selected.args, evnt);
6300
+ $xeTable.handleEdit(selected.args, evnt);
6273
6301
  }
6274
6302
  }
6275
6303
  }
6276
6304
  }
6277
- this.emitEvent('keydown', {}, evnt);
6305
+ $xeTable.dispatchEvent('keydown', {}, evnt);
6278
6306
  });
6279
6307
  }
6280
6308
  },
@@ -10178,6 +10206,7 @@ const Methods = {
10178
10206
  elemStore,
10179
10207
  fullColumnIdData
10180
10208
  } = internalData;
10209
+ const mouseOpts = $xeTable.computeMouseOpts;
10181
10210
  const tableBody = $xeTable.$refs.refTableBody;
10182
10211
  const tableBodyElem = tableBody ? tableBody.$el : null;
10183
10212
  if (tableBodyElem) {
@@ -10236,6 +10265,9 @@ const Methods = {
10236
10265
  if (scrollXSpaceEl) {
10237
10266
  scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
10238
10267
  }
10268
+ if (isScrollXBig && mouseOpts.area) {
10269
+ (0, _log.errLog)('vxe.error.notProp', ['mouse-config.area']);
10270
+ }
10239
10271
  $xeTable.$nextTick(() => {
10240
10272
  updateStyle($xeTable);
10241
10273
  });
@@ -10271,6 +10303,7 @@ const Methods = {
10271
10303
  const {
10272
10304
  startIndex
10273
10305
  } = scrollYStore;
10306
+ const mouseOpts = $xeTable.computeMouseOpts;
10274
10307
  const expandOpts = $xeTable.computeExpandOpts;
10275
10308
  const rowOpts = $xeTable.computeRowOpts;
10276
10309
  const cellOpts = $xeTable.computeCellOpts;
@@ -10351,6 +10384,9 @@ const Methods = {
10351
10384
  reactData.scrollYTop = scrollYTop;
10352
10385
  reactData.scrollYHeight = scrollYHeight;
10353
10386
  reactData.isScrollYBig = isScrollYBig;
10387
+ if (isScrollYBig && mouseOpts.area) {
10388
+ (0, _log.errLog)('vxe.error.notProp', ['mouse-config.area']);
10389
+ }
10354
10390
  return $xeTable.$nextTick().then(() => {
10355
10391
  updateStyle($xeTable);
10356
10392
  });