UNPKG

20.8 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-contextmenu.umd.js","sources":["ng://primeng/contextmenu/contextmenu.ts"],"sourcesContent":["import { NgModule,Component,ElementRef,AfterViewInit,OnDestroy,Input,Output,Renderer2,Inject,forwardRef,ViewChild,NgZone,EventEmitter,ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { MenuItem } from 'primeng/api';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'p-contextMenuSub',\n template: `\n <ul [ngClass]=\"{'ui-widget-content ui-corner-all ui-submenu-list ui-shadow':!root}\" class=\"ui-menu-list\">\n <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n <li *ngIf=\"child.separator\" class=\"ui-menu-separator ui-widget-content\" [ngClass]=\"{'ui-helper-hidden': child.visible === false}\" role=\"separator\">\n <li *ngIf=\"!child.separator\" #item [ngClass]=\"{'ui-menuitem ui-corner-all':true,'ui-menuitem-active':item==activeItem,'ui-helper-hidden': child.visible === false}\"\n (mouseenter)=\"onItemMouseEnter($event,item,child)\" role=\"none\">\n <a *ngIf=\"!child.routerLink\" [attr.href]=\"child.url\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.tabindex ? child.tabindex : '0'\" (click)=\"itemClick($event, child)\"\n [ngClass]=\"{'ui-menuitem-link ui-corner-all':true,'ui-state-disabled':child.disabled}\" [ngStyle]=\"child.style\" [class]=\"child.styleClass\"\n [attr.aria-haspopup]=\"item.items != null\" [attr.aria-expanded]=\"item === activeItem\">\n <span class=\"ui-submenu-icon pi pi-fw pi-caret-right\" *ngIf=\"child.items\"></span>\n <span class=\"ui-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"ui-menuitem-text\">{{child.label}}</span>\n </a>\n <a *ngIf=\"child.routerLink\" [routerLink]=\"child.routerLink\" [queryParams]=\"child.queryParams\" [routerLinkActive]=\"'ui-menuitem-link-active'\" role=\"menuitem\"\n [routerLinkActiveOptions]=\"child.routerLinkActiveOptions||{exact:false}\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.tabindex ? child.tabindex : '0'\"\n (click)=\"itemClick($event, child)\" [ngClass]=\"{'ui-menuitem-link ui-corner-all':true,'ui-state-disabled':child.disabled}\"\n [ngStyle]=\"child.style\" [class]=\"child.styleClass\"\n [fragment]=\"child.fragment\" [queryParamsHandling]=\"child.queryParamsHandling\" [preserveFragment]=\"child.preserveFragment\" [skipLocationChange]=\"child.skipLocationChange\" [replaceUrl]=\"child.replaceUrl\" [state]=\"child.state\">\n <span class=\"ui-submenu-icon pi pi-fw pi-caret-right\" *ngIf=\"child.items\"></span>\n <span class=\"ui-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"ui-menuitem-text\">{{child.label}}</span>\n </a>\n <p-contextMenuSub class=\"ui-submenu\" [parentActive]=\"item==activeItem\" [item]=\"child\" *ngIf=\"child.items\"></p-contextMenuSub>\n </li>\n </ng-template>\n </ul>\n `\n})\nexport class ContextMenuSub {\n\n @Input() item: MenuItem;\n\n @Input() root: boolean;\n\n @Input() get parentActive(): boolean {\n return this._parentActive;\n }\n set parentActive(value) {\n this._parentActive = value;\n if (!value) {\n this.activeItem = null;\n }\n }\n\n contextMenu: ContextMenu;\n\n constructor(@Inject(forwardRef(() => ContextMenu)) contextMenu) {\n this.contextMenu = contextMenu as ContextMenu;\n }\n\n activeItem: any;\n\n containerOffset: any;\n\n hideTimeout: any;\n\n _parentActive: boolean;\n\n onItemMouseEnter(event, item, menuitem) {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n\n if (menuitem.disabled) {\n return;\n }\n \n this.activeItem = item;\n \n let nextElement = item.children[0].nextElementSibling;\n if (nextElement) {\n let sublist = nextElement.children[0];\n sublist.style.zIndex = ++DomHandler.zindex;\n this.position(sublist, item);\n }\n }\n\n itemClick(event, item: MenuItem)  {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n event.preventDefault();\n }\n\n if (item.items)\n event.preventDefault();\n else\n this.contextMenu.hide();\n }\n\n listClick(event) {\n this.activeItem = null;\n }\n\n position(sublist, item) {\n this.containerOffset = DomHandler.getOffset(item.parentElement)\n let viewport = DomHandler.getViewport();\n let sublistWidth = sublist.offsetParent ? sublist.offsetWidth : DomHandler.getHiddenElementOuterWidth(sublist);\n let itemOuterWidth = DomHandler.getOuterWidth(item.children[0]);\n let itemOuterHeight = DomHandler.getOuterHeight(item.children[0]);\n let sublistHeight = sublist.offsetHeight ? sublist.offsetHeight : DomHandler.getHiddenElementOuterHeight(sublist);\n\n if ((parseInt(this.containerOffset.top) + itemOuterHeight + sublistHeight) > (viewport.height - DomHandler.calculateScrollbarHeight())) {\n sublist.style.bottom = '0px';\n }\n else {\n sublist.style.top = '0px';\n }\n\n if ((parseInt(this.containerOffset.left) + itemOuterWidth + sublistWidth) > (viewport.width - DomHandler.calculateScrollbarWidth())) {\n sublist.style.left = -sublistWidth + 'px';\n }\n else {\n sublist.style.left = itemOuterWidth + 'px';\n }\n }\n\n}\n\n@Component({\n selector: 'p-contextMenu',\n template: `\n <div #container [ngClass]=\"'ui-contextmenu ui-widget ui-widget-content ui-corner-all ui-shadow'\"\n [class]=\"styleClass\" [ngStyle]=\"style\">\n <p-contextMenuSub [item]=\"model\" [parentActive]=\"parentActive\" root=\"root\"></p-contextMenuSub>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ContextMenu implements AfterViewInit, OnDestroy {\n\n @Input() model: MenuItem[];\n\n @Input() global: boolean;\n\n @Input() target: any;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() appendTo: any;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() triggerEvent: string = 'contextmenu';\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n \n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n parentActive: boolean;\n\n documentClickListener: any;\n\n windowResizeListener: any;\n\n triggerEventListener: any;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public zone: NgZone) { }\n\n ngAfterViewInit() {\n if (this.global) {\n this.triggerEventListener = this.renderer.listen('document', this.triggerEvent, (event) => {\n this.show(event);\n event.preventDefault();\n });\n }\n else if (this.target) {\n this.triggerEventListener = this.renderer.listen(this.target, this.triggerEvent, (event) => {\n this.show(event);\n event.preventDefault();\n event.stopPropagation();\n });\n }\n\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.containerViewChild.nativeElement);\n else\n DomHandler.appendChild(this.containerViewChild.nativeElement, this.appendTo);\n }\n }\n\n show(event?: MouseEvent) {\n this.position(event);\n this.moveOnTop();\n this.containerViewChild.nativeElement.style.display = 'block';\n this.parentActive = true;\n DomHandler.fadeIn(this.containerViewChild.nativeElement, 250);\n this.bindGlobalListeners();\n\n if (event) {\n event.preventDefault();\n }\n\n this.onShow.emit();\n }\n\n hide() {\n this.containerViewChild.nativeElement.style.display = 'none';\n this.parentActive = false;\n this.unbindGlobalListeners();\n this.onHide.emit();\n }\n\n moveOnTop() {\n if (this.autoZIndex) {\n this.containerViewChild.nativeElement.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n }\n\n toggle(event?: MouseEvent) {\n if (this.containerViewChild.nativeElement.offsetParent)\n this.hide();\n else\n this.show(event);\n }\n\n position(event?: MouseEvent) {\n if (event) {\n let left = event.pageX + 1;\n let top = event.pageY + 1;\n let width = this.containerViewChild.nativeElement.offsetParent ? this.containerViewChild.nativeElement.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.containerViewChild.nativeElement);\n let height = this.containerViewChild.nativeElement.offsetParent ? this.containerViewChild.nativeElement.offsetHeight : DomHandler.getHiddenElementOuterHeight(this.containerViewChild.nativeElement);\n let viewport = DomHandler.getViewport();\n\n //flip\n if (left + width - document.body.scrollLeft > viewport.width) {\n left -= width;\n }\n\n //flip\n if (top + height - document.body.scrollTop > viewport.height) {\n top -= height;\n }\n\n //fit\n if (left < document.body.scrollLeft) {\n left = document.body.scrollLeft;\n }\n\n //fit\n if (top < document.body.scrollTop) {\n top = document.body.scrollTop;\n }\n\n this.containerViewChild.nativeElement.style.left = left + 'px';\n this.containerViewChild.nativeElement.style.top = top + 'px';\n }\n }\n\n bindGlobalListeners() {\n if (!this.documentClickListener) {\n this.documentClickListener = this.renderer.listen('document', 'click', (event) => {\n if (this.containerViewChild.nativeElement.offsetParent && this.isOutsideClicked(event) && event.button !== 2) {\n this.hide();\n }\n });\n }\n\n this.zone.runOutsideAngular(() => {\n if (!this.windowResizeListener) {\n this.windowResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.windowResizeListener);\n }\n });\n }\n\n unbindGlobalListeners() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n\n if (this.windowResizeListener) {\n window.removeEventListener('resize', this.windowResizeListener);\n this.windowResizeListener = null;\n }\n }\n\n onWindowResize(event) {\n if (this.containerViewChild.nativeElement.offsetParent) {\n this.hide();\n }\n }\n\n isOutsideClicked(event: Event) {\n return !(this.containerViewChild.nativeElement.isSameNode(event.target) || this.containerViewChild.nativeElement.contains(event.target));\n }\n\n ngOnDestroy() {\n this.unbindGlobalListeners();\n\n if (this.triggerEventListener) {\n this.triggerEventListener();\n }\n\n if (this.appendTo) {\n this.el.nativeElement.appendChild(this.containerViewChild.nativeElement);\n }\n }\n\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n exports: [ContextMenu, RouterModule],\n declarations: [ContextMenu, ContextMenuSub]\n})\nexport class ContextMenuModule { }\n"],"names":["DomHandler","Inject","forwardRef","Input","Component","EventEmitter","ElementRef","Renderer2","NgZone","Output","ViewChild","ChangeDetectionStrategy","NgModule","CommonModule","RouterModule"],"mappings":"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"}
\No newline at end of file