]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/share/context-menu/context-menu.service.ts
bfedf4232f4c4ae945edc71afdceb89c25968a73
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / share / context-menu / context-menu.service.ts
1 import {Injectable, EventEmitter, TemplateRef} from '@angular/core';
2 import {tap} from 'rxjs/operators';
3
4 /* Relay requests to/from the context menu directive and its 
5  * template container component */
6
7 export interface ContextMenuEntry {
8     value: string;
9     label: string;
10 }
11
12 export class ContextMenu {
13     id: number;
14     entries: ContextMenuEntry[];
15 }
16
17 @Injectable({providedIn: 'root'})
18 export class ContextMenuService {
19     
20     showMenuRequest: EventEmitter<ContextMenu>;
21     menuItemSelected: EventEmitter<ContextMenuEntry>;
22
23     menuTemplate: TemplateRef<any>;
24     activeMenu: ContextMenu;
25     
26     constructor() {
27         this.showMenuRequest = new EventEmitter<ContextMenu>();
28         this.menuItemSelected = new EventEmitter<ContextMenuEntry>();
29     }
30 }
31
32