UNPKG

bia-framework

Version:

Bia Framework to work with angular 2

49 lines (41 loc) 1.94 kB
import {Component, ViewEncapsulation} from "@angular/core"; import {NgFor, NgIf, NgClass} from "@angular/common"; import {RippleEffect} from "../ripple-effect/RippleEffect"; import {CoreNavegationDrawerService} from "./core-navegation-drawer.service"; import {CoreIcon} from "../core-icon/core-icon"; import {CoreImage} from "../core-image/CoreImage"; import {IUsuario} from "../../services/OdisseiaDataBase/IUsuario"; import {IMenuItem} from "../../models/ITopBar"; import {IDrawerGroup} from "../../models/IDrawerGroup"; @Component( { selector: 'core-navegation-drawer', encapsulation: ViewEncapsulation.None, templateUrl: "node_modules/bia-framework/components/core-navegation-drawer/core-navegation-drawer.template.html", styleUrls: ["node_modules/bia-framework/components/core-navegation-drawer/core-navegation-drawer.style.css"], directives: [CoreIcon, RippleEffect, NgFor, NgIf, CoreImage, NgClass] } ) export class CoreNavegationDrawer { private currentUser:IUsuario = null; private isVisible:boolean; private menuGroups:IDrawerGroup[] = []; private selectedIndex:number; constructor(private navegationDrawerService:CoreNavegationDrawerService) { this.navegationDrawerService.showDrawerSubject.subscribe(()=> this.isVisible = true); this.navegationDrawerService.hideDrawerSubject.subscribe(()=> this.isVisible = false); this.navegationDrawerService.menuGroupsSubject.subscribe((newGroup)=> this.addMenuItem(newGroup)); this.navegationDrawerService.usuarioSubject.subscribe((user:IUsuario)=> this.currentUser = user); } public selected = (item:IMenuItem):void => { if(item.Click) item.Click(); }; private addMenuItem = (newMenuGroup:IDrawerGroup):void => { this.menuGroups = [...this.menuGroups, newMenuGroup]; }; }