{"version":3,"file":"primeng-megamenu.mjs","sources":["../../src/app/components/megamenu/megamenu.ts","../../src/app/components/megamenu/primeng-megamenu.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,Input,Renderer2,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, AfterContentInit, ContentChildren, QueryList, TemplateRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MegaMenuItem,MenuItem, PrimeTemplate} from 'primeng/api';\nimport {RouterModule} from '@angular/router';\nimport {RippleModule} from 'primeng/ripple';\nimport {TooltipModule} from 'primeng/tooltip';\n\n@Component({\n selector: 'p-megaMenu',\n template: `\n
\n
\n \n
\n \n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./megamenu.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class MegaMenu implements AfterContentInit {\n\n @Input() model: MegaMenuItem[];\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() orientation: string = 'horizontal';\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @ContentChildren(PrimeTemplate) templates: QueryList;\n\n activeItem: any;\n\n documentClickListener: any;\n\n startTemplate: TemplateRef;\n\n endTemplate: TemplateRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'start':\n this.startTemplate = item.template;\n break;\n\n case 'end':\n this.endTemplate = item.template;\n break;\n }\n });\n }\n\n onCategoryMouseEnter(event, menuitem: MegaMenuItem) {\n if (menuitem.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.activeItem) {\n this.activeItem = menuitem;\n }\n }\n\n onCategoryClick(event, item: MenuItem | MegaMenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (item.items) {\n if (this.activeItem && this.activeItem === item) {\n this.activeItem = null;\n this.unbindDocumentClickListener();\n }\n else {\n this.activeItem = item;\n this.bindDocumentClickListener();\n }\n }\n }\n\n itemClick(event, item: MenuItem | MegaMenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = null;\n }\n\n getColumnClass(menuitem: MegaMenuItem) {\n let length = menuitem.items ? menuitem.items.length: 0;\n let columnClass;\n switch(length) {\n case 2:\n columnClass= 'p-megamenu-col-6';\n break;\n\n case 3:\n columnClass= 'p-megamenu-col-4';\n break;\n\n case 4:\n columnClass= 'p-megamenu-col-3';\n break;\n\n case 6:\n columnClass= 'p-megamenu-col-2';\n break;\n\n default:\n columnClass= 'p-megamenu-col-12';\n break;\n }\n\n return columnClass;\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = (event) => {\n if (this.el && !this.el.nativeElement.contains(event.target)) {\n this.activeItem = null;\n this.unbindDocumentClickListener();\n this.cd.markForCheck();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,RouterModule,RippleModule,TooltipModule],\n exports: [MegaMenu,RouterModule,TooltipModule],\n declarations: [MegaMenu]\n})\nexport class MegaMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}