@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.
- package/LICENSE +1 -1
- package/README.md +5 -16
- package/bundles/ctrl-ngx-rightclick.umd.js +622 -658
- package/bundles/ctrl-ngx-rightclick.umd.js.map +1 -1
- package/bundles/ctrl-ngx-rightclick.umd.min.js +15 -1
- package/bundles/ctrl-ngx-rightclick.umd.min.js.map +1 -1
- package/context-menu-injector.d.ts +4 -4
- package/context-menu-trigger.directive.d.ts +1 -0
- package/context-menu.service.d.ts +2 -2
- package/context-submenu-trigger.directive.d.ts +3 -3
- package/ctrl-ngx-rightclick.metadata.json +1 -1
- package/esm2015/context-menu-injector.js +7 -52
- package/esm2015/context-menu-trigger.directive.js +52 -77
- package/esm2015/context-menu.module.js +16 -18
- package/esm2015/context-menu.service.js +19 -121
- package/esm2015/context-submenu-trigger.directive.js +38 -67
- package/esm2015/ctrl-ngx-rightclick.js +2 -6
- package/esm2015/menu.component.js +26 -64
- package/esm2015/public_api.js +7 -11
- package/esm5/context-menu-injector.js +8 -51
- package/esm5/context-menu-trigger.directive.js +54 -94
- package/esm5/context-menu.module.js +13 -16
- package/esm5/context-menu.service.js +20 -164
- package/esm5/context-submenu-trigger.directive.js +39 -88
- package/esm5/ctrl-ngx-rightclick.js +2 -6
- package/esm5/menu.component.js +26 -77
- package/esm5/public_api.js +7 -11
- package/fesm2015/ctrl-ngx-rightclick.js +143 -246
- package/fesm2015/ctrl-ngx-rightclick.js.map +1 -1
- package/fesm5/ctrl-ngx-rightclick.js +149 -336
- package/fesm5/ctrl-ngx-rightclick.js.map +1 -1
- package/menu.component.d.ts +1 -1
- package/package.json +5 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ctrl-ngx-rightclick.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","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":["ElementRef","BehaviorSubject","ComponentPortal","filter","take","tslib_1.__values","Injectable","Overlay","ScrollStrategyOptions","Injector","EventEmitter","Directive","Input","Output","HostListener","Subject","Component","NgModule","PortalModule","OverlayModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;AAcA,IAeO,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;AAED,aAkEgB,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO;YACH,IAAI,EAAE;gBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC3C;SACJ,CAAC;IACN,CAAC;;;;;;AC/GD;QACE,qBAAmB,IAA0B,EAAS,OAAY;YAA/C,SAAI,GAAJ,IAAI,CAAsB;YAAS,YAAO,GAAP,OAAO,CAAK;SAAI;QACxE,kBAAC;IAAD,CAAC,IAAA;;QAIC,sBACU,kBAAwC,EACxC,eAAyB,EACzB,OAAY;YAFZ,uBAAkB,GAAlB,kBAAkB,CAAsB;YACxC,oBAAe,GAAf,eAAe,CAAU;YACzB,YAAO,GAAP,OAAO,CAAK;YAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;SAClE;;;;;;;;QAED,0BAAG;;;;;;;YAAH,UAAO,KAAU,EAAE,aAAiB,EAAE,KAAmB;gBACvD,IAAI,KAAK,KAAK,WAAW,EAAE;oBACzB,OAAO,IAAI,CAAC,YAAY,CAAC;iBAC1B;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAI,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;aACjE;QACH,mBAAC;IAAD,CAAC;;;;;;;QCOC,4BACU,OAAgB,EAChB,cAAqC,EACrC,SAAmB;YAFnB,YAAO,GAAP,OAAO,CAAS;YAChB,mBAAc,GAAd,cAAc,CAAuB;YACrC,cAAS,GAAT,SAAS,CAAU;YAN7B,UAAK,GAAwB,EAAE,CAAC;YAChC,OAAE,GAAG,CAAC,CAAC;SAMH;;;;;;;;;;;;;;;;;;;QASJ,iCAAI;;;;;;;;;;;YAAJ,UACE,MAAkB,EAClB,aAAa,EACb,OAAY,EACZ,SAA4B,EAC5B,UAA6B,EAC7B,OAAe,EACf,KAAc;gBADd,wBAAA;oBAAA,eAAe;;;oBAGX,MAAW;gBACf,IAAI,CAAC,OAAO,EAAE;oBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,MAAM,GAAG;wBACP,qBAAqB,EAAE;4BAAkB,QAAC;gCACxC,MAAM,EAAE,MAAM,CAAC,OAAO;gCACtB,MAAM,EAAE,CAAC;gCACT,IAAI,EAAE,MAAM,CAAC,OAAO;gCACpB,KAAK,EAAE,MAAM,CAAC,OAAO;gCACrB,GAAG,EAAE,MAAM,CAAC,OAAO;gCACnB,KAAK,EAAE,CAAC;6BACT;yBAAC;qBACH,CAAC;iBACH;qBAAM;;oBAEL,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;iBACxB;;oBACK,EAAE,GAAG,IAAIA,aAAU,CAAC,MAAM,CAAC;;oBAC3B,gBAAgB,GAAG,IAAI,CAAC,OAAO;qBAClC,QAAQ,EAAE;qBACV,mBAAmB,CAAC,EAAE,CAAC;qBACvB,sBAAsB,CAAC,KAAK,CAAC;gBAEhC,IAAI,CAAC,OAAO,EAAE;oBACZ,gBAAgB,CAAC,aAAa,CAAC;wBAC7B;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,KAAK;yBAChB;wBACD;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,QAAQ;yBACnB;wBACD;4BACE,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,KAAK;yBAChB;wBACD;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;yBAChB;wBACD;4BACE,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,QAAQ;yBACnB;wBACD;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,QAAQ;yBACnB;qBACF,CAAC,CAAC;iBACJ;qBAAM;oBACL,gBAAgB,CAAC,aAAa,CAAC;wBAC7B;4BACE,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,KAAK;yBAChB;wBACD;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;yBAChB;wBACD;4BACE,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,QAAQ;yBACnB;wBACD;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,QAAQ;yBACnB;qBACF,CAAC,CAAC;iBACJ;;oBACK,CAAC,GAAyB;oBAC9B,OAAO,SAAA;oBACP,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;oBACb,aAAa,EAAE,IAAIC,oBAAe,CAAC,KAAK,CAAC;oBACzC,gBAAgB,EAAE,IAAIA,oBAAe,CAAC,KAAK,CAAC;iBAC7C;;oBACK,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;;oBAC3D,eAAe,GAAG,IAAIC,sBAAe,CACzC,aAAa,EACb,SAAS,EACT,YAAY,CACb;;oBACK,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBACrC,gBAAgB,kBAAA;oBAChB,UAAU,EAAE,iBAAiB;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;iBAC5C,CAAC;;oBACI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAM,eAAe,CAAC;;oBACnD,GAAG,cAAK,UAAU,YAAA,EAAE,SAAS,WAAA,IAAK,CAAC,IAAE,SAAS,WAAA,EAAE,UAAU,YAAA,GAAE;gBAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,GAAG,CAAC;aACZ;;;;QACD,4CAAe;;;YAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1B;;;;;;QACD,qCAAQ;;;;;YAAR,UAAS,OAAa,EAAE,GAAO;gBAAP,oBAAA;oBAAA,OAAO;;gBAC7B,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;wBAClD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBACjC;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC3C;;;;;;QACD,wCAAW;;;;;YAAX,UAAY,IAAuB,EAAE,OAAa;gBAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc;yBACnC,IAAI,CACHC,gBAAM,CAAC,UAAC,KAAU,IAAK,OAAA,KAAK,CAAC,OAAO,KAAK,MAAM,GAAA,CAAC,EAChDC,cAAI,CAAC,CAAC,CAAC,CACR;yBACA,SAAS,CAAC;wBACT,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;qBAC3B,CAAC,CAAC;iBACN;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;iBAC3B;gBACD,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aACvB;;;;;;;QACD,kCAAK;;;;;;YAAL,UAAM,IAAuB,EAAE,SAAiB,EAAE,OAAa;gBAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aACjC;;;;;QACD,8CAAiB;;;;YAAjB,UAAkB,MAAkB;;;oBAClC,KAAgB,IAAA,KAAAC,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;wBAAvB,IAAM,CAAC,WAAA;;4BACJ,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAC/D,MAAM,CAAC,MAAM,CACd;wBACD,IAAI,aAAa,EAAE;4BACjB,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,MAAM,CAAC,eAAe,EAAE,CAAC;4BACzB,OAAO;yBACR;qBACF;;;;;;;;;;;;;;;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;;;;;QACD,yCAAY;;;;YAAZ,UAAa,EAAU;;oBACf,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC;gBACxD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3D,OAAO;iBACR;;;oBAEK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;oBACrE,OAAO;iBACR;;gBAED,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;;wBACrD,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC3B,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;wBACjE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBACtB;yBAAM;wBACL,OAAO;qBACR;iBACF;aACF;;oBA/MFC,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;wBAzBhCC,UAAO;wBAEPC,wBAAqB;wBAGUC,WAAQ;;;;iCANzC;KA0BA;;;;;;AC1BA;QA6DE,qCAAoB,kBAAsC;YAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;YAxCjD,kBAAa,GAAG,IAAI,CAAC;YACpB,eAAU,GAAG,IAAIC,eAAY,EAAO,CAAC;YACrC,cAAS,GAAG,IAAIA,eAAY,EAAQ,CAAC;YAE/C,YAAO,GAAG,KAAK,CAAC;SAoC8C;;;;;QA/B9D,gDAAU;;;;YADV,UACW,MAAkB;gBAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,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;gBACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;;;;;QAGD,qDAAe;;;;YADf,UACgB,MAAW;gBAD3B,iBAYC;gBAVC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;oBAC3B,MAAM,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAE3C,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAClC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAA,EAC7B,IAAI,CAAC,aAAa,CACnB,CAAC;iBACH;aACF;;;;QAGD,mDAAa;;;YADb;gBAEE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACvC;;;;QAID,8CAAQ;;;YAAR;gBAAA,iBAEC;gBADC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,GAAG,KAAK,GAAA,CAAC,CAAC;aACjE;;;;QACD,iDAAW;;;YAAX;gBACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;aACxB;;oBAtDFC,YAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,QAAQ,EAAE,oBAAoB;qBAC/B;;;;;wBALQ,kBAAkB;;;;yCAOxBC,QAAK;kCACLA,QAAK;oCACLA,QAAK;iCACLC,SAAM;gCACNA,SAAM;iCAMNC,eAAY,SAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;sCAatCA,eAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;oCAcrCA,eAAY,SAAC,UAAU;;QAa1B,kCAAC;KAvDD;;;;;;ACdA;QAsFE,wCAAoB,kBAAsC;YAA1D,iBAGC;YAHmB,uBAAkB,GAAlB,kBAAkB,CAAoB;YAtEjD,eAAU,GAAG,GAAG,CAAC;YACjB,cAAS,GAAG,GAAG,CAAC;YAGf,eAAU,GAAG,IAAIJ,eAAY,EAAO,CAAC;YACrC,cAAS,GAAG,IAAIA,eAAY,EAAQ,CAAC;YAI/C,YAAO,GAAG,KAAK,CAAC;YAChB,UAAK,GAAG,CAAC,CAAC;;YA8DR,UAAU,CAAC,cAAM,QAAC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAC,CAAC,CAAC;SAC5E;;;;;QA5DD,2DAAkB;;;;YADlB,UACmB,MAAkB;gBACnC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,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;gBACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;;;;;QAGD,2DAAkB;;;;YADlB,UACmB,MAAkB;gBADrC,iBAmBC;gBAjBC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvC;gBACD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;oBAC1B,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CACtC,MAAM,EACN,KAAI,CAAC,qBAAqB,EAC1B,KAAI,CAAC,WAAW,EAChB,KAAI,CAAC,SAAS,EACd,KAAI,CAAC,UAAU,EACf,IAAI,EACJ,KAAI,CAAC,KAAK,CACX,CAAC;oBACF,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;;;;;;;;QAMD,0DAAiB;;;;YADjB;gBAAA,iBAcC;gBAZC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxC;gBACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC3B,IAAI,KAAI,CAAC,IAAI,EAAE;wBACb,KAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvC,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnD,KAAI,CAAC,IAAI,GAAG,SAAS,CAAC;qBACvB;oBACD,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aACrB;;;;;;;;QAUD,oDAAW;;;;YAAX;gBACE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;;oBAnFFC,YAAS,SAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE;;;;;wBAHhD,kBAAkB;;;;iCAKjBC,QAAK;gCACLA,QAAK;4CACLA,QAAK;kCACLA,QAAK;iCACLC,SAAM;gCACNA,SAAM;yCAONC,eAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;yCAkBxCA,eAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;wCAwBpCA,eAAY,SAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;;QA4BtC,qCAAC;KApFD;;;;;;ACdA;QA4CE,uBACS,WAAwB,EACxB,kBAAsC;YADtC,gBAAW,GAAX,WAAW,CAAa;YACxB,uBAAkB,GAAlB,kBAAkB,CAAoB;;;;YAjC/C,WAAM,GAA8B,OAAO,CAAC;YAC5C,mBAAc,GAAG,IAAIC,YAAO,EAAkB,CAAC;;;;YAE/C,SAAI,GAAG,IAAI,CAAC;SA+BR;;;;QA3BJ,uCAAe;;;YADf;gBAEE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;oBAClC,OAAO;iBACR;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;;;;QAGD,wCAAgB;;;YADhB;gBAAA,iBASC;gBAPC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;oBAClC,OAAO;iBACR;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC3B,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAChE,EAAE,GAAG,CAAC,CAAC;aACT;;;;;QAGD,yCAAiB;;;;YADjB,UACkB,MAAkB;gBAClC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;aACnD;;;;;;;QAQD,wCAAgB;;;;;YAAhB,UAAiB,KAAqB;gBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;oBA7CFC,YAAS,SAAC;wBACT,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE,EAAE;qBACb;;;;;wBANQ,WAAW;wBADX,kBAAkB;;;;sCAgBxBF,eAAY,SAAC,WAAW;uCASxBA,eAAY,SAAC,YAAY;wCAWzBA,eAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;QAc5C,oBAAC;KA9CD;;;;;;ACPA;QAQA;SASiC;;oBAThCG,WAAQ,SAAC;wBACR,YAAY,EAAE;4BACZ,2BAA2B;4BAC3B,8BAA8B;4BAC9B,aAAa;yBACd;wBACD,OAAO,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;wBACtE,OAAO,EAAE,CAACC,mBAAY,EAAEC,gBAAa,CAAC;qBACvC;;QAC+B,wBAAC;KATjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
1
|
+
{"version":3,"file":"ctrl-ngx-rightclick.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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"],"names":["ElementRef","BehaviorSubject","ComponentPortal","filter","take","Overlay","ScrollStrategyOptions","Injector","Injectable","EventEmitter","Input","Output","HostListener","Directive","Subject","Component","NgModule","PortalModule","OverlayModule"],"mappings":"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"}
|
@@ -1,2 +1,16 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ctrl/ngx-rightclick",["exports","@angular/core","@angular/cdk/overlay","@angular/cdk/portal","rxjs","rxjs/operators"],t):t(((e=e||self).ctrl=e.ctrl||{},e.ctrl["ngx-rightclick"]={}),e.ng.core,e.ng.cdk.overlay,e.ng.cdk.portal,e.rxjs,e.rxjs.operators)}(this,(function(e,t,n,o,i,r){"use strict";
|
2
|
+
/*! *****************************************************************************
|
3
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
5
|
+
this file except in compliance with the License. You may obtain a copy of the
|
6
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
|
8
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
9
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
10
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
11
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
12
|
+
|
13
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
14
|
+
and limitations under the License.
|
15
|
+
***************************************************************************** */var u=function(){return(u=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function s(e,t,n,o){var i,r=arguments.length,u=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,n,o);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(u=(r<3?i(u):r>3?i(t,n,u):i(t,n))||u);return r>3&&u&&Object.defineProperty(t,n,u),u}function l(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var c=function(e,t){this.menu=e,this.context=t},a=function(){function e(e,t,n){this.activeContextMenu=e,this.parentInjector=t,this.context=n,this.menuContext=new c(e,n)}return e.prototype.get=function(e,t,n){return e===c?this.menuContext:this.parentInjector.get(e,t,n)},e}(),p=function(){function e(e,t,n){this.overlay=e,this.scrollStrategy=t,this.injector=n,this.menus=[],this.id=0}return e.prototype.show=function(e,n,r,s,l,c,p){var h;void 0===c&&(c=!1),c?(this.closeAll(void 0,p),h=e.target):(this.closeAll(),h={getBoundingClientRect:function(){return{bottom:e.clientY,height:0,left:e.clientX,right:e.clientX,top:e.clientY,width:0}}});var v=new t.ElementRef(h),m=this.overlay.position().flexibleConnectedTo(v).withFlexibleDimensions(!1);c?m.withPositions([{originX:"end",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"end",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"start",overlayY:"bottom"},{originX:"start",originY:"bottom",overlayX:"end",overlayY:"bottom"}]):m.withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"end",overlayY:"top"},{originX:"end",originY:"center",overlayX:"start",overlayY:"center"},{originX:"start",originY:"center",overlayX:"end",overlayY:"center"}]);var y={submenu:c,id:this.id++,isMenuHovered:new i.BehaviorSubject(!1),isTriggerHovered:new i.BehaviorSubject(!1)},d=new a(y,this.injector,r),f=new o.ComponentPortal(n,void 0,d),g=this.overlay.create({positionStrategy:m,panelClass:"ngx-contextmenu",scrollStrategy:this.scrollStrategy.close()}),x=g.attach(f),b=u(u({overlayRef:g,component:x},y),{menuClose:s,menuAction:l});return this.menus.push(b),b},e.prototype.getCurrentLevel=function(){return this.menus.length},e.prototype.closeAll=function(e,t){void 0===t&&(t=0);for(var n=t;n<this.menus.length;n++){var o=this.menus[n];this.destroyMenu(o,e)}this.menus.splice(t,this.menus.length)},e.prototype.destroyMenu=function(e,t){e.component.instance._state="exit",e.component.instance.lazy?e.component.instance._animationDone.pipe(r.filter((function(e){return"exit"===e.toState})),r.take(1)).subscribe((function(){e.overlayRef.detach(),e.overlayRef.dispose()})):(e.overlayRef.detach(),e.overlayRef.dispose()),t&&e.menuAction.next(t),e.menuClose.next()},e.prototype.close=function(e,t,n){this.destroyMenu(e,n),this.menus.splice(t,1)},e.prototype.checkOutsideClick=function(e){var t,n;try{for(var o=l(this.menus),i=o.next();!i.done;i=o.next()){if(i.value.component.location.nativeElement.contains(e.target))return e.preventDefault(),void e.stopPropagation()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}this.closeAll()},e.prototype.closeSubMenu=function(e){var t=this.menus.findIndex((function(t){return t.id===e}));if(-1!==t&&t===this.menus.length-1){var n=this.menus[t];if(!n.isMenuHovered.getValue()&&!n.isTriggerHovered.getValue())for(var o=this.menus.length-1;o>=1;o--){var i=this.menus[o];if(i.isMenuHovered.getValue()||i.isTriggerHovered.getValue())return;this.close(i,o)}}},e.ctorParameters=function(){return[{type:n.Overlay},{type:n.ScrollStrategyOptions},{type:t.Injector}]},e.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new e(t["ɵɵinject"](n.Overlay),t["ɵɵinject"](n.ScrollStrategyOptions),t["ɵɵinject"](t.INJECTOR))},token:e,providedIn:"root"}),e=s([t.Injectable({providedIn:"root"})],e)}(),h=function(){function e(e){this.contextMenuService=e,this.holdToDisplay=1e3,this.menuAction=new t.EventEmitter,this.menuClose=new t.EventEmitter,this.beforeOpen=new t.EventEmitter,this.visible=!1}return e.prototype.handleMenu=function(e){var t=!1;this.beforeOpen.emit({menuContext:this.menuContext,event:e,preventOpen:function(){t=!0}}),t||(e.preventDefault(),this.menu=this.contextMenuService.show(e,this.contextMenuTrigger,this.menuContext,this.menuClose,this.menuAction),this.visible=!0)},e.prototype.handleMouseDown=function(e){var t=this;this.holdToDisplay>=0&&(e.stopPropagation(),e.clientY=e.touches[0].clientY,e.clientX=e.touches[0].clientX,this.mouseDownTimeoutId=setTimeout((function(){return t.handleMenu(e)}),this.holdToDisplay))},e.prototype.handleMouseUp=function(){clearTimeout(this.mouseDownTimeoutId)},e.prototype.ngOnInit=function(){var e=this;this.sub=this.menuClose.subscribe((function(){return e.visible=!1}))},e.prototype.ngOnDestroy=function(){this.sub.unsubscribe()},e.ctorParameters=function(){return[{type:p}]},s([t.Input()],e.prototype,"contextMenuTrigger",void 0),s([t.Input()],e.prototype,"menuContext",void 0),s([t.Input()],e.prototype,"holdToDisplay",void 0),s([t.Output()],e.prototype,"menuAction",void 0),s([t.Output()],e.prototype,"menuClose",void 0),s([t.Output()],e.prototype,"beforeOpen",void 0),s([t.HostListener("contextmenu",["$event"])],e.prototype,"handleMenu",null),s([t.HostListener("touchstart",["$event"])],e.prototype,"handleMouseDown",null),s([t.HostListener("touchend")],e.prototype,"handleMouseUp",null),e=s([t.Directive({selector:"[contextMenuTrigger]",exportAs:"contextMenuTrigger"})],e)}(),v=function(){function e(e){var n=this;this.contextMenuService=e,this.hoverDelay=500,this.openDelay=200,this.menuAction=new t.EventEmitter,this.menuClose=new t.EventEmitter,this.visible=!1,this.level=1,setTimeout((function(){return n.level=n.contextMenuService.getCurrentLevel()}))}return e.prototype.handleSubMenuClick=function(e){e.preventDefault(),e.stopPropagation(),clearTimeout(this.opentimer),clearTimeout(this.closetimer),this.menu=this.contextMenuService.show(e,this.contextSubmenuTrigger,this.menuContext,this.menuClose,this.menuAction,!0,this.level),this.visible=!0},e.prototype.handleSubMenuEnter=function(e){var t=this;this.menu&&this.menu.isTriggerHovered.next(!0),clearTimeout(this.closetimer),this.opentimer=setTimeout((function(){t.menu=t.contextMenuService.show(e,t.contextSubmenuTrigger,t.menuContext,t.menuClose,t.menuAction,!0,t.level),t.visible=!0,t.opentimer=null}),this.openDelay)},e.prototype.handleSubMenuExit=function(){var e=this;clearTimeout(this.opentimer),this.menu&&this.menu.isTriggerHovered.next(!1),this.closetimer=setTimeout((function(){e.menu&&(e.menu.isTriggerHovered.next(!1),e.contextMenuService.closeSubMenu(e.menu.id),e.menu=void 0),e.visible=!1}),this.hoverDelay)},e.prototype.ngOnDestroy=function(){clearTimeout(this.opentimer),clearTimeout(this.closetimer)},e.ctorParameters=function(){return[{type:p}]},s([t.Input()],e.prototype,"hoverDelay",void 0),s([t.Input()],e.prototype,"openDelay",void 0),s([t.Input()],e.prototype,"contextSubmenuTrigger",void 0),s([t.Input()],e.prototype,"menuContext",void 0),s([t.Output()],e.prototype,"menuAction",void 0),s([t.Output()],e.prototype,"menuClose",void 0),s([t.HostListener("click",["$event"])],e.prototype,"handleSubMenuClick",null),s([t.HostListener("mouseover",["$event"])],e.prototype,"handleSubMenuEnter",null),s([t.HostListener("mouseout")],e.prototype,"handleSubMenuExit",null),e=s([t.Directive({selector:"[contextSubmenuTrigger]"})],e)}(),m=function(){function e(e,t){this.menuPackage=e,this.contextMenuService=t,this._state="enter",this._animationDone=new i.Subject,this.lazy=!0}return e.prototype.handleMouseover=function(){this.menuPackage.menu.submenu&&(this.menuPackage.menu.isMenuHovered.next(!0),clearTimeout(this.closetimer))},e.prototype.handleMouseleave=function(){var e=this;this.menuPackage.menu.submenu&&(this.menuPackage.menu.isMenuHovered.next(!1),this.closetimer=setTimeout((function(){e.contextMenuService.closeSubMenu(e.menuPackage.menu.id)}),500))},e.prototype.handleWindowClick=function(e){this.contextMenuService.checkOutsideClick(e)},e.prototype._onAnimationDone=function(e){this._animationDone.next(e)},e.ctorParameters=function(){return[{type:c},{type:p}]},s([t.HostListener("mouseover")],e.prototype,"handleMouseover",null),s([t.HostListener("mouseleave")],e.prototype,"handleMouseleave",null),s([t.HostListener("document:click",["$event"])],e.prototype,"handleWindowClick",null),s([t.HostListener("@menu.done",["$event"])],e.prototype,"_onAnimationDone",null),e=s([t.Component({selector:"app-menu",template:""})],e)}(),y=function(){function e(){}return e=s([t.NgModule({declarations:[h,v,m],exports:[h,v],imports:[o.PortalModule,n.OverlayModule]})],e)}();e.ContextMenuModule=y,e.ContextMenuService=p,e.ContextMenuTriggerDirective=h,e.ContextSubmenuTriggerDirective=v,e.MenuComponent=m,e.MenuInjector=a,e.MenuPackage=c,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
16
|
//# sourceMappingURL=ctrl-ngx-rightclick.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["node_modules/tslib/tslib.es6.js","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"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","MenuPackage","menu","context","MenuInjector","_activeContextMenu","_parentInjector","_menuContext","get","token","notFoundValue","flags","ContextMenuService","overlay","scrollStrategy","_injector","menus","id","show","$event","menuComponent","menuClose","menuAction","submenu","level","target","closeAll","undefined","getBoundingClientRect","bottom","clientY","height","left","clientX","right","top","width","el","ElementRef","positionStrategy","position","flexibleConnectedTo","withFlexibleDimensions","withPositions","originX","originY","overlayX","overlayY","isMenuHovered","BehaviorSubject","isTriggerHovered","menuInjector","componentPortal","ComponentPortal","overlayRef","create","panelClass","close","component","attach","res","push","getCurrentLevel","idx","index","destroyMenu","splice","instance","_state","lazy","_animationDone","pipe","filter","event","toState","take","subscribe","detach","dispose","next","menuIndex","checkOutsideClick","_b","__values","o","m","Symbol","iterator","value","done","tslib_1.__values","_c","location","nativeElement","contains","preventDefault","stopPropagation","closeSubMenu","findIndex","getValue","Injectable","args","providedIn","Overlay","ScrollStrategyOptions","Injector","ContextMenuTriggerDirective","contextMenuService","holdToDisplay","EventEmitter","visible","handleMenu","contextMenuTrigger","menuContext","handleMouseDown","_this","touches","mouseDownTimeoutId","setTimeout","handleMouseUp","clearTimeout","ngOnInit","sub","ngOnDestroy","unsubscribe","Directive","selector","exportAs","Input","Output","HostListener","ContextSubmenuTriggerDirective","hoverDelay","openDelay","handleSubMenuClick","opentimer","closetimer","contextSubmenuTrigger","handleSubMenuEnter","handleSubMenuExit","MenuComponent","menuPackage","Subject","handleMouseover","handleMouseleave","handleWindowClick","_onAnimationDone","Component","template","ContextMenuModule","NgModule","declarations","exports","imports","PortalModule","OverlayModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","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"]}
|
1
|
+
{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","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"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__values","o","Symbol","iterator","m","next","value","done","TypeError","menu","context","MenuInjector","activeContextMenu","parentInjector","menuContext","MenuPackage","get","token","notFoundValue","flags","ContextMenuService","overlay","scrollStrategy","injector","menus","id","show","$event","menuComponent","menuClose","menuAction","submenu","level","closeAll","undefined","getBoundingClientRect","bottom","clientY","height","left","clientX","right","top","width","el","ElementRef","positionStrategy","position","flexibleConnectedTo","withFlexibleDimensions","withPositions","originX","originY","overlayX","overlayY","isMenuHovered","BehaviorSubject","isTriggerHovered","menuInjector","componentPortal","ComponentPortal","overlayRef","create","panelClass","close","component","attach","res","push","getCurrentLevel","idx","index","destroyMenu","splice","instance","_state","lazy","_animationDone","pipe","filter","event","toState","take","subscribe","detach","dispose","menuIndex","checkOutsideClick","_b","_c","location","nativeElement","contains","preventDefault","stopPropagation","closeSubMenu","findIndex","getValue","Overlay","ScrollStrategyOptions","Injector","Injectable","providedIn","ContextMenuTriggerDirective","contextMenuService","holdToDisplay","EventEmitter","beforeOpen","visible","handleMenu","preventOpen","emit","contextMenuTrigger","handleMouseDown","_this","touches","mouseDownTimeoutId","setTimeout","handleMouseUp","clearTimeout","ngOnInit","sub","ngOnDestroy","unsubscribe","Input","Output","HostListener","Directive","selector","exportAs","ContextSubmenuTriggerDirective","hoverDelay","openDelay","handleSubMenuClick","opentimer","closetimer","contextSubmenuTrigger","handleSubMenuEnter","handleSubMenuExit","MenuComponent","menuPackage","Subject","handleMouseover","handleMouseleave","handleWindowClick","_onAnimationDone","Component","template","ContextMenuModule","NgModule","declarations","exports","imports","PortalModule","OverlayModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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"]}
|
@@ -6,10 +6,10 @@ export declare class MenuPackage {
|
|
6
6
|
constructor(menu: ActiveContextMenuSub, context: any);
|
7
7
|
}
|
8
8
|
export declare class MenuInjector implements Injector {
|
9
|
-
private
|
10
|
-
private
|
9
|
+
private activeContextMenu;
|
10
|
+
private parentInjector;
|
11
11
|
private context;
|
12
|
-
|
13
|
-
constructor(
|
12
|
+
menuContext: MenuPackage;
|
13
|
+
constructor(activeContextMenu: ActiveContextMenuSub, parentInjector: Injector, context: any);
|
14
14
|
get<T>(token: any, notFoundValue?: T, flags?: InjectFlags): T | MenuPackage;
|
15
15
|
}
|
@@ -7,6 +7,7 @@ export declare class ContextMenuTriggerDirective implements OnDestroy, OnInit {
|
|
7
7
|
holdToDisplay: number;
|
8
8
|
menuAction: EventEmitter<any>;
|
9
9
|
menuClose: EventEmitter<void>;
|
10
|
+
beforeOpen: EventEmitter<any>;
|
10
11
|
menu: ActiveContextMenu;
|
11
12
|
visible: boolean;
|
12
13
|
private mouseDownTimeoutId;
|
@@ -16,10 +16,10 @@ export interface ActiveContextMenu extends ActiveContextMenuSub {
|
|
16
16
|
export declare class ContextMenuService {
|
17
17
|
private overlay;
|
18
18
|
private scrollStrategy;
|
19
|
-
private
|
19
|
+
private injector;
|
20
20
|
menus: ActiveContextMenu[];
|
21
21
|
id: number;
|
22
|
-
constructor(overlay: Overlay, scrollStrategy: ScrollStrategyOptions,
|
22
|
+
constructor(overlay: Overlay, scrollStrategy: ScrollStrategyOptions, injector: Injector);
|
23
23
|
/**
|
24
24
|
*
|
25
25
|
* @param $event triggering event
|
@@ -4,8 +4,8 @@ export declare class ContextSubmenuTriggerDirective implements OnDestroy {
|
|
4
4
|
private contextMenuService;
|
5
5
|
hoverDelay: number;
|
6
6
|
openDelay: number;
|
7
|
-
contextSubmenuTrigger
|
8
|
-
menuContext
|
7
|
+
contextSubmenuTrigger?: any;
|
8
|
+
menuContext?: any;
|
9
9
|
menuAction: EventEmitter<any>;
|
10
10
|
menuClose: EventEmitter<void>;
|
11
11
|
menu: ActiveContextMenu;
|
@@ -13,13 +13,13 @@ export declare class ContextSubmenuTriggerDirective implements OnDestroy {
|
|
13
13
|
closetimer: any;
|
14
14
|
visible: boolean;
|
15
15
|
level: number;
|
16
|
+
constructor(contextMenuService: ContextMenuService);
|
16
17
|
handleSubMenuClick($event: MouseEvent): void;
|
17
18
|
handleSubMenuEnter($event: MouseEvent): void;
|
18
19
|
/**
|
19
20
|
* submenu hides after cursor has exited for a period of time
|
20
21
|
*/
|
21
22
|
handleSubMenuExit(): void;
|
22
|
-
constructor(contextMenuService: ContextMenuService);
|
23
23
|
/**
|
24
24
|
* if overwritten make sure to clear timeouts
|
25
25
|
*/
|