@ctrl/ngx-rightclick 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('rxjs'), require('rxjs/operators')) :
3
3
  typeof define === 'function' && define.amd ? define('@ctrl/ngx-rightclick', ['exports', '@angular/core', '@angular/cdk/overlay', '@angular/cdk/portal', 'rxjs', 'rxjs/operators'], factory) :
4
4
  (global = global || self, factory((global.ctrl = global.ctrl || {}, global.ctrl['ngx-rightclick'] = {}), global.ng.core, global.ng.cdk.overlay, global.ng.cdk.portal, global.rxjs, global.rxjs.operators));
5
- }(this, function (exports, core, overlay, portal, rxjs, operators) { 'use strict';
5
+ }(this, (function (exports, core, overlay, portal, rxjs, operators) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -72,10 +72,11 @@
72
72
  }
73
73
 
74
74
  function __awaiter(thisArg, _arguments, P, generator) {
75
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
75
76
  return new (P || (P = Promise))(function (resolve, reject) {
76
77
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
77
78
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
78
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
79
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
79
80
  step((generator = generator.apply(thisArg, _arguments || [])).next());
80
81
  });
81
82
  }
@@ -113,14 +114,15 @@
113
114
  }
114
115
 
115
116
  function __values(o) {
116
- var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
117
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
117
118
  if (m) return m.call(o);
118
- return {
119
+ if (o && typeof o.length === "number") return {
119
120
  next: function () {
120
121
  if (o && i >= o.length) o = void 0;
121
122
  return { value: o && o[i++], done: !o };
122
123
  }
123
124
  };
125
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
124
126
  }
125
127
 
126
128
  function __read(o, n) {
@@ -199,6 +201,21 @@
199
201
 
200
202
  function __importDefault(mod) {
201
203
  return (mod && mod.__esModule) ? mod : { default: mod };
204
+ }
205
+
206
+ function __classPrivateFieldGet(receiver, privateMap) {
207
+ if (!privateMap.has(receiver)) {
208
+ throw new TypeError("attempted to get private field on non-instance");
209
+ }
210
+ return privateMap.get(receiver);
211
+ }
212
+
213
+ function __classPrivateFieldSet(receiver, privateMap, value) {
214
+ if (!privateMap.has(receiver)) {
215
+ throw new TypeError("attempted to set private field on non-instance");
216
+ }
217
+ privateMap.set(receiver, value);
218
+ return value;
202
219
  }
203
220
 
204
221
  var MenuPackage = /** @class */ (function () {
@@ -347,7 +364,7 @@
347
364
  scrollStrategy: this.scrollStrategy.close(),
348
365
  });
349
366
  var component = overlayRef.attach(componentPortal);
350
- var res = __assign({ overlayRef: overlayRef, component: component }, t, { menuClose: menuClose, menuAction: menuAction });
367
+ var res = __assign(__assign({ overlayRef: overlayRef, component: component }, t), { menuClose: menuClose, menuAction: menuAction });
351
368
  this.menus.push(res);
352
369
  return res;
353
370
  };
@@ -433,7 +450,7 @@
433
450
  { type: overlay.ScrollStrategyOptions },
434
451
  { type: core.Injector }
435
452
  ]; };
436
- ContextMenuService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ContextMenuService_Factory() { return new ContextMenuService(core.ɵɵinject(overlay.Overlay), core.ɵɵinject(overlay.ScrollStrategyOptions), core.ɵɵinject(core.INJECTOR)); }, token: ContextMenuService, providedIn: "root" });
453
+ ContextMenuService.ɵprov = core["ɵɵdefineInjectable"]({ factory: function ContextMenuService_Factory() { return new ContextMenuService(core["ɵɵinject"](overlay.Overlay), core["ɵɵinject"](overlay.ScrollStrategyOptions), core["ɵɵinject"](core.INJECTOR)); }, token: ContextMenuService, providedIn: "root" });
437
454
  ContextMenuService = __decorate([
438
455
  core.Injectable({ providedIn: 'root' })
439
456
  ], ContextMenuService);
@@ -703,5 +720,5 @@
703
720
 
704
721
  Object.defineProperty(exports, '__esModule', { value: true });
705
722
 
706
- }));
723
+ })));
707
724
  //# sourceMappingURL=ctrl-ngx-rightclick.umd.js.map
@@ -1 +1 @@
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 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 __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","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","tslib_1.__values","Overlay","ScrollStrategyOptions","Injector","Injectable","EventEmitter","tslib_1.__decorate","Input","Output","HostListener","Directive","Subject","Component","NgModule","PortalModule","OverlayModule"],"mappings":"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"}
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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"}
@@ -12,5 +12,5 @@
12
12
 
13
13
  See the Apache Version 2.0 License for specific language governing permissions
14
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&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}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),g=new o.ComponentPortal(n,void 0,d),f=this.overlay.create({positionStrategy:m,panelClass:"ngx-contextmenu",scrollStrategy:this.scrollStrategy.close()}),x=f.attach(g),b=u({overlayRef:f,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.ngInjectableDef=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})}));
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})}));
16
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","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__values","o","m","Symbol","iterator","next","value","done","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","tslib_1.__values","_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","tslib_1.__decorate","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 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 __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","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"]}
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"]}