2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2019 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
38 import { Component, OnInit } from '@angular/core';
39 import { Router, NavigationEnd } from '@angular/router';
40 import { HeaderService } from '../../../shared/services/header/header.service';
41 import { CookieService } from 'ngx-cookie-service';
42 import { environment } from 'src/environments/environment';
45 selector: 'app-header',
46 templateUrl: './header.component.html',
47 styleUrls: ['./header.component.scss']
49 export class HeaderComponent implements OnInit {
50 public pushRightClass: string;
58 showHeader:boolean = true;
59 logOutURL = environment.baseUrl;
62 constructor(public router: Router,public headerService: HeaderService,public cookieService: CookieService) {
64 if(window.location.pathname.split('/').length > 3) {
65 var portNum = ( window.location.port === '' || window.location.port === '0' ) ? '' : ':'+ window.location.port;
66 this.logOutURL = window.location.protocol + "//" + window.location.hostname + portNum + window.location.pathname.substring(0, this.nthIndex(window.location.pathname, "/", 2) + 0) + '/logout.htm';
68 this.logOutURL = environment.baseUrl + 'logout.htm';
72 this.router.events.subscribe(val => {
74 val instanceof NavigationEnd &&
75 window.innerWidth <= 992 &&
84 if(this.cookieService.get('show_app_header') == 'false'){
85 this.showHeader = false;
88 this.pushRightClass = 'push-right';
89 this.appName= 'Portal SDK' ;
90 let result = this.headerService.getTopMenuItems();
91 result.subscribe(res => {
93 this.userFirstName = this.response.firstName;
94 this.userEmail = this.response.email;
95 this.userId = this.response.userid;
96 this.userName = this.response.userName;
101 isToggled(): boolean {
102 const dom: Element = document.querySelector('body');
103 return dom.classList.contains(this.pushRightClass);
107 const dom: any = document.querySelector('body');
108 dom.classList.toggle(this.pushRightClass);
112 localStorage.removeItem('isLoggedin');
115 nthIndex(str, pat, n) {
116 var L = str.length, i = -1;
117 while (n-- && i++ < L) {
118 i = str.indexOf(pat, i);