irish-monitor/src/app/admin/admin.component.ts

51 lines
2.3 KiB
TypeScript
Raw Normal View History

import {ChangeDetectorRef, Component, OnInit} from "@angular/core";
2023-11-02 15:39:57 +01:00
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";
2023-11-02 15:39:57 +01:00
@Component({
selector: 'admin',
template: `
<div class="sidebar_main_swipe uk-flex uk-background-default"
[class.sidebar_main_active]="open && (hasSidebar || hasInternalSidebar)"
[class.sidebar_mini]="!open && (hasSidebar || hasInternalSidebar)"
[class.sidebar_hover]="hover">
<dashboard-sidebar *ngIf="hasSidebar && !hasInternalSidebar && sideBarItems.length > 0" [items]="sideBarItems" [backItem]="backItem"></dashboard-sidebar>
<div class="uk-width-1-1">
<router-outlet></router-outlet>
</div>
</div>
2023-11-02 15:39:57 +01:00
`
})
export class AdminComponent extends SidebarBaseComponent implements OnInit {
stakeholder: Stakeholder;
2023-11-02 15:39:57 +01:00
2023-11-09 13:34:34 +01:00
constructor(protected _route: ActivatedRoute,
protected _router: Router,
protected layoutService: LayoutService,
protected cdr: ChangeDetectorRef,
private stakeholderService: StakeholderService) {
super();
2023-11-09 13:34:34 +01:00
this.initRouterParams(this._route);
2023-11-02 15:39:57 +01:00
}
ngOnInit() {
super.ngOnInit();
2023-11-02 15:39:57 +01:00
this.subscriptions.push(this.params.subscribe(params => {
this.sideBarItems = [];
2023-11-02 15:39:57 +01:00
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"));
}));
2023-11-02 15:39:57 +01:00
} else {
this.stakeholderService.setStakeholder(null);
}
}));
}
}