import { Router } from "@angular/router"; import { Row } from "sigma-ng/datatable"; export class MenuItem { public text: string; public className: string; public icon: string; public tooltip: boolean = true; public onclick: (row: Row) => void; public isenable: (row: Row) => boolean = row => true; public constructor(text: string, onclick: (row: Row) => void, icon: string = '', className: string = '') { this.text = text; this.icon = icon; this.onclick = onclick; this.className = className; } } export enum MenuType { Default, HoverMenu, HoverInline, DropDown } export class Menu { public type: MenuType = MenuType.Default; public items: MenuItem[] = []; public isenable: (row: Row) => boolean = row => true; public getClass() { let className = ''; if (this.items.length == 0) className += 'hide '; switch (this.type) { case MenuType.HoverMenu: className += 'hover menu '; break; case MenuType.HoverInline: className += 'hover inline '; break; case MenuType.DropDown: className += 'dropdown '; break; case MenuType.Default: className += 'default '; break; } return className; } }