@imengyu/vue3-context-menu 1.2.0 → 1.2.2
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/README.CN.md +1 -1
- package/README.md +1 -0
- package/lib/vue3-context-menu.common.js +72 -17
- package/lib/vue3-context-menu.common.js.map +1 -1
- package/lib/vue3-context-menu.umd.js +72 -17
- package/lib/vue3-context-menu.umd.js.map +1 -1
- package/lib/vue3-context-menu.umd.min.js +1 -1
- package/lib/vue3-context-menu.umd.min.js.map +1 -1
- package/package.json +2 -4
- package/src/ContextMenuItem.vue +7 -4
- package/src/ContextSubMenuWrapper.vue +10 -6
package/README.CN.md
CHANGED
package/README.md
CHANGED
|
@@ -3050,9 +3050,9 @@ var es_array_index_of = __webpack_require__(2772);
|
|
|
3050
3050
|
var es_array_for_each = __webpack_require__(9554);
|
|
3051
3051
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js
|
|
3052
3052
|
var es_array_splice = __webpack_require__(561);
|
|
3053
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextMenuItem.vue?vue&type=template&id=
|
|
3053
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextMenuItem.vue?vue&type=template&id=f61bf578&ts=true
|
|
3054
3054
|
|
|
3055
|
-
var
|
|
3055
|
+
var ContextMenuItemvue_type_template_id_f61bf578_ts_true_hoisted_1 = {
|
|
3056
3056
|
key: 0,
|
|
3057
3057
|
"class": "mx-context-menu-item-wrapper",
|
|
3058
3058
|
ref: "menuItemRef",
|
|
@@ -3072,14 +3072,14 @@ var _hoisted_5 = {
|
|
|
3072
3072
|
var _hoisted_6 = {
|
|
3073
3073
|
"class": "mx-shortcut"
|
|
3074
3074
|
};
|
|
3075
|
-
function
|
|
3075
|
+
function ContextMenuItemvue_type_template_id_f61bf578_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3076
3076
|
var _component_VNodeRender = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("VNodeRender");
|
|
3077
3077
|
|
|
3078
3078
|
var _component_ContextMenuIconCheck = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("ContextMenuIconCheck");
|
|
3079
3079
|
|
|
3080
3080
|
var _component_ContextMenuIconRight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("ContextMenuIconRight");
|
|
3081
3081
|
|
|
3082
|
-
return !_ctx.hidden ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div",
|
|
3082
|
+
return !_ctx.hidden ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", ContextMenuItemvue_type_template_id_f61bf578_ts_true_hoisted_1, [_ctx.globalHasSlot('itemRender') ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_VNodeRender, {
|
|
3083
3083
|
key: 0,
|
|
3084
3084
|
vnode: function vnode() {
|
|
3085
3085
|
return _ctx.globalRenderSlot('itemRender', _ctx.getItemDataForChildren());
|
|
@@ -3164,7 +3164,7 @@ function ContextMenuItemvue_type_template_id_6785ddf2_ts_true_render(_ctx, _cach
|
|
|
3164
3164
|
key: 3
|
|
3165
3165
|
}) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
|
|
3166
3166
|
}
|
|
3167
|
-
;// CONCATENATED MODULE: ./src/ContextMenuItem.vue?vue&type=template&id=
|
|
3167
|
+
;// CONCATENATED MODULE: ./src/ContextMenuItem.vue?vue&type=template&id=f61bf578&ts=true
|
|
3168
3168
|
|
|
3169
3169
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextMenuIconCheck.vue?vue&type=template&id=f3b78eb6
|
|
3170
3170
|
|
|
@@ -3462,18 +3462,20 @@ const ContextMenuIconRight_exports_ = /*#__PURE__*/(0,exportHelper/* default */.
|
|
|
3462
3462
|
if (disabled.value || e && e.target.classList.contains('mx-context-no-clickable')) return; //Has submenu?
|
|
3463
3463
|
|
|
3464
3464
|
if (hasChildren.value) {
|
|
3465
|
-
if (clickableWhenHasChildren.value
|
|
3465
|
+
if (clickableWhenHasChildren.value) {
|
|
3466
|
+
if (typeof clickHandler.value === 'function') clickHandler.value();
|
|
3467
|
+
context.emit('click');
|
|
3468
|
+
} else if (!_showSubMenu.value) onMouseEnter();
|
|
3466
3469
|
} else {
|
|
3467
3470
|
//Call hander from options
|
|
3468
3471
|
if (typeof clickHandler.value === 'function') clickHandler.value();
|
|
3472
|
+
context.emit('click');
|
|
3469
3473
|
|
|
3470
3474
|
if (clickClose.value) {
|
|
3471
3475
|
//emit close
|
|
3472
3476
|
globalCloseMenu();
|
|
3473
3477
|
}
|
|
3474
3478
|
}
|
|
3475
|
-
|
|
3476
|
-
context.emit('click');
|
|
3477
3479
|
} //MouseEnter handler: show item submenu
|
|
3478
3480
|
|
|
3479
3481
|
|
|
@@ -3538,7 +3540,7 @@ const ContextMenuIconRight_exports_ = /*#__PURE__*/(0,exportHelper/* default */.
|
|
|
3538
3540
|
|
|
3539
3541
|
|
|
3540
3542
|
;
|
|
3541
|
-
const ContextMenuItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ContextMenuItemvue_type_script_lang_ts, [['render',
|
|
3543
|
+
const ContextMenuItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ContextMenuItemvue_type_script_lang_ts, [['render',ContextMenuItemvue_type_template_id_f61bf578_ts_true_render]])
|
|
3542
3544
|
|
|
3543
3545
|
/* harmony default export */ const ContextMenuItem = (ContextMenuItem_exports_);
|
|
3544
3546
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextMenuSeparator.vue?vue&type=template&id=27643a0a&ts=true
|
|
@@ -4018,7 +4020,7 @@ const ContextSubMenu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Con
|
|
|
4018
4020
|
document.removeEventListener("contextmenu", onBodyClick, true);
|
|
4019
4021
|
document.removeEventListener("click", onBodyClick, true);
|
|
4020
4022
|
document.removeEventListener("wheel", onBodyWhell, true);
|
|
4021
|
-
if (options.value.keyboardControl) document.removeEventListener('keydown', onMenuKeyDown);
|
|
4023
|
+
if (options.value.keyboardControl !== false) document.removeEventListener('keydown', onMenuKeyDown);
|
|
4022
4024
|
} //For keyboard event, remember which submenu is active
|
|
4023
4025
|
|
|
4024
4026
|
|
|
@@ -4030,11 +4032,7 @@ const ContextSubMenu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Con
|
|
|
4030
4032
|
function onMenuKeyDown(e) {
|
|
4031
4033
|
var _currentOpenedMenu$va3, _currentOpenedMenu$va4, _currentOpenedMenu$va5, _currentOpenedMenu$va6, _currentOpenedMenu$va8, _currentOpenedMenu$va9;
|
|
4032
4034
|
|
|
4033
|
-
|
|
4034
|
-
e.stopPropagation();
|
|
4035
|
-
e.preventDefault();
|
|
4036
|
-
} //Handle keyboard event
|
|
4037
|
-
|
|
4035
|
+
var handled = true; //Handle keyboard event
|
|
4038
4036
|
|
|
4039
4037
|
switch (e.key) {
|
|
4040
4038
|
case "Escape":
|
|
@@ -4083,6 +4081,15 @@ const ContextSubMenu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Con
|
|
|
4083
4081
|
case "Enter":
|
|
4084
4082
|
(_currentOpenedMenu$va9 = currentOpenedMenu.value) === null || _currentOpenedMenu$va9 === void 0 ? void 0 : _currentOpenedMenu$va9.triggerCurrentItemClick();
|
|
4085
4083
|
break;
|
|
4084
|
+
|
|
4085
|
+
default:
|
|
4086
|
+
handled = false;
|
|
4087
|
+
break;
|
|
4088
|
+
}
|
|
4089
|
+
|
|
4090
|
+
if (handled && currentOpenedMenu.value) {
|
|
4091
|
+
e.stopPropagation();
|
|
4092
|
+
e.preventDefault();
|
|
4086
4093
|
}
|
|
4087
4094
|
}
|
|
4088
4095
|
|
|
@@ -4185,10 +4192,10 @@ const ContextSubMenu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Con
|
|
|
4185
4192
|
}));
|
|
4186
4193
|
;// CONCATENATED MODULE: ./src/ContextSubMenuWrapper.vue?vue&type=script&lang=ts
|
|
4187
4194
|
|
|
4188
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextSubMenuWrapper.vue?vue&type=style&index=0&id=
|
|
4195
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ContextSubMenuWrapper.vue?vue&type=style&index=0&id=46acb3c0&lang=css
|
|
4189
4196
|
// extracted by mini-css-extract-plugin
|
|
4190
4197
|
|
|
4191
|
-
;// CONCATENATED MODULE: ./src/ContextSubMenuWrapper.vue?vue&type=style&index=0&id=
|
|
4198
|
+
;// CONCATENATED MODULE: ./src/ContextSubMenuWrapper.vue?vue&type=style&index=0&id=46acb3c0&lang=css
|
|
4192
4199
|
|
|
4193
4200
|
;// CONCATENATED MODULE: ./src/ContextSubMenuWrapper.vue
|
|
4194
4201
|
|
|
@@ -4356,6 +4363,54 @@ function _typeof(obj) {
|
|
|
4356
4363
|
"default": 'iconfont'
|
|
4357
4364
|
},
|
|
4358
4365
|
|
|
4366
|
+
/**
|
|
4367
|
+
* Is this menu item checked?
|
|
4368
|
+
*
|
|
4369
|
+
* The check mark are displayed on the left side of the icon, so it is not recommended to display the icon at the same time.
|
|
4370
|
+
*/
|
|
4371
|
+
checked: {
|
|
4372
|
+
type: Boolean,
|
|
4373
|
+
"default": false
|
|
4374
|
+
},
|
|
4375
|
+
|
|
4376
|
+
/**
|
|
4377
|
+
* Shortcut key text display on the right.
|
|
4378
|
+
*
|
|
4379
|
+
* The shortcut keys here are only for display. You need to handle the key events by yourself.
|
|
4380
|
+
*/
|
|
4381
|
+
shortcut: {
|
|
4382
|
+
type: String,
|
|
4383
|
+
"default": ''
|
|
4384
|
+
},
|
|
4385
|
+
|
|
4386
|
+
/**
|
|
4387
|
+
* Display icons use svg symbol (`<use xlink:href="#icon-symbol-name">`) , only valid when icon attribute is empty.
|
|
4388
|
+
*/
|
|
4389
|
+
svgIcon: {
|
|
4390
|
+
type: String,
|
|
4391
|
+
"default": ''
|
|
4392
|
+
},
|
|
4393
|
+
|
|
4394
|
+
/**
|
|
4395
|
+
* The user-defined attribute of the svg tag, which is valid when using `svgIcon`.
|
|
4396
|
+
*/
|
|
4397
|
+
svgProps: {
|
|
4398
|
+
type: Object,
|
|
4399
|
+
"default": null
|
|
4400
|
+
},
|
|
4401
|
+
|
|
4402
|
+
/**
|
|
4403
|
+
* Should a fixed-width icon area be reserved for menu items without icon. (this item)
|
|
4404
|
+
*
|
|
4405
|
+
* Default is true .
|
|
4406
|
+
*
|
|
4407
|
+
* The width of icon area can be override with css var `--mx-menu-placeholder-width`.
|
|
4408
|
+
*/
|
|
4409
|
+
preserveIconWidth: {
|
|
4410
|
+
type: Boolean,
|
|
4411
|
+
"default": true
|
|
4412
|
+
},
|
|
4413
|
+
|
|
4359
4414
|
/**
|
|
4360
4415
|
* Show right arrow on this menu?
|
|
4361
4416
|
*/
|