1 import { Component, HostBinding, OnDestroy, OnInit } from '@angular/core';
3 import { Subscription } from 'rxjs';
5 import { Icons } from '../../../shared/enum/icons.enum';
6 import { Permissions } from '../../../shared/models/permissions';
7 import { AuthStorageService } from '../../../shared/services/auth-storage.service';
11 } from '../../../shared/services/feature-toggles.service';
12 import { SummaryService } from '../../../shared/services/summary.service';
15 selector: 'cd-navigation',
16 templateUrl: './navigation.component.html',
17 styleUrls: ['./navigation.component.scss']
19 export class NavigationComponent implements OnInit, OnDestroy {
20 @HostBinding('class.isPwdDisplayed') isPwdDisplayed = false;
22 permissions: Permissions;
23 enabledFeature$: FeatureTogglesMap$;
28 showMenuSidebar = true;
29 displayedSubMenu = '';
34 private subs = new Subscription();
37 private authStorageService: AuthStorageService,
38 private summaryService: SummaryService,
39 private featureToggles: FeatureTogglesService
41 this.permissions = this.authStorageService.getPermissions();
42 this.enabledFeature$ = this.featureToggles.get();
47 this.summaryService.subscribe((data: any) => {
51 this.summaryData = data;
55 this.authStorageService.isPwdDisplayed$.subscribe((isDisplayed) => {
56 this.isPwdDisplayed = isDisplayed;
62 this.subs.unsubscribe();
66 if (this.summaryData && this.summaryData.rbd_mirroring) {
67 if (this.summaryData.rbd_mirroring.errors > 0) {
68 return { color: '#d9534f' };
69 } else if (this.summaryData.rbd_mirroring.warnings > 0) {
70 return { color: '#f0ad4e' };
77 toggleSubMenu(menu: string) {
78 if (this.displayedSubMenu === menu) {
79 this.displayedSubMenu = '';
81 this.displayedSubMenu = menu;