1 import {Component, Input, Output, EventEmitter, OnInit, ViewChild,
2 AfterViewInit, TemplateRef, ViewEncapsulation} from '@angular/core';
3 import {ContextMenuService, ContextMenu, ContextMenuEntry} from './context-menu.service';
6 selector: 'eg-context-menu-container',
7 templateUrl: './context-menu-container.component.html',
8 styleUrls: ['context-menu-container.component.css'],
9 /* Our CSS affects the style of the popover, which may
10 * be beyond our reach for standard view encapsulation */
11 encapsulation: ViewEncapsulation.None
14 export class ContextMenuContainerComponent implements OnInit, AfterViewInit {
16 menuEntries: ContextMenuEntry[] = [];
17 @ViewChild('menuTemplate', {static: false}) menuTemplate: TemplateRef<any>;
19 constructor(private menuService: ContextMenuService) {}
23 this.menuService.showMenuRequest.subscribe(
24 (menu: ContextMenu) => {
26 this.menuEntries = menu.entries
31 this.menuService.menuTemplate = this.menuTemplate;
34 entryClicked(entry: ContextMenuEntry) {
35 this.menuService.menuItemSelected.emit(entry);