/* * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright © 2019 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * * https://creativecommons.org/licenses/by/4.0/ * * Unless required by applicable law or agreed to in writing, documentation * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * ============LICENSE_END============================================ * * */ import { Component, OnInit } from '@angular/core'; import { Router, NavigationEnd } from '@angular/router'; import { HeaderService } from '../../../shared/services/header/header.service'; import { CookieService } from 'ngx-cookie-service'; import { environment } from 'src/environments/environment'; @Component({ selector: 'app-header', templateUrl: './header.component.html', styleUrls: ['./header.component.scss'] }) export class HeaderComponent implements OnInit { public pushRightClass: string; isAppCentralized; userFirstName:string; userEmail:string; userId:string; response:any; userName; appName:string; showHeader:boolean = true; logOutURL = environment.baseUrl; constructor(public router: Router,public headerService: HeaderService,public cookieService: CookieService) { if(window.location.pathname.split('/').length > 3) { var portNum = ( window.location.port === '' || window.location.port === '0' ) ? '' : ':'+ window.location.port; this.logOutURL = window.location.protocol + "//" + window.location.hostname + portNum + window.location.pathname.substring(0, this.nthIndex(window.location.pathname, "/", 2) + 0) + '/logout.htm'; } else { this.logOutURL = environment.baseUrl + 'logout.htm'; } this.router.events.subscribe(val => { if ( val instanceof NavigationEnd && window.innerWidth <= 992 && this.isToggled() ) { this.toggleSidebar(); } }); } ngOnInit() { if(this.cookieService.get('show_app_header') == 'false'){ this.showHeader = false; } this.pushRightClass = 'push-right'; this.appName= 'Portal SDK' ; let result = this.headerService.getTopMenuItems(); result.subscribe(res => { this.response = res; this.userFirstName = this.response.firstName; this.userEmail = this.response.email; this.userId = this.response.userid; this.userName = this.response.userName; }); } isToggled(): boolean { const dom: Element = document.querySelector('body'); return dom.classList.contains(this.pushRightClass); } toggleSidebar() { const dom: any = document.querySelector('body'); dom.classList.toggle(this.pushRightClass); } onLoggedout() { localStorage.removeItem('isLoggedin'); } nthIndex(str, pat, n) { var L = str.length, i = -1; while (n-- && i++ < L) { i = str.indexOf(pat, i); if (i < 0) break; } return i; } }