import {ChangeDetectorRef, Component, OnInit} from "@angular/core"; import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service"; import {ActivatedRoute, Router} from "@angular/router"; import {SidebarBaseComponent} from "../openaireLibrary/dashboard/sharedComponents/sidebar/sidebar-base.component"; import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service"; import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder"; import {MenuItem} from "../openaireLibrary/sharedComponents/menu"; @Component({ selector: 'admin', template: `
` }) export class AdminComponent extends SidebarBaseComponent implements OnInit { stakeholder: Stakeholder; loading: boolean = true; constructor(protected _route: ActivatedRoute, protected _router: Router, protected layoutService: LayoutService, protected cdr: ChangeDetectorRef, private stakeholderService: StakeholderService) { super(); this.initRouterParams(this._route); } ngOnInit() { super.ngOnInit(); this.subscriptions.push(this.params.subscribe(params => { this.sideBarItems = []; this.loading = true; if(params['alias']) { this.subscriptions.push(this.stakeholderService.getStakeholder(params['alias']).subscribe(stakeholder => { this.stakeholder = stakeholder; this.sideBarItems.push(new MenuItem("general", "General", "", "/admin/" + this.stakeholder.alias, false, [], [], {}, {name: 'badge'})); this.sideBarItems.push(new MenuItem("indicators", "Indicators", "", "/admin/" + this.stakeholder.alias + '/indicators', false, [], [], {}, {name: 'bar_chart'}, null, "uk-visible@m")); this.backItem = new MenuItem("back", "Manage profiles", "", "/admin", false, [], null, {}, {name: 'west'}); this.loading = false; })); } else { this.stakeholderService.setStakeholder(null); this.hasSidebar = false; this.loading = false; } })); } }