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 {
12 export class ContextMenu {
14 entries: ContextMenuEntry[];
17 @Injectable({providedIn: 'root'})
18 export class ContextMenuService {
20 showMenuRequest: EventEmitter<ContextMenu>;
21 menuItemSelected: EventEmitter<ContextMenuEntry>;
23 menuTemplate: TemplateRef<any>;
24 activeMenu: ContextMenu;
27 this.showMenuRequest = new EventEmitter<ContextMenu>();
28 this.menuItemSelected = new EventEmitter<ContextMenuEntry>();