vxe-pc-ui 4.16.11 → 4.16.13
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 +6 -3
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/menu/src/menu.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.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 +6 -3
- package/lib/index.umd.min.js +1 -1
- package/lib/menu/src/menu.js +4 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/menu/src/menu.ts +4 -1
- package/types/components/menu.d.ts +6 -0
- package/types/components/table.d.ts +1 -0
- /package/es/icon/{iconfont.1784122303243.ttf → iconfont.1784184151002.ttf} +0 -0
- /package/es/icon/{iconfont.1784122303243.woff → iconfont.1784184151002.woff} +0 -0
- /package/es/icon/{iconfont.1784122303243.woff2 → iconfont.1784184151002.woff2} +0 -0
- /package/es/{iconfont.1784122303243.ttf → iconfont.1784184151002.ttf} +0 -0
- /package/es/{iconfont.1784122303243.woff → iconfont.1784184151002.woff} +0 -0
- /package/es/{iconfont.1784122303243.woff2 → iconfont.1784184151002.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1784122303243.ttf → iconfont.1784184151002.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1784122303243.woff → iconfont.1784184151002.woff} +0 -0
- /package/lib/icon/style/{iconfont.1784122303243.woff2 → iconfont.1784184151002.woff2} +0 -0
- /package/lib/{iconfont.1784122303243.ttf → iconfont.1784184151002.ttf} +0 -0
- /package/lib/{iconfont.1784122303243.woff → iconfont.1784184151002.woff} +0 -0
- /package/lib/{iconfont.1784122303243.woff2 → iconfont.1784184151002.woff2} +0 -0
package/lib/menu/src/menu.js
CHANGED
|
@@ -115,7 +115,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
115
115
|
});
|
|
116
116
|
const computeLinkUrlField = (0, _vue.computed)(() => {
|
|
117
117
|
const propsOpts = computePropsOpts.value;
|
|
118
|
-
return propsOpts.linkUrl || '
|
|
118
|
+
return propsOpts.linkUrl || 'linkUrl';
|
|
119
119
|
});
|
|
120
120
|
const computeRouterLinkField = (0, _vue.computed)(() => {
|
|
121
121
|
const propsOpts = computePropsOpts.value;
|
|
@@ -790,6 +790,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
790
790
|
}
|
|
791
791
|
_ui.globalEvents.on($xeMenu, 'resize', updateCollapseStyle);
|
|
792
792
|
updateCollapseStyle();
|
|
793
|
+
(0, _vue.nextTick)(() => {
|
|
794
|
+
$xeMenu.scrollToActiveMenu();
|
|
795
|
+
});
|
|
793
796
|
});
|
|
794
797
|
(0, _vue.onBeforeUnmount)(() => {
|
|
795
798
|
_ui.globalEvents.off($xeMenu, 'resize');
|
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;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},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,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},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(E,e){let{emit:n,slots:d}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),p=(0,_vue.ref)(),_=(0,_vue.ref)(),x=(0,_ui.useSize)(E).computeSize,C=(0,_vue.reactive)(createReactData()),y=createInternalData(),l={refElem:p},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,E.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,E.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),k=(0,_vue.computed)(()=>u.value.linkUrl||"href"),M=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),h=(0,_vue.computed)(()=>{var e=E.border;return e?!0===e?"first-group":e:""}),g=(0,_vue.computed)(()=>{var e=E.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),f=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),c={computeSize:x},b={xID:t,props:E,context:e,reactData:C,internalData:y,getRefMaps:()=>l,getComputeMaps:()=>c},j=e=>""+(e.title||e.name),m=u=>{let r=C.activeName,o=y.menuInitMaps;_xeUtils.default.eachTree(C.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=E,m={},v=r.value,d=o.value,p=s.value,_=k.value,x=M.value,h={},g=(t&&t.forEach(e=>{h[e]=!0}),{}),f={};C.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:h[u]||!!c),r=(s&&(m[a]=!0),{itemConf:e,title:e[v],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return f[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),g[a]=r,f[u]=r},{children:"children",mapChildren:"childList"}),y.menuInitMaps=m,y.menuCacheMaps=g,y.menuKeyMaps=f},I=()=>{var e=E.collapseFixed;e&&(0,_vue.nextTick)(()=>{var e,t=g.value,i=p.value;i&&(e=i.getBoundingClientRect(),i=i.parentNode,C.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:C.collapseZindex}:{})})},D=()=>{var e=E.collapseFixed;e&&(e=C.initialized,g.value&&!e&&(C.initialized=!0),C.isEnterCollapse=!1,C.collapseZindex<(0,_utils.getLastZIndex)()&&(C.collapseZindex=(0,_utils.nextZIndex)()),I())},U=(t,i,e)=>{var n=E.accordion;let{menuEffectMaps:l,menuInitMaps:a}=y,{itemId:u,hasChild:r,isExpand:o}=i;var s=g.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?_:p).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(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[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},z=e=>{C.activeName=e,n("update:modelValue",e)},A=(n,l)=>{var e=E.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:b,options:e,currentMenu:l,currentOption:l.itemConf})||_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,currentOption:l.itemConf,$event:n,$menu:b};i&&i(t,n),q("menu-click",t,e.$event)}}})),q("option-menu",{currentMenu:l},n)},T=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?U(e,t,i):(z(n),C.isEnterCollapse=!1,y.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});q("click",l,e)},S=()=>{var e=y.lastActiveTime;e<Date.now()-500&&(C.isEnterCollapse=!0)},w=()=>{C.isEnterCollapse=!1},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],q=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:b},t))},O=e=>{var t=p.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:q,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=y;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=C.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),y.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=y.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return O(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{O(i)})},scrollToActiveMenu(){var e=C.activeName;return e?b.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=C.activeName;if(e)return b.scrollToMenuKey(e)})}};Object.assign(b,t,{});let V=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||d.option,r=a.title||d.optionTitle||d["option-title"],a=a.icon||d.optionIcon||d["option-icon"],o=j(t),s=g.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(b):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?L(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},L(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?L(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){U(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(b)]},K=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:m,childList:v}=t;var d,p=C.isEnterCollapse,_=y.menuInitMaps,x=g.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(d={onContextmenu(e){A(e,t)},onClick(e){T(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":x=(!x||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:m},d),V(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:m},d),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?v.map(e=>K(e,v)):[]):(0,_ui.renderEmptyElement)(b)]))};let N=(0,_vue.ref)(0);return(0,_vue.watch)(()=>E.options?E.options.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>E.options,()=>{N.value++}),(0,_vue.watch)(N,()=>{v(),m(!0)}),(0,_vue.watch)(()=>E.modelValue,e=>{C.activeName=e}),(0,_vue.watch)(()=>C.activeName,()=>{m(!0)}),(0,_vue.watch)(g,()=>{D()}),(0,_vue.onMounted)(()=>{var e=E.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(b,"resize",I),I()}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(b,"resize"),_xeUtils.default.assign(C,createReactData()),_xeUtils.default.assign(y,createInternalData())}),C.initialized=!!E.collapsed,C.activeName=E.modelValue,v(),m(!0),b.renderVN=()=>{var{loading:e,collapseFixed:t}=E;let{initialized:i,menuList:n,collapseStyle:l,isEnterCollapse:a}=C;var u=x.value;let r=g.value;var o=h.value,s=f.value,c=d.header,m=d.footer;let v={};t&&(v={onMouseenter:S,onMouseleave:w});t={collapsed:r};return(0,_vue.h)("div",{ref:p,class:["vxe-menu",{["border--"+o]:o,["size--"+u]:u,"is--collapsed":r,"is--loading":e}]},[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>(r?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:m}=t;var v;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(v={onContextmenu(e){A(e,t)},onClick(e){T(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},v),V(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},v),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},v),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},m.map(e=>K(e,m))):(0,_ui.renderEmptyElement)(b)]))}:K)(e,n))),m?(0,_vue.h)("div",{class:"vxe-menu--footer"},m(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!i},[(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-menu--collapse-wrapper",{["size--"+u]:u,"is--collapsed":r,"is--enter":a,"is--loading":e}],style:Object.assign({},s,l)},v),r?[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>K(e,n))),m?(0,_vue.h)("div",{class:"vxe-menu--footer"},m(t)):(0,_ui.renderEmptyElement)(b)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},b},render(){return this.renderVN()}});
|
|
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{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},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,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},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(E,e){let{emit:n,slots:d}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),p=(0,_vue.ref)(),_=(0,_vue.ref)(),x=(0,_ui.useSize)(E).computeSize,C=(0,_vue.reactive)(createReactData()),y=createInternalData(),l={refElem:p},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,E.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,E.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),k=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),M=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),h=(0,_vue.computed)(()=>{var e=E.border;return e?!0===e?"first-group":e:""}),g=(0,_vue.computed)(()=>{var e=E.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),f=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),c={computeSize:x},b={xID:t,props:E,context:e,reactData:C,internalData:y,getRefMaps:()=>l,getComputeMaps:()=>c},j=e=>""+(e.title||e.name),m=u=>{let r=C.activeName,o=y.menuInitMaps;_xeUtils.default.eachTree(C.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=E,m={},v=r.value,d=o.value,p=s.value,_=k.value,x=M.value,h={},g=(t&&t.forEach(e=>{h[e]=!0}),{}),f={};C.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:h[u]||!!c),r=(s&&(m[a]=!0),{itemConf:e,title:e[v],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return f[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),g[a]=r,f[u]=r},{children:"children",mapChildren:"childList"}),y.menuInitMaps=m,y.menuCacheMaps=g,y.menuKeyMaps=f},I=()=>{var e=E.collapseFixed;e&&(0,_vue.nextTick)(()=>{var e,t=g.value,i=p.value;i&&(e=i.getBoundingClientRect(),i=i.parentNode,C.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:C.collapseZindex}:{})})},D=()=>{var e=E.collapseFixed;e&&(e=C.initialized,g.value&&!e&&(C.initialized=!0),C.isEnterCollapse=!1,C.collapseZindex<(0,_utils.getLastZIndex)()&&(C.collapseZindex=(0,_utils.nextZIndex)()),I())},T=(t,i,e)=>{var n=E.accordion;let{menuEffectMaps:l,menuInitMaps:a}=y,{itemId:u,hasChild:r,isExpand:o}=i;var s=g.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?_:p).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(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[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},z=e=>{C.activeName=e,n("update:modelValue",e)},U=(n,l)=>{var e=E.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:b,options:e,currentMenu:l,currentOption:l.itemConf})||_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,currentOption:l.itemConf,$event:n,$menu:b};i&&i(t,n),q("menu-click",t,e.$event)}}})),q("option-menu",{currentMenu:l},n)},A=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?T(e,t,i):(z(n),C.isEnterCollapse=!1,y.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});q("click",l,e)},S=()=>{var e=y.lastActiveTime;e<Date.now()-500&&(C.isEnterCollapse=!0)},w=()=>{C.isEnterCollapse=!1},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],q=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:b},t))},O=e=>{var t=p.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:q,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=y;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=C.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),y.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=y.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return O(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{O(i)})},scrollToActiveMenu(){var e=C.activeName;return e?b.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=C.activeName;if(e)return b.scrollToMenuKey(e)})}};Object.assign(b,t,{});let V=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||d.option,r=a.title||d.optionTitle||d["option-title"],a=a.icon||d.optionIcon||d["option-icon"],o=j(t),s=g.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(b):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?L(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},L(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?L(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){T(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(b)]},K=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:m,childList:v}=t;var d,p=C.isEnterCollapse,_=y.menuInitMaps,x=g.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(d={onContextmenu(e){U(e,t)},onClick(e){A(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":x=(!x||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:m},d),V(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:m},d),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?v.map(e=>K(e,v)):[]):(0,_ui.renderEmptyElement)(b)]))};let N=(0,_vue.ref)(0);return(0,_vue.watch)(()=>E.options?E.options.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>E.options,()=>{N.value++}),(0,_vue.watch)(N,()=>{v(),m(!0)}),(0,_vue.watch)(()=>E.modelValue,e=>{C.activeName=e}),(0,_vue.watch)(()=>C.activeName,()=>{m(!0)}),(0,_vue.watch)(g,()=>{D()}),(0,_vue.onMounted)(()=>{var e=E.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(b,"resize",I),I(),(0,_vue.nextTick)(()=>{b.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(b,"resize"),_xeUtils.default.assign(C,createReactData()),_xeUtils.default.assign(y,createInternalData())}),C.initialized=!!E.collapsed,C.activeName=E.modelValue,v(),m(!0),b.renderVN=()=>{var{loading:e,collapseFixed:t}=E;let{initialized:i,menuList:n,collapseStyle:l,isEnterCollapse:a}=C;var u=x.value;let r=g.value;var o=h.value,s=f.value,c=d.header,m=d.footer;let v={};t&&(v={onMouseenter:S,onMouseleave:w});t={collapsed:r};return(0,_vue.h)("div",{ref:p,class:["vxe-menu",{["border--"+o]:o,["size--"+u]:u,"is--collapsed":r,"is--loading":e}]},[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>(r?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:m}=t;var v;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(v={onContextmenu(e){U(e,t)},onClick(e){A(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},v),V(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},v),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},v),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},m.map(e=>K(e,m))):(0,_ui.renderEmptyElement)(b)]))}:K)(e,n))),m?(0,_vue.h)("div",{class:"vxe-menu--footer"},m(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!i},[(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-menu--collapse-wrapper",{["size--"+u]:u,"is--collapsed":r,"is--enter":a,"is--loading":e}],style:Object.assign({},s,l)},v),r?[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>K(e,n))),m?(0,_vue.h)("div",{class:"vxe-menu--footer"},m(t)):(0,_ui.renderEmptyElement)(b)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},b},render(){return this.renderVN()}});
|