@ctrl/ngx-rightclick 1.1.3 → 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.
Files changed (33) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -16
  3. package/bundles/ctrl-ngx-rightclick.umd.js +622 -658
  4. package/bundles/ctrl-ngx-rightclick.umd.js.map +1 -1
  5. package/bundles/ctrl-ngx-rightclick.umd.min.js +15 -1
  6. package/bundles/ctrl-ngx-rightclick.umd.min.js.map +1 -1
  7. package/context-menu-injector.d.ts +4 -4
  8. package/context-menu-trigger.directive.d.ts +1 -0
  9. package/context-menu.service.d.ts +2 -2
  10. package/context-submenu-trigger.directive.d.ts +3 -3
  11. package/ctrl-ngx-rightclick.metadata.json +1 -1
  12. package/esm2015/context-menu-injector.js +7 -52
  13. package/esm2015/context-menu-trigger.directive.js +52 -77
  14. package/esm2015/context-menu.module.js +16 -18
  15. package/esm2015/context-menu.service.js +19 -121
  16. package/esm2015/context-submenu-trigger.directive.js +38 -67
  17. package/esm2015/ctrl-ngx-rightclick.js +2 -6
  18. package/esm2015/menu.component.js +26 -64
  19. package/esm2015/public_api.js +7 -11
  20. package/esm5/context-menu-injector.js +8 -51
  21. package/esm5/context-menu-trigger.directive.js +54 -94
  22. package/esm5/context-menu.module.js +13 -16
  23. package/esm5/context-menu.service.js +20 -164
  24. package/esm5/context-submenu-trigger.directive.js +39 -88
  25. package/esm5/ctrl-ngx-rightclick.js +2 -6
  26. package/esm5/menu.component.js +26 -77
  27. package/esm5/public_api.js +7 -11
  28. package/fesm2015/ctrl-ngx-rightclick.js +143 -246
  29. package/fesm2015/ctrl-ngx-rightclick.js.map +1 -1
  30. package/fesm5/ctrl-ngx-rightclick.js +149 -336
  31. package/fesm5/ctrl-ngx-rightclick.js.map +1 -1
  32. package/menu.component.d.ts +1 -1
  33. package/package.json +5 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ctrl-ngx-rightclick.js.map","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"],"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';\n\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 menu: ActiveContextMenu;\n visible = false;\n private mouseDownTimeoutId: any;\n private sub: Subscription;\n\n @HostListener('contextmenu', ['$event'])\n handleMenu($event: MouseEvent) {\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 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 {\n ActiveContextMenu,\n ContextMenuService,\n} 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 @HostListener('click', ['$event', 'true'])\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', ['$event'])\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 constructor(private contextMenuService: ContextMenuService) {\n // get current level\n setTimeout(() => (this.level = this.contextMenuService.getCurrentLevel()));\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 } 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 @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 constructor(\n public menuPackage: MenuPackage,\n public contextMenuService: ContextMenuService,\n ) {}\n\n /** Callback that is invoked when the menu animation completes. */\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"],"names":["tslib_1.__values"],"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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"}
@@ -11,10 +11,10 @@ export declare class MenuComponent {
11
11
  /** set lazy to False if you do not have animations */
12
12
  lazy: boolean;
13
13
  closetimer: any;
14
+ constructor(menuPackage: MenuPackage, contextMenuService: ContextMenuService);
14
15
  handleMouseover(): void;
15
16
  handleMouseleave(): void;
16
17
  handleWindowClick($event: MouseEvent): void;
17
- constructor(menuPackage: MenuPackage, contextMenuService: ContextMenuService);
18
18
  /** Callback that is invoked when the menu animation completes. */
19
19
  _onAnimationDone(event: AnimationEvent): void;
20
20
  }
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": "1.1.3",
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": "^6.0.0 || ^7.0.0",
11
- "@angular/common": "^6.0.0 || ^7.0.0",
12
- "@angular/cdk": "^6.4.0 || ^7.0.0",
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
  }