primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue)
2 lines (1 loc) • 6.51 kB
JavaScript
var e=require("vue"),n=require("primevue/utils"),t={name:"sub-panelmenu",props:{model:{type:null,default:null}},data:()=>({activeItem:null}),methods:{onItemClick(e,n,t){n.disabled?event.preventDefault():(n.command&&n.command({originalEvent:event,item:n}),this.activeItem&&this.activeItem===n?this.activeItem=null:this.activeItem=n,n.to&&t&&t(event))},getItemClass:e=>["p-menuitem",e.className],getLinkClass:e=>["p-menuitem-link",{"p-disabled":e.disabled}],isActive(e){return e===this.activeItem},getSubmenuIcon(e){const n=this.isActive(e);return["p-panelmenu-icon pi pi-fw",{"pi-angle-right":!n,"pi-angle-down":n}]},visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible}};const l={class:"p-submenu-list",role:"tree"},a={class:"p-menuitem-text"},i={class:"p-menuitem-text"},o={class:"p-toggleable-content"};t.render=function(n,t,s,c,r,m){const d=e.resolveComponent("router-link"),p=e.resolveComponent("sub-panelmenu");return e.openBlock(),e.createBlock("ul",l,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(s.model,((n,t)=>(e.openBlock(),e.createBlock(e.Fragment,{key:n.label+t.toString()},[m.visible(n)&&!n.separator?(e.openBlock(),e.createBlock("li",{key:0,role:"none",class:m.getItemClass(n),style:n.style},[n.to&&!n.disabled?(e.openBlock(),e.createBlock(d,{key:0,to:n.to,custom:""},{default:e.withCtx((({navigate:t,href:l})=>[e.createVNode("a",{href:l,class:m.getLinkClass(n),onClick:e=>m.onItemClick(e,n,t),role:"treeitem","aria-expanded":m.isActive(n)},[e.createVNode("span",{class:["p-menuitem-icon",n.icon]},null,2),e.createVNode("span",a,e.toDisplayString(n.label),1)],10,["href","onClick","aria-expanded"])])),_:2},1032,["to"])):(e.openBlock(),e.createBlock("a",{key:1,href:n.url,class:m.getLinkClass(n),target:n.target,onClick:e=>m.onItemClick(e,n),role:"treeitem","aria-expanded":m.isActive(n),tabindex:n.disabled?null:"0"},[n.items?(e.openBlock(),e.createBlock("span",{key:0,class:m.getSubmenuIcon(n)},null,2)):e.createCommentVNode("",!0),e.createVNode("span",{class:["p-menuitem-icon",n.icon]},null,2),e.createVNode("span",i,e.toDisplayString(n.label),1)],10,["href","target","onClick","aria-expanded","tabindex"])),e.createVNode(e.Transition,{name:"p-toggleable-content"},{default:e.withCtx((()=>[e.withDirectives(e.createVNode("div",o,[m.visible(n)&&n.items?(e.openBlock(),e.createBlock(p,{model:n.items,key:n.label+"_sub_"},null,8,["model"])):e.createCommentVNode("",!0)],512),[[e.vShow,n===r.activeItem]])])),_:2},1024)],6)):e.createCommentVNode("",!0),m.visible(n)&&n.separator?(e.openBlock(),e.createBlock("li",{class:["p-menu-separator",n.class],style:n.style,key:"separator"+t.toString()},null,6)):e.createCommentVNode("",!0)],64)))),128))])};var s={props:{model:{type:Array,default:null}},data:()=>({activeItem:null}),methods:{onItemClick(e,n){n.disabled?e.preventDefault():(n.url||n.to||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),this.activeItem&&this.activeItem===n?this.activeItem=null:this.activeItem=n)},getPanelClass:e=>["p-panelmenu-panel",e.class],getPanelToggleIcon(e){const n=e===this.activeItem;return["p-panelmenu-icon pi",{"pi-chevron-right":!n," pi-chevron-down":n}]},getPanelIcon:e=>["p-menuitem-icon",e.icon],isActive(e){return e===this.activeItem},getHeaderClass(e){return["p-component p-panelmenu-header",{"p-highlight":this.isActive(e),"p-disabled":e.disabled}]},visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible},components:{PanelMenuSub:t},computed:{ariaId:()=>n.UniqueComponentId()}};const c={class:"p-panelmenu p-component"},r={class:"p-menuitem-text"},m={key:0,class:"p-panelmenu-content"};!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&l.firstChild?l.insertBefore(a,l.firstChild):l.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-panelmenu .p-panelmenu-header-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n"),s.render=function(n,t,l,a,i,o){const s=e.resolveComponent("PanelMenuSub");return e.openBlock(),e.createBlock("div",c,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(l.model,((n,t)=>(e.openBlock(),e.createBlock(e.Fragment,{key:n.label+"_"+t},[o.visible(n)?(e.openBlock(),e.createBlock("div",{key:0,class:o.getPanelClass(n),style:n.style},[e.createVNode("div",{class:o.getHeaderClass(n),style:n.style},[e.createVNode("a",{href:n.url,class:"p-panelmenu-header-link",onClick:e=>o.onItemClick(e,n),tabindex:n.disabled?null:"0","aria-expanded":o.isActive(n),id:o.ariaId+"_header","aria-controls":o.ariaId+"_content"},[n.items?(e.openBlock(),e.createBlock("span",{key:0,class:o.getPanelToggleIcon(n)},null,2)):e.createCommentVNode("",!0),n.icon?(e.openBlock(),e.createBlock("span",{key:1,class:o.getPanelIcon(n)},null,2)):e.createCommentVNode("",!0),e.createVNode("span",r,e.toDisplayString(n.label),1)],8,["href","onClick","tabindex","aria-expanded","id","aria-controls"])],6),e.createVNode(e.Transition,{name:"p-toggleable-content"},{default:e.withCtx((()=>[e.withDirectives(e.createVNode("div",{class:"p-toggleable-content",role:"region",id:o.ariaId+"_content","aria-labelledby":o.ariaId+"_header"},[n.items?(e.openBlock(),e.createBlock("div",m,[e.createVNode(s,{model:n.items,class:"p-panelmenu-root-submenu"},null,8,["model"])])):e.createCommentVNode("",!0)],8,["id","aria-labelledby"]),[[e.vShow,n===i.activeItem]])])),_:2},1024)],6)):e.createCommentVNode("",!0)],64)))),128))])},module.exports=s;
;