@ctrl/ngx-rightclick 2.1.0 → 3.0.0
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/bundles/ctrl-ngx-rightclick.umd.js +24 -7
- package/bundles/ctrl-ngx-rightclick.umd.js.map +1 -1
- package/bundles/ctrl-ngx-rightclick.umd.min.js +1 -1
- package/bundles/ctrl-ngx-rightclick.umd.min.js.map +1 -1
- package/ctrl-ngx-rightclick.metadata.json +1 -1
- package/esm2015/context-menu-trigger.directive.js +11 -11
- package/esm2015/context-menu.module.js +2 -2
- package/esm2015/context-menu.service.js +5 -5
- package/esm2015/context-submenu-trigger.directive.js +11 -11
- package/esm2015/menu.component.js +6 -6
- package/esm5/context-menu-trigger.directive.js +11 -11
- package/esm5/context-menu.module.js +2 -2
- package/esm5/context-menu.service.js +6 -6
- package/esm5/context-submenu-trigger.directive.js +11 -11
- package/esm5/menu.component.js +6 -6
- package/fesm2015/ctrl-ngx-rightclick.js +2 -2
- package/fesm2015/ctrl-ngx-rightclick.js.map +1 -1
- package/fesm5/ctrl-ngx-rightclick.js +2 -2
- package/fesm5/ctrl-ngx-rightclick.js.map +1 -1
- package/package.json +5 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ctrl-ngx-rightclick.js","sources":["ng://@ctrl/ngx-rightclick/context-menu-injector.ts","ng://@ctrl/ngx-rightclick/context-menu.service.ts","ng://@ctrl/ngx-rightclick/context-menu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/context-submenu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/menu.component.ts","ng://@ctrl/ngx-rightclick/context-menu.module.ts","ng://@ctrl/ngx-rightclick/ctrl-ngx-rightclick.ts"],"sourcesContent":["import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nimport { ActiveContextMenuSub } from './context-menu.service';\n\nexport class MenuPackage {\n constructor(public menu: ActiveContextMenuSub, public context: any) {}\n}\n\nexport class MenuInjector implements Injector {\n menuContext: MenuPackage;\n constructor(\n private activeContextMenu: ActiveContextMenuSub,\n private parentInjector: Injector,\n private context: any,\n ) {\n this.menuContext = new MenuPackage(activeContextMenu, context);\n }\n\n get<T>(token: any, notFoundValue?: T, flags?: InjectFlags): T | MenuPackage {\n if (token === MenuPackage) {\n return this.menuContext;\n }\n return this.parentInjector.get<T>(token, notFoundValue, flags);\n }\n}\n","import {\n Overlay,\n OverlayRef,\n ScrollStrategyOptions,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MenuInjector } from './context-menu-injector';\n\nexport interface ActiveContextMenuSub {\n id: number;\n isTriggerHovered: BehaviorSubject<boolean>;\n isMenuHovered: BehaviorSubject<boolean>;\n submenu: boolean;\n}\nexport interface ActiveContextMenu extends ActiveContextMenuSub {\n overlayRef: OverlayRef;\n component: any;\n menuClose: EventEmitter<void>;\n menuAction: EventEmitter<any>;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContextMenuService {\n menus: ActiveContextMenu[] = [];\n id = 0;\n\n constructor(\n private overlay: Overlay,\n private scrollStrategy: ScrollStrategyOptions,\n private injector: Injector,\n ) {}\n\n /**\n *\n * @param $event triggering event\n * @param menuComponent the component to be shown\n * @param submenu is a menu within a menu\n * @param level if submenu, what level\n */\n show(\n $event: MouseEvent,\n menuComponent,\n context: any,\n menuClose: EventEmitter<any>,\n menuAction: EventEmitter<any>,\n submenu = false,\n level?: number,\n ): ActiveContextMenu {\n let target: any;\n if (!submenu) {\n this.closeAll();\n target = {\n getBoundingClientRect: (): ClientRect => ({\n bottom: $event.clientY,\n height: 0,\n left: $event.clientX,\n right: $event.clientX,\n top: $event.clientY,\n width: 0,\n }),\n };\n } else {\n // close other submenus\n this.closeAll(undefined, level);\n target = $event.target;\n }\n const el = new ElementRef(target);\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(el)\n .withFlexibleDimensions(false);\n\n if (!submenu) {\n positionStrategy.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n ]);\n } else {\n positionStrategy.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n const t: ActiveContextMenuSub = {\n submenu,\n id: this.id++,\n isMenuHovered: new BehaviorSubject(false),\n isTriggerHovered: new BehaviorSubject(false),\n };\n const menuInjector = new MenuInjector(t, this.injector, context);\n const componentPortal = new ComponentPortal(\n menuComponent,\n undefined,\n menuInjector,\n );\n const overlayRef = this.overlay.create({\n positionStrategy,\n panelClass: 'ngx-contextmenu',\n scrollStrategy: this.scrollStrategy.close(),\n });\n const component = overlayRef.attach<any>(componentPortal);\n const res = { overlayRef, component, ...t, menuClose, menuAction };\n this.menus.push(res);\n return res;\n }\n getCurrentLevel() {\n return this.menus.length;\n }\n closeAll(context?: any, idx = 0) {\n for (let index = idx; index < this.menus.length; index++) {\n const menu = this.menus[index];\n this.destroyMenu(menu, context);\n }\n this.menus.splice(idx, this.menus.length);\n }\n destroyMenu(menu: ActiveContextMenu, context?: any) {\n menu.component.instance._state = 'exit';\n if (menu.component.instance.lazy) {\n menu.component.instance._animationDone\n .pipe(\n filter((event: any) => event.toState === 'exit'),\n take(1),\n )\n .subscribe(() => {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n });\n } else {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n }\n if (context) {\n menu.menuAction.next(context);\n }\n menu.menuClose.next();\n }\n close(menu: ActiveContextMenu, menuIndex: number, context?: any) {\n this.destroyMenu(menu, context);\n this.menus.splice(menuIndex, 1);\n }\n checkOutsideClick($event: MouseEvent) {\n for (const m of this.menus) {\n const clickedInside = m.component.location.nativeElement.contains(\n $event.target,\n );\n if (clickedInside) {\n $event.preventDefault();\n $event.stopPropagation();\n return;\n }\n }\n this.closeAll();\n }\n closeSubMenu(id: number): void {\n const menuIndex = this.menus.findIndex(n => n.id === id);\n if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {\n return;\n }\n // make sure we can close the current menu\n const menu = this.menus[menuIndex];\n if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {\n return;\n }\n // close all menus up if possible\n for (let index = this.menus.length - 1; index >= 1; index--) {\n const m = this.menus[index];\n if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {\n this.close(m, index);\n } else {\n return;\n }\n }\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContextMenuService, ActiveContextMenu } from './context-menu.service';\n\n@Directive({\n selector: '[contextMenuTrigger]',\n exportAs: 'contextMenuTrigger',\n})\nexport class ContextMenuTriggerDirective implements OnDestroy, OnInit {\n @Input() contextMenuTrigger: any;\n @Input() menuContext: any;\n @Input() holdToDisplay = 1000;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n @Output() beforeOpen = new EventEmitter<any>();\n\n menu: ActiveContextMenu;\n visible = false;\n private mouseDownTimeoutId: any;\n private sub: Subscription;\n\n @HostListener('contextmenu', ['$event'])\n handleMenu($event: MouseEvent) {\n let preventOpen = false;\n this.beforeOpen.emit({\n menuContext: this.menuContext,\n event: $event,\n preventOpen: () => {\n preventOpen = true;\n },\n });\n\n if (preventOpen) {\n return;\n }\n\n $event.preventDefault();\n this.menu = this.contextMenuService.show(\n $event,\n this.contextMenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n );\n this.visible = true;\n }\n\n @HostListener('touchstart', ['$event'])\n handleMouseDown($event: any) {\n if (this.holdToDisplay >= 0) {\n $event.stopPropagation();\n $event.clientY = $event.touches[0].clientY;\n $event.clientX = $event.touches[0].clientX;\n\n this.mouseDownTimeoutId = setTimeout(\n () => this.handleMenu($event),\n this.holdToDisplay,\n );\n }\n }\n\n @HostListener('touchend')\n handleMouseUp() {\n clearTimeout(this.mouseDownTimeoutId);\n }\n\n constructor(private contextMenuService: ContextMenuService) {}\n\n ngOnInit() {\n this.sub = this.menuClose.subscribe(() => (this.visible = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { ActiveContextMenu, ContextMenuService } from './context-menu.service';\n\n@Directive({ selector: '[contextSubmenuTrigger]' })\nexport class ContextSubmenuTriggerDirective implements OnDestroy {\n @Input() hoverDelay = 500;\n @Input() openDelay = 200;\n @Input() contextSubmenuTrigger?: any;\n @Input() menuContext?: any;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n menu: ActiveContextMenu;\n opentimer: any;\n closetimer: any;\n visible = false;\n level = 1;\n\n constructor(private contextMenuService: ContextMenuService) {\n // get current level\n setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));\n }\n\n @HostListener('click', ['$event'])\n handleSubMenuClick($event: MouseEvent) {\n $event.preventDefault();\n $event.stopPropagation();\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n }\n\n @HostListener('mouseover', ['$event'])\n handleSubMenuEnter($event: MouseEvent) {\n if (this.menu) {\n this.menu.isTriggerHovered.next(true);\n }\n clearTimeout(this.closetimer);\n this.opentimer = setTimeout(() => {\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n this.opentimer = null;\n }, this.openDelay);\n }\n\n /**\n * submenu hides after cursor has exited for a period of time\n */\n @HostListener('mouseout')\n handleSubMenuExit() {\n clearTimeout(this.opentimer);\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n }\n this.closetimer = setTimeout(() => {\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n this.contextMenuService.closeSubMenu(this.menu.id);\n this.menu = undefined;\n }\n this.visible = false;\n }, this.hoverDelay);\n }\n\n /**\n * if overwritten make sure to clear timeouts\n */\n ngOnDestroy() {\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n }\n}\n","import { Component, HostListener, HostBinding } from '@angular/core';\nimport { AnimationEvent } from '@angular/animations';\n\nimport { ContextMenuService } from './context-menu.service';\nimport { MenuPackage } from './context-menu-injector';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-menu',\n template: ``,\n})\nexport class MenuComponent {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n _animationDone = new Subject<AnimationEvent>();\n /** set lazy to False if you do not have animations */\n lazy = true;\n closetimer: any;\n\n constructor(\n public menuPackage: MenuPackage,\n public contextMenuService: ContextMenuService,\n ) {}\n\n @HostListener('mouseover')\n handleMouseover() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(true);\n clearTimeout(this.closetimer);\n }\n\n @HostListener('mouseleave')\n handleMouseleave() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(false);\n this.closetimer = setTimeout(() => {\n this.contextMenuService.closeSubMenu(this.menuPackage.menu.id);\n }, 500);\n }\n\n @HostListener('document:click', ['$event'])\n handleWindowClick($event: MouseEvent) {\n this.contextMenuService.checkOutsideClick($event);\n }\n\n /** Callback that is invoked when the menu animation completes. */\n @HostListener('@menu.done', ['$event'])\n _onAnimationDone(event: AnimationEvent) {\n this._animationDone.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ContextMenuTriggerDirective } from './context-menu-trigger.directive';\nimport { ContextSubmenuTriggerDirective } from './context-submenu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ContextMenuTriggerDirective,\n ContextSubmenuTriggerDirective,\n MenuComponent,\n ],\n exports: [ContextMenuTriggerDirective, ContextSubmenuTriggerDirective],\n imports: [PortalModule, OverlayModule],\n})\nexport class ContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;MAIa,WAAW;IACtB,YAAmB,IAA0B,EAAS,OAAY;QAA/C,SAAI,GAAJ,IAAI,CAAsB;QAAS,YAAO,GAAP,OAAO,CAAK;KAAI;CACvE;AAED,MAAa,YAAY;IAEvB,YACU,iBAAuC,EACvC,cAAwB,EACxB,OAAY;QAFZ,sBAAiB,GAAjB,iBAAiB,CAAsB;QACvC,mBAAc,GAAd,cAAc,CAAU;QACxB,YAAO,GAAP,OAAO,CAAK;QAEpB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;KAChE;IAED,GAAG,CAAI,KAAU,EAAE,aAAiB,EAAE,KAAmB;QACvD,IAAI,KAAK,KAAK,WAAW,EAAE;YACzB,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAI,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;KAChE;CACF;;ICGY,kBAAkB,GAA/B,MAAa,kBAAkB;IAI7B,YACU,OAAgB,EAChB,cAAqC,EACrC,QAAkB;QAFlB,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAuB;QACrC,aAAQ,GAAR,QAAQ,CAAU;QAN5B,UAAK,GAAwB,EAAE,CAAC;QAChC,OAAE,GAAG,CAAC,CAAC;KAMH;;;;;;;;IASJ,IAAI,CACF,MAAkB,EAClB,aAAa,EACb,OAAY,EACZ,SAA4B,EAC5B,UAA6B,EAC7B,OAAO,GAAG,KAAK,EACf,KAAc;QAEd,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,GAAG;gBACP,qBAAqB,EAAE,OAAmB;oBACxC,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,MAAM,EAAE,CAAC;oBACT,IAAI,EAAE,MAAM,CAAC,OAAO;oBACpB,KAAK,EAAE,MAAM,CAAC,OAAO;oBACrB,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,KAAK,EAAE,CAAC;iBACT,CAAC;aACH,CAAC;SACH;aAAM;;YAEL,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACxB;QACD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO;aAClC,QAAQ,EAAE;aACV,mBAAmB,CAAC,EAAE,CAAC;aACvB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,EAAE;YACZ,gBAAgB,CAAC,aAAa,CAAC;gBAC7B;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,QAAQ;iBACnB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,QAAQ;iBACnB;gBACD;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,QAAQ;iBACnB;aACF,CAAC,CAAC;SACJ;aAAM;YACL,gBAAgB,CAAC,aAAa,CAAC;gBAC7B;oBACE,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,QAAQ;iBACnB;gBACD;oBACE,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,QAAQ;iBACnB;aACF,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,GAAyB;YAC9B,OAAO;YACP,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACb,aAAa,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC;YACzC,gBAAgB,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC;SAC7C,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,aAAa,EACb,SAAS,EACT,YAAY,CACb,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,gBAAgB;YAChB,UAAU,EAAE,iBAAiB;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAM,eAAe,CAAC,CAAC;QAC1D,MAAM,GAAG,mBAAK,UAAU,EAAE,SAAS,IAAK,CAAC,IAAE,SAAS,EAAE,UAAU,GAAE,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;KACZ;IACD,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1B;IACD,QAAQ,CAAC,OAAa,EAAE,GAAG,GAAG,CAAC;QAC7B,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC3C;IACD,WAAW,CAAC,IAAuB,EAAE,OAAa;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc;iBACnC,IAAI,CACH,MAAM,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,EAChD,IAAI,CAAC,CAAC,CAAC,CACR;iBACA,SAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC3B,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;IACD,KAAK,CAAC,IAAuB,EAAE,SAAiB,EAAE,OAAa;QAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;KACjC;IACD,iBAAiB,CAAC,MAAkB;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAC/D,MAAM,CAAC,MAAM,CACd,CAAC;YACF,IAAI,aAAa,EAAE;gBACjB,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO;aACR;SACF;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IACD,YAAY,CAAC,EAAU;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3D,OAAO;SACR;;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;YACrE,OAAO;SACR;;QAED,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;gBACjE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACtB;iBAAM;gBACL,OAAO;aACR;SACF;KACF;CACF,CAAA;;YA1MoB,OAAO;YACA,qBAAqB;YAC3B,QAAQ;;;AAPjB,kBAAkB;IAD9B,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;GACtB,kBAAkB,CA+M9B;;ICzNY,2BAA2B,GAAxC,MAAa,2BAA2B;IA0DtC,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAvDjD,kBAAa,GAAG,IAAI,CAAC;QACpB,eAAU,GAAG,IAAI,YAAY,EAAO,CAAC;QACrC,cAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;QACrC,eAAU,GAAG,IAAI,YAAY,EAAO,CAAC;QAG/C,YAAO,GAAG,KAAK,CAAC;KAiD8C;IA5C9D,UAAU,CAAC,MAAkB;QAC3B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,MAAM;YACb,WAAW,EAAE;gBACX,WAAW,GAAG,IAAI,CAAC;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE;YACf,OAAO;SACR;QAED,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACtC,MAAM,EACN,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,eAAe,CAAC,MAAW;QACzB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YAC3B,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAE3C,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAClC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAC7B,IAAI,CAAC,aAAa,CACnB,CAAC;SACH;KACF;IAGD,aAAa;QACX,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvC;IAID,QAAQ;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;KACnE;IAED,WAAW;QACT,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACxB;CACF,CAAA;;YATyC,kBAAkB;;AAzDjDA;IAAR,KAAK,EAAE;uEAAyB;AACxBA;IAAR,KAAK,EAAE;gEAAkB;AACjBA;IAAR,KAAK,EAAE;kEAAsB;AACpBA;IAAT,MAAM,EAAE;+DAAsC;AACrCA;IAAT,MAAM,EAAE;8DAAsC;AACrCA;IAAT,MAAM,EAAE;+DAAsC;AAQ/CA;IADC,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;6DAwBvC;AAGDA;IADC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;kEAYtC;AAGDA;IADC,YAAY,CAAC,UAAU,CAAC;gEAGxB;AAxDU,2BAA2B;IAJvC,SAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,oBAAoB;KAC/B,CAAC;GACW,2BAA2B,CAmEvC;;ICxEY,8BAA8B,GAA3C,MAAa,8BAA8B;IAazC,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAZjD,eAAU,GAAG,GAAG,CAAC;QACjB,cAAS,GAAG,GAAG,CAAC;QAGf,eAAU,GAAG,IAAI,YAAY,EAAO,CAAC;QACrC,cAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;QAI/C,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,CAAC,CAAC;;QAIR,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KAC5E;IAGD,kBAAkB,CAAC,MAAkB;QACnC,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACtC,MAAM,EACN,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,kBAAkB,CAAC,MAAkB;QACnC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACtC,MAAM,EACN,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,IAAI,CAAC,KAAK,CACX,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACpB;;;;IAMD,iBAAiB;QACf,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;aACvB;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KACrB;;;;IAKD,WAAW;QACT,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;CACF,CAAA;;YAtEyC,kBAAkB;;AAZjDA;IAAR,KAAK,EAAE;kEAAkB;AACjBA;IAAR,KAAK,EAAE;iEAAiB;AAChBA;IAAR,KAAK,EAAE;6EAA6B;AAC5BA;IAAR,KAAK,EAAE;mEAAmB;AACjBA;IAAT,MAAM,EAAE;kEAAsC;AACrCA;IAAT,MAAM,EAAE;iEAAsC;AAa/CA;IADC,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;wEAgBjC;AAGDA;IADC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;wEAmBrC;AAMDA;IADC,YAAY,CAAC,UAAU,CAAC;uEAcxB;AA1EU,8BAA8B;IAD1C,SAAS,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;GACtC,8BAA8B,CAmF1C;;ICpFY,aAAa,GAA1B,MAAa,aAAa;IAQxB,YACS,WAAwB,EACxB,kBAAsC;QADtC,gBAAW,GAAX,WAAW,CAAa;QACxB,uBAAkB,GAAlB,kBAAkB,CAAoB;;QAR/C,WAAM,GAA8B,OAAO,CAAC;QAC5C,mBAAc,GAAG,IAAI,OAAO,EAAkB,CAAC;;QAE/C,SAAI,GAAG,IAAI,CAAC;KAMR;IAGJ,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;IAGD,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC3B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChE,EAAE,GAAG,CAAC,CAAC;KACT;IAGD,iBAAiB,CAAC,MAAkB;QAClC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACnD;;IAID,gBAAgB,CAAC,KAAqB;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;CACF,CAAA;;YAlCuB,WAAW;YACJ,kBAAkB;;AAI/CA;IADC,YAAY,CAAC,WAAW,CAAC;oDAOzB;AAGDA;IADC,YAAY,CAAC,YAAY,CAAC;qDAS1B;AAGDA;IADC,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;sDAG1C;AAIDA;IADC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;qDAGtC;AA1CU,aAAa;IAJzB,SAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;KACb,CAAC;GACW,aAAa,CA2CzB;;ICrCY,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAT7B,QAAQ,CAAC;QACR,YAAY,EAAE;YACZ,2BAA2B;YAC3B,8BAA8B;YAC9B,aAAa;SACd;QACD,OAAO,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;QACtE,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;KACvC,CAAC;GACW,iBAAiB,CAAG;;ACjBjC;;GAEG;;;;"}
|
1
|
+
{"version":3,"file":"ctrl-ngx-rightclick.js","sources":["ng://@ctrl/ngx-rightclick/context-menu-injector.ts","ng://@ctrl/ngx-rightclick/context-menu.service.ts","ng://@ctrl/ngx-rightclick/context-menu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/context-submenu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/menu.component.ts","ng://@ctrl/ngx-rightclick/context-menu.module.ts","ng://@ctrl/ngx-rightclick/ctrl-ngx-rightclick.ts"],"sourcesContent":["import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nimport { ActiveContextMenuSub } from './context-menu.service';\n\nexport class MenuPackage {\n constructor(public menu: ActiveContextMenuSub, public context: any) {}\n}\n\nexport class MenuInjector implements Injector {\n menuContext: MenuPackage;\n constructor(\n private activeContextMenu: ActiveContextMenuSub,\n private parentInjector: Injector,\n private context: any,\n ) {\n this.menuContext = new MenuPackage(activeContextMenu, context);\n }\n\n get<T>(token: any, notFoundValue?: T, flags?: InjectFlags): T | MenuPackage {\n if (token === MenuPackage) {\n return this.menuContext;\n }\n return this.parentInjector.get<T>(token, notFoundValue, flags);\n }\n}\n","import {\n Overlay,\n OverlayRef,\n ScrollStrategyOptions,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MenuInjector } from './context-menu-injector';\n\nexport interface ActiveContextMenuSub {\n id: number;\n isTriggerHovered: BehaviorSubject<boolean>;\n isMenuHovered: BehaviorSubject<boolean>;\n submenu: boolean;\n}\nexport interface ActiveContextMenu extends ActiveContextMenuSub {\n overlayRef: OverlayRef;\n component: any;\n menuClose: EventEmitter<void>;\n menuAction: EventEmitter<any>;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContextMenuService {\n menus: ActiveContextMenu[] = [];\n id = 0;\n\n constructor(\n private overlay: Overlay,\n private scrollStrategy: ScrollStrategyOptions,\n private injector: Injector,\n ) {}\n\n /**\n *\n * @param $event triggering event\n * @param menuComponent the component to be shown\n * @param submenu is a menu within a menu\n * @param level if submenu, what level\n */\n show(\n $event: MouseEvent,\n menuComponent,\n context: any,\n menuClose: EventEmitter<any>,\n menuAction: EventEmitter<any>,\n submenu = false,\n level?: number,\n ): ActiveContextMenu {\n let target: any;\n if (!submenu) {\n this.closeAll();\n target = {\n getBoundingClientRect: (): ClientRect => ({\n bottom: $event.clientY,\n height: 0,\n left: $event.clientX,\n right: $event.clientX,\n top: $event.clientY,\n width: 0,\n }),\n };\n } else {\n // close other submenus\n this.closeAll(undefined, level);\n target = $event.target;\n }\n const el = new ElementRef(target);\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(el)\n .withFlexibleDimensions(false);\n\n if (!submenu) {\n positionStrategy.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n ]);\n } else {\n positionStrategy.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n const t: ActiveContextMenuSub = {\n submenu,\n id: this.id++,\n isMenuHovered: new BehaviorSubject(false),\n isTriggerHovered: new BehaviorSubject(false),\n };\n const menuInjector = new MenuInjector(t, this.injector, context);\n const componentPortal = new ComponentPortal(\n menuComponent,\n undefined,\n menuInjector,\n );\n const overlayRef = this.overlay.create({\n positionStrategy,\n panelClass: 'ngx-contextmenu',\n scrollStrategy: this.scrollStrategy.close(),\n });\n const component = overlayRef.attach<any>(componentPortal);\n const res = { overlayRef, component, ...t, menuClose, menuAction };\n this.menus.push(res);\n return res;\n }\n getCurrentLevel() {\n return this.menus.length;\n }\n closeAll(context?: any, idx = 0) {\n for (let index = idx; index < this.menus.length; index++) {\n const menu = this.menus[index];\n this.destroyMenu(menu, context);\n }\n this.menus.splice(idx, this.menus.length);\n }\n destroyMenu(menu: ActiveContextMenu, context?: any) {\n menu.component.instance._state = 'exit';\n if (menu.component.instance.lazy) {\n menu.component.instance._animationDone\n .pipe(\n filter((event: any) => event.toState === 'exit'),\n take(1),\n )\n .subscribe(() => {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n });\n } else {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n }\n if (context) {\n menu.menuAction.next(context);\n }\n menu.menuClose.next();\n }\n close(menu: ActiveContextMenu, menuIndex: number, context?: any) {\n this.destroyMenu(menu, context);\n this.menus.splice(menuIndex, 1);\n }\n checkOutsideClick($event: MouseEvent) {\n for (const m of this.menus) {\n const clickedInside = m.component.location.nativeElement.contains(\n $event.target,\n );\n if (clickedInside) {\n $event.preventDefault();\n $event.stopPropagation();\n return;\n }\n }\n this.closeAll();\n }\n closeSubMenu(id: number): void {\n const menuIndex = this.menus.findIndex(n => n.id === id);\n if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {\n return;\n }\n // make sure we can close the current menu\n const menu = this.menus[menuIndex];\n if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {\n return;\n }\n // close all menus up if possible\n for (let index = this.menus.length - 1; index >= 1; index--) {\n const m = this.menus[index];\n if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {\n this.close(m, index);\n } else {\n return;\n }\n }\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContextMenuService, ActiveContextMenu } from './context-menu.service';\n\n@Directive({\n selector: '[contextMenuTrigger]',\n exportAs: 'contextMenuTrigger',\n})\nexport class ContextMenuTriggerDirective implements OnDestroy, OnInit {\n @Input() contextMenuTrigger: any;\n @Input() menuContext: any;\n @Input() holdToDisplay = 1000;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n @Output() beforeOpen = new EventEmitter<any>();\n\n menu: ActiveContextMenu;\n visible = false;\n private mouseDownTimeoutId: any;\n private sub: Subscription;\n\n @HostListener('contextmenu', ['$event'])\n handleMenu($event: MouseEvent) {\n let preventOpen = false;\n this.beforeOpen.emit({\n menuContext: this.menuContext,\n event: $event,\n preventOpen: () => {\n preventOpen = true;\n },\n });\n\n if (preventOpen) {\n return;\n }\n\n $event.preventDefault();\n this.menu = this.contextMenuService.show(\n $event,\n this.contextMenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n );\n this.visible = true;\n }\n\n @HostListener('touchstart', ['$event'])\n handleMouseDown($event: any) {\n if (this.holdToDisplay >= 0) {\n $event.stopPropagation();\n $event.clientY = $event.touches[0].clientY;\n $event.clientX = $event.touches[0].clientX;\n\n this.mouseDownTimeoutId = setTimeout(\n () => this.handleMenu($event),\n this.holdToDisplay,\n );\n }\n }\n\n @HostListener('touchend')\n handleMouseUp() {\n clearTimeout(this.mouseDownTimeoutId);\n }\n\n constructor(private contextMenuService: ContextMenuService) {}\n\n ngOnInit() {\n this.sub = this.menuClose.subscribe(() => (this.visible = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { ActiveContextMenu, ContextMenuService } from './context-menu.service';\n\n@Directive({ selector: '[contextSubmenuTrigger]' })\nexport class ContextSubmenuTriggerDirective implements OnDestroy {\n @Input() hoverDelay = 500;\n @Input() openDelay = 200;\n @Input() contextSubmenuTrigger?: any;\n @Input() menuContext?: any;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n menu: ActiveContextMenu;\n opentimer: any;\n closetimer: any;\n visible = false;\n level = 1;\n\n constructor(private contextMenuService: ContextMenuService) {\n // get current level\n setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));\n }\n\n @HostListener('click', ['$event'])\n handleSubMenuClick($event: MouseEvent) {\n $event.preventDefault();\n $event.stopPropagation();\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n }\n\n @HostListener('mouseover', ['$event'])\n handleSubMenuEnter($event: MouseEvent) {\n if (this.menu) {\n this.menu.isTriggerHovered.next(true);\n }\n clearTimeout(this.closetimer);\n this.opentimer = setTimeout(() => {\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n this.opentimer = null;\n }, this.openDelay);\n }\n\n /**\n * submenu hides after cursor has exited for a period of time\n */\n @HostListener('mouseout')\n handleSubMenuExit() {\n clearTimeout(this.opentimer);\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n }\n this.closetimer = setTimeout(() => {\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n this.contextMenuService.closeSubMenu(this.menu.id);\n this.menu = undefined;\n }\n this.visible = false;\n }, this.hoverDelay);\n }\n\n /**\n * if overwritten make sure to clear timeouts\n */\n ngOnDestroy() {\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n }\n}\n","import { Component, HostListener, HostBinding } from '@angular/core';\nimport { AnimationEvent } from '@angular/animations';\n\nimport { ContextMenuService } from './context-menu.service';\nimport { MenuPackage } from './context-menu-injector';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-menu',\n template: ``,\n})\nexport class MenuComponent {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n _animationDone = new Subject<AnimationEvent>();\n /** set lazy to False if you do not have animations */\n lazy = true;\n closetimer: any;\n\n constructor(\n public menuPackage: MenuPackage,\n public contextMenuService: ContextMenuService,\n ) {}\n\n @HostListener('mouseover')\n handleMouseover() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(true);\n clearTimeout(this.closetimer);\n }\n\n @HostListener('mouseleave')\n handleMouseleave() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(false);\n this.closetimer = setTimeout(() => {\n this.contextMenuService.closeSubMenu(this.menuPackage.menu.id);\n }, 500);\n }\n\n @HostListener('document:click', ['$event'])\n handleWindowClick($event: MouseEvent) {\n this.contextMenuService.checkOutsideClick($event);\n }\n\n /** Callback that is invoked when the menu animation completes. */\n @HostListener('@menu.done', ['$event'])\n _onAnimationDone(event: AnimationEvent) {\n this._animationDone.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ContextMenuTriggerDirective } from './context-menu-trigger.directive';\nimport { ContextSubmenuTriggerDirective } from './context-submenu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ContextMenuTriggerDirective,\n ContextSubmenuTriggerDirective,\n MenuComponent,\n ],\n exports: [ContextMenuTriggerDirective, ContextSubmenuTriggerDirective],\n imports: [PortalModule, OverlayModule],\n})\nexport class ContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -151,7 +151,7 @@ var ContextMenuService = /** @class */ (function () {
|
|
151
151
|
scrollStrategy: this.scrollStrategy.close(),
|
152
152
|
});
|
153
153
|
var component = overlayRef.attach(componentPortal);
|
154
|
-
var res = __assign({ overlayRef: overlayRef, component: component }, t, { menuClose: menuClose, menuAction: menuAction });
|
154
|
+
var res = __assign(__assign({ overlayRef: overlayRef, component: component }, t), { menuClose: menuClose, menuAction: menuAction });
|
155
155
|
this.menus.push(res);
|
156
156
|
return res;
|
157
157
|
};
|
@@ -237,7 +237,7 @@ var ContextMenuService = /** @class */ (function () {
|
|
237
237
|
{ type: ScrollStrategyOptions },
|
238
238
|
{ type: Injector }
|
239
239
|
]; };
|
240
|
-
ContextMenuService
|
240
|
+
ContextMenuService.ɵprov = ɵɵdefineInjectable({ factory: function ContextMenuService_Factory() { return new ContextMenuService(ɵɵinject(Overlay), ɵɵinject(ScrollStrategyOptions), ɵɵinject(INJECTOR)); }, token: ContextMenuService, providedIn: "root" });
|
241
241
|
ContextMenuService = __decorate([
|
242
242
|
Injectable({ providedIn: 'root' })
|
243
243
|
], ContextMenuService);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ctrl-ngx-rightclick.js","sources":["ng://@ctrl/ngx-rightclick/context-menu-injector.ts","ng://@ctrl/ngx-rightclick/context-menu.service.ts","ng://@ctrl/ngx-rightclick/context-menu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/context-submenu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/menu.component.ts","ng://@ctrl/ngx-rightclick/context-menu.module.ts","ng://@ctrl/ngx-rightclick/ctrl-ngx-rightclick.ts"],"sourcesContent":["import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nimport { ActiveContextMenuSub } from './context-menu.service';\n\nexport class MenuPackage {\n constructor(public menu: ActiveContextMenuSub, public context: any) {}\n}\n\nexport class MenuInjector implements Injector {\n menuContext: MenuPackage;\n constructor(\n private activeContextMenu: ActiveContextMenuSub,\n private parentInjector: Injector,\n private context: any,\n ) {\n this.menuContext = new MenuPackage(activeContextMenu, context);\n }\n\n get<T>(token: any, notFoundValue?: T, flags?: InjectFlags): T | MenuPackage {\n if (token === MenuPackage) {\n return this.menuContext;\n }\n return this.parentInjector.get<T>(token, notFoundValue, flags);\n }\n}\n","import {\n Overlay,\n OverlayRef,\n ScrollStrategyOptions,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MenuInjector } from './context-menu-injector';\n\nexport interface ActiveContextMenuSub {\n id: number;\n isTriggerHovered: BehaviorSubject<boolean>;\n isMenuHovered: BehaviorSubject<boolean>;\n submenu: boolean;\n}\nexport interface ActiveContextMenu extends ActiveContextMenuSub {\n overlayRef: OverlayRef;\n component: any;\n menuClose: EventEmitter<void>;\n menuAction: EventEmitter<any>;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContextMenuService {\n menus: ActiveContextMenu[] = [];\n id = 0;\n\n constructor(\n private overlay: Overlay,\n private scrollStrategy: ScrollStrategyOptions,\n private injector: Injector,\n ) {}\n\n /**\n *\n * @param $event triggering event\n * @param menuComponent the component to be shown\n * @param submenu is a menu within a menu\n * @param level if submenu, what level\n */\n show(\n $event: MouseEvent,\n menuComponent,\n context: any,\n menuClose: EventEmitter<any>,\n menuAction: EventEmitter<any>,\n submenu = false,\n level?: number,\n ): ActiveContextMenu {\n let target: any;\n if (!submenu) {\n this.closeAll();\n target = {\n getBoundingClientRect: (): ClientRect => ({\n bottom: $event.clientY,\n height: 0,\n left: $event.clientX,\n right: $event.clientX,\n top: $event.clientY,\n width: 0,\n }),\n };\n } else {\n // close other submenus\n this.closeAll(undefined, level);\n target = $event.target;\n }\n const el = new ElementRef(target);\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(el)\n .withFlexibleDimensions(false);\n\n if (!submenu) {\n positionStrategy.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n ]);\n } else {\n positionStrategy.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n const t: ActiveContextMenuSub = {\n submenu,\n id: this.id++,\n isMenuHovered: new BehaviorSubject(false),\n isTriggerHovered: new BehaviorSubject(false),\n };\n const menuInjector = new MenuInjector(t, this.injector, context);\n const componentPortal = new ComponentPortal(\n menuComponent,\n undefined,\n menuInjector,\n );\n const overlayRef = this.overlay.create({\n positionStrategy,\n panelClass: 'ngx-contextmenu',\n scrollStrategy: this.scrollStrategy.close(),\n });\n const component = overlayRef.attach<any>(componentPortal);\n const res = { overlayRef, component, ...t, menuClose, menuAction };\n this.menus.push(res);\n return res;\n }\n getCurrentLevel() {\n return this.menus.length;\n }\n closeAll(context?: any, idx = 0) {\n for (let index = idx; index < this.menus.length; index++) {\n const menu = this.menus[index];\n this.destroyMenu(menu, context);\n }\n this.menus.splice(idx, this.menus.length);\n }\n destroyMenu(menu: ActiveContextMenu, context?: any) {\n menu.component.instance._state = 'exit';\n if (menu.component.instance.lazy) {\n menu.component.instance._animationDone\n .pipe(\n filter((event: any) => event.toState === 'exit'),\n take(1),\n )\n .subscribe(() => {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n });\n } else {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n }\n if (context) {\n menu.menuAction.next(context);\n }\n menu.menuClose.next();\n }\n close(menu: ActiveContextMenu, menuIndex: number, context?: any) {\n this.destroyMenu(menu, context);\n this.menus.splice(menuIndex, 1);\n }\n checkOutsideClick($event: MouseEvent) {\n for (const m of this.menus) {\n const clickedInside = m.component.location.nativeElement.contains(\n $event.target,\n );\n if (clickedInside) {\n $event.preventDefault();\n $event.stopPropagation();\n return;\n }\n }\n this.closeAll();\n }\n closeSubMenu(id: number): void {\n const menuIndex = this.menus.findIndex(n => n.id === id);\n if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {\n return;\n }\n // make sure we can close the current menu\n const menu = this.menus[menuIndex];\n if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {\n return;\n }\n // close all menus up if possible\n for (let index = this.menus.length - 1; index >= 1; index--) {\n const m = this.menus[index];\n if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {\n this.close(m, index);\n } else {\n return;\n }\n }\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContextMenuService, ActiveContextMenu } from './context-menu.service';\n\n@Directive({\n selector: '[contextMenuTrigger]',\n exportAs: 'contextMenuTrigger',\n})\nexport class ContextMenuTriggerDirective implements OnDestroy, OnInit {\n @Input() contextMenuTrigger: any;\n @Input() menuContext: any;\n @Input() holdToDisplay = 1000;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n @Output() beforeOpen = new EventEmitter<any>();\n\n menu: ActiveContextMenu;\n visible = false;\n private mouseDownTimeoutId: any;\n private sub: Subscription;\n\n @HostListener('contextmenu', ['$event'])\n handleMenu($event: MouseEvent) {\n let preventOpen = false;\n this.beforeOpen.emit({\n menuContext: this.menuContext,\n event: $event,\n preventOpen: () => {\n preventOpen = true;\n },\n });\n\n if (preventOpen) {\n return;\n }\n\n $event.preventDefault();\n this.menu = this.contextMenuService.show(\n $event,\n this.contextMenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n );\n this.visible = true;\n }\n\n @HostListener('touchstart', ['$event'])\n handleMouseDown($event: any) {\n if (this.holdToDisplay >= 0) {\n $event.stopPropagation();\n $event.clientY = $event.touches[0].clientY;\n $event.clientX = $event.touches[0].clientX;\n\n this.mouseDownTimeoutId = setTimeout(\n () => this.handleMenu($event),\n this.holdToDisplay,\n );\n }\n }\n\n @HostListener('touchend')\n handleMouseUp() {\n clearTimeout(this.mouseDownTimeoutId);\n }\n\n constructor(private contextMenuService: ContextMenuService) {}\n\n ngOnInit() {\n this.sub = this.menuClose.subscribe(() => (this.visible = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { ActiveContextMenu, ContextMenuService } from './context-menu.service';\n\n@Directive({ selector: '[contextSubmenuTrigger]' })\nexport class ContextSubmenuTriggerDirective implements OnDestroy {\n @Input() hoverDelay = 500;\n @Input() openDelay = 200;\n @Input() contextSubmenuTrigger?: any;\n @Input() menuContext?: any;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n menu: ActiveContextMenu;\n opentimer: any;\n closetimer: any;\n visible = false;\n level = 1;\n\n constructor(private contextMenuService: ContextMenuService) {\n // get current level\n setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));\n }\n\n @HostListener('click', ['$event'])\n handleSubMenuClick($event: MouseEvent) {\n $event.preventDefault();\n $event.stopPropagation();\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n }\n\n @HostListener('mouseover', ['$event'])\n handleSubMenuEnter($event: MouseEvent) {\n if (this.menu) {\n this.menu.isTriggerHovered.next(true);\n }\n clearTimeout(this.closetimer);\n this.opentimer = setTimeout(() => {\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n this.opentimer = null;\n }, this.openDelay);\n }\n\n /**\n * submenu hides after cursor has exited for a period of time\n */\n @HostListener('mouseout')\n handleSubMenuExit() {\n clearTimeout(this.opentimer);\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n }\n this.closetimer = setTimeout(() => {\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n this.contextMenuService.closeSubMenu(this.menu.id);\n this.menu = undefined;\n }\n this.visible = false;\n }, this.hoverDelay);\n }\n\n /**\n * if overwritten make sure to clear timeouts\n */\n ngOnDestroy() {\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n }\n}\n","import { Component, HostListener, HostBinding } from '@angular/core';\nimport { AnimationEvent } from '@angular/animations';\n\nimport { ContextMenuService } from './context-menu.service';\nimport { MenuPackage } from './context-menu-injector';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-menu',\n template: ``,\n})\nexport class MenuComponent {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n _animationDone = new Subject<AnimationEvent>();\n /** set lazy to False if you do not have animations */\n lazy = true;\n closetimer: any;\n\n constructor(\n public menuPackage: MenuPackage,\n public contextMenuService: ContextMenuService,\n ) {}\n\n @HostListener('mouseover')\n handleMouseover() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(true);\n clearTimeout(this.closetimer);\n }\n\n @HostListener('mouseleave')\n handleMouseleave() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(false);\n this.closetimer = setTimeout(() => {\n this.contextMenuService.closeSubMenu(this.menuPackage.menu.id);\n }, 500);\n }\n\n @HostListener('document:click', ['$event'])\n handleWindowClick($event: MouseEvent) {\n this.contextMenuService.checkOutsideClick($event);\n }\n\n /** Callback that is invoked when the menu animation completes. */\n @HostListener('@menu.done', ['$event'])\n _onAnimationDone(event: AnimationEvent) {\n this._animationDone.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ContextMenuTriggerDirective } from './context-menu-trigger.directive';\nimport { ContextSubmenuTriggerDirective } from './context-submenu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ContextMenuTriggerDirective,\n ContextSubmenuTriggerDirective,\n MenuComponent,\n ],\n exports: [ContextMenuTriggerDirective, ContextSubmenuTriggerDirective],\n imports: [PortalModule, OverlayModule],\n})\nexport class ContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["tslib_1.__values","tslib_1.__decorate"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ctrl-ngx-rightclick.js","sources":["ng://@ctrl/ngx-rightclick/context-menu-injector.ts","ng://@ctrl/ngx-rightclick/context-menu.service.ts","ng://@ctrl/ngx-rightclick/context-menu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/context-submenu-trigger.directive.ts","ng://@ctrl/ngx-rightclick/menu.component.ts","ng://@ctrl/ngx-rightclick/context-menu.module.ts","ng://@ctrl/ngx-rightclick/ctrl-ngx-rightclick.ts"],"sourcesContent":["import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nimport { ActiveContextMenuSub } from './context-menu.service';\n\nexport class MenuPackage {\n constructor(public menu: ActiveContextMenuSub, public context: any) {}\n}\n\nexport class MenuInjector implements Injector {\n menuContext: MenuPackage;\n constructor(\n private activeContextMenu: ActiveContextMenuSub,\n private parentInjector: Injector,\n private context: any,\n ) {\n this.menuContext = new MenuPackage(activeContextMenu, context);\n }\n\n get<T>(token: any, notFoundValue?: T, flags?: InjectFlags): T | MenuPackage {\n if (token === MenuPackage) {\n return this.menuContext;\n }\n return this.parentInjector.get<T>(token, notFoundValue, flags);\n }\n}\n","import {\n Overlay,\n OverlayRef,\n ScrollStrategyOptions,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, Injectable, Injector, EventEmitter } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MenuInjector } from './context-menu-injector';\n\nexport interface ActiveContextMenuSub {\n id: number;\n isTriggerHovered: BehaviorSubject<boolean>;\n isMenuHovered: BehaviorSubject<boolean>;\n submenu: boolean;\n}\nexport interface ActiveContextMenu extends ActiveContextMenuSub {\n overlayRef: OverlayRef;\n component: any;\n menuClose: EventEmitter<void>;\n menuAction: EventEmitter<any>;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContextMenuService {\n menus: ActiveContextMenu[] = [];\n id = 0;\n\n constructor(\n private overlay: Overlay,\n private scrollStrategy: ScrollStrategyOptions,\n private injector: Injector,\n ) {}\n\n /**\n *\n * @param $event triggering event\n * @param menuComponent the component to be shown\n * @param submenu is a menu within a menu\n * @param level if submenu, what level\n */\n show(\n $event: MouseEvent,\n menuComponent,\n context: any,\n menuClose: EventEmitter<any>,\n menuAction: EventEmitter<any>,\n submenu = false,\n level?: number,\n ): ActiveContextMenu {\n let target: any;\n if (!submenu) {\n this.closeAll();\n target = {\n getBoundingClientRect: (): ClientRect => ({\n bottom: $event.clientY,\n height: 0,\n left: $event.clientX,\n right: $event.clientX,\n top: $event.clientY,\n width: 0,\n }),\n };\n } else {\n // close other submenus\n this.closeAll(undefined, level);\n target = $event.target;\n }\n const el = new ElementRef(target);\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(el)\n .withFlexibleDimensions(false);\n\n if (!submenu) {\n positionStrategy.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n ]);\n } else {\n positionStrategy.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n const t: ActiveContextMenuSub = {\n submenu,\n id: this.id++,\n isMenuHovered: new BehaviorSubject(false),\n isTriggerHovered: new BehaviorSubject(false),\n };\n const menuInjector = new MenuInjector(t, this.injector, context);\n const componentPortal = new ComponentPortal(\n menuComponent,\n undefined,\n menuInjector,\n );\n const overlayRef = this.overlay.create({\n positionStrategy,\n panelClass: 'ngx-contextmenu',\n scrollStrategy: this.scrollStrategy.close(),\n });\n const component = overlayRef.attach<any>(componentPortal);\n const res = { overlayRef, component, ...t, menuClose, menuAction };\n this.menus.push(res);\n return res;\n }\n getCurrentLevel() {\n return this.menus.length;\n }\n closeAll(context?: any, idx = 0) {\n for (let index = idx; index < this.menus.length; index++) {\n const menu = this.menus[index];\n this.destroyMenu(menu, context);\n }\n this.menus.splice(idx, this.menus.length);\n }\n destroyMenu(menu: ActiveContextMenu, context?: any) {\n menu.component.instance._state = 'exit';\n if (menu.component.instance.lazy) {\n menu.component.instance._animationDone\n .pipe(\n filter((event: any) => event.toState === 'exit'),\n take(1),\n )\n .subscribe(() => {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n });\n } else {\n menu.overlayRef.detach();\n menu.overlayRef.dispose();\n }\n if (context) {\n menu.menuAction.next(context);\n }\n menu.menuClose.next();\n }\n close(menu: ActiveContextMenu, menuIndex: number, context?: any) {\n this.destroyMenu(menu, context);\n this.menus.splice(menuIndex, 1);\n }\n checkOutsideClick($event: MouseEvent) {\n for (const m of this.menus) {\n const clickedInside = m.component.location.nativeElement.contains(\n $event.target,\n );\n if (clickedInside) {\n $event.preventDefault();\n $event.stopPropagation();\n return;\n }\n }\n this.closeAll();\n }\n closeSubMenu(id: number): void {\n const menuIndex = this.menus.findIndex(n => n.id === id);\n if (menuIndex === -1 || menuIndex !== this.menus.length - 1) {\n return;\n }\n // make sure we can close the current menu\n const menu = this.menus[menuIndex];\n if (menu.isMenuHovered.getValue() || menu.isTriggerHovered.getValue()) {\n return;\n }\n // close all menus up if possible\n for (let index = this.menus.length - 1; index >= 1; index--) {\n const m = this.menus[index];\n if (!m.isMenuHovered.getValue() && !m.isTriggerHovered.getValue()) {\n this.close(m, index);\n } else {\n return;\n }\n }\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContextMenuService, ActiveContextMenu } from './context-menu.service';\n\n@Directive({\n selector: '[contextMenuTrigger]',\n exportAs: 'contextMenuTrigger',\n})\nexport class ContextMenuTriggerDirective implements OnDestroy, OnInit {\n @Input() contextMenuTrigger: any;\n @Input() menuContext: any;\n @Input() holdToDisplay = 1000;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n @Output() beforeOpen = new EventEmitter<any>();\n\n menu: ActiveContextMenu;\n visible = false;\n private mouseDownTimeoutId: any;\n private sub: Subscription;\n\n @HostListener('contextmenu', ['$event'])\n handleMenu($event: MouseEvent) {\n let preventOpen = false;\n this.beforeOpen.emit({\n menuContext: this.menuContext,\n event: $event,\n preventOpen: () => {\n preventOpen = true;\n },\n });\n\n if (preventOpen) {\n return;\n }\n\n $event.preventDefault();\n this.menu = this.contextMenuService.show(\n $event,\n this.contextMenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n );\n this.visible = true;\n }\n\n @HostListener('touchstart', ['$event'])\n handleMouseDown($event: any) {\n if (this.holdToDisplay >= 0) {\n $event.stopPropagation();\n $event.clientY = $event.touches[0].clientY;\n $event.clientX = $event.touches[0].clientX;\n\n this.mouseDownTimeoutId = setTimeout(\n () => this.handleMenu($event),\n this.holdToDisplay,\n );\n }\n }\n\n @HostListener('touchend')\n handleMouseUp() {\n clearTimeout(this.mouseDownTimeoutId);\n }\n\n constructor(private contextMenuService: ContextMenuService) {}\n\n ngOnInit() {\n this.sub = this.menuClose.subscribe(() => (this.visible = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { ActiveContextMenu, ContextMenuService } from './context-menu.service';\n\n@Directive({ selector: '[contextSubmenuTrigger]' })\nexport class ContextSubmenuTriggerDirective implements OnDestroy {\n @Input() hoverDelay = 500;\n @Input() openDelay = 200;\n @Input() contextSubmenuTrigger?: any;\n @Input() menuContext?: any;\n @Output() menuAction = new EventEmitter<any>();\n @Output() menuClose = new EventEmitter<void>();\n menu: ActiveContextMenu;\n opentimer: any;\n closetimer: any;\n visible = false;\n level = 1;\n\n constructor(private contextMenuService: ContextMenuService) {\n // get current level\n setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));\n }\n\n @HostListener('click', ['$event'])\n handleSubMenuClick($event: MouseEvent) {\n $event.preventDefault();\n $event.stopPropagation();\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n }\n\n @HostListener('mouseover', ['$event'])\n handleSubMenuEnter($event: MouseEvent) {\n if (this.menu) {\n this.menu.isTriggerHovered.next(true);\n }\n clearTimeout(this.closetimer);\n this.opentimer = setTimeout(() => {\n this.menu = this.contextMenuService.show(\n $event,\n this.contextSubmenuTrigger,\n this.menuContext,\n this.menuClose,\n this.menuAction,\n true,\n this.level,\n );\n this.visible = true;\n this.opentimer = null;\n }, this.openDelay);\n }\n\n /**\n * submenu hides after cursor has exited for a period of time\n */\n @HostListener('mouseout')\n handleSubMenuExit() {\n clearTimeout(this.opentimer);\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n }\n this.closetimer = setTimeout(() => {\n if (this.menu) {\n this.menu.isTriggerHovered.next(false);\n this.contextMenuService.closeSubMenu(this.menu.id);\n this.menu = undefined;\n }\n this.visible = false;\n }, this.hoverDelay);\n }\n\n /**\n * if overwritten make sure to clear timeouts\n */\n ngOnDestroy() {\n clearTimeout(this.opentimer);\n clearTimeout(this.closetimer);\n }\n}\n","import { Component, HostListener, HostBinding } from '@angular/core';\nimport { AnimationEvent } from '@angular/animations';\n\nimport { ContextMenuService } from './context-menu.service';\nimport { MenuPackage } from './context-menu-injector';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-menu',\n template: ``,\n})\nexport class MenuComponent {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n _animationDone = new Subject<AnimationEvent>();\n /** set lazy to False if you do not have animations */\n lazy = true;\n closetimer: any;\n\n constructor(\n public menuPackage: MenuPackage,\n public contextMenuService: ContextMenuService,\n ) {}\n\n @HostListener('mouseover')\n handleMouseover() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(true);\n clearTimeout(this.closetimer);\n }\n\n @HostListener('mouseleave')\n handleMouseleave() {\n if (!this.menuPackage.menu.submenu) {\n return;\n }\n this.menuPackage.menu.isMenuHovered.next(false);\n this.closetimer = setTimeout(() => {\n this.contextMenuService.closeSubMenu(this.menuPackage.menu.id);\n }, 500);\n }\n\n @HostListener('document:click', ['$event'])\n handleWindowClick($event: MouseEvent) {\n this.contextMenuService.checkOutsideClick($event);\n }\n\n /** Callback that is invoked when the menu animation completes. */\n @HostListener('@menu.done', ['$event'])\n _onAnimationDone(event: AnimationEvent) {\n this._animationDone.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ContextMenuTriggerDirective } from './context-menu-trigger.directive';\nimport { ContextSubmenuTriggerDirective } from './context-submenu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ContextMenuTriggerDirective,\n ContextSubmenuTriggerDirective,\n MenuComponent,\n ],\n exports: [ContextMenuTriggerDirective, ContextSubmenuTriggerDirective],\n imports: [PortalModule, OverlayModule],\n})\nexport class ContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "../../node_modules/ng-packagr/package.schema.json",
|
3
3
|
"name": "@ctrl/ngx-rightclick",
|
4
|
-
"version": "
|
4
|
+
"version": "3.0.0",
|
5
5
|
"description": "GitHub Buttons for Angular. Star, Like, Follow and more",
|
6
6
|
"publishConfig": {
|
7
7
|
"access": "public"
|
8
8
|
},
|
9
9
|
"peerDependencies": {
|
10
|
-
"@angular/core": ">=
|
11
|
-
"@angular/
|
12
|
-
"
|
13
|
-
"rxjs": ">=6.2.0"
|
10
|
+
"@angular/core": ">=9.0.0-0",
|
11
|
+
"@angular/cdk": ">=9.0.0-0",
|
12
|
+
"tslib": "^1.10.0"
|
14
13
|
},
|
15
14
|
"author": "Scott Cooper <scttcper@gmail.com> (https://github.com/scttcper)",
|
16
15
|
"repository": "TypeCtrl/ngx-rightclick",
|
@@ -34,8 +33,5 @@
|
|
34
33
|
"fesm2015": "fesm2015/ctrl-ngx-rightclick.js",
|
35
34
|
"typings": "ctrl-ngx-rightclick.d.ts",
|
36
35
|
"metadata": "ctrl-ngx-rightclick.metadata.json",
|
37
|
-
"sideEffects": false
|
38
|
-
"dependencies": {
|
39
|
-
"tslib": "^1.9.0"
|
40
|
-
}
|
36
|
+
"sideEffects": false
|
41
37
|
}
|