You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
1.8 KiB
2 lines
1.8 KiB
import{d as w,bL as S,ay as B,D as L,r as E,m as N,f,u as s,O as P,aT as z,aU as D,o as C,g as y,a as F,w as v,aV as i,j as R,x as b,F as V,bJ as j,a9 as q}from"./index-f4658ae7.js";import{useMenuItem as J}from"./useMenu-0528c2f2.js";import{useSimpleRootMenuContext as O}from"./useSimpleMenuContext-8e83f8e2.js";const U=w({name:"MenuItem",components:{Tooltip:S},props:{name:{type:[String,Number],required:!0},disabled:B.bool},setup(e,{slots:l}){const o=L(),a=E(!1),{getItemStyle:g,getParentList:r,getParentMenu:m,getParentRootMenu:u}=J(o),{prefixCls:n}=N("menu"),{rootMenuEmitter:p,activeName:h}=O(),k=f(()=>[`${n}-item`,{[`${n}-item-active`]:s(a),[`${n}-item-selected`]:s(a),[`${n}-item-disabled`]:!!e.disabled}]),d=f(()=>{var t;return(t=s(u))==null?void 0:t.props.collapse}),I=f(()=>{var t;return((t=s(m))==null?void 0:t.type.name)==="Menu"&&s(d)&&l.title});function M(){const{disabled:t}=e;if(t||(p.emit("on-menu-item-select",e.name),s(d)))return;const{uidList:c}=r();p.emit("on-update-opened",{opend:!1,parent:o==null?void 0:o.parent,uidList:c})}return P(()=>h.value,t=>{if(t===e.name){const{list:c,uidList:T}=r();a.value=!0,c.forEach($=>{$.proxy&&($.proxy.active=!0)}),p.emit("on-update-active-name:submenu",T)}else a.value=!1},{immediate:!0}),{getClass:k,prefixCls:n,getItemStyle:g,getCollapse:d,handleClickItem:M,showTooptip:I}}});function A(e,l,o,a,g,r){const m=D("Tooltip");return C(),y("li",{class:b(e.getClass),onClick:l[0]||(l[0]=j((...u)=>e.handleClickItem&&e.handleClickItem(...u),["stop"])),style:q(e.getCollapse?{}:e.getItemStyle)},[e.showTooptip?(C(),F(m,{key:0,placement:"right"},{title:v(()=>[i(e.$slots,"title")]),default:v(()=>[R("div",{class:b(`${e.prefixCls}-tooltip`)},[i(e.$slots,"default")],2)]),_:3})):(C(),y(V,{key:1},[i(e.$slots,"default"),i(e.$slots,"title")],64))],6)}const Q=z(U,[["render",A]]);export{Q as default};
|