vxe-pc-ui 4.11.32 → 4.11.34
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/button/src/button-group.js +11 -5
- package/es/button/src/button.js +12 -4
- package/es/context-menu/src/context-menu.js +218 -3
- package/es/context-menu/style.css +1 -1
- package/es/context-menu/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-context-menu/style.css +1 -1
- package/es/vxe-context-menu/style.min.css +1 -1
- package/lib/button/src/button-group.js +12 -7
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +11 -4
- package/lib/button/src/button.min.js +1 -1
- package/lib/context-menu/src/context-menu.js +219 -2
- package/lib/context-menu/src/context-menu.min.js +1 -1
- package/lib/context-menu/style/style.css +1 -1
- package/lib/context-menu/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +248 -15
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +4 -0
- package/lib/tree/src/tree.min.js +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/vxe-context-menu/style/style.css +1 -1
- package/lib/vxe-context-menu/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/button/src/button-group.ts +14 -6
- package/packages/button/src/button.ts +13 -4
- package/packages/context-menu/src/context-menu.ts +216 -4
- package/packages/tree/src/tree.ts +1 -0
- package/styles/components/context-menu.scss +1 -1
- package/types/components/button-group.d.ts +9 -1
- package/types/components/button.d.ts +9 -1
- /package/es/icon/{iconfont.1767614230277.ttf → iconfont.1767662202838.ttf} +0 -0
- /package/es/icon/{iconfont.1767614230277.woff → iconfont.1767662202838.woff} +0 -0
- /package/es/icon/{iconfont.1767614230277.woff2 → iconfont.1767662202838.woff2} +0 -0
- /package/es/{iconfont.1767614230277.ttf → iconfont.1767662202838.ttf} +0 -0
- /package/es/{iconfont.1767614230277.woff → iconfont.1767662202838.woff} +0 -0
- /package/es/{iconfont.1767614230277.woff2 → iconfont.1767662202838.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1767614230277.ttf → iconfont.1767662202838.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1767614230277.woff → iconfont.1767662202838.woff} +0 -0
- /package/lib/icon/style/{iconfont.1767614230277.woff2 → iconfont.1767662202838.woff2} +0 -0
- /package/lib/{iconfont.1767614230277.ttf → iconfont.1767662202838.ttf} +0 -0
- /package/lib/{iconfont.1767614230277.woff → iconfont.1767662202838.woff} +0 -0
- /package/lib/{iconfont.1767614230277.woff2 → iconfont.1767662202838.woff2} +0 -0
package/es/tree/src/tree.js
CHANGED
|
@@ -1073,6 +1073,7 @@ export default defineVxeComponent({
|
|
|
1073
1073
|
if (!lazy || !treeExpandLazyLoadedMaps[nodeid]) {
|
|
1074
1074
|
handleBaseTreeExpand([node], expanded);
|
|
1075
1075
|
}
|
|
1076
|
+
dispatchEvent('node-expand', { node, expanded }, evnt);
|
|
1076
1077
|
};
|
|
1077
1078
|
const updateCheckboxStatus = () => {
|
|
1078
1079
|
const { transform } = props;
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.11.
|
|
4
|
+
export const version = "4.11.34";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
package/es/ui/src/log.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--
|
|
1
|
+
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--subactive .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -28,7 +28,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
28
28
|
default: () => (0, _ui.getConfig)().buttonGroup.size || (0, _ui.getConfig)().size
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
-
emits: ['click'],
|
|
31
|
+
emits: ['click', 'contextmenu'],
|
|
32
32
|
setup(props, context) {
|
|
33
33
|
const {
|
|
34
34
|
slots,
|
|
@@ -48,12 +48,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
48
48
|
const {
|
|
49
49
|
computePermissionInfo
|
|
50
50
|
} = (0, _ui.usePermission)(props);
|
|
51
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
52
|
+
emit(type, (0, _ui.createEvent)(evnt, {
|
|
53
|
+
$buttonGroup: $xeButtonGroup
|
|
54
|
+
}, params));
|
|
55
|
+
};
|
|
51
56
|
const buttonGroupMethods = {
|
|
52
|
-
dispatchEvent
|
|
53
|
-
emit(type, (0, _ui.createEvent)(evnt, {
|
|
54
|
-
$buttonGroup: $xeButtonGroup
|
|
55
|
-
}, params));
|
|
56
|
-
}
|
|
57
|
+
dispatchEvent
|
|
57
58
|
};
|
|
58
59
|
const buttonGroupPrivateMethods = {
|
|
59
60
|
handleClick(params, evnt) {
|
|
@@ -69,6 +70,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
69
70
|
}), evnt);
|
|
70
71
|
}
|
|
71
72
|
};
|
|
73
|
+
const contextmenuEvent = evnt => {
|
|
74
|
+
dispatchEvent('contextmenu', {}, evnt);
|
|
75
|
+
};
|
|
72
76
|
Object.assign($xeButtonGroup, buttonGroupMethods, buttonGroupPrivateMethods);
|
|
73
77
|
const renderVN = () => {
|
|
74
78
|
const {
|
|
@@ -86,7 +90,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
86
90
|
$buttonGroup: $xeButtonGroup
|
|
87
91
|
}) : className : '', {
|
|
88
92
|
'is--vertical': vertical
|
|
89
|
-
}]
|
|
93
|
+
}],
|
|
94
|
+
onContextmenu: contextmenuEvent
|
|
90
95
|
}, defaultSlot ? defaultSlot({}) : options ? options.map((item, index) => {
|
|
91
96
|
return (0, _vue.h)(_button.default, Object.assign({
|
|
92
97
|
key: index
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,vertical:Boolean,circle:Boolean,align:String,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_ui.getConfig)().buttonGroup.size||(0,_ui.getConfig)().size}},emits:["click"],setup(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,vertical:Boolean,circle:Boolean,align:String,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_ui.getConfig)().buttonGroup.size||(0,_ui.getConfig)().size}},emits:["click","contextmenu"],setup(r,e){const{slots:o,emit:n}=e;var t=_xeUtils.default.uniqueId(),i=(0,_vue.reactive)({});const u={},s={xID:t,props:r,context:e,reactData:i,getComputeMaps:()=>u},a=((0,_ui.useSize)(r),(0,_ui.usePermission)(r))["computePermissionInfo"],l=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$buttonGroup:s},t))},c={dispatchEvent:l},p=e=>{l("contextmenu",{},e)};Object.assign(s,c,{handleClick(e,t){var i=r["options"];const n=e["name"];i=i?i.find(e=>e.name===n):null;c.dispatchEvent("click",Object.assign(Object.assign({},e),{option:i}),t)}});return s.renderVN=()=>{var{className:e,options:t,vertical:i}=r,n=a.value,u=o.default;return n.visible?(0,_vue.h)("div",{class:["vxe-button-group",e?_xeUtils.default.isFunction(e)?e({$buttonGroup:s}):e:"",{"is--vertical":i}],onContextmenu:p},u?u({}):t?t.map((e,t)=>(0,_vue.h)(_button.default,Object.assign({key:t},e))):[]):(0,_ui.renderEmptyElement)(s)},(0,_vue.provide)("$xeButtonGroup",s),s},render(){return this.renderVN()}});
|
package/lib/button/src/button.js
CHANGED
|
@@ -115,7 +115,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
115
115
|
default: null
|
|
116
116
|
}
|
|
117
117
|
},
|
|
118
|
-
emits: ['click', 'mouseenter', 'mouseleave', 'dropdown-click', 'dropdownClick'],
|
|
118
|
+
emits: ['click', 'mouseenter', 'mouseleave', 'dropdown-click', 'dropdownClick', 'contextmenu'],
|
|
119
119
|
setup(props, context) {
|
|
120
120
|
const {
|
|
121
121
|
slots,
|
|
@@ -393,6 +393,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
393
393
|
const mouseleaveEvent = evnt => {
|
|
394
394
|
dispatchEvent('mouseleave', {}, evnt);
|
|
395
395
|
};
|
|
396
|
+
const contextmenuEvent = evnt => {
|
|
397
|
+
dispatchEvent('contextmenu', {}, evnt);
|
|
398
|
+
};
|
|
396
399
|
const clickTargetEvent = evnt => {
|
|
397
400
|
const {
|
|
398
401
|
loading,
|
|
@@ -629,7 +632,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
629
632
|
return (0, _ui.renderEmptyElement)($xeButton);
|
|
630
633
|
}
|
|
631
634
|
if (dropdownsSlot || downBtnList.length) {
|
|
632
|
-
const btnOns = {
|
|
635
|
+
const btnOns = {
|
|
636
|
+
onContextmenu: contextmenuEvent
|
|
637
|
+
};
|
|
633
638
|
const panelOns = {};
|
|
634
639
|
if (trigger === 'hover') {
|
|
635
640
|
// hover 触发
|
|
@@ -754,7 +759,8 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
754
759
|
to: routerLink,
|
|
755
760
|
onClick: clickEvent,
|
|
756
761
|
onMouseenter: mouseenterEvent,
|
|
757
|
-
onMouseleave: mouseleaveEvent
|
|
762
|
+
onMouseleave: mouseleaveEvent,
|
|
763
|
+
onContextmenu: contextmenuEvent
|
|
758
764
|
}, {
|
|
759
765
|
default() {
|
|
760
766
|
return renderContent();
|
|
@@ -779,7 +785,8 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
779
785
|
disabled: btnDisabled || loading,
|
|
780
786
|
onClick: clickEvent,
|
|
781
787
|
onMouseenter: mouseenterEvent,
|
|
782
|
-
onMouseleave: mouseleaveEvent
|
|
788
|
+
onMouseleave: mouseleaveEvent,
|
|
789
|
+
onContextmenu: contextmenuEvent
|
|
783
790
|
}, renderContent());
|
|
784
791
|
};
|
|
785
792
|
$xeButton.renderVN = renderVN;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),l=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const N=(0,_ui.useSize)(O)["computeSize"],P=(0,_ui.usePermission)(O)["computePermissionInfo"],S=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},B=(0,_vue.ref)(),j=(0,_vue.ref)(),z=(0,_vue.ref)(),c={refElem:B},$={xID:t,props:O,context:e,reactData:S,internalData:r,getRefMaps:()=>c};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||l)return!0}return e}),E=(0,_vue.computed)(()=>{var e=O["disabled"],t=P.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),U=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||a&&"text"===a.props.mode?"text":"button"}),D=(0,_vue.computed)(()=>{var e=O["status"];return e||(a?a.props.status:"")}),W=(0,_vue.computed)(()=>{var e=O["align"];return e||!!a&&a.props.align}),Z=(0,_vue.computed)(()=>{var e=O["round"];return e||!!a&&a.props.round}),J=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!a&&a.props.circle}),K=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),p=()=>{var e=O["zIndex"];e?S.panelIndex=e:S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=S["panelIndex"],o=j.value,u=z.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});S.panelStyle=t,S.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{a&&a.handleClick({name:O.name},e),H("click",{$event:e},e)},Q=e=>{0===e.button&&e.stopPropagation()},X=e=>{var t=e.currentTarget;const n=z.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),S.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(S.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{const e=z.value;e&&(e.dataset.active="Y",S.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(S.visiblePanel=!0,p(),v(),setTimeout(()=>{S.visiblePanel&&v()},50))},20))},ee=e=>{var t=O["loading"];E.value||t||(d(),R(e))},te=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;E.value||t||("click"===n&&(S.visiblePanel?Y:d)(),q(e))},d=()=>{var e=O["trigger"];const t=z.value;return t&&(t.dataset.active="Y",S.initialized||(S.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():S.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=z.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(S.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(S.isAniVisible=!1)},350))},100)):(S.isAniVisible=!1,S.visiblePanel=!1),(0,_vue.nextTick)()},ne=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=_.value,r=b.value,c=I.prefix||I.icon,v=I.suffix,d=I.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:$})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:$})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:$},t))},x=(t={dispatchEvent:H,openPanel:d,closePanel:Y,focus(){var e=j.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=j.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;S.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),f=e=>{var t,n=E.value,i=S["visiblePanel"];n||(n=B.value,t=z.value,S.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!S.isActivated&&Y())},g=()=>{var e=S["visiblePanel"];e&&v()};Object.assign($,t);return $.renderVN=()=>{const{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a,showDropdownIcon:r}=O;var{initialized:c,isAniVisible:v,visiblePanel:d}=S,p=M.value;const m=U.value;var _=D.value;const b=Z.value;var x=W.value;const f=J.value;var g,h=V.value,T=E.value,y=P.value,C=K.value,w=N.value,k=I.dropdowns;return y.visible?k||C.length?(y={},g={},"hover"===n&&(y.onMouseenter=ee,y.onMouseleave=te,g.onMouseenter=A,g.onMouseleave=ne),(0,_vue.h)("div",{ref:B,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,"is--active":d}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:L},y),{default(){return G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:L},y),G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!c},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:$}):t:"",{["size--"+w]:w,"is--transfer":h,"ani--leave":v,"ani--enter":d}],placement:S.panelPlacement,style:S.panelStyle},g),c&&(d||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:Q,onClick:X},c&&(!s||d||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},c&&(!s||d||v)?C.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||m,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==m&&f,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:q,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:q,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)($)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on($,"mousewheel",x),_ui.globalEvents.on($,"mousedown",f),_ui.globalEvents.on($,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off($,"mousewheel"),_ui.globalEvents.off($,"mousedown"),_ui.globalEvents.off($,"resize")}),$},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(O,e){const{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),l=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const N=(0,_ui.useSize)(O)["computeSize"],P=(0,_ui.usePermission)(O)["computePermissionInfo"],S=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},B=(0,_vue.ref)(),j=(0,_vue.ref)(),z=(0,_vue.ref)(),c={refElem:B},$={xID:t,props:O,context:e,reactData:S,internalData:r,getRefMaps:()=>c};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||l)return!0}return e}),E=(0,_vue.computed)(()=>{var e=O["disabled"],t=P.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),U=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||a&&"text"===a.props.mode?"text":"button"}),W=(0,_vue.computed)(()=>{var e=O["status"];return e||(a?a.props.status:"")}),Z=(0,_vue.computed)(()=>{var e=O["align"];return e||!!a&&a.props.align}),J=(0,_vue.computed)(()=>{var e=O["round"];return e||!!a&&a.props.round}),K=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!a&&a.props.circle}),Q=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),p=()=>{var e=O["zIndex"];e?S.panelIndex=e:S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=S["panelIndex"],o=j.value,u=z.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});S.panelStyle=t,S.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},D=e=>{a&&a.handleClick({name:O.name},e),H("click",{$event:e},e)},X=e=>{0===e.button&&e.stopPropagation()},ee=e=>{var t=e.currentTarget;const n=z.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),S.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(S.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},q=()=>{const e=z.value;e&&(e.dataset.active="Y",S.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(S.visiblePanel=!0,p(),v(),setTimeout(()=>{S.visiblePanel&&v()},50))},20))},te=e=>{var t=O["loading"];E.value||t||(d(),A(e))},ne=e=>{Y(),R(e)},A=e=>{H("mouseenter",{},e)},R=e=>{H("mouseleave",{},e)},F=e=>{H("contextmenu",{},e)},L=e=>{var{loading:t,trigger:n}=O;E.value||t||("click"===n&&(S.visiblePanel?Y:d)(),D(e))},d=()=>{var e=O["trigger"];const t=z.value;return t&&(t.dataset.active="Y",S.initialized||(S.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?q():S.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=z.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(S.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(S.isAniVisible=!1)},350))},100)):(S.isAniVisible=!1,S.visiblePanel=!1),(0,_vue.nextTick)()},ie=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=_.value,r=b.value,c=I.prefix||I.icon,v=I.suffix,d=I.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:$})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:$})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:$},t))},x=(t={dispatchEvent:H,openPanel:d,closePanel:Y,focus(){var e=j.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=j.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;S.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),f=e=>{var t,n=E.value,i=S["visiblePanel"];n||(n=B.value,t=z.value,S.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!S.isActivated&&Y())},g=()=>{var e=S["visiblePanel"];e&&v()};Object.assign($,t);return $.renderVN=()=>{const{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a,showDropdownIcon:r}=O;var{initialized:c,isAniVisible:v,visiblePanel:d}=S,p=M.value;const m=U.value;var _=W.value;const b=J.value;var x=Z.value;const f=K.value;var g,h=V.value,T=E.value,C=P.value,y=Q.value,w=N.value,k=I.dropdowns;return C.visible?k||y.length?(C={onContextmenu:F},g={},"hover"===n&&(C.onMouseenter=te,C.onMouseleave=ne,g.onMouseenter=q,g.onMouseleave=ie),(0,_vue.h)("div",{ref:B,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,"is--active":d}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:L},C),{default(){return G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:L},C),G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!c},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:$}):t:"",{["size--"+w]:w,"is--transfer":h,"ani--leave":v,"ani--enter":d}],placement:S.panelPlacement,style:S.panelStyle},g),c&&(d||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:X,onClick:ee},c&&(!s||d||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},c&&(!s||d||v)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||m,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==m&&f,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:D,onMouseenter:A,onMouseleave:R,onContextmenu:F},{default(){return G()}}):(0,_vue.h)("button",{ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:D,onMouseenter:A,onMouseleave:R,onContextmenu:F},G()):(0,_ui.renderEmptyElement)($)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on($,"mousewheel",x),_ui.globalEvents.on($,"mousedown",f),_ui.globalEvents.on($,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off($,"mousewheel"),_ui.globalEvents.off($,"mousedown"),_ui.globalEvents.off($,"resize")}),$},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
@@ -75,6 +75,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
75
75
|
} = props;
|
|
76
76
|
return options || [];
|
|
77
77
|
});
|
|
78
|
+
const computeAllFirstMenuList = (0, _vue.computed)(() => {
|
|
79
|
+
const menuGroups = computeMenuGroups.value;
|
|
80
|
+
const firstList = [];
|
|
81
|
+
for (let i = 0; i < menuGroups.length; i++) {
|
|
82
|
+
const list = menuGroups[i];
|
|
83
|
+
for (let j = 0; j < list.length; j++) {
|
|
84
|
+
const firstItem = list[j];
|
|
85
|
+
if (hasValidItem(firstItem)) {
|
|
86
|
+
firstList.push(firstItem);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return firstList;
|
|
91
|
+
});
|
|
78
92
|
const computeTopAndLeft = (0, _vue.computed)(() => {
|
|
79
93
|
const {
|
|
80
94
|
x,
|
|
@@ -204,12 +218,199 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
204
218
|
};
|
|
205
219
|
const handleItemMouseenterEvent = (evnt, item, parentitem) => {
|
|
206
220
|
reactData.activeOption = parentitem || item;
|
|
207
|
-
|
|
221
|
+
if (parentitem) {
|
|
222
|
+
reactData.activeOption = parentitem;
|
|
223
|
+
reactData.activeChildOption = item;
|
|
224
|
+
} else {
|
|
225
|
+
reactData.activeOption = item;
|
|
226
|
+
if (hasChildMenu(item)) {
|
|
227
|
+
reactData.activeChildOption = findFirstChildItem(item);
|
|
228
|
+
} else {
|
|
229
|
+
reactData.activeChildOption = null;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
208
232
|
};
|
|
209
233
|
const handleItemMouseleaveEvent = () => {
|
|
210
234
|
reactData.activeOption = null;
|
|
211
235
|
reactData.activeChildOption = null;
|
|
212
236
|
};
|
|
237
|
+
const hasValidItem = item => {
|
|
238
|
+
return !item.loading && !item.disabled && item.visible !== false;
|
|
239
|
+
};
|
|
240
|
+
const findNextFirstItem = (allFirstList, firstItem) => {
|
|
241
|
+
for (let i = 0; i < allFirstList.length; i++) {
|
|
242
|
+
const item = allFirstList[i];
|
|
243
|
+
if (firstItem === item) {
|
|
244
|
+
const nextItem = allFirstList[i + 1];
|
|
245
|
+
if (nextItem) {
|
|
246
|
+
return nextItem;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return _xeUtils.default.first(allFirstList);
|
|
251
|
+
};
|
|
252
|
+
const findPrevFirstItem = (allFirstList, firstItem) => {
|
|
253
|
+
for (let i = 0; i < allFirstList.length; i++) {
|
|
254
|
+
const item = allFirstList[i];
|
|
255
|
+
if (firstItem === item) {
|
|
256
|
+
if (i > 0) {
|
|
257
|
+
return allFirstList[i - 1];
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return _xeUtils.default.last(allFirstList);
|
|
262
|
+
};
|
|
263
|
+
const findFirstChildItem = firstItem => {
|
|
264
|
+
const {
|
|
265
|
+
children
|
|
266
|
+
} = firstItem;
|
|
267
|
+
if (children) {
|
|
268
|
+
for (let i = 0; i < children.length; i++) {
|
|
269
|
+
const item = children[i];
|
|
270
|
+
if (hasValidItem(item)) {
|
|
271
|
+
return item;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return null;
|
|
276
|
+
};
|
|
277
|
+
const findPrevChildItem = (firstItem, childItem) => {
|
|
278
|
+
const {
|
|
279
|
+
children
|
|
280
|
+
} = firstItem;
|
|
281
|
+
let prevValidItem = null;
|
|
282
|
+
if (children) {
|
|
283
|
+
for (let i = 0; i < children.length; i++) {
|
|
284
|
+
const item = children[i];
|
|
285
|
+
if (childItem === item) {
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
if (hasValidItem(item)) {
|
|
289
|
+
prevValidItem = item;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
if (!prevValidItem) {
|
|
293
|
+
for (let len = children.length - 1; len >= 0; len--) {
|
|
294
|
+
const item = children[len];
|
|
295
|
+
if (hasValidItem(item)) {
|
|
296
|
+
return item;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return prevValidItem;
|
|
302
|
+
};
|
|
303
|
+
const findNextChildItem = (firstItem, childItem) => {
|
|
304
|
+
const {
|
|
305
|
+
children
|
|
306
|
+
} = firstItem;
|
|
307
|
+
let firstValidItem = null;
|
|
308
|
+
if (children) {
|
|
309
|
+
let isMetch = false;
|
|
310
|
+
for (let i = 0; i < children.length; i++) {
|
|
311
|
+
const item = children[i];
|
|
312
|
+
if (!firstValidItem) {
|
|
313
|
+
if (hasValidItem(item)) {
|
|
314
|
+
firstValidItem = item;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
if (isMetch) {
|
|
318
|
+
if (hasValidItem(item)) {
|
|
319
|
+
return item;
|
|
320
|
+
}
|
|
321
|
+
} else {
|
|
322
|
+
isMetch = childItem === item;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return firstValidItem;
|
|
327
|
+
};
|
|
328
|
+
const handleGlobalMousewheelEvent = evnt => {
|
|
329
|
+
const {
|
|
330
|
+
visible
|
|
331
|
+
} = reactData;
|
|
332
|
+
if (visible) {
|
|
333
|
+
const el = refElem.value;
|
|
334
|
+
if (!(0, _dom.getEventTargetNode)(evnt, el, '').flag) {
|
|
335
|
+
close();
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
const handleGlobalKeydownEvent = evnt => {
|
|
340
|
+
const {
|
|
341
|
+
visible,
|
|
342
|
+
childPos,
|
|
343
|
+
activeOption,
|
|
344
|
+
activeChildOption
|
|
345
|
+
} = reactData;
|
|
346
|
+
const allFirstMenuList = computeAllFirstMenuList.value;
|
|
347
|
+
if (visible) {
|
|
348
|
+
const isLeftArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_LEFT);
|
|
349
|
+
const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
350
|
+
const isRightArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT);
|
|
351
|
+
const isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
352
|
+
const isEnter = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ENTER);
|
|
353
|
+
// 回车选中
|
|
354
|
+
if (isEnter) {
|
|
355
|
+
if (activeOption || activeChildOption) {
|
|
356
|
+
evnt.preventDefault();
|
|
357
|
+
evnt.stopPropagation();
|
|
358
|
+
if (!activeChildOption && hasChildMenu(activeOption)) {
|
|
359
|
+
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
handleItemClickEvent(evnt, activeChildOption || activeOption);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
// 方向键操作
|
|
367
|
+
if (activeChildOption) {
|
|
368
|
+
if (isUpArrow) {
|
|
369
|
+
evnt.preventDefault();
|
|
370
|
+
reactData.activeChildOption = findPrevChildItem(activeOption, activeChildOption);
|
|
371
|
+
} else if (isDwArrow) {
|
|
372
|
+
evnt.preventDefault();
|
|
373
|
+
reactData.activeChildOption = findNextChildItem(activeOption, activeChildOption);
|
|
374
|
+
} else if (isLeftArrow) {
|
|
375
|
+
evnt.preventDefault();
|
|
376
|
+
if (childPos === 'left') {
|
|
377
|
+
// 无操作
|
|
378
|
+
} else {
|
|
379
|
+
reactData.activeChildOption = null;
|
|
380
|
+
}
|
|
381
|
+
} else if (isRightArrow) {
|
|
382
|
+
evnt.preventDefault();
|
|
383
|
+
if (childPos === 'left') {
|
|
384
|
+
reactData.activeChildOption = null;
|
|
385
|
+
} else {
|
|
386
|
+
// 无操作
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
} else if (activeOption) {
|
|
390
|
+
evnt.preventDefault();
|
|
391
|
+
if (isUpArrow) {
|
|
392
|
+
reactData.activeOption = findPrevFirstItem(allFirstMenuList, activeOption);
|
|
393
|
+
} else if (isDwArrow) {
|
|
394
|
+
reactData.activeOption = findNextFirstItem(allFirstMenuList, activeOption);
|
|
395
|
+
} else {
|
|
396
|
+
if (hasChildMenu(activeOption)) {
|
|
397
|
+
if (childPos === 'left') {
|
|
398
|
+
if (isLeftArrow) {
|
|
399
|
+
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
400
|
+
}
|
|
401
|
+
} else {
|
|
402
|
+
if (isRightArrow) {
|
|
403
|
+
reactData.activeChildOption = findFirstChildItem(activeOption);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
} else {
|
|
409
|
+
evnt.preventDefault();
|
|
410
|
+
reactData.activeOption = _xeUtils.default.first(allFirstMenuList);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
};
|
|
213
414
|
const handleGlobalMousedownEvent = evnt => {
|
|
214
415
|
const {
|
|
215
416
|
visible
|
|
@@ -221,6 +422,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
221
422
|
}
|
|
222
423
|
}
|
|
223
424
|
};
|
|
425
|
+
const handleGlobalBlurEvent = () => {
|
|
426
|
+
const {
|
|
427
|
+
visible
|
|
428
|
+
} = reactData;
|
|
429
|
+
if (visible) {
|
|
430
|
+
close();
|
|
431
|
+
}
|
|
432
|
+
};
|
|
224
433
|
const tagPrivateMethods = {};
|
|
225
434
|
Object.assign($xeContextMenu, tagMethods, tagPrivateMethods);
|
|
226
435
|
const renderMenuItem = (item, parentItem, hasChildMenus) => {
|
|
@@ -295,10 +504,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
295
504
|
children
|
|
296
505
|
} = firstItem;
|
|
297
506
|
const hasChildMenus = children && children.some(child => child.visible !== false);
|
|
507
|
+
const isActiveFirst = activeOption === firstItem;
|
|
298
508
|
moVNs.push((0, _vue.h)('div', {
|
|
299
509
|
key: `${gIndex}_${i}`,
|
|
300
510
|
class: ['vxe-context-menu--item-wrapper vxe-context-menu--first-item', firstItem.className || '', {
|
|
301
|
-
'is--active':
|
|
511
|
+
'is--active': isActiveFirst,
|
|
512
|
+
'is--subactive': isActiveFirst && !!activeChildOption
|
|
302
513
|
}]
|
|
303
514
|
}, [hasChildMenus ? (0, _vue.h)('div', {
|
|
304
515
|
class: 'vxe-context-menu--children-wrapper'
|
|
@@ -346,10 +557,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
346
557
|
});
|
|
347
558
|
handleVisible();
|
|
348
559
|
(0, _vue.onMounted)(() => {
|
|
560
|
+
_ui.globalEvents.on($xeContextMenu, 'mousewheel', handleGlobalMousewheelEvent);
|
|
561
|
+
_ui.globalEvents.on($xeContextMenu, 'keydown', handleGlobalKeydownEvent);
|
|
349
562
|
_ui.globalEvents.on($xeContextMenu, 'mousedown', handleGlobalMousedownEvent);
|
|
563
|
+
_ui.globalEvents.on($xeContextMenu, 'blur', handleGlobalBlurEvent);
|
|
350
564
|
});
|
|
351
565
|
(0, _vue.onBeforeUnmount)(() => {
|
|
566
|
+
_ui.globalEvents.off($xeContextMenu, 'mousewheel');
|
|
567
|
+
_ui.globalEvents.off($xeContextMenu, 'keydown');
|
|
352
568
|
_ui.globalEvents.off($xeContextMenu, 'mousedown');
|
|
569
|
+
_ui.globalEvents.off($xeContextMenu, 'blur');
|
|
353
570
|
_xeUtils.default.assign(reactData, createReactData());
|
|
354
571
|
_xeUtils.default.assign(internalData, createInternalData());
|
|
355
572
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{visible:!1,activeOption:null,activeChildOption:null,popupStyle:{top:"",left:"",zIndex:0},childPos:""}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeContextMenu",props:{modelValue:Boolean,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.size||(0,_ui.getConfig)().size},options:Array,x:[Number,String],y:[Number,String],zIndex:[Number,String],position:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.position},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.destroyOnClose},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.transfer}},emits:["update:modelValue","option-click","change","show","hide"],setup(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}function createReactData(){return{visible:!1,activeOption:null,activeChildOption:null,popupStyle:{top:"",left:"",zIndex:0},childPos:""}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeContextMenu",props:{modelValue:Boolean,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.size||(0,_ui.getConfig)().size},options:Array,x:[Number,String],y:[Number,String],zIndex:[Number,String],position:{type:String,default:()=>(0,_ui.getConfig)().contextMenu.position},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.destroyOnClose},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().contextMenu.transfer}},emits:["update:modelValue","option-click","change","show","hide"],setup(o,e){const n=e["emit"];var t=_xeUtils.default.uniqueId();const r=(0,_vue.ref)(),s=(0,_ui.useSize)(o)["computeSize"],i=createInternalData(),v=(0,_vue.reactive)(createReactData()),l={refElem:r},c=(0,_vue.computed)(()=>{var e=o["options"];return e||[]}),_=(0,_vue.computed)(()=>{var t=c.value,i=[];for(let e=0;e<t.length;e++){var n=t[e];for(let e=0;e<n.length;e++){var l=n[e];y(l)&&i.push(l)}}return i});var u=(0,_vue.computed)(()=>{var{x:e,y:t}=o;return""+e+t});const a={},d={xID:t,props:o,context:e,reactData:v,getRefMaps:()=>l,getComputeMaps:()=>a},p=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$contextMenu:d},t))},f=e=>{n("update:modelValue",e)},m=()=>{var e=o["modelValue"],t=v["visible"];v.visible=!0,x();{var{zIndex:i,transfer:n}=o,l=v.popupStyle,u=l.zIndex;i?l.zIndex=_xeUtils.default.toNumber(i):u<(0,_utils.getLastZIndex)()&&(l.zIndex=(n?(0,_utils.nextSubZIndex):(0,_utils.nextZIndex))())}return!0!==e&&(f(!0),p("change",{value:!0},null)),!0!==t&&p("show",{visible:!0},null),(0,_vue.nextTick)()},h=()=>{var e=o["modelValue"],t=v["visible"];return(v.visible=!1)!==e&&(f(!1),p("change",{value:!1},null)),!1!==t&&p("hide",{visible:!1},null),(0,_vue.nextTick)()},x=()=>{var{x:e,y:t}=o,i=v["popupStyle"];i.left=(0,_dom.toCssUnit)(e||0),i.top=(0,_dom.toCssUnit)(t||0)},g=()=>{var e=o["modelValue"];(e?m:h)()};t={dispatchEvent:p,open:m,close:h};const E=e=>{e=e.children;return e&&e.some(e=>!1!==e.visible)},b=(e,t)=>{E(t)||(p("option-click",{option:t},e),h())},O=()=>{v.activeOption=null,v.activeChildOption=null},y=e=>!e.loading&&!e.disabled&&!1!==e.visible,C=e=>{var t=e["children"];if(t)for(let e=0;e<t.length;e++){var i=t[e];if(y(i))return i}return null},N=e=>{var t=v["visible"];t&&(t=r.value,(0,_dom.getEventTargetNode)(e,t,"").flag||h())},I=e=>{var{visible:t,childPos:i,activeOption:n,activeChildOption:l}=v,u=_.value;if(t){var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_LEFT),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER);if(s&&(n||l))return e.preventDefault(),e.stopPropagation(),!l&&E(n)?void(v.activeChildOption=C(n)):void b(e,l||n);l?a?(e.preventDefault(),v.activeChildOption=((e,t)=>{var i=e["children"];let n=null;if(i){for(let e=0;e<i.length;e++){var l=i[e];if(t===l)break;y(l)&&(n=l)}if(!n)for(let e=i.length-1;0<=e;e--){var u=i[e];if(y(u))return u}}return n})(n,l)):r?(e.preventDefault(),v.activeChildOption=((e,i)=>{var n=e["children"];let l=null;if(n){let t=!1;for(let e=0;e<n.length;e++){var u=n[e];if(l||y(u)&&(l=u),t){if(y(u))return u}else t=i===u}}return l})(n,l)):t?(e.preventDefault(),"left"!==i&&(v.activeChildOption=null)):o&&(e.preventDefault(),"left"===i)&&(v.activeChildOption=null):n?(e.preventDefault(),a?v.activeOption=((t,i)=>{for(let e=0;e<t.length;e++){var n=t[e];if(i===n&&0<e)return t[e-1]}return _xeUtils.default.last(t)})(u,n):r?v.activeOption=((t,i)=>{for(let e=0;e<t.length;e++)if(i===t[e]){var n=t[e+1];if(n)return n}return _xeUtils.default.first(t)})(u,n):E(n)&&("left"===i?t&&(v.activeChildOption=C(n)):o&&(v.activeChildOption=C(n)))):(e.preventDefault(),v.activeOption=_xeUtils.default.first(u))}},D=e=>{var t=v["visible"];t&&(t=r.value,(0,_dom.getEventTargetNode)(e,t,"").flag||h())},S=()=>{var e=v["visible"];e&&h()};Object.assign(d,t,{});const T=(n,l,e)=>{var t,i,u,a,{visible:o,disabled:r,loading:s}=n;return!1===o?(0,_ui.renderEmptyElement)(d):(t=(o=Object.assign({},n.prefixConfig)).icon||n.prefixIcon,u=(i=Object.assign({},n.suffixConfig)).icon||n.suffixIcon,a=s?(0,_ui.getI18n)("vxe.contextMenu.loadingText"):(0,_utils.getFuncText)(n.name),(0,_vue.h)("div",{class:["vxe-context-menu--item-inner",{"is--disabled":r,"is--loading":s}],onClick(e){b(e,n)},onMouseenter(e){var t,i;t=n,i=l,v.activeOption=i||t,i?(v.activeOption=i,v.activeChildOption=t):(v.activeOption=t,E(t)?v.activeChildOption=C(t):v.activeChildOption=null)},onMouseleave:O},[(0,_vue.h)("div",{class:["vxe-context-menu--item-prefix",o.className||""]},s?[(0,_vue.h)("span",{key:"1"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().CONTEXT_MENU_OPTION_LOADING})])]:[t&&_xeUtils.default.isFunction(t)?(0,_vue.h)("span",{key:"2"},(0,_vn.getSlotVNs)(t({}))):(0,_vue.h)("span",{key:"3"},[(0,_vue.h)("i",{class:t})]),o.content?(0,_vue.h)("span",{key:"4"},""+(o.content||"")):(0,_ui.renderEmptyElement)(d)]),(0,_vue.h)("div",{class:"vxe-context-menu--item-label"},a),s||!u&&!i.content?(0,_ui.renderEmptyElement)(d):(0,_vue.h)("div",{class:["vxe-context-menu--item-suffix",i.className||""]},[u&&_xeUtils.default.isFunction(u)?(0,_vue.h)("span",{key:"2"},(0,_vn.getSlotVNs)(u({}))):(0,_vue.h)("span",{key:"3"},[(0,_vue.h)("i",{class:u})]),i.content?(0,_vue.h)("span",{key:"4"},""+(i.content||"")):(0,_ui.renderEmptyElement)(d)]),e?(0,_vue.h)("div",{class:"vxe-context-menu--item-subicon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().CONTEXT_MENU_CHILDREN})]):(0,_ui.renderEmptyElement)(d)]))};return(0,_vue.watch)(u,()=>{x()}),(0,_vue.watch)(()=>o.modelValue,()=>{g()}),g(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(d,"mousewheel",N),_ui.globalEvents.on(d,"keydown",I),_ui.globalEvents.on(d,"mousedown",D),_ui.globalEvents.on(d,"blur",S)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(d,"mousewheel"),_ui.globalEvents.off(d,"keydown"),_ui.globalEvents.off(d,"mousedown"),_ui.globalEvents.off(d,"blur"),_xeUtils.default.assign(v,createReactData()),_xeUtils.default.assign(i,createInternalData())}),d.renderVN=()=>{var{className:e,position:t,destroyOnClose:i}=o,{visible:n,popupStyle:l,childPos:u}=v,a=s.value;return(0,_vue.h)("div",{ref:r,class:["vxe-context-menu vxe-context-menu--wrapper","absolute"===t?"is--"+t:"is--fixed","cp--"+("left"===u?u:"right"),e||"",{["size--"+a]:a,"is--visible":n}],style:l},!i||n?(()=>{const{activeOption:o,activeChildOption:r}=v;var e=c.value;const t=[];return e.forEach((e,u)=>{const a=[];e.forEach((t,e)=>{var i=t["children"],n=i&&i.some(e=>!1!==e.visible),l=o===t;a.push((0,_vue.h)("div",{key:u+"_"+e,class:["vxe-context-menu--item-wrapper vxe-context-menu--first-item",t.className||"",{"is--active":l,"is--subactive":l&&!!r}]},[n?(0,_vue.h)("div",{class:"vxe-context-menu--children-wrapper"},i.map(e=>(0,_vue.h)("div",{class:["vxe-context-menu--item-wrapper vxe-context-menu--child-item",e.className||"",{"is--active":r===e}]},[T(e,t)]))):(0,_ui.renderEmptyElement)(d),T(t,null,n)]))}),t.push((0,_vue.h)("div",{key:u,class:"vxe-context-menu--group-wrapper"},a))}),t})():[])},d},render(){return this.renderVN()}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--
|
|
1
|
+
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--subactive .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|