vxe-table 3.18.2 → 3.18.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.
- package/es/grid/src/grid.js +5 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/menu/mixin.js +67 -43
- package/es/table/module/menu/panel.js +10 -8
- package/es/table/render/index.js +4 -3
- package/es/table/src/body.js +12 -14
- package/es/table/src/methods.js +17 -5
- package/es/table/src/table.js +6 -7
- package/es/table/style.css +0 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +17 -7
- package/es/vxe-table/style.css +0 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +6 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +161 -104
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/menu/mixin.js +84 -58
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +11 -10
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/render/index.js +6 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +11 -13
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +18 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +6 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +0 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +17 -6
- package/lib/ui/src/vn.min.js +1 -1
- package/lib/vxe-table/style/style.css +0 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +5 -1
- package/packages/table/module/menu/mixin.ts +79 -50
- package/packages/table/module/menu/panel.ts +11 -9
- package/packages/table/render/index.ts +27 -26
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/methods.ts +17 -5
- package/packages/table/src/table.ts +9 -7
- package/packages/ui/src/vn.ts +20 -9
- package/styles/components/table.scss +0 -1
- /package/es/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
- /package/es/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
- /package/es/{iconfont.1756452257212.woff2 → iconfont.1756734865034.woff2} +0 -0
- /package/lib/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
- /package/lib/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
- /package/lib/{iconfont.1756452257212.woff2 → iconfont.1756734865034.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.
|
|
2005
|
+
const version = "3.18.4";
|
|
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.
|
|
2681
|
+
const log_version = `table v${"3.18.4"}`;
|
|
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
|
|
@@ -3689,23 +3689,34 @@ function getOnName(type) {
|
|
|
3689
3689
|
}
|
|
3690
3690
|
function getModelEvent(renderOpts) {
|
|
3691
3691
|
switch (renderOpts.name) {
|
|
3692
|
-
case '
|
|
3693
|
-
case '
|
|
3694
|
-
|
|
3692
|
+
case 'VxeInput':
|
|
3693
|
+
case 'VxeTextarea':
|
|
3694
|
+
case 'VxeNumberInput':
|
|
3695
|
+
case 'VxePasswordInput':
|
|
3696
|
+
case 'VxeSelect':
|
|
3697
|
+
case 'VxeTreeSelect':
|
|
3698
|
+
case 'VxeTableSelect':
|
|
3699
|
+
case 'VxeDatePicker':
|
|
3700
|
+
case 'VxeDateRangePicker':
|
|
3701
|
+
case 'VxeIconPicker':
|
|
3702
|
+
case 'VxeColorPicker':
|
|
3703
|
+
case 'VxeSlider':
|
|
3704
|
+
case 'VxeUpload':
|
|
3705
|
+
return 'modelValue';
|
|
3695
3706
|
case 'select':
|
|
3696
3707
|
return 'change';
|
|
3697
3708
|
}
|
|
3698
|
-
return '
|
|
3709
|
+
return 'input';
|
|
3699
3710
|
}
|
|
3700
3711
|
function getChangeEvent(renderOpts) {
|
|
3701
3712
|
switch (renderOpts.name) {
|
|
3702
3713
|
case 'input':
|
|
3703
3714
|
case 'textarea':
|
|
3704
3715
|
case 'VxeInput':
|
|
3705
|
-
case 'VxeNumberInput':
|
|
3706
3716
|
case 'VxeTextarea':
|
|
3707
|
-
case '$input':
|
|
3717
|
+
case '$input': // 已废弃
|
|
3708
3718
|
case '$textarea':
|
|
3719
|
+
// 已废弃
|
|
3709
3720
|
return 'input';
|
|
3710
3721
|
}
|
|
3711
3722
|
return 'change';
|
|
@@ -15952,12 +15963,22 @@ const Methods = {
|
|
|
15952
15963
|
} = rowDragOpts;
|
|
15953
15964
|
if (isCrossTableDrag && crossTableDragRowObj && !tableData.length) {
|
|
15954
15965
|
const {
|
|
15955
|
-
$oldTable
|
|
15966
|
+
$oldTable,
|
|
15967
|
+
$newTable
|
|
15956
15968
|
} = crossTableDragRowObj;
|
|
15957
|
-
if ($oldTable
|
|
15958
|
-
|
|
15959
|
-
|
|
15960
|
-
|
|
15969
|
+
if ($oldTable) {
|
|
15970
|
+
const oldTableReactData = $oldTable;
|
|
15971
|
+
if ($oldTable.xID !== $xeTable.xID) {
|
|
15972
|
+
if ($newTable && $newTable.xID !== $xeTable.xID) {
|
|
15973
|
+
$newTable.hideCrossTableRowDropClearStatus();
|
|
15974
|
+
}
|
|
15975
|
+
evnt.preventDefault();
|
|
15976
|
+
$oldTable.hideCrossTableRowDropClearStatus();
|
|
15977
|
+
crossTableDragRowObj.$newTable = $xeTable;
|
|
15978
|
+
internalData.prevDragRow = null;
|
|
15979
|
+
reactData.dragTipText = oldTableReactData.dragTipText;
|
|
15980
|
+
showDropTip($xeTable, evnt, evnt.currentTarget, null, true, '');
|
|
15981
|
+
}
|
|
15961
15982
|
}
|
|
15962
15983
|
}
|
|
15963
15984
|
},
|
|
@@ -16240,6 +16261,9 @@ const Methods = {
|
|
|
16240
16261
|
oldTableReactData.isCrossDragRow = false;
|
|
16241
16262
|
crossTableDragRowObj.$newTable = null;
|
|
16242
16263
|
} else if (!treeConfig || isCrossDrag) {
|
|
16264
|
+
if ($newTable && $newTable.xID !== $xeTable.xID) {
|
|
16265
|
+
$newTable.hideCrossTableRowDropClearStatus();
|
|
16266
|
+
}
|
|
16243
16267
|
$oldTable.hideCrossTableRowDropClearStatus();
|
|
16244
16268
|
oldTableReactData.isCrossDragRow = true;
|
|
16245
16269
|
reactData.dragTipText = oldTableReactData.dragTipText;
|
|
@@ -19557,14 +19581,13 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
19557
19581
|
// hover 进入事件
|
|
19558
19582
|
if (showTitle || showTooltip || showAllTip || tooltipConfig) {
|
|
19559
19583
|
tdOns.mouseenter = evnt => {
|
|
19560
|
-
if (isVMScrollProcess($xeTable)) {
|
|
19561
|
-
|
|
19562
|
-
|
|
19563
|
-
|
|
19564
|
-
|
|
19565
|
-
|
|
19566
|
-
|
|
19567
|
-
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
19584
|
+
if (!isVMScrollProcess($xeTable)) {
|
|
19585
|
+
if (showTitle) {
|
|
19586
|
+
updateCellTitle(evnt.currentTarget, column);
|
|
19587
|
+
} else if (showTooltip || showAllTip) {
|
|
19588
|
+
// 如果配置了显示 tooltip
|
|
19589
|
+
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
19590
|
+
}
|
|
19568
19591
|
}
|
|
19569
19592
|
$xeTable.dispatchEvent('cell-mouseenter', Object.assign({
|
|
19570
19593
|
cell: evnt.currentTarget
|
|
@@ -19574,11 +19597,10 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
19574
19597
|
// hover 退出事件
|
|
19575
19598
|
if (showTooltip || showAllTip || tooltipConfig) {
|
|
19576
19599
|
tdOns.mouseleave = evnt => {
|
|
19577
|
-
if (isVMScrollProcess($xeTable)) {
|
|
19578
|
-
|
|
19579
|
-
|
|
19580
|
-
|
|
19581
|
-
$xeTable.handleTargetLeaveEvent(evnt);
|
|
19600
|
+
if (!isVMScrollProcess($xeTable)) {
|
|
19601
|
+
if (showTooltip || showAllTip) {
|
|
19602
|
+
$xeTable.handleTargetLeaveEvent(evnt);
|
|
19603
|
+
}
|
|
19582
19604
|
}
|
|
19583
19605
|
$xeTable.dispatchEvent('cell-mouseleave', Object.assign({
|
|
19584
19606
|
cell: evnt.currentTarget
|
|
@@ -23609,7 +23631,8 @@ const {
|
|
|
23609
23631
|
|
|
23610
23632
|
|
|
23611
23633
|
const {
|
|
23612
|
-
getIcon: menu_panel_getIcon
|
|
23634
|
+
getIcon: menu_panel_getIcon,
|
|
23635
|
+
renderEmptyElement: menu_panel_renderEmptyElement
|
|
23613
23636
|
} = core_.VxeUI;
|
|
23614
23637
|
/* harmony default export */ var menu_panel = ({
|
|
23615
23638
|
name: 'VxeTableMenuPanel',
|
|
@@ -23630,18 +23653,18 @@ const {
|
|
|
23630
23653
|
},
|
|
23631
23654
|
render(h) {
|
|
23632
23655
|
const $xeTable = this.$parent;
|
|
23656
|
+
const tableReactData = $xeTable;
|
|
23633
23657
|
const {
|
|
23634
|
-
_e,
|
|
23635
|
-
ctxMenuOpts,
|
|
23636
23658
|
ctxMenuStore
|
|
23637
|
-
} =
|
|
23659
|
+
} = tableReactData;
|
|
23660
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
23638
23661
|
return h('div', {
|
|
23639
|
-
class: ['vxe-table--context-menu-wrapper',
|
|
23662
|
+
class: ['vxe-table--context-menu-wrapper', menuOpts.className, {
|
|
23640
23663
|
'is--visible': ctxMenuStore.visible
|
|
23641
23664
|
}],
|
|
23642
23665
|
style: ctxMenuStore.style
|
|
23643
23666
|
}, ctxMenuStore.list.map((options, gIndex) => {
|
|
23644
|
-
return options.every(item => item.visible === false) ?
|
|
23667
|
+
return options.every(item => item.visible === false) ? menu_panel_renderEmptyElement($xeTable) : h('ul', {
|
|
23645
23668
|
class: 'vxe-context-menu--option-wrapper',
|
|
23646
23669
|
key: gIndex
|
|
23647
23670
|
}, options.map((item, index) => {
|
|
@@ -23672,7 +23695,7 @@ const {
|
|
|
23672
23695
|
class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
|
|
23673
23696
|
}, [h('i', {
|
|
23674
23697
|
class: prefixOpts.icon || item.prefixIcon
|
|
23675
|
-
}), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) :
|
|
23698
|
+
}), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)]), h('span', {
|
|
23676
23699
|
class: 'vxe-context-menu--link-content',
|
|
23677
23700
|
attrs: {
|
|
23678
23701
|
title: menuContent
|
|
@@ -23681,7 +23704,7 @@ const {
|
|
|
23681
23704
|
class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
|
|
23682
23705
|
}, [h('i', {
|
|
23683
23706
|
class: suffixOpts.icon || item.suffixIcon || (hasChildMenus ? menu_panel_getIcon().TABLE_MENU_OPTIONS : '')
|
|
23684
|
-
}), suffixOpts.content ? h('span', `${suffixOpts.content}`) :
|
|
23707
|
+
}), suffixOpts.content ? h('span', `${suffixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)])]), hasChildMenus ? h('ul', {
|
|
23685
23708
|
class: ['vxe-table--context-menu-clild-wrapper', {
|
|
23686
23709
|
'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
|
|
23687
23710
|
}]
|
|
@@ -23712,7 +23735,7 @@ const {
|
|
|
23712
23735
|
class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
|
|
23713
23736
|
}, [h('i', {
|
|
23714
23737
|
class: childPrefixOpts.icon || child.prefixIcon
|
|
23715
|
-
}), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) :
|
|
23738
|
+
}), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)]), h('span', {
|
|
23716
23739
|
class: 'vxe-context-menu--link-content',
|
|
23717
23740
|
attrs: {
|
|
23718
23741
|
title: childMenuContent
|
|
@@ -23721,7 +23744,7 @@ const {
|
|
|
23721
23744
|
class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
|
|
23722
23745
|
}, [h('i', {
|
|
23723
23746
|
class: childSuffixOpts.icon
|
|
23724
|
-
}), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) :
|
|
23747
|
+
}), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : menu_panel_renderEmptyElement($xeTable)])])]);
|
|
23725
23748
|
})) : null]);
|
|
23726
23749
|
}));
|
|
23727
23750
|
}));
|
|
@@ -24152,13 +24175,15 @@ const {
|
|
|
24152
24175
|
* 关闭快捷菜单
|
|
24153
24176
|
*/
|
|
24154
24177
|
_closeMenu() {
|
|
24155
|
-
|
|
24178
|
+
const $xeTable = this;
|
|
24179
|
+
const reactData = $xeTable;
|
|
24180
|
+
Object.assign(reactData.ctxMenuStore, {
|
|
24156
24181
|
visible: false,
|
|
24157
24182
|
selected: null,
|
|
24158
24183
|
selectChild: null,
|
|
24159
24184
|
showChild: false
|
|
24160
24185
|
});
|
|
24161
|
-
return
|
|
24186
|
+
return $xeTable.$nextTick();
|
|
24162
24187
|
},
|
|
24163
24188
|
// 处理菜单的移动
|
|
24164
24189
|
moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
|
|
@@ -24199,25 +24224,34 @@ const {
|
|
|
24199
24224
|
const $xeTable = this;
|
|
24200
24225
|
const $xeGrid = $xeTable.$xeGrid;
|
|
24201
24226
|
const $xeGantt = $xeTable.$xeGantt;
|
|
24227
|
+
const props = $xeTable;
|
|
24228
|
+
const reactData = $xeTable;
|
|
24202
24229
|
const internalData = $xeTable;
|
|
24203
24230
|
const {
|
|
24204
|
-
|
|
24205
|
-
|
|
24206
|
-
|
|
24207
|
-
menuConfig,
|
|
24208
|
-
contextMenu,
|
|
24209
|
-
ctxMenuStore,
|
|
24210
|
-
ctxMenuOpts,
|
|
24231
|
+
xID
|
|
24232
|
+
} = $xeTable;
|
|
24233
|
+
const {
|
|
24211
24234
|
mouseConfig,
|
|
24212
|
-
|
|
24213
|
-
} =
|
|
24235
|
+
menuConfig
|
|
24236
|
+
} = props;
|
|
24237
|
+
const {
|
|
24238
|
+
editStore,
|
|
24239
|
+
ctxMenuStore
|
|
24240
|
+
} = reactData;
|
|
24241
|
+
const {
|
|
24242
|
+
visibleColumn
|
|
24243
|
+
} = internalData;
|
|
24244
|
+
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
24245
|
+
const tableMenu = $xeTable.$refs.refTableMenu;
|
|
24246
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
24247
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
24248
|
+
const el = $xeTable.$refs.refElem;
|
|
24214
24249
|
const {
|
|
24215
24250
|
selected
|
|
24216
24251
|
} = editStore;
|
|
24217
|
-
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
24218
24252
|
const layoutList = ['header', 'body', 'footer'];
|
|
24219
|
-
if (isEnableConf(menuConfig)
|
|
24220
|
-
if (ctxMenuStore.visible &&
|
|
24253
|
+
if (isEnableConf(menuConfig)) {
|
|
24254
|
+
if (ctxMenuStore.visible && tableMenu && getEventTargetNode(evnt, tableMenu.$el).flag) {
|
|
24221
24255
|
evnt.preventDefault();
|
|
24222
24256
|
return;
|
|
24223
24257
|
}
|
|
@@ -24229,16 +24263,16 @@ const {
|
|
|
24229
24263
|
$grid: $xeGrid,
|
|
24230
24264
|
$gantt: $xeGantt,
|
|
24231
24265
|
keyboard: true,
|
|
24232
|
-
columns:
|
|
24266
|
+
columns: visibleColumn.slice(0),
|
|
24233
24267
|
$event: evnt
|
|
24234
24268
|
};
|
|
24235
24269
|
// 如果开启单元格区域
|
|
24236
24270
|
if (mouseConfig && mouseOpts.area) {
|
|
24237
|
-
const activeArea =
|
|
24271
|
+
const activeArea = $xeTable.getActiveCellArea();
|
|
24238
24272
|
if (activeArea && activeArea.row && activeArea.column) {
|
|
24239
24273
|
params.row = activeArea.row;
|
|
24240
24274
|
params.column = activeArea.column;
|
|
24241
|
-
|
|
24275
|
+
$xeTable.handleOpenMenuEvent(evnt, type, params);
|
|
24242
24276
|
return;
|
|
24243
24277
|
}
|
|
24244
24278
|
} else if (mouseConfig && mouseOpts.selected) {
|
|
@@ -24246,7 +24280,7 @@ const {
|
|
|
24246
24280
|
if (selected.row && selected.column) {
|
|
24247
24281
|
params.row = selected.row;
|
|
24248
24282
|
params.column = selected.column;
|
|
24249
|
-
|
|
24283
|
+
$xeTable.handleOpenMenuEvent(evnt, type, params);
|
|
24250
24284
|
return;
|
|
24251
24285
|
}
|
|
24252
24286
|
}
|
|
@@ -24254,16 +24288,16 @@ const {
|
|
|
24254
24288
|
// 分别匹配表尾、内容、表尾的快捷菜单
|
|
24255
24289
|
for (let index = 0; index < layoutList.length; index++) {
|
|
24256
24290
|
const layout = layoutList[index];
|
|
24257
|
-
const columnTargetNode = getEventTargetNode(evnt,
|
|
24291
|
+
const columnTargetNode = getEventTargetNode(evnt, el, `vxe-${layout}--column`, target => {
|
|
24258
24292
|
// target=td|th,直接向上找 table 去匹配即可
|
|
24259
|
-
return target.parentNode.parentNode.parentNode.getAttribute('xid') ===
|
|
24293
|
+
return target.parentNode.parentNode.parentNode.getAttribute('xid') === xID;
|
|
24260
24294
|
});
|
|
24261
24295
|
const params = {
|
|
24262
24296
|
type: layout,
|
|
24263
24297
|
$table: $xeTable,
|
|
24264
24298
|
$grid: $xeGrid,
|
|
24265
24299
|
$gantt: $xeGantt,
|
|
24266
|
-
columns:
|
|
24300
|
+
columns: visibleColumn.slice(0),
|
|
24267
24301
|
$event: evnt
|
|
24268
24302
|
};
|
|
24269
24303
|
if (columnTargetNode.flag) {
|
|
@@ -24288,41 +24322,44 @@ const {
|
|
|
24288
24322
|
}
|
|
24289
24323
|
}
|
|
24290
24324
|
const eventType = `${typePrefix}cell-menu`;
|
|
24291
|
-
|
|
24325
|
+
$xeTable.handleOpenMenuEvent(evnt, layout, params);
|
|
24292
24326
|
// 在 v4 中废弃事件 cell-context-menu、header-cell-context-menu、footer-cell-context-menu
|
|
24293
|
-
if (
|
|
24327
|
+
if ($xeTable.$listeners[`${typePrefix}cell-context-menu`]) {
|
|
24294
24328
|
warnLog('vxe.error.delEvent', [`${typePrefix}cell-context-menu`, `${typePrefix}cell-menu`]);
|
|
24295
24329
|
$xeTable.dispatchEvent(`${typePrefix}cell-context-menu`, params, evnt);
|
|
24296
24330
|
} else {
|
|
24297
24331
|
$xeTable.dispatchEvent(eventType, params, evnt);
|
|
24298
24332
|
}
|
|
24299
24333
|
return;
|
|
24300
|
-
} else if (getEventTargetNode(evnt,
|
|
24301
|
-
if (
|
|
24334
|
+
} else if (getEventTargetNode(evnt, $xeTable.$el, `vxe-table--${layout}-wrapper`, target => target.getAttribute('xid') === xID).flag) {
|
|
24335
|
+
if (menuOpts.trigger === 'cell') {
|
|
24302
24336
|
evnt.preventDefault();
|
|
24303
24337
|
} else {
|
|
24304
|
-
|
|
24338
|
+
$xeTable.handleOpenMenuEvent(evnt, layout, params);
|
|
24305
24339
|
}
|
|
24306
24340
|
return;
|
|
24307
24341
|
}
|
|
24308
24342
|
}
|
|
24309
24343
|
}
|
|
24310
24344
|
if (tableFilter && !getEventTargetNode(evnt, tableFilter.$el).flag) {
|
|
24311
|
-
|
|
24345
|
+
$xeTable.closeFilter();
|
|
24312
24346
|
}
|
|
24313
|
-
|
|
24347
|
+
$xeTable.closeMenu();
|
|
24314
24348
|
},
|
|
24315
24349
|
/**
|
|
24316
24350
|
* 显示快捷菜单
|
|
24317
24351
|
*/
|
|
24318
24352
|
handleOpenMenuEvent(evnt, type, params) {
|
|
24353
|
+
const $xeTable = this;
|
|
24354
|
+
const reactData = $xeTable;
|
|
24355
|
+
const internalData = $xeTable;
|
|
24319
24356
|
const {
|
|
24320
|
-
|
|
24321
|
-
|
|
24322
|
-
|
|
24323
|
-
|
|
24324
|
-
const config =
|
|
24325
|
-
const visibleMethod =
|
|
24357
|
+
ctxMenuStore
|
|
24358
|
+
} = reactData;
|
|
24359
|
+
const isMenu = $xeTable.computeIsMenu;
|
|
24360
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
24361
|
+
const config = menuOpts[type];
|
|
24362
|
+
const visibleMethod = menuOpts.visibleMethod;
|
|
24326
24363
|
if (config) {
|
|
24327
24364
|
const {
|
|
24328
24365
|
options,
|
|
@@ -24330,12 +24367,12 @@ const {
|
|
|
24330
24367
|
} = config;
|
|
24331
24368
|
if (disabled) {
|
|
24332
24369
|
evnt.preventDefault();
|
|
24333
|
-
} else if (
|
|
24370
|
+
} else if (isMenu && options && options.length) {
|
|
24334
24371
|
params.options = options;
|
|
24335
|
-
|
|
24372
|
+
$xeTable.preventEvent(evnt, 'event.showMenu', params, () => {
|
|
24336
24373
|
if (!visibleMethod || visibleMethod(params)) {
|
|
24337
24374
|
evnt.preventDefault();
|
|
24338
|
-
|
|
24375
|
+
$xeTable.updateZindex();
|
|
24339
24376
|
const {
|
|
24340
24377
|
scrollTop,
|
|
24341
24378
|
scrollLeft,
|
|
@@ -24345,21 +24382,22 @@ const {
|
|
|
24345
24382
|
let top = evnt.clientY + scrollTop;
|
|
24346
24383
|
let left = evnt.clientX + scrollLeft;
|
|
24347
24384
|
const handleVisible = () => {
|
|
24385
|
+
internalData._currMenuParams = params;
|
|
24348
24386
|
Object.assign(ctxMenuStore, {
|
|
24349
|
-
args: params,
|
|
24350
24387
|
visible: true,
|
|
24351
24388
|
list: options,
|
|
24352
24389
|
selected: null,
|
|
24353
24390
|
selectChild: null,
|
|
24354
24391
|
showChild: false,
|
|
24355
24392
|
style: {
|
|
24356
|
-
zIndex:
|
|
24393
|
+
zIndex: internalData.tZindex,
|
|
24357
24394
|
top: `${top}px`,
|
|
24358
24395
|
left: `${left}px`
|
|
24359
24396
|
}
|
|
24360
24397
|
});
|
|
24361
|
-
|
|
24362
|
-
const
|
|
24398
|
+
$xeTable.$nextTick(() => {
|
|
24399
|
+
const tableMenu = $xeTable.$refs.refTableMenu;
|
|
24400
|
+
const ctxElem = tableMenu.$el;
|
|
24363
24401
|
const clientHeight = ctxElem.clientHeight;
|
|
24364
24402
|
const clientWidth = ctxElem.clientWidth;
|
|
24365
24403
|
const {
|
|
@@ -24382,30 +24420,36 @@ const {
|
|
|
24382
24420
|
column
|
|
24383
24421
|
} = params;
|
|
24384
24422
|
if (keyboard && row && column) {
|
|
24385
|
-
|
|
24386
|
-
const cell =
|
|
24387
|
-
|
|
24388
|
-
|
|
24389
|
-
|
|
24390
|
-
|
|
24391
|
-
|
|
24392
|
-
|
|
24423
|
+
$xeTable.scrollToRow(row, column).then(() => {
|
|
24424
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
24425
|
+
if (cell) {
|
|
24426
|
+
const {
|
|
24427
|
+
boundingTop,
|
|
24428
|
+
boundingLeft
|
|
24429
|
+
} = getAbsolutePos(cell);
|
|
24430
|
+
top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2);
|
|
24431
|
+
left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2);
|
|
24432
|
+
}
|
|
24393
24433
|
handleVisible();
|
|
24394
24434
|
});
|
|
24395
24435
|
} else {
|
|
24396
24436
|
handleVisible();
|
|
24397
24437
|
}
|
|
24398
24438
|
} else {
|
|
24399
|
-
|
|
24439
|
+
$xeTable.closeMenu();
|
|
24400
24440
|
}
|
|
24401
24441
|
});
|
|
24402
24442
|
}
|
|
24403
24443
|
}
|
|
24404
|
-
|
|
24444
|
+
$xeTable.closeFilter();
|
|
24405
24445
|
},
|
|
24406
24446
|
ctxMenuMouseoverEvent(evnt, item, child) {
|
|
24447
|
+
const $xeTable = this;
|
|
24448
|
+
const reactData = $xeTable;
|
|
24407
24449
|
const menuElem = evnt.currentTarget;
|
|
24408
|
-
const
|
|
24450
|
+
const {
|
|
24451
|
+
ctxMenuStore
|
|
24452
|
+
} = reactData;
|
|
24409
24453
|
evnt.preventDefault();
|
|
24410
24454
|
evnt.stopPropagation();
|
|
24411
24455
|
ctxMenuStore.selected = item;
|
|
@@ -24413,7 +24457,7 @@ const {
|
|
|
24413
24457
|
if (!child) {
|
|
24414
24458
|
ctxMenuStore.showChild = hasChildrenList(item);
|
|
24415
24459
|
if (ctxMenuStore.showChild) {
|
|
24416
|
-
|
|
24460
|
+
$xeTable.$nextTick(() => {
|
|
24417
24461
|
const childWrapperElem = menuElem.nextElementSibling;
|
|
24418
24462
|
if (childWrapperElem) {
|
|
24419
24463
|
const {
|
|
@@ -24448,7 +24492,11 @@ const {
|
|
|
24448
24492
|
}
|
|
24449
24493
|
},
|
|
24450
24494
|
ctxMenuMouseoutEvent(evnt, item) {
|
|
24451
|
-
const
|
|
24495
|
+
const $xeTable = this;
|
|
24496
|
+
const reactData = $xeTable;
|
|
24497
|
+
const {
|
|
24498
|
+
ctxMenuStore
|
|
24499
|
+
} = reactData;
|
|
24452
24500
|
if (!item.children) {
|
|
24453
24501
|
ctxMenuStore.selected = null;
|
|
24454
24502
|
}
|
|
@@ -24461,27 +24509,28 @@ const {
|
|
|
24461
24509
|
const $xeTable = this;
|
|
24462
24510
|
const $xeGrid = $xeTable.$xeGrid;
|
|
24463
24511
|
const $xeGantt = $xeTable.$xeGantt;
|
|
24512
|
+
const internalData = $xeTable;
|
|
24464
24513
|
// 如果一级菜单有配置 code 则允许点击,否则不能点击
|
|
24465
24514
|
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
|
|
24466
24515
|
const gMenuOpts = mixin_menus.get(menu.code);
|
|
24467
|
-
const params = Object.assign({
|
|
24516
|
+
const params = Object.assign({}, internalData._currMenuParams, {
|
|
24468
24517
|
menu,
|
|
24469
24518
|
$table: $xeTable,
|
|
24470
24519
|
$grid: $xeGrid,
|
|
24471
24520
|
$gantt: $xeGantt,
|
|
24472
24521
|
$event: evnt
|
|
24473
|
-
}
|
|
24522
|
+
});
|
|
24474
24523
|
if (gMenuOpts && gMenuOpts.menuMethod) {
|
|
24475
24524
|
gMenuOpts.menuMethod(params, evnt);
|
|
24476
24525
|
}
|
|
24477
24526
|
// 在 v4 中废弃事件 context-menu-click
|
|
24478
|
-
if (
|
|
24527
|
+
if ($xeTable.$listeners['context-menu-click']) {
|
|
24479
24528
|
warnLog('vxe.error.delEvent', ['context-menu-click', 'menu-click']);
|
|
24480
24529
|
$xeTable.dispatchEvent('context-menu-click', params, evnt);
|
|
24481
24530
|
} else {
|
|
24482
24531
|
$xeTable.dispatchEvent('menu-click', params, evnt);
|
|
24483
24532
|
}
|
|
24484
|
-
|
|
24533
|
+
$xeTable.closeMenu();
|
|
24485
24534
|
}
|
|
24486
24535
|
}
|
|
24487
24536
|
}
|
|
@@ -31457,9 +31506,11 @@ function renderBody(h, $xeTable) {
|
|
|
31457
31506
|
const {
|
|
31458
31507
|
isCrossTableDrag
|
|
31459
31508
|
} = rowDragOpts;
|
|
31460
|
-
const
|
|
31509
|
+
const tbOns = {
|
|
31510
|
+
keydown: this.keydownEvent
|
|
31511
|
+
};
|
|
31461
31512
|
if (isCrossTableDrag && !tableData.length) {
|
|
31462
|
-
|
|
31513
|
+
tbOns.dragover = $xeTable.handleCrossTableRowDragoverEmptyEvent;
|
|
31463
31514
|
}
|
|
31464
31515
|
return h('div', {
|
|
31465
31516
|
ref: 'refElem',
|
|
@@ -31497,9 +31548,7 @@ function renderBody(h, $xeTable) {
|
|
|
31497
31548
|
attrs: {
|
|
31498
31549
|
spellcheck: false
|
|
31499
31550
|
},
|
|
31500
|
-
on:
|
|
31501
|
-
keydown: this.keydownEvent
|
|
31502
|
-
}
|
|
31551
|
+
on: tbOns
|
|
31503
31552
|
}, [
|
|
31504
31553
|
/**
|
|
31505
31554
|
* 隐藏列
|
|
@@ -31520,8 +31569,7 @@ function renderBody(h, $xeTable) {
|
|
|
31520
31569
|
class: 'vxe-table-var-mini'
|
|
31521
31570
|
})]), h('div', {
|
|
31522
31571
|
key: 'tw',
|
|
31523
|
-
class: 'vxe-table--render-wrapper'
|
|
31524
|
-
on: rwOns
|
|
31572
|
+
class: 'vxe-table--render-wrapper'
|
|
31525
31573
|
}, scrollbarXToTop ? [renderScrollX(h, $xeTable), renderBody(h, $xeTable)] : [renderBody(h, $xeTable), renderScrollX(h, $xeTable)]),
|
|
31526
31574
|
/**
|
|
31527
31575
|
* 空数据
|
|
@@ -33093,6 +33141,8 @@ function grid_createInternalData() {
|
|
|
33093
33141
|
let itemValue = null;
|
|
33094
33142
|
if (itemRender) {
|
|
33095
33143
|
const {
|
|
33144
|
+
startField,
|
|
33145
|
+
endField,
|
|
33096
33146
|
defaultValue
|
|
33097
33147
|
} = itemRender;
|
|
33098
33148
|
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)) {
|
|
@@ -33102,6 +33152,10 @@ function grid_createInternalData() {
|
|
|
33102
33152
|
} else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)) {
|
|
33103
33153
|
itemValue = defaultValue;
|
|
33104
33154
|
}
|
|
33155
|
+
if (startField && endField) {
|
|
33156
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, startField, null);
|
|
33157
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, endField, null);
|
|
33158
|
+
}
|
|
33105
33159
|
}
|
|
33106
33160
|
fData[field] = itemValue;
|
|
33107
33161
|
}
|
|
@@ -34891,7 +34945,7 @@ function nativeEditRender(h, renderOpts, params) {
|
|
|
34891
34945
|
name
|
|
34892
34946
|
} = renderOpts;
|
|
34893
34947
|
const cellValue = isImmediateCell(renderOpts, params) ? getCellValue(row, column) : column.model.value;
|
|
34894
|
-
return [h(name
|
|
34948
|
+
return [h(`${name}`, {
|
|
34895
34949
|
class: `vxe-default-${name}`,
|
|
34896
34950
|
attrs: getNativeAttrs(renderOpts),
|
|
34897
34951
|
domProps: {
|
|
@@ -34975,7 +35029,10 @@ function oldButtonEditRender(h, renderOpts, params) {
|
|
|
34975
35029
|
* @deprecated
|
|
34976
35030
|
*/
|
|
34977
35031
|
function oldButtonsEditRender(h, renderOpts, params) {
|
|
34978
|
-
|
|
35032
|
+
const {
|
|
35033
|
+
children
|
|
35034
|
+
} = renderOpts;
|
|
35035
|
+
return children ? children.map(childRenderOpts => oldButtonEditRender(h, childRenderOpts, params)[0]) : [];
|
|
34979
35036
|
}
|
|
34980
35037
|
function renderNativeOptgroups(h, renderOpts, params, renderOptionsMethods) {
|
|
34981
35038
|
const {
|
|
@@ -35037,7 +35094,7 @@ function nativeFilterRender(h, renderOpts, params) {
|
|
|
35037
35094
|
} = renderOpts;
|
|
35038
35095
|
const attrs = getNativeAttrs(renderOpts);
|
|
35039
35096
|
return column.filters.map((option, oIndex) => {
|
|
35040
|
-
return h(name
|
|
35097
|
+
return h(`${name}`, {
|
|
35041
35098
|
key: oIndex,
|
|
35042
35099
|
class: `vxe-default-${name}`,
|
|
35043
35100
|
attrs,
|