vxe-table 3.18.2 → 3.18.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 (52) hide show
  1. package/es/grid/src/grid.js +5 -1
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/menu/mixin.js +67 -43
  7. package/es/table/module/menu/panel.js +10 -8
  8. package/es/table/src/body.js +12 -14
  9. package/es/table/style.css +0 -4
  10. package/es/table/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/ui/src/vn.js +16 -11
  14. package/es/vxe-table/style.css +0 -4
  15. package/es/vxe-table/style.min.css +1 -1
  16. package/lib/grid/src/grid.js +6 -0
  17. package/lib/grid/src/grid.min.js +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +130 -93
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/menu/mixin.js +84 -58
  25. package/lib/table/module/menu/mixin.min.js +1 -1
  26. package/lib/table/module/menu/panel.js +11 -10
  27. package/lib/table/module/menu/panel.min.js +1 -1
  28. package/lib/table/src/body.js +11 -13
  29. package/lib/table/src/body.min.js +1 -1
  30. package/lib/table/style/style.css +0 -4
  31. package/lib/table/style/style.min.css +1 -1
  32. package/lib/ui/index.js +1 -1
  33. package/lib/ui/index.min.js +1 -1
  34. package/lib/ui/src/log.js +1 -1
  35. package/lib/ui/src/log.min.js +1 -1
  36. package/lib/ui/src/vn.js +16 -10
  37. package/lib/ui/src/vn.min.js +1 -1
  38. package/lib/vxe-table/style/style.css +0 -4
  39. package/lib/vxe-table/style/style.min.css +1 -1
  40. package/package.json +1 -1
  41. package/packages/grid/src/grid.ts +5 -1
  42. package/packages/table/module/menu/mixin.ts +79 -50
  43. package/packages/table/module/menu/panel.ts +11 -9
  44. package/packages/table/src/body.ts +11 -13
  45. package/packages/ui/src/vn.ts +16 -11
  46. package/styles/components/table.scss +0 -1
  47. /package/es/{iconfont.1756452257212.ttf → iconfont.1756629700380.ttf} +0 -0
  48. /package/es/{iconfont.1756452257212.woff → iconfont.1756629700380.woff} +0 -0
  49. /package/es/{iconfont.1756452257212.woff2 → iconfont.1756629700380.woff2} +0 -0
  50. /package/lib/{iconfont.1756452257212.ttf → iconfont.1756629700380.ttf} +0 -0
  51. /package/lib/{iconfont.1756452257212.woff → iconfont.1756629700380.woff} +0 -0
  52. /package/lib/{iconfont.1756452257212.woff2 → iconfont.1756629700380.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
2002
2002
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2003
2003
 
2004
2004
 
2005
- const version = "3.18.2";
2005
+ const version = "3.18.3";
2006
2006
  core_.VxeUI.version = version;
2007
2007
  core_.VxeUI.tableVersion = version;
2008
2008
  core_.VxeUI.setConfig({
@@ -2678,7 +2678,7 @@ function isNodeElement(elem) {
2678
2678
  const {
2679
2679
  log: log_log
2680
2680
  } = core_.VxeUI;
2681
- const log_version = `table v${"3.18.2"}`;
2681
+ const log_version = `table v${"3.18.3"}`;
2682
2682
  const warnLog = log_log.create('warn', log_version);
2683
2683
  const errLog = log_log.create('error', log_version);
2684
2684
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -3687,25 +3687,31 @@ function colToVisible($xeTable, column, row) {
3687
3687
  function getOnName(type) {
3688
3688
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().kebabCase(type);
3689
3689
  }
3690
- function getModelEvent(renderOpts) {
3691
- switch (renderOpts.name) {
3692
- case 'input':
3693
- case 'textarea':
3694
- return 'input';
3690
+ function getModelEvent(name) {
3691
+ switch (name) {
3692
+ case 'VxeInput':
3693
+ case 'VxeTextarea':
3694
+ case 'VxeNumberInput':
3695
+ case 'VxeSelect':
3696
+ case 'VxeTreeSelect':
3697
+ case 'VxeTableSelect':
3698
+ case 'VxeDatePicker':
3699
+ case 'VxeDateRangePicker':
3700
+ return 'modelValue';
3695
3701
  case 'select':
3696
3702
  return 'change';
3697
3703
  }
3698
- return 'modelValue';
3704
+ return 'input';
3699
3705
  }
3700
- function getChangeEvent(renderOpts) {
3701
- switch (renderOpts.name) {
3706
+ function getChangeEvent(name) {
3707
+ switch (name) {
3702
3708
  case 'input':
3703
3709
  case 'textarea':
3704
3710
  case 'VxeInput':
3705
- case 'VxeNumberInput':
3706
3711
  case 'VxeTextarea':
3707
- case '$input':
3712
+ case '$input': // 已废弃
3708
3713
  case '$textarea':
3714
+ // 已废弃
3709
3715
  return 'input';
3710
3716
  }
3711
3717
  return 'change';
@@ -19557,14 +19563,13 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
19557
19563
  // hover 进入事件
19558
19564
  if (showTitle || showTooltip || showAllTip || tooltipConfig) {
19559
19565
  tdOns.mouseenter = evnt => {
19560
- if (isVMScrollProcess($xeTable)) {
19561
- return;
19562
- }
19563
- if (showTitle) {
19564
- updateCellTitle(evnt.currentTarget, column);
19565
- } else if (showTooltip || showAllTip) {
19566
- // 如果配置了显示 tooltip
19567
- $xeTable.triggerBodyTooltipEvent(evnt, cellParams);
19566
+ if (!isVMScrollProcess($xeTable)) {
19567
+ if (showTitle) {
19568
+ updateCellTitle(evnt.currentTarget, column);
19569
+ } else if (showTooltip || showAllTip) {
19570
+ // 如果配置了显示 tooltip
19571
+ $xeTable.triggerBodyTooltipEvent(evnt, cellParams);
19572
+ }
19568
19573
  }
19569
19574
  $xeTable.dispatchEvent('cell-mouseenter', Object.assign({
19570
19575
  cell: evnt.currentTarget
@@ -19574,11 +19579,10 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
19574
19579
  // hover 退出事件
19575
19580
  if (showTooltip || showAllTip || tooltipConfig) {
19576
19581
  tdOns.mouseleave = evnt => {
19577
- if (isVMScrollProcess($xeTable)) {
19578
- return;
19579
- }
19580
- if (showTooltip || showAllTip) {
19581
- $xeTable.handleTargetLeaveEvent(evnt);
19582
+ if (!isVMScrollProcess($xeTable)) {
19583
+ if (showTooltip || showAllTip) {
19584
+ $xeTable.handleTargetLeaveEvent(evnt);
19585
+ }
19582
19586
  }
19583
19587
  $xeTable.dispatchEvent('cell-mouseleave', Object.assign({
19584
19588
  cell: evnt.currentTarget
@@ -23609,7 +23613,8 @@ const {
23609
23613
 
23610
23614
 
23611
23615
  const {
23612
- getIcon: menu_panel_getIcon
23616
+ getIcon: menu_panel_getIcon,
23617
+ renderEmptyElement: menu_panel_renderEmptyElement
23613
23618
  } = core_.VxeUI;
23614
23619
  /* harmony default export */ var menu_panel = ({
23615
23620
  name: 'VxeTableMenuPanel',
@@ -23630,18 +23635,18 @@ const {
23630
23635
  },
23631
23636
  render(h) {
23632
23637
  const $xeTable = this.$parent;
23638
+ const tableReactData = $xeTable;
23633
23639
  const {
23634
- _e,
23635
- ctxMenuOpts,
23636
23640
  ctxMenuStore
23637
- } = this;
23641
+ } = tableReactData;
23642
+ const menuOpts = $xeTable.computeMenuOpts;
23638
23643
  return h('div', {
23639
- class: ['vxe-table--context-menu-wrapper', ctxMenuOpts.className, {
23644
+ class: ['vxe-table--context-menu-wrapper', menuOpts.className, {
23640
23645
  'is--visible': ctxMenuStore.visible
23641
23646
  }],
23642
23647
  style: ctxMenuStore.style
23643
23648
  }, ctxMenuStore.list.map((options, gIndex) => {
23644
- return options.every(item => item.visible === false) ? _e() : h('ul', {
23649
+ return options.every(item => item.visible === false) ? menu_panel_renderEmptyElement($xeTable) : h('ul', {
23645
23650
  class: 'vxe-context-menu--option-wrapper',
23646
23651
  key: gIndex
23647
23652
  }, options.map((item, index) => {
@@ -23672,7 +23677,7 @@ const {
23672
23677
  class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
23673
23678
  }, [h('i', {
23674
23679
  class: prefixOpts.icon || item.prefixIcon
23675
- }), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : _e()]), h('span', {
23680
+ }), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)]), h('span', {
23676
23681
  class: 'vxe-context-menu--link-content',
23677
23682
  attrs: {
23678
23683
  title: menuContent
@@ -23681,7 +23686,7 @@ const {
23681
23686
  class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
23682
23687
  }, [h('i', {
23683
23688
  class: suffixOpts.icon || item.suffixIcon || (hasChildMenus ? menu_panel_getIcon().TABLE_MENU_OPTIONS : '')
23684
- }), suffixOpts.content ? h('span', `${suffixOpts.content}`) : _e()])]), hasChildMenus ? h('ul', {
23689
+ }), suffixOpts.content ? h('span', `${suffixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)])]), hasChildMenus ? h('ul', {
23685
23690
  class: ['vxe-table--context-menu-clild-wrapper', {
23686
23691
  'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
23687
23692
  }]
@@ -23712,7 +23717,7 @@ const {
23712
23717
  class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
23713
23718
  }, [h('i', {
23714
23719
  class: childPrefixOpts.icon || child.prefixIcon
23715
- }), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : _e()]), h('span', {
23720
+ }), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)]), h('span', {
23716
23721
  class: 'vxe-context-menu--link-content',
23717
23722
  attrs: {
23718
23723
  title: childMenuContent
@@ -23721,7 +23726,7 @@ const {
23721
23726
  class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
23722
23727
  }, [h('i', {
23723
23728
  class: childSuffixOpts.icon
23724
- }), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : _e()])])]);
23729
+ }), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)])])]);
23725
23730
  })) : null]);
23726
23731
  }));
23727
23732
  }));
@@ -24152,13 +24157,15 @@ const {
24152
24157
  * 关闭快捷菜单
24153
24158
  */
24154
24159
  _closeMenu() {
24155
- Object.assign(this.ctxMenuStore, {
24160
+ const $xeTable = this;
24161
+ const reactData = $xeTable;
24162
+ Object.assign(reactData.ctxMenuStore, {
24156
24163
  visible: false,
24157
24164
  selected: null,
24158
24165
  selectChild: null,
24159
24166
  showChild: false
24160
24167
  });
24161
- return this.$nextTick();
24168
+ return $xeTable.$nextTick();
24162
24169
  },
24163
24170
  // 处理菜单的移动
24164
24171
  moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
@@ -24199,25 +24206,34 @@ const {
24199
24206
  const $xeTable = this;
24200
24207
  const $xeGrid = $xeTable.$xeGrid;
24201
24208
  const $xeGantt = $xeTable.$xeGantt;
24209
+ const props = $xeTable;
24210
+ const reactData = $xeTable;
24202
24211
  const internalData = $xeTable;
24203
24212
  const {
24204
- $refs,
24205
- tId,
24206
- editStore,
24207
- menuConfig,
24208
- contextMenu,
24209
- ctxMenuStore,
24210
- ctxMenuOpts,
24213
+ xID
24214
+ } = $xeTable;
24215
+ const {
24211
24216
  mouseConfig,
24212
- mouseOpts
24213
- } = this;
24217
+ menuConfig
24218
+ } = props;
24219
+ const {
24220
+ editStore,
24221
+ ctxMenuStore
24222
+ } = reactData;
24223
+ const {
24224
+ visibleColumn
24225
+ } = internalData;
24226
+ const tableFilter = $xeTable.$refs.refTableFilter;
24227
+ const tableMenu = $xeTable.$refs.refTableMenu;
24228
+ const mouseOpts = $xeTable.computeMouseOpts;
24229
+ const menuOpts = $xeTable.computeMenuOpts;
24230
+ const el = $xeTable.$refs.refElem;
24214
24231
  const {
24215
24232
  selected
24216
24233
  } = editStore;
24217
- const tableFilter = $xeTable.$refs.refTableFilter;
24218
24234
  const layoutList = ['header', 'body', 'footer'];
24219
- if (isEnableConf(menuConfig) || contextMenu) {
24220
- if (ctxMenuStore.visible && $refs.refTableMenu && getEventTargetNode(evnt, $refs.refTableMenu.$el).flag) {
24235
+ if (isEnableConf(menuConfig)) {
24236
+ if (ctxMenuStore.visible && tableMenu && getEventTargetNode(evnt, tableMenu.$el).flag) {
24221
24237
  evnt.preventDefault();
24222
24238
  return;
24223
24239
  }
@@ -24229,16 +24245,16 @@ const {
24229
24245
  $grid: $xeGrid,
24230
24246
  $gantt: $xeGantt,
24231
24247
  keyboard: true,
24232
- columns: this.visibleColumn.slice(0),
24248
+ columns: visibleColumn.slice(0),
24233
24249
  $event: evnt
24234
24250
  };
24235
24251
  // 如果开启单元格区域
24236
24252
  if (mouseConfig && mouseOpts.area) {
24237
- const activeArea = this.getActiveCellArea();
24253
+ const activeArea = $xeTable.getActiveCellArea();
24238
24254
  if (activeArea && activeArea.row && activeArea.column) {
24239
24255
  params.row = activeArea.row;
24240
24256
  params.column = activeArea.column;
24241
- this.handleOpenMenuEvent(evnt, type, params);
24257
+ $xeTable.handleOpenMenuEvent(evnt, type, params);
24242
24258
  return;
24243
24259
  }
24244
24260
  } else if (mouseConfig && mouseOpts.selected) {
@@ -24246,7 +24262,7 @@ const {
24246
24262
  if (selected.row && selected.column) {
24247
24263
  params.row = selected.row;
24248
24264
  params.column = selected.column;
24249
- this.handleOpenMenuEvent(evnt, type, params);
24265
+ $xeTable.handleOpenMenuEvent(evnt, type, params);
24250
24266
  return;
24251
24267
  }
24252
24268
  }
@@ -24254,16 +24270,16 @@ const {
24254
24270
  // 分别匹配表尾、内容、表尾的快捷菜单
24255
24271
  for (let index = 0; index < layoutList.length; index++) {
24256
24272
  const layout = layoutList[index];
24257
- const columnTargetNode = getEventTargetNode(evnt, this.$el, `vxe-${layout}--column`, target => {
24273
+ const columnTargetNode = getEventTargetNode(evnt, el, `vxe-${layout}--column`, target => {
24258
24274
  // target=td|th,直接向上找 table 去匹配即可
24259
- return target.parentNode.parentNode.parentNode.getAttribute('xid') === tId;
24275
+ return target.parentNode.parentNode.parentNode.getAttribute('xid') === xID;
24260
24276
  });
24261
24277
  const params = {
24262
24278
  type: layout,
24263
24279
  $table: $xeTable,
24264
24280
  $grid: $xeGrid,
24265
24281
  $gantt: $xeGantt,
24266
- columns: this.visibleColumn.slice(0),
24282
+ columns: visibleColumn.slice(0),
24267
24283
  $event: evnt
24268
24284
  };
24269
24285
  if (columnTargetNode.flag) {
@@ -24288,41 +24304,44 @@ const {
24288
24304
  }
24289
24305
  }
24290
24306
  const eventType = `${typePrefix}cell-menu`;
24291
- this.handleOpenMenuEvent(evnt, layout, params);
24307
+ $xeTable.handleOpenMenuEvent(evnt, layout, params);
24292
24308
  // 在 v4 中废弃事件 cell-context-menu、header-cell-context-menu、footer-cell-context-menu
24293
- if (this.$listeners[`${typePrefix}cell-context-menu`]) {
24309
+ if ($xeTable.$listeners[`${typePrefix}cell-context-menu`]) {
24294
24310
  warnLog('vxe.error.delEvent', [`${typePrefix}cell-context-menu`, `${typePrefix}cell-menu`]);
24295
24311
  $xeTable.dispatchEvent(`${typePrefix}cell-context-menu`, params, evnt);
24296
24312
  } else {
24297
24313
  $xeTable.dispatchEvent(eventType, params, evnt);
24298
24314
  }
24299
24315
  return;
24300
- } else if (getEventTargetNode(evnt, this.$el, `vxe-table--${layout}-wrapper`, target => target.getAttribute('xid') === tId).flag) {
24301
- if (ctxMenuOpts.trigger === 'cell') {
24316
+ } else if (getEventTargetNode(evnt, $xeTable.$el, `vxe-table--${layout}-wrapper`, target => target.getAttribute('xid') === xID).flag) {
24317
+ if (menuOpts.trigger === 'cell') {
24302
24318
  evnt.preventDefault();
24303
24319
  } else {
24304
- this.handleOpenMenuEvent(evnt, layout, params);
24320
+ $xeTable.handleOpenMenuEvent(evnt, layout, params);
24305
24321
  }
24306
24322
  return;
24307
24323
  }
24308
24324
  }
24309
24325
  }
24310
24326
  if (tableFilter && !getEventTargetNode(evnt, tableFilter.$el).flag) {
24311
- this.closeFilter();
24327
+ $xeTable.closeFilter();
24312
24328
  }
24313
- this.closeMenu();
24329
+ $xeTable.closeMenu();
24314
24330
  },
24315
24331
  /**
24316
24332
  * 显示快捷菜单
24317
24333
  */
24318
24334
  handleOpenMenuEvent(evnt, type, params) {
24335
+ const $xeTable = this;
24336
+ const reactData = $xeTable;
24337
+ const internalData = $xeTable;
24319
24338
  const {
24320
- isCtxMenu,
24321
- ctxMenuStore,
24322
- ctxMenuOpts
24323
- } = this;
24324
- const config = ctxMenuOpts[type];
24325
- const visibleMethod = ctxMenuOpts.visibleMethod;
24339
+ ctxMenuStore
24340
+ } = reactData;
24341
+ const isMenu = $xeTable.computeIsMenu;
24342
+ const menuOpts = $xeTable.computeMenuOpts;
24343
+ const config = menuOpts[type];
24344
+ const visibleMethod = menuOpts.visibleMethod;
24326
24345
  if (config) {
24327
24346
  const {
24328
24347
  options,
@@ -24330,12 +24349,12 @@ const {
24330
24349
  } = config;
24331
24350
  if (disabled) {
24332
24351
  evnt.preventDefault();
24333
- } else if (isCtxMenu && options && options.length) {
24352
+ } else if (isMenu && options && options.length) {
24334
24353
  params.options = options;
24335
- this.preventEvent(evnt, 'event.showMenu', params, () => {
24354
+ $xeTable.preventEvent(evnt, 'event.showMenu', params, () => {
24336
24355
  if (!visibleMethod || visibleMethod(params)) {
24337
24356
  evnt.preventDefault();
24338
- this.updateZindex();
24357
+ $xeTable.updateZindex();
24339
24358
  const {
24340
24359
  scrollTop,
24341
24360
  scrollLeft,
@@ -24345,21 +24364,22 @@ const {
24345
24364
  let top = evnt.clientY + scrollTop;
24346
24365
  let left = evnt.clientX + scrollLeft;
24347
24366
  const handleVisible = () => {
24367
+ internalData._currMenuParams = params;
24348
24368
  Object.assign(ctxMenuStore, {
24349
- args: params,
24350
24369
  visible: true,
24351
24370
  list: options,
24352
24371
  selected: null,
24353
24372
  selectChild: null,
24354
24373
  showChild: false,
24355
24374
  style: {
24356
- zIndex: this.tZindex,
24375
+ zIndex: internalData.tZindex,
24357
24376
  top: `${top}px`,
24358
24377
  left: `${left}px`
24359
24378
  }
24360
24379
  });
24361
- this.$nextTick(() => {
24362
- const ctxElem = this.$refs.refTableMenu.$el;
24380
+ $xeTable.$nextTick(() => {
24381
+ const tableMenu = $xeTable.$refs.refTableMenu;
24382
+ const ctxElem = tableMenu.$el;
24363
24383
  const clientHeight = ctxElem.clientHeight;
24364
24384
  const clientWidth = ctxElem.clientWidth;
24365
24385
  const {
@@ -24382,30 +24402,36 @@ const {
24382
24402
  column
24383
24403
  } = params;
24384
24404
  if (keyboard && row && column) {
24385
- this.scrollToRow(row, column).then(() => {
24386
- const cell = this.getCellElement(row, column);
24387
- const {
24388
- boundingTop,
24389
- boundingLeft
24390
- } = getAbsolutePos(cell);
24391
- top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2);
24392
- left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2);
24405
+ $xeTable.scrollToRow(row, column).then(() => {
24406
+ const cell = $xeTable.getCellElement(row, column);
24407
+ if (cell) {
24408
+ const {
24409
+ boundingTop,
24410
+ boundingLeft
24411
+ } = getAbsolutePos(cell);
24412
+ top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2);
24413
+ left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2);
24414
+ }
24393
24415
  handleVisible();
24394
24416
  });
24395
24417
  } else {
24396
24418
  handleVisible();
24397
24419
  }
24398
24420
  } else {
24399
- this.closeMenu();
24421
+ $xeTable.closeMenu();
24400
24422
  }
24401
24423
  });
24402
24424
  }
24403
24425
  }
24404
- this.closeFilter();
24426
+ $xeTable.closeFilter();
24405
24427
  },
24406
24428
  ctxMenuMouseoverEvent(evnt, item, child) {
24429
+ const $xeTable = this;
24430
+ const reactData = $xeTable;
24407
24431
  const menuElem = evnt.currentTarget;
24408
- const ctxMenuStore = this.ctxMenuStore;
24432
+ const {
24433
+ ctxMenuStore
24434
+ } = reactData;
24409
24435
  evnt.preventDefault();
24410
24436
  evnt.stopPropagation();
24411
24437
  ctxMenuStore.selected = item;
@@ -24413,7 +24439,7 @@ const {
24413
24439
  if (!child) {
24414
24440
  ctxMenuStore.showChild = hasChildrenList(item);
24415
24441
  if (ctxMenuStore.showChild) {
24416
- this.$nextTick(() => {
24442
+ $xeTable.$nextTick(() => {
24417
24443
  const childWrapperElem = menuElem.nextElementSibling;
24418
24444
  if (childWrapperElem) {
24419
24445
  const {
@@ -24448,7 +24474,11 @@ const {
24448
24474
  }
24449
24475
  },
24450
24476
  ctxMenuMouseoutEvent(evnt, item) {
24451
- const ctxMenuStore = this.ctxMenuStore;
24477
+ const $xeTable = this;
24478
+ const reactData = $xeTable;
24479
+ const {
24480
+ ctxMenuStore
24481
+ } = reactData;
24452
24482
  if (!item.children) {
24453
24483
  ctxMenuStore.selected = null;
24454
24484
  }
@@ -24461,27 +24491,28 @@ const {
24461
24491
  const $xeTable = this;
24462
24492
  const $xeGrid = $xeTable.$xeGrid;
24463
24493
  const $xeGantt = $xeTable.$xeGantt;
24494
+ const internalData = $xeTable;
24464
24495
  // 如果一级菜单有配置 code 则允许点击,否则不能点击
24465
24496
  if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
24466
24497
  const gMenuOpts = mixin_menus.get(menu.code);
24467
- const params = Object.assign({
24498
+ const params = Object.assign({}, internalData._currMenuParams, {
24468
24499
  menu,
24469
24500
  $table: $xeTable,
24470
24501
  $grid: $xeGrid,
24471
24502
  $gantt: $xeGantt,
24472
24503
  $event: evnt
24473
- }, this.ctxMenuStore.args);
24504
+ });
24474
24505
  if (gMenuOpts && gMenuOpts.menuMethod) {
24475
24506
  gMenuOpts.menuMethod(params, evnt);
24476
24507
  }
24477
24508
  // 在 v4 中废弃事件 context-menu-click
24478
- if (this.$listeners['context-menu-click']) {
24509
+ if ($xeTable.$listeners['context-menu-click']) {
24479
24510
  warnLog('vxe.error.delEvent', ['context-menu-click', 'menu-click']);
24480
24511
  $xeTable.dispatchEvent('context-menu-click', params, evnt);
24481
24512
  } else {
24482
24513
  $xeTable.dispatchEvent('menu-click', params, evnt);
24483
24514
  }
24484
- this.closeMenu();
24515
+ $xeTable.closeMenu();
24485
24516
  }
24486
24517
  }
24487
24518
  }
@@ -33093,6 +33124,8 @@ function grid_createInternalData() {
33093
33124
  let itemValue = null;
33094
33125
  if (itemRender) {
33095
33126
  const {
33127
+ startField,
33128
+ endField,
33096
33129
  defaultValue
33097
33130
  } = itemRender;
33098
33131
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)) {
@@ -33102,6 +33135,10 @@ function grid_createInternalData() {
33102
33135
  } else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)) {
33103
33136
  itemValue = defaultValue;
33104
33137
  }
33138
+ if (startField && endField) {
33139
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, startField, null);
33140
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, endField, null);
33141
+ }
33105
33142
  }
33106
33143
  fData[field] = itemValue;
33107
33144
  }