1 import {Injectable, EventEmitter, TemplateRef} from '@angular/core';
2 import {tap} from 'rxjs/operators';
4 /* Relay requests to/from the context menu directive and its
5 * template container component */
7 export interface ContextMenuEntry {
13 export class ContextMenu {
15 entries: ContextMenuEntry[];
18 @Injectable({providedIn: 'root'})
19 export class ContextMenuService {
21 showMenuRequest: EventEmitter<ContextMenu>;
22 menuItemSelected: EventEmitter<ContextMenuEntry>;
24 menuTemplate: TemplateRef<any>;
25 activeMenu: ContextMenu;
28 this.showMenuRequest = new EventEmitter<ContextMenu>();
29 this.menuItemSelected = new EventEmitter<ContextMenuEntry>();