vxe-table 3.14.1 → 3.14.3

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 (41) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/edit/mixin.js +3 -2
  3. package/es/table/module/keyboard/mixin.js +3 -2
  4. package/es/table/module/menu/mixin.js +8 -7
  5. package/es/table/src/methods.js +114 -65
  6. package/es/table/src/table.js +6 -0
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/dom.js +0 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/index.umd.js +136 -88
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/mixin.js +2 -1
  14. package/lib/table/module/edit/mixin.min.js +1 -1
  15. package/lib/table/module/keyboard/mixin.js +2 -1
  16. package/lib/table/module/keyboard/mixin.min.js +1 -1
  17. package/lib/table/module/menu/mixin.js +10 -7
  18. package/lib/table/module/menu/mixin.min.js +1 -1
  19. package/lib/table/src/methods.js +114 -76
  20. package/lib/table/src/methods.min.js +1 -1
  21. package/lib/table/src/table.js +6 -0
  22. package/lib/table/src/table.min.js +1 -1
  23. package/lib/ui/index.js +1 -1
  24. package/lib/ui/index.min.js +1 -1
  25. package/lib/ui/src/dom.js +0 -2
  26. package/lib/ui/src/dom.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/package.json +2 -2
  30. package/packages/table/module/edit/mixin.ts +4 -2
  31. package/packages/table/module/keyboard/mixin.ts +4 -2
  32. package/packages/table/module/menu/mixin.ts +9 -7
  33. package/packages/table/src/methods.ts +115 -65
  34. package/packages/table/src/table.ts +6 -0
  35. package/packages/ui/src/dom.ts +0 -2
  36. /package/es/{iconfont.1743045564244.ttf → iconfont.1743389110592.ttf} +0 -0
  37. /package/es/{iconfont.1743045564244.woff → iconfont.1743389110592.woff} +0 -0
  38. /package/es/{iconfont.1743045564244.woff2 → iconfont.1743389110592.woff2} +0 -0
  39. /package/lib/{iconfont.1743045564244.ttf → iconfont.1743389110592.ttf} +0 -0
  40. /package/lib/{iconfont.1743045564244.woff → iconfont.1743389110592.woff} +0 -0
  41. /package/lib/{iconfont.1743045564244.woff2 → iconfont.1743389110592.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
2220
2220
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2221
2221
 
2222
2222
 
2223
- const version = "3.14.1";
2223
+ const version = "3.14.3";
2224
2224
  core_.VxeUI.version = version;
2225
2225
  core_.VxeUI.tableVersion = version;
2226
2226
  core_.VxeUI.setConfig({
@@ -2661,7 +2661,6 @@ var es_array_push = __webpack_require__(4114);
2661
2661
  ;// CONCATENATED MODULE: ./packages/ui/src/dom.ts
2662
2662
 
2663
2663
  const reClsMap = {};
2664
- const browse = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
2665
2664
  let tpImgEl;
2666
2665
  function initTpImg() {
2667
2666
  if (!tpImgEl) {
@@ -2844,7 +2843,7 @@ function isNodeElement(elem) {
2844
2843
  const {
2845
2844
  log: log_log
2846
2845
  } = core_.VxeUI;
2847
- const log_version = `table v${"3.14.1"}`;
2846
+ const log_version = `table v${"3.14.3"}`;
2848
2847
  const warnLog = log_log.create('warn', log_version);
2849
2848
  const errLog = log_log.create('error', log_version);
2850
2849
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -5174,6 +5173,7 @@ const {
5174
5173
  interceptor: methods_interceptor,
5175
5174
  createEvent
5176
5175
  } = core_.VxeUI;
5176
+ const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
5177
5177
  const supportMaxRow = 5e6;
5178
5178
  const customStorageKey = 'VXE_CUSTOM_STORE';
5179
5179
  const maxYHeight = 5e6;
@@ -5776,11 +5776,11 @@ function updateStyle($xeTable) {
5776
5776
  }
5777
5777
  if (xLeftCornerEl) {
5778
5778
  xLeftCornerEl.style.width = scrollbarXToTop ? `${osbWidth}px` : '';
5779
- xLeftCornerEl.style.display = scrollbarXToTop ? osbWidth && osbHeight ? 'block' : '' : '';
5779
+ xLeftCornerEl.style.display = scrollbarXToTop ? overflowX && osbHeight ? 'block' : '' : '';
5780
5780
  }
5781
5781
  if (xRightCornerEl) {
5782
5782
  xRightCornerEl.style.width = scrollbarXToTop ? '' : `${osbWidth}px`;
5783
- xRightCornerEl.style.display = scrollbarXToTop ? '' : osbWidth && osbHeight ? 'block' : '';
5783
+ xRightCornerEl.style.display = scrollbarXToTop ? '' : overflowX && osbHeight ? 'block' : '';
5784
5784
  }
5785
5785
  const scrollYVirtualEl = $xeTable.$refs.refScrollYVirtualElem;
5786
5786
  if (scrollYVirtualEl) {
@@ -5791,7 +5791,7 @@ function updateStyle($xeTable) {
5791
5791
  const yTopCornerEl = $xeTable.$refs.refScrollYTopCornerElem;
5792
5792
  if (yTopCornerEl) {
5793
5793
  yTopCornerEl.style.height = `${headerHeight}px`;
5794
- yTopCornerEl.style.display = headerHeight ? 'block' : '';
5794
+ yTopCornerEl.style.display = overflowY && headerHeight ? 'block' : '';
5795
5795
  }
5796
5796
  const yWrapperEl = $xeTable.$refs.refScrollYWrapperElem;
5797
5797
  if (yWrapperEl) {
@@ -5802,7 +5802,7 @@ function updateStyle($xeTable) {
5802
5802
  if (yBottomCornerEl) {
5803
5803
  yBottomCornerEl.style.height = `${footerHeight}px`;
5804
5804
  yBottomCornerEl.style.top = `${headerHeight + bodyHeight}px`;
5805
- yBottomCornerEl.style.display = footerHeight ? 'block' : '';
5805
+ yBottomCornerEl.style.display = overflowY && footerHeight ? 'block' : '';
5806
5806
  }
5807
5807
  const rowExpandEl = $xeTable.$refs.refRowExpandElem;
5808
5808
  if (rowExpandEl) {
@@ -5916,7 +5916,7 @@ function updateStyle($xeTable) {
5916
5916
  if (tableElem) {
5917
5917
  tableElem.style.width = tWidth ? `${tWidth}px` : '';
5918
5918
  // 兼容性处理
5919
- tableElem.style.paddingRight = osbWidth && fixedType && (browse['-moz'] || browse.safari) ? `${osbWidth}px` : '';
5919
+ tableElem.style.paddingRight = osbWidth && fixedType && (browseObj['-moz'] || browseObj.safari) ? `${osbWidth}px` : '';
5920
5920
  }
5921
5921
  const emptyBlockElem = getRefElem(elemStore[`${name}-${layout}-emptyBlock`]);
5922
5922
  if (emptyBlockElem) {
@@ -7236,7 +7236,7 @@ function hideDropTip($xeTable) {
7236
7236
  * @param {Event} evnt 事件
7237
7237
  * @param {Row} row 行对象
7238
7238
  */
7239
- function handleTooltip($xeTable, evnt, tdEl, overflowElem, params) {
7239
+ function handleTooltip($xeTable, evnt, tdEl, overflowElem, tipElem, params) {
7240
7240
  const reactData = $xeTable;
7241
7241
  const tipOverEl = overflowElem || tdEl;
7242
7242
  if (!tipOverEl) {
@@ -7258,7 +7258,8 @@ function handleTooltip($xeTable, evnt, tdEl, overflowElem, params) {
7258
7258
  const customContent = contentMethod ? contentMethod(params) : null;
7259
7259
  const useCustom = contentMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent);
7260
7260
  const content = useCustom ? customContent : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
7261
- if (content && (showAll || useCustom || tipOverEl.scrollWidth > tipOverEl.clientWidth)) {
7261
+ const isOver = tipOverEl.scrollWidth > tipOverEl.clientWidth;
7262
+ if (content && (showAll || useCustom || isOver)) {
7262
7263
  Object.assign(tooltipStore, {
7263
7264
  row,
7264
7265
  column,
@@ -7268,7 +7269,7 @@ function handleTooltip($xeTable, evnt, tdEl, overflowElem, params) {
7268
7269
  $xeTable.$nextTick(() => {
7269
7270
  const $tooltip = $xeTable.$refs.refTooltip;
7270
7271
  if ($tooltip && $tooltip.open) {
7271
- $tooltip.open(tipOverEl, formatText(content));
7272
+ $tooltip.open(isOver ? tipOverEl : tipElem, formatText(content));
7272
7273
  }
7273
7274
  });
7274
7275
  }
@@ -11139,32 +11140,38 @@ const Methods = {
11139
11140
  */
11140
11141
  handleGlobalKeydownEvent(evnt) {
11141
11142
  const $xeTable = this;
11143
+ const props = $xeTable;
11142
11144
  const internalData = $xeTable;
11145
+ const reactData = $xeTable;
11143
11146
  const $xeGrid = $xeTable.$xeGrid;
11144
11147
  // 该行为只对当前激活的表格有效
11145
- if (this.isActivated) {
11146
- this.preventEvent(evnt, 'event.keydown', null, () => {
11148
+ if (internalData.isActivated) {
11149
+ $xeTable.preventEvent(evnt, 'event.keydown', null, () => {
11147
11150
  const {
11148
- afterFullData
11149
- } = internalData;
11150
- const {
11151
- filterStore,
11152
- isCtxMenu,
11153
- ctxMenuStore,
11154
- editStore,
11155
- editOpts,
11156
- editConfig,
11157
11151
  mouseConfig,
11158
- mouseOpts,
11159
11152
  keyboardConfig,
11160
- keyboardOpts,
11161
11153
  treeConfig,
11162
- treeOpts,
11154
+ editConfig,
11163
11155
  highlightCurrentRow,
11164
- currentRow,
11165
- bodyCtxMenu,
11166
- rowOpts
11167
- } = this;
11156
+ highlightCurrentColumn
11157
+ } = props;
11158
+ const {
11159
+ ctxMenuStore,
11160
+ editStore,
11161
+ currentRow
11162
+ } = reactData;
11163
+ const {
11164
+ afterFullData
11165
+ } = internalData;
11166
+ const isMenu = $xeTable.computeIsMenu;
11167
+ const bodyMenu = $xeTable.computeBodyMenu;
11168
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
11169
+ const mouseOpts = $xeTable.computeMouseOpts;
11170
+ const editOpts = $xeTable.computeEditOpts;
11171
+ const treeOpts = $xeTable.computeTreeOpts;
11172
+ const menuList = $xeTable.computeMenuList;
11173
+ const rowOpts = $xeTable.computeRowOpts;
11174
+ const columnOpts = $xeTable.computeColumnOpts;
11168
11175
  const {
11169
11176
  selected,
11170
11177
  actived
@@ -11189,33 +11196,44 @@ const Methods = {
11189
11196
  const hasShiftKey = evnt.shiftKey;
11190
11197
  const hasAltKey = evnt.altKey;
11191
11198
  const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
11192
- const operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
11199
+ const operCtxMenu = isMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
11193
11200
  const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
11194
11201
  const childrenField = treeOpts.children || treeOpts.childrenField;
11195
11202
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
11196
- if (filterStore.visible) {
11197
- if (isEsc) {
11198
- this.closeFilter();
11199
- }
11200
- return;
11201
- }
11202
11203
  if (operCtxMenu) {
11203
11204
  // 如果配置了右键菜单; 支持方向键操作、回车
11204
11205
  evnt.preventDefault();
11205
11206
  if (ctxMenuStore.showChild && hasChildrenList(ctxMenuStore.selected)) {
11206
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);
11207
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selectChild', isLeftArrow, false, ctxMenuStore.selected.children);
11207
11208
  } else {
11208
- this.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, this.ctxMenuList);
11209
+ $xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList);
11210
+ }
11211
+ } else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKeyboardCellAreaEvent) {
11212
+ $xeTable.handleKeyboardCellAreaEvent(evnt);
11213
+ } else if (isEsc) {
11214
+ // 如果按下了 Esc 键,关闭快捷菜单、筛选
11215
+ if ($xeTable.closeMenu) {
11216
+ $xeTable.closeMenu();
11217
+ }
11218
+ $xeTable.closeFilter();
11219
+ if (keyboardConfig && keyboardOpts.isEsc) {
11220
+ // 如果是激活编辑状态,则取消编辑
11221
+ if (actived.row) {
11222
+ const params = actived.args;
11223
+ $xeTable.handleClearEdit(evnt);
11224
+ // 如果配置了选中功能,则为选中状态
11225
+ if (mouseOpts.selected) {
11226
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt));
11227
+ }
11228
+ }
11209
11229
  }
11210
- } else if (keyboardConfig && mouseConfig && mouseOpts.area && this.handleKeyboardCellAreaEvent) {
11211
- this.handleKeyboardCellAreaEvent(evnt);
11212
11230
  } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'radio')) {
11213
11231
  // 空格键支持选中复选框
11214
11232
  evnt.preventDefault();
11215
11233
  if (selected.column.type === 'checkbox') {
11216
- this.handleToggleCheckRowEvent(evnt, selected.args);
11234
+ $xeTable.handleToggleCheckRowEvent(evnt, selected.args);
11217
11235
  } else {
11218
- this.triggerRadioRowEvent(evnt, selected.args);
11236
+ $xeTable.triggerRadioRowEvent(evnt, selected.args);
11219
11237
  }
11220
11238
  } else if (isF2 && isEnableConf(editConfig)) {
11221
11239
  if (!isEditStatus) {
@@ -11223,12 +11241,12 @@ const Methods = {
11223
11241
  if (selected.row && selected.column) {
11224
11242
  evnt.stopPropagation();
11225
11243
  evnt.preventDefault();
11226
- this.handleEdit(selected.args, evnt);
11244
+ $xeTable.handleEdit(selected.args, evnt);
11227
11245
  }
11228
11246
  }
11229
11247
  } else if (isContextMenu) {
11230
11248
  // 如果按下上下文键
11231
- internalData._keyCtx = selected.row && selected.column && bodyCtxMenu.length;
11249
+ internalData._keyCtx = selected.row && selected.column && bodyMenu.length;
11232
11250
  clearTimeout(internalData.keyCtxTimeout);
11233
11251
  internalData.keyCtxTimeout = setTimeout(() => {
11234
11252
  internalData._keyCtx = false;
@@ -11244,10 +11262,10 @@ const Methods = {
11244
11262
  // 如果是激活编辑状态,则取消编辑
11245
11263
  if (actived.row) {
11246
11264
  const params = actived.args;
11247
- this.handleClearEdit(evnt);
11265
+ $xeTable.handleClearEdit(evnt);
11248
11266
  // 如果配置了选中功能,则为选中状态
11249
11267
  if (mouseConfig && mouseOpts.selected) {
11250
- this.$nextTick(() => this.handleSelected(params, evnt));
11268
+ $xeTable.$nextTick(() => $xeTable.handleSelected(params, evnt));
11251
11269
  }
11252
11270
  }
11253
11271
  } else {
@@ -11256,13 +11274,13 @@ const Methods = {
11256
11274
  const activeParams = selected.row ? selected.args : actived.args;
11257
11275
  if (hasShiftKey) {
11258
11276
  if (keyboardOpts.enterToTab) {
11259
- this.moveTabSelected(activeParams, hasShiftKey, evnt);
11277
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
11260
11278
  } else {
11261
- this.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
11279
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
11262
11280
  }
11263
11281
  } else {
11264
11282
  if (keyboardOpts.enterToTab) {
11265
- this.moveTabSelected(activeParams, hasShiftKey, evnt);
11283
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
11266
11284
  } else {
11267
11285
  const activeRow = selected.row || actived.row;
11268
11286
  const activeColumn = selected.column || actived.column;
@@ -11295,7 +11313,7 @@ const Methods = {
11295
11313
  return;
11296
11314
  }
11297
11315
  }
11298
- this.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
11316
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
11299
11317
  if (enterMethod) {
11300
11318
  enterMethod(etrParams);
11301
11319
  }
@@ -11309,26 +11327,37 @@ const Methods = {
11309
11327
  evnt.preventDefault();
11310
11328
  const targetRow = childrens[0];
11311
11329
  const params = {
11312
- $table: this,
11313
- row: targetRow
11330
+ $table: $xeTable,
11331
+ row: targetRow,
11332
+ rowIndex: $xeTable.getRowIndex(targetRow),
11333
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
11314
11334
  };
11315
- this.setTreeExpand(currentRow, true).then(() => this.scrollToRow(targetRow)).then(() => this.triggerCurrentRowEvent(evnt, params));
11335
+ $xeTable.setTreeExpand(currentRow, true).then(() => $xeTable.scrollToRow(targetRow)).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
11316
11336
  }
11317
11337
  }
11318
11338
  }
11319
11339
  } else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
11320
11340
  if (!isEditStatus) {
11321
11341
  // 如果按下了方向键
11322
- if (selected.row && selected.column) {
11342
+ if (mouseOpts.selected && selected.row && selected.column) {
11323
11343
  $xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
11344
+ } else {
11345
+ // 当前行按键上下移动
11346
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
11347
+ $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
11348
+ }
11349
+ // 当前行按键左右移动
11350
+ if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
11351
+ $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
11352
+ }
11324
11353
  }
11325
11354
  }
11326
11355
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
11327
11356
  // 如果按下了 Tab 键切换
11328
11357
  if (selected.row || selected.column) {
11329
- this.moveTabSelected(selected.args, hasShiftKey, evnt);
11358
+ $xeTable.moveTabSelected(selected.args, hasShiftKey, evnt);
11330
11359
  } else if (actived.row || actived.column) {
11331
- this.moveTabSelected(actived.args, hasShiftKey, evnt);
11360
+ $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt);
11332
11361
  }
11333
11362
  } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
11334
11363
  // 如果是删除键
@@ -11338,10 +11367,10 @@ const Methods = {
11338
11367
  } = keyboardOpts;
11339
11368
  const params = {
11340
11369
  row: selected.row,
11341
- rowIndex: this.getRowIndex(selected.row),
11370
+ rowIndex: $xeTable.getRowIndex(selected.row),
11342
11371
  column: selected.column,
11343
- columnIndex: this.getColumnIndex(selected.column),
11344
- $table: this,
11372
+ columnIndex: $xeTable.getColumnIndex(selected.column),
11373
+ $table: $xeTable,
11345
11374
  $grid: $xeGrid
11346
11375
  };
11347
11376
  // 是否被禁用
@@ -11352,8 +11381,8 @@ const Methods = {
11352
11381
  setCellValue(selected.row, selected.column, null);
11353
11382
  }
11354
11383
  // 如果按下 del 键,更新表尾数据
11355
- this.updateFooter();
11356
- this.emitEvent('cell-delete-value', params, evnt);
11384
+ $xeTable.updateFooter();
11385
+ $xeTable.dispatchEvent('cell-delete-value', params, evnt);
11357
11386
  }
11358
11387
  }
11359
11388
  } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selected.row || selected.column)) {
@@ -11366,10 +11395,10 @@ const Methods = {
11366
11395
  if (keyboardOpts.isDel && isEnableConf(editConfig) && (selected.row || selected.column)) {
11367
11396
  const params = {
11368
11397
  row: selected.row,
11369
- rowIndex: this.getRowIndex(selected.row),
11398
+ rowIndex: $xeTable.getRowIndex(selected.row),
11370
11399
  column: selected.column,
11371
- columnIndex: this.getColumnIndex(selected.column),
11372
- $table: this,
11400
+ columnIndex: $xeTable.getColumnIndex(selected.column),
11401
+ $table: $xeTable,
11373
11402
  $grid: $xeGrid
11374
11403
  };
11375
11404
  // 是否被禁用
@@ -11381,9 +11410,9 @@ const Methods = {
11381
11410
  if (editMode !== 'insert') {
11382
11411
  setCellValue(selected.row, selected.column, null);
11383
11412
  }
11384
- this.handleEdit(selected.args, evnt);
11413
+ $xeTable.handleEdit(selected.args, evnt);
11385
11414
  }
11386
- this.emitEvent('cell-backspace-value', params, evnt);
11415
+ $xeTable.dispatchEvent('cell-backspace-value', params, evnt);
11387
11416
  }
11388
11417
  }
11389
11418
  }
@@ -11391,19 +11420,19 @@ const Methods = {
11391
11420
  // 如果树形表格回退键关闭当前行返回父节点
11392
11421
  const {
11393
11422
  parent: parentRow
11394
- } = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(this.afterTreeFullData, item => item === currentRow, {
11423
+ } = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData, item => item === currentRow, {
11395
11424
  children: childrenField
11396
11425
  });
11397
11426
  if (parentRow) {
11398
11427
  evnt.preventDefault();
11399
11428
  const params = {
11400
11429
  row: parentRow,
11401
- rowIndex: this.getRowIndex(parentRow),
11402
- $rowIndex: this.getVMRowIndex(parentRow),
11403
- $table: this,
11430
+ rowIndex: $xeTable.getRowIndex(parentRow),
11431
+ $rowIndex: $xeTable.getVMRowIndex(parentRow),
11432
+ $table: $xeTable,
11404
11433
  $grid: $xeGrid
11405
11434
  };
11406
- this.setTreeExpand(parentRow, false).then(() => this.scrollToRow(parentRow)).then(() => this.triggerCurrentRowEvent(evnt, params));
11435
+ $xeTable.setTreeExpand(parentRow, false).then(() => $xeTable.scrollToRow(parentRow)).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
11407
11436
  }
11408
11437
  } 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)) {
11409
11438
  const {
@@ -11418,10 +11447,10 @@ const Methods = {
11418
11447
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
11419
11448
  const params = {
11420
11449
  row: selected.row,
11421
- rowIndex: this.getRowIndex(selected.row),
11450
+ rowIndex: $xeTable.getRowIndex(selected.row),
11422
11451
  column: selected.column,
11423
- columnIndex: this.getColumnIndex(selected.column),
11424
- $table: this,
11452
+ columnIndex: $xeTable.getColumnIndex(selected.column),
11453
+ $table: $xeTable,
11425
11454
  $grid: $xeGrid
11426
11455
  };
11427
11456
  if (!beforeEditMethod || beforeEditMethod(params)) {
@@ -11429,12 +11458,12 @@ const Methods = {
11429
11458
  editMethod(params);
11430
11459
  } else {
11431
11460
  setCellValue(selected.row, selected.column, null);
11432
- this.handleEdit(selected.args, evnt);
11461
+ $xeTable.handleEdit(selected.args, evnt);
11433
11462
  }
11434
11463
  }
11435
11464
  }
11436
11465
  }
11437
- this.emitEvent('keydown', {}, evnt);
11466
+ $xeTable.dispatchEvent('keydown', {}, evnt);
11438
11467
  });
11439
11468
  }
11440
11469
  },
@@ -11579,7 +11608,7 @@ const Methods = {
11579
11608
  return;
11580
11609
  }
11581
11610
  if (tooltipStore.column !== column || !tooltipStore.visible) {
11582
- handleTooltip($xeTable, evnt, thEl, thEl.querySelector('.vxe-cell--title') || cellEl, params);
11611
+ handleTooltip($xeTable, evnt, thEl, thEl.querySelector('.vxe-cell--wrapper'), thEl.querySelector('.vxe-cell--title') || cellEl, params);
11583
11612
  }
11584
11613
  },
11585
11614
  /**
@@ -11620,7 +11649,7 @@ const Methods = {
11620
11649
  }
11621
11650
  }
11622
11651
  if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
11623
- handleTooltip($xeTable, evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
11652
+ handleTooltip($xeTable, evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'), tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
11624
11653
  }
11625
11654
  },
11626
11655
  /**
@@ -11638,7 +11667,7 @@ const Methods = {
11638
11667
  const tdEl = evnt.currentTarget;
11639
11668
  handleTargetEnterEvent($xeTable, tooltipStore.column !== column || !!tooltipStore.row);
11640
11669
  if (tooltipStore.column !== column || !tooltipStore.visible) {
11641
- handleTooltip($xeTable, evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
11670
+ handleTooltip($xeTable, evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'), tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
11642
11671
  }
11643
11672
  },
11644
11673
  openTooltip(target, content) {
@@ -15339,6 +15368,7 @@ const Methods = {
15339
15368
  elemStore,
15340
15369
  fullColumnIdData
15341
15370
  } = internalData;
15371
+ const mouseOpts = $xeTable.computeMouseOpts;
15342
15372
  const tableBody = $xeTable.$refs.refTableBody;
15343
15373
  const tableBodyElem = tableBody ? tableBody.$el : null;
15344
15374
  if (tableBodyElem) {
@@ -15397,6 +15427,9 @@ const Methods = {
15397
15427
  if (scrollXSpaceEl) {
15398
15428
  scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
15399
15429
  }
15430
+ if (isScrollXBig && mouseOpts.area) {
15431
+ errLog('vxe.error.notProp', ['mouse-config.area']);
15432
+ }
15400
15433
  $xeTable.$nextTick(() => {
15401
15434
  updateStyle($xeTable);
15402
15435
  });
@@ -15432,6 +15465,7 @@ const Methods = {
15432
15465
  const {
15433
15466
  startIndex
15434
15467
  } = scrollYStore;
15468
+ const mouseOpts = $xeTable.computeMouseOpts;
15435
15469
  const expandOpts = $xeTable.computeExpandOpts;
15436
15470
  const rowOpts = $xeTable.computeRowOpts;
15437
15471
  const cellOpts = $xeTable.computeCellOpts;
@@ -15512,6 +15546,9 @@ const Methods = {
15512
15546
  reactData.scrollYTop = scrollYTop;
15513
15547
  reactData.scrollYHeight = scrollYHeight;
15514
15548
  reactData.isScrollYBig = isScrollYBig;
15549
+ if (isScrollYBig && mouseOpts.area) {
15550
+ errLog('vxe.error.notProp', ['mouse-config.area']);
15551
+ }
15515
15552
  return $xeTable.$nextTick().then(() => {
15516
15553
  updateStyle($xeTable);
15517
15554
  });
@@ -20773,7 +20810,9 @@ const {
20773
20810
 
20774
20811
 
20775
20812
  const {
20776
- menus: mixin_menus
20813
+ menus: mixin_menus,
20814
+ globalEvents: mixin_globalEvents,
20815
+ GLOBAL_EVENT_KEYS
20777
20816
  } = core_.VxeUI;
20778
20817
  /* harmony default export */ var menu_mixin = ({
20779
20818
  methods: {
@@ -20790,17 +20829,18 @@ const {
20790
20829
  return this.$nextTick();
20791
20830
  },
20792
20831
  // 处理菜单的移动
20793
- moveCtxMenu(evnt, keyCode, ctxMenuStore, property, operKey, operRest, menuList) {
20832
+ moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
20833
+ const $xeTable = this;
20794
20834
  let selectItem;
20795
20835
  const selectIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(menuList, item => ctxMenuStore[property] === item);
20796
- if (keyCode === operKey) {
20836
+ if (hasOper) {
20797
20837
  if (operRest && hasChildrenList(ctxMenuStore.selected)) {
20798
20838
  ctxMenuStore.showChild = true;
20799
20839
  } else {
20800
20840
  ctxMenuStore.showChild = false;
20801
20841
  ctxMenuStore.selectChild = null;
20802
20842
  }
20803
- } else if (keyCode === 38) {
20843
+ } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
20804
20844
  for (let len = selectIndex - 1; len >= 0; len--) {
20805
20845
  if (menuList[len].visible !== false) {
20806
20846
  selectItem = menuList[len];
@@ -20808,7 +20848,7 @@ const {
20808
20848
  }
20809
20849
  }
20810
20850
  ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
20811
- } else if (keyCode === 40) {
20851
+ } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
20812
20852
  for (let index = selectIndex + 1; index < menuList.length; index++) {
20813
20853
  if (menuList[index].visible !== false) {
20814
20854
  selectItem = menuList[index];
@@ -20816,8 +20856,8 @@ const {
20816
20856
  }
20817
20857
  }
20818
20858
  ctxMenuStore[property] = selectItem || menuList[0];
20819
- } else if (ctxMenuStore[property] && (keyCode === 13 || keyCode === 32)) {
20820
- this.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
20859
+ } else if (ctxMenuStore[property] && (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER) || mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR))) {
20860
+ $xeTable.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
20821
20861
  }
20822
20862
  },
20823
20863
  /**
@@ -21119,6 +21159,7 @@ const {
21119
21159
  renderer: edit_mixin_renderer,
21120
21160
  getI18n: mixin_getI18n
21121
21161
  } = core_.VxeUI;
21162
+ const mixin_browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
21122
21163
  function getEditColumnModel(row, column) {
21123
21164
  const {
21124
21165
  model,
@@ -22165,7 +22206,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
22165
22206
  inputElem.select();
22166
22207
  } else {
22167
22208
  // 保持一致行为,光标移到末端
22168
- if (browse.msie) {
22209
+ if (mixin_browseObj.msie) {
22169
22210
  const textRange = inputElem.createTextRange();
22170
22211
  textRange.collapse(false);
22171
22212
  textRange.select();
@@ -24295,10 +24336,11 @@ const convertToRows = originColumns => {
24295
24336
 
24296
24337
 
24297
24338
 
24339
+ const keyboard_mixin_browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
24298
24340
  function getTargetOffset(target, container) {
24299
24341
  let offsetTop = 0;
24300
24342
  let offsetLeft = 0;
24301
- const triggerCheckboxLabel = !browse.firefox && hasClass(target, 'vxe-checkbox--label');
24343
+ const triggerCheckboxLabel = !keyboard_mixin_browseObj.firefox && hasClass(target, 'vxe-checkbox--label');
24302
24344
  if (triggerCheckboxLabel) {
24303
24345
  const checkboxLabelStyle = getComputedStyle(target);
24304
24346
  offsetTop -= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(checkboxLabelStyle.paddingTop);
@@ -26993,6 +27035,9 @@ function renderBody(h, $xeTable) {
26993
27035
  const $xeTable = this;
26994
27036
  const $xeTabs = $xeTable.$xeTabs;
26995
27037
  return $xeTabs ? $xeTabs.reactData.resizeFlag : null;
27038
+ },
27039
+ computeVxeLanguage() {
27040
+ return core_.VxeUI.getLanguage();
26996
27041
  }
26997
27042
  },
26998
27043
  watch: {
@@ -27072,6 +27117,9 @@ function renderBody(h, $xeTable) {
27072
27117
  computeScrollbarYToLeft() {
27073
27118
  this.reLayoutFlag++;
27074
27119
  },
27120
+ computeVxeLanguage() {
27121
+ this.reLayoutFlag++;
27122
+ },
27075
27123
  reLayoutFlag() {
27076
27124
  const $xeTable = this;
27077
27125
  $xeTable.$nextTick(() => $xeTable.recalculate(true));