vxe-pc-ui 4.16.6 → 4.16.8
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/dist/all.esm.js +236 -132
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/cascader/src/cascader.js +66 -26
- package/es/cascader/style.css +9 -9
- package/es/cascader/style.min.css +1 -1
- package/es/date-range-picker/src/date-range-picker.js +25 -9
- package/es/icon/style.css +1 -1
- package/es/menu/src/menu.js +65 -17
- package/es/menu/style.css +15 -8
- package/es/menu/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-cascader/style.css +9 -9
- package/es/vxe-cascader/style.min.css +1 -1
- package/es/vxe-menu/style.css +15 -8
- package/es/vxe-menu/style.min.css +1 -1
- package/lib/cascader/src/cascader.js +73 -27
- package/lib/cascader/src/cascader.min.js +1 -1
- package/lib/cascader/style/style.css +9 -9
- package/lib/cascader/style/style.min.css +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +27 -9
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +171 -53
- package/lib/index.umd.min.js +1 -1
- package/lib/menu/src/menu.js +66 -13
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/menu/style/style.css +15 -8
- package/lib/menu/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +3 -3
- 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-cascader/style/style.css +9 -9
- package/lib/vxe-cascader/style/style.min.css +1 -1
- package/lib/vxe-menu/style/style.css +15 -8
- package/lib/vxe-menu/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/cascader/src/cascader.ts +66 -25
- package/packages/date-range-picker/src/date-range-picker.ts +23 -9
- package/packages/menu/src/menu.ts +71 -17
- package/packages/ui/index.ts +2 -2
- package/styles/components/cascader.scss +9 -9
- package/styles/components/menu.scss +9 -5
- package/types/components/cascader.d.ts +1 -0
- package/types/components/menu.d.ts +6 -0
- /package/es/icon/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
- /package/es/icon/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
- /package/es/icon/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
- /package/es/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
- /package/es/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
- /package/es/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
- /package/lib/icon/style/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
- /package/lib/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
- /package/lib/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
- /package/lib/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
package/lib/menu/src/menu.js
CHANGED
|
@@ -22,6 +22,23 @@ const {
|
|
|
22
22
|
getConfig,
|
|
23
23
|
getIcon
|
|
24
24
|
} = _ui.VxeUI;
|
|
25
|
+
function createInternalData() {
|
|
26
|
+
return {
|
|
27
|
+
menuEffectMaps: {}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function createReactData() {
|
|
31
|
+
return {
|
|
32
|
+
initialized: false,
|
|
33
|
+
isEnterCollapse: false,
|
|
34
|
+
collapseStyle: {},
|
|
35
|
+
collapseZindex: 0,
|
|
36
|
+
activeName: '',
|
|
37
|
+
menuList: [],
|
|
38
|
+
itemHeight: 1
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
let nemuUniqueKey = 100000000;
|
|
25
42
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
26
43
|
name: 'VxeMenu',
|
|
27
44
|
props: {
|
|
@@ -60,15 +77,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
60
77
|
const {
|
|
61
78
|
computeSize
|
|
62
79
|
} = (0, _ui.useSize)(props);
|
|
63
|
-
const reactData = (0, _vue.reactive)(
|
|
64
|
-
|
|
65
|
-
isEnterCollapse: false,
|
|
66
|
-
collapseStyle: {},
|
|
67
|
-
collapseZindex: 0,
|
|
68
|
-
activeName: props.modelValue,
|
|
69
|
-
menuList: [],
|
|
70
|
-
itemHeight: 1
|
|
71
|
-
});
|
|
80
|
+
const reactData = (0, _vue.reactive)(createReactData());
|
|
81
|
+
const internalData = createInternalData();
|
|
72
82
|
const refMaps = {
|
|
73
83
|
refElem
|
|
74
84
|
};
|
|
@@ -150,6 +160,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
150
160
|
const objItem = Object.assign(Object.assign({}, item), {
|
|
151
161
|
parentKey: parent ? parent.name || path.slice(0, path.length - 1).join(',') : '',
|
|
152
162
|
level: path.length,
|
|
163
|
+
itemId: ++nemuUniqueKey,
|
|
153
164
|
itemKey: item.name || path.join(','),
|
|
154
165
|
isExactActive: false,
|
|
155
166
|
isActive: false,
|
|
@@ -219,12 +230,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
219
230
|
accordion
|
|
220
231
|
} = props;
|
|
221
232
|
const {
|
|
233
|
+
menuEffectMaps
|
|
234
|
+
} = internalData;
|
|
235
|
+
const {
|
|
236
|
+
itemId,
|
|
222
237
|
hasChild,
|
|
223
238
|
isExpand
|
|
224
239
|
} = item;
|
|
240
|
+
const isCollapsed = computeIsCollapsed.value;
|
|
241
|
+
const expanded = !isExpand;
|
|
225
242
|
if (hasChild) {
|
|
226
243
|
evnt.stopPropagation();
|
|
227
244
|
evnt.preventDefault();
|
|
245
|
+
if (menuEffectMaps[itemId]) {
|
|
246
|
+
clearTimeout(menuEffectMaps[itemId]);
|
|
247
|
+
}
|
|
228
248
|
if (accordion) {
|
|
229
249
|
itemList.forEach(obj => {
|
|
230
250
|
if (obj !== item) {
|
|
@@ -232,7 +252,32 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
232
252
|
}
|
|
233
253
|
});
|
|
234
254
|
}
|
|
235
|
-
item.isExpand =
|
|
255
|
+
item.isExpand = expanded;
|
|
256
|
+
const wrapperEl = isCollapsed ? refCollapseElem.value : refElem.value;
|
|
257
|
+
if (wrapperEl) {
|
|
258
|
+
const nemuEl = wrapperEl.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${itemId}"]`);
|
|
259
|
+
const groupEl = nemuEl ? nemuEl.querySelector('.vxe-menu--item-group') : null;
|
|
260
|
+
if (groupEl) {
|
|
261
|
+
if (expanded) {
|
|
262
|
+
groupEl.style.height = '0';
|
|
263
|
+
groupEl.setAttribute('data-effect', 'y');
|
|
264
|
+
requestAnimationFrame(() => {
|
|
265
|
+
groupEl.style.height = `${groupEl.scrollHeight}px`;
|
|
266
|
+
});
|
|
267
|
+
} else {
|
|
268
|
+
groupEl.style.height = `${groupEl.scrollHeight}px`;
|
|
269
|
+
groupEl.setAttribute('data-effect', 'y');
|
|
270
|
+
requestAnimationFrame(() => {
|
|
271
|
+
groupEl.style.height = '0';
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
menuEffectMaps[itemId] = setTimeout(() => {
|
|
275
|
+
delete menuEffectMaps[itemId];
|
|
276
|
+
groupEl.removeAttribute('data-effect');
|
|
277
|
+
groupEl.style.height = '';
|
|
278
|
+
}, 350);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
236
281
|
}
|
|
237
282
|
};
|
|
238
283
|
const emitModel = value => {
|
|
@@ -395,6 +440,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
395
440
|
};
|
|
396
441
|
const renderDefaultChildren = (item, itemList) => {
|
|
397
442
|
const {
|
|
443
|
+
itemId,
|
|
398
444
|
itemKey,
|
|
399
445
|
level,
|
|
400
446
|
hasChild,
|
|
@@ -419,7 +465,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
419
465
|
'is--exact-active': isExactActive,
|
|
420
466
|
'is--active': isActive,
|
|
421
467
|
'is--expand': (!isCollapsed || isEnterCollapse) && isExpand
|
|
422
|
-
}]
|
|
468
|
+
}],
|
|
469
|
+
'data-menu-id': itemId
|
|
423
470
|
}, [routerLink ? (0, _vue.h)((0, _vue.resolveComponent)('router-link'), {
|
|
424
471
|
class: 'vxe-menu--item-link',
|
|
425
472
|
to: routerLink,
|
|
@@ -445,6 +492,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
445
492
|
};
|
|
446
493
|
const renderCollapseChildren = (item, itemList) => {
|
|
447
494
|
const {
|
|
495
|
+
itemId,
|
|
448
496
|
itemKey,
|
|
449
497
|
level,
|
|
450
498
|
hasChild,
|
|
@@ -463,7 +511,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
463
511
|
class: ['vxe-menu--item-wrapper', `vxe-menu--item-level${level}`, {
|
|
464
512
|
'is--exact-active': isExactActive,
|
|
465
513
|
'is--active': isActive
|
|
466
|
-
}]
|
|
514
|
+
}],
|
|
515
|
+
'data-menu-id': itemId
|
|
467
516
|
}, [routerLink ? (0, _vue.h)((0, _vue.resolveComponent)('router-link'), {
|
|
468
517
|
class: 'vxe-menu--item-link',
|
|
469
518
|
to: routerLink,
|
|
@@ -569,7 +618,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
569
618
|
updateCollapseStyle();
|
|
570
619
|
});
|
|
571
620
|
(0, _vue.onBeforeUnmount)(() => {
|
|
572
|
-
_ui.globalEvents.off($xeMenu, 'resize');
|
|
573
621
|
const collapseEl = refCollapseElem.value;
|
|
574
622
|
if (collapseEl) {
|
|
575
623
|
const parentNode = collapseEl.parentNode;
|
|
@@ -577,7 +625,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
577
625
|
parentNode.removeChild(collapseEl);
|
|
578
626
|
}
|
|
579
627
|
}
|
|
628
|
+
_ui.globalEvents.off($xeMenu, 'resize');
|
|
629
|
+
_xeUtils.default.assign(reactData, createReactData());
|
|
630
|
+
_xeUtils.default.assign(internalData, createInternalData());
|
|
580
631
|
});
|
|
632
|
+
reactData.initialized = !!props.collapsed;
|
|
633
|
+
reactData.activeName = props.modelValue;
|
|
581
634
|
updateMenuConfig();
|
|
582
635
|
updateActiveMenu(true);
|
|
583
636
|
$xeMenu.renderVN = renderVN;
|
package/lib/menu/src/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
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"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object},emits:["update:modelValue","click","option-menu","menu-click"],setup(
|
|
1
|
+
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"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object},emits:["update:modelValue","click","option-menu","menu-click"],setup(c,e){let{emit:n,slots:d}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),m=(0,_vue.ref)(),v=(0,_vue.ref)(),r=(0,_ui.useSize)(c).computeSize,p=(0,_vue.reactive)(createReactData()),_=createInternalData(),l={refElem:m},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,c.menuConfig)),x=(0,_vue.computed)(()=>{var e=c.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),o=(0,_vue.computed)(()=>{let e="";return e=i?i.props.collapseWidth||"":e}),u=(0,_vue.computed)(()=>{let e="";return e=i?i.props.width||"":e}),s={computeSize:r},h={xID:t,props:c,context:e,reactData:p,getRefMaps:()=>l,getComputeMaps:()=>s},g=e=>""+(e.title||e.name),f=o=>{let u=p.activeName;_xeUtils.default.eachTree(p.menuList,(e,t,i,n,l,a)=>{e.itemKey===u?(a.forEach(e=>{e.isActive=!0,o&&(e.isExpand=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},C=()=>{let{options:e,expandAll:a}=c;p.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>Object.assign(Object.assign({},e),{parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:++nemuUniqueKey,itemKey:e.name||n.join(","),isExactActive:!1,isActive:!1,isExpand:_xeUtils.default.isBoolean(e.expanded)?e.expanded:!!a,hasChild:e.children&&0<e.children.length}),{children:"children",mapChildren:"childList"})},E=()=>{var e=c.collapseFixed;e&&(0,_vue.nextTick)(()=>{var e,t=p.isEnterCollapse,i=x.value,n=u.value,l=o.value,a=m.value;a&&(e=a.getBoundingClientRect(),a=a.parentNode,p.collapseStyle=i?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(a.clientHeight),width:t?n?(0,_dom.toCssUnit)(n):"":l?(0,_dom.toCssUnit)(l):"",zIndex:p.collapseZindex}:{})})},y=()=>{var e=c.collapseFixed;e&&(e=p.initialized,x.value&&!e&&(p.initialized=!0,(0,_vue.nextTick)(()=>{var e=v.value;e&&document.body.appendChild(e)})),p.isEnterCollapse=!1,p.collapseZindex<(0,_utils.getLastZIndex)()&&(p.collapseZindex=(0,_utils.nextZIndex)()),E())},k=(t,i,e)=>{var n=c.accordion;let l=_.menuEffectMaps,{itemId:a,hasChild:o,isExpand:u}=i;var s=x.value,r=!u;if(o){t.stopPropagation(),t.preventDefault(),l[a]&&clearTimeout(l[a]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=r;t=(s?v:m).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${a}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(r?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[a]=setTimeout(()=>{delete l[a],e.removeAttribute("data-effect"),e.style.height=""},350))}}},M=e=>{p.activeName=e,n("update:modelValue",e)},U=(n,l)=>{var e=c.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:h,options:e,currentMenu:l})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,$event:n,$menu:h};i&&i(t,n),V("menu-click",t,e.$event)}}})),V("option-menu",{currentMenu:l},n)},I=(e,t,i)=>{var{itemKey:n,routerLink:l,hasChild:a}=t,l=(!l&&a?k(e,t,i):(M(n),q()),{currentMenu:t,menu:t});V("click",l,e)},b=()=>{var e=p.collapseStyle,t=u.value;p.collapseStyle=Object.assign({},e,{width:t?(0,_dom.toCssUnit)(t):""}),p.isEnterCollapse=!0},A=()=>{var e=p.isEnterCollapse;e||b()},q=()=>{var e=p.collapseStyle,t=m.value;p.collapseStyle=Object.assign({},e,{width:t?(0,_dom.toCssUnit)(t.offsetWidth):""}),p.isEnterCollapse=!1},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],V=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:h},t))};t={dispatchEvent:V};Object.assign(h,t,{});let N=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},o=a.default||d.option,u=a.title||d.optionTitle||d["option-title"],a=a.icon||d.optionIcon||d["option-icon"],s=g(t),r=x.value,r={currentMenu:t,collapsed:r,option:t};return[o?(0,_ui.renderEmptyElement)(h):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?L(a,r):e?[(0,_vue.h)("i",{class:e})]:[]),o?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},L(o,r)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:s},u?L(u,r):s),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){k(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(h)]},S=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:o,isExactActive:u,isExpand:s,routerLink:r,childList:c}=t;var d=p.isEnterCollapse,m=x.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(h):(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"is--exact-active":u,"is--active":o,"is--expand":(!m||d)&&s}],"data-menu-id":e},[r?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:r,onContextmenu(e){U(e,t)},onClick(e){I(e,t,i)}},{default:()=>N(t,i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onContextmenu(e){U(e,t)},onClick(e){I(e,t,i)}},N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},c.map(e=>S(e,c))):(0,_ui.renderEmptyElement)(h)])};let z=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.options?c.options.length:-1,()=>{z.value++}),(0,_vue.watch)(()=>c.options,()=>{z.value++}),(0,_vue.watch)(z,()=>{C(),f(!0)}),(0,_vue.watch)(()=>c.modelValue,e=>{p.activeName=e}),(0,_vue.watch)(()=>p.activeName,()=>{f(!0)}),(0,_vue.watch)(x,()=>{y()}),(0,_vue.onMounted)(()=>{var e=c.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(h,"resize",E),E()}),(0,_vue.onBeforeUnmount)(()=>{var e,t=v.value;t&&(e=t.parentNode)&&e.removeChild(t),_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(p,createReactData()),_xeUtils.default.assign(_,createInternalData())}),p.initialized=!!c.collapsed,p.activeName=c.modelValue,C(),f(!0),h.renderVN=()=>{var{loading:e,collapseFixed:t}=c;let{initialized:i,menuList:n,collapseStyle:l,isEnterCollapse:a}=p;var o=r.value;let u=x.value,s={};return t&&(s={onMouseenter:b,onMouseover:A,onMouseleave:q}),(0,_vue.h)("div",{ref:m,class:["vxe-menu",{["size--"+o]:o,"is--collapsed":u,"is--loading":e}]},[(0,_vue.h)("div",{class:"vxe-menu--item-list"},n.map(e=>(u?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:o,isExactActive:u,routerLink:s,childList:r}=t;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(h):(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"is--exact-active":u,"is--active":o}],"data-menu-id":e},[s?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:s,onContextmenu(e){U(e,t)},onClick(e){I(e,t,i)}},{default:()=>N(t,i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onContextmenu(e){U(e,t)},onClick(e){I(e,t,i)}},N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},r.map(e=>S(e,r))):(0,_ui.renderEmptyElement)(h)])}:S)(e,n))),i?(0,_vue.h)("div",Object.assign({ref:v,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":u,"is--enter":a,"is--loading":e}],style:l},s),[u?(0,_vue.h)("div",{class:"vxe-menu--item-list"},n.map(e=>S(e,n))):(0,_ui.renderEmptyElement)(h)]):(0,_ui.renderEmptyElement)(h),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},h},render(){return this.renderVN()}});
|
package/lib/menu/style/style.css
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
.vxe-menu
|
|
1
|
+
.vxe-menu,
|
|
2
|
+
.vxe-menu--collapse-wrapper {
|
|
2
3
|
--vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-default);
|
|
3
4
|
--vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-default);
|
|
4
5
|
}
|
|
5
|
-
.vxe-menu.size--medium
|
|
6
|
+
.vxe-menu.size--medium,
|
|
7
|
+
.vxe-menu--collapse-wrapper.size--medium {
|
|
6
8
|
--vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-medium);
|
|
7
9
|
--vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-medium);
|
|
8
10
|
}
|
|
9
|
-
.vxe-menu.size--small
|
|
11
|
+
.vxe-menu.size--small,
|
|
12
|
+
.vxe-menu--collapse-wrapper.size--small {
|
|
10
13
|
--vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-small);
|
|
11
14
|
--vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-small);
|
|
12
15
|
}
|
|
13
|
-
.vxe-menu.size--mini
|
|
16
|
+
.vxe-menu.size--mini,
|
|
17
|
+
.vxe-menu--collapse-wrapper.size--mini {
|
|
14
18
|
--vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-mini);
|
|
15
19
|
--vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-mini);
|
|
16
20
|
}
|
|
@@ -27,7 +31,8 @@
|
|
|
27
31
|
min-height: 4em;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
.vxe-menu
|
|
34
|
+
.vxe-menu,
|
|
35
|
+
.vxe-menu--collapse-wrapper {
|
|
31
36
|
font-size: var(--vxe-ui-menu-current-font-size);
|
|
32
37
|
color: var(--vxe-ui-font-color);
|
|
33
38
|
font-family: var(--vxe-ui-font-family);
|
|
@@ -124,9 +129,11 @@
|
|
|
124
129
|
}
|
|
125
130
|
|
|
126
131
|
.vxe-menu--item-group {
|
|
127
|
-
|
|
132
|
+
height: 0;
|
|
128
133
|
overflow: hidden;
|
|
129
|
-
|
|
134
|
+
}
|
|
135
|
+
.vxe-menu--item-group[data-effect] {
|
|
136
|
+
transition: height 0.3s ease-in-out;
|
|
130
137
|
}
|
|
131
138
|
|
|
132
139
|
.vxe-menu--item-wrapper.is--active > .vxe-menu--item-link {
|
|
@@ -137,5 +144,5 @@
|
|
|
137
144
|
background-color: var(--vxe-ui-base-active-background-color);
|
|
138
145
|
}
|
|
139
146
|
.vxe-menu--item-wrapper.is--expand > .vxe-menu--item-group {
|
|
140
|
-
|
|
147
|
+
height: auto;
|
|
141
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-menu{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-default)}.vxe-menu.size--medium{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu.size--small{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-small)}.vxe-menu.size--mini{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-mini)}.vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu{font-size:var(--vxe-ui-menu-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto;background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;height:var(--vxe-ui-menu-current-item-height);color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;font-size:.8em;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-group{
|
|
1
|
+
.vxe-menu,.vxe-menu--collapse-wrapper{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-default)}.vxe-menu--collapse-wrapper.size--medium,.vxe-menu.size--medium{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu--collapse-wrapper.size--small,.vxe-menu.size--small{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-small)}.vxe-menu--collapse-wrapper.size--mini,.vxe-menu.size--mini{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-mini)}.vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu,.vxe-menu--collapse-wrapper{font-size:var(--vxe-ui-menu-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto;background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;height:var(--vxe-ui-menu-current-item-height);color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;font-size:.8em;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-group{height:0;overflow:hidden}.vxe-menu--item-group[data-effect]{transition:height .3s ease-in-out}.vxe-menu--item-wrapper.is--active>.vxe-menu--item-link{font-weight:700}.vxe-menu--item-wrapper.is--exact-active>.vxe-menu--item-link{color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-menu--item-wrapper.is--expand>.vxe-menu--item-group{height:auto}
|