2 ============LICENSE_START==========================================
4 ===================================================================
5 Copyright © 2017 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============================================
36 ECOMP is a trademark and service mark of AT&T Intellectual Property.
38 <div class="header-position">
39 <header class="b2b-header-tabs" b2b-header-responsive>
40 <ul class="header__items" role="navigation">
41 <!-- Menu Icon and name -->
42 <li class="header__item icon__item" onclick="window.location = 'applicationsHome'">
43 <div ng-include class="profile-detail-extension" src="'app/views/header/header-logo.html'"></div>
44 <span id="portal-title" class="portal-title" ng-bind="ecompTitle"></span>
46 <!-- First Level menu -->
48 id="megaMenu-{{item.text.split(' ').join('-')}}"
49 class="header__item b2b-headermenu"
50 ng-repeat="item in megaMenuDataObject"
51 ng-mousedown="loadFavorites(item.text)"
54 <a href="javascript:void(0);"
55 id="parentmenu-{{item.text.split(' ').join('-')}}-tabs"
57 role="menuitem">{{item.text}}</a>
59 <div class="header-secondary-wrapper" ng-if="item.active_yn=='Y'" ng-hide="hideMenus">
60 <ul class="header-secondary" role="menu">
61 <!-- Second Level menu -->
62 <li class="header-subitem"
63 id="subItem-{{subItem.text.split(' ').join('-')}}"
65 ng-repeat="i in item.children | orderBy : 'column'"
66 ng-mousemove="submenuLevelAction(i.text,i.column)"
69 <div ng-if="i.text=='Favorites'" >
70 <a href="javascript:void(0);" class="menu__item" role="menuitem">{{i.text}}</a>
71 <i id="favorite-star" data-size="large" class="icon-star favorites-icon-active"></i>
72 <div class="header-columns-div" ng-show='favoritesWindow' ng-mouseleave="hideFavoritesWindow()" >
73 <div class="header-tertiary-wrapper" id="header-favorites">
74 <ul class="header-tertiary" role="menu">
75 <li role="presentation">
77 ng-repeat="subItem in favoritesMenuItems"
78 ng-show="showFavorites"
80 id="favoritesMenuItems-{{subItem.text.split(' ').join('-')}}">
81 <div class="fav-links">
82 <i id="favorite-selector-favorites-list"
83 class="icon-star favorites-icon-active"
84 data-ng-click="removeAsFavoriteItem($event, subItem.menuId)"
85 ng-mousedown="removeAsFavoriteItem($event, subItem.menuId)">
87 <a id="favorites-list" aria-label="{{subItem.text}}" ng-click="goToUrl(subItem)">{{subItem.text}}</a>
91 <div id="favorites-empty" class="favorites-window-empty" ng-show="emptyFavorites">
92 <p id="p-no-favs-icon" class="no-fav-icon">
93 <span class="icon-star" ></span>
95 <p id="p-no-favs" class="largeText">No Favorites</p>
96 <p id="p-no-favs-desc" class="normal">Add your favorite items for quick access.</p>
103 <!-- Support or Help -->
104 <div ng-if="item.text=='Support' || item.text=='Help'" id="second-level-menus-help">
105 <a id="second-level-menus-{{i.text.split(' ').join('-')}}-help" href="javascript:void(0);" ng-click="goToUrl(i);auditLog(i,'Support')" class="menu__item" role="menuitem">{{i.text| elipsis: 50}}</a>
108 <div ng-if="i.text!='Favorites' && (item.text!='Support' && item.text!='Help')" >
109 <a href="javascript:void(0);" class="menu__item" role="menuitem">{{i.text| elipsis: 50}}</a>
110 <div class="header-tertiary-wrapper" >
111 <ul class="third-level-menu" role="menu" id="third-level-menus">
112 <!-- Third Level menu -->
114 <li b2b-header-tertiarymenu ng-repeat="link in i.children | orderBy : 'column'" role="presentation" >
115 <i id="level3-star-inactive-{{link.menuId}}" ng-cloak
116 class="icon-star favorites-icon-inactive" data-size="large"
117 data-ng-click="setAsFavoriteItem($event, link.menuId)"
118 ng-if="link.url.length > 1 && isUrlFavorite(link.menuId)==false">
120 <i id="level3-star-active-{{link.menuId}}" ng-cloak
121 ng-if="link.url.length > 1 && isUrlFavorite(link.menuId)"
122 class="icon-star favorites-icon-active ng-cloak" data-size="large"
123 data-ng-click="removeAsFavoriteItem($event, link.menuId)">
126 <a class="third-level-title"
127 aria-label="{{link.text | elipsis: 50}}"
128 ng-click="goToUrl(link);auditLog(link,'application')">{{link.text| elipsis: 50}}</a>
129 <!-- Fourth Level menu -->
130 <div b2b-tertiary-link ng-repeat="title in link.children" >
131 <i id="level4-star-inactive-{{title.menuId}}" ng-cloak
132 class="icon-star favorites-icon-inactive"
133 data-ng-click="setAsFavoriteItem($event, title.menuId)"
134 ng-if="title.url.length > 1 && isUrlFavorite(title.menuId)==false">
136 <i id="level4-star-active-{{title.menuId}}" ng-cloak
137 class="icon-star favorites-icon-active"
138 data-ng-click="removeAsFavoriteItem($event, title.menuId)"
139 ng-if="title.url.length > 1 && isUrlFavorite(title.menuId)">
141 <a href="javascript:void(0);" class="header-tertiaryitem" ng-class="{'disabled': title.disabled}" role="menuitem" ng-click="goToUrl(title);auditLog(title,'functional')">{{title.text | elipsis: 50}}</a>
156 <!-- Right side of the Menu - User Icon and Notification flag -->
157 <div class="login-section">
159 <li class="header__item profile" aria-haspopup="true">
161 <div b2b-flyout-toggler >
162 <div class="icon-people-oneperson" id="header-user-icon" tabindex="0" b2b-accessibility-click="13,32" aria-label="notifications" aria-haspopup="true" aria-expanded="{{flyoutOpened}}" role="button"></div>
163 <div id="login-snippet-text" class="login-snippet-text">{{header.isGuest ? 'Guest' : header.firstName}}</div>
165 <b2b-flyout-content horizontal-placement="center" vertical-placement="below">
166 <div ng-controller="loginSnippetCtrl" >
167 <div id="reg-header-snippet">
168 <div tabindex="0" class="reg-profileDetails" id="reg-profiledetails-id">
169 <ul class="reg-Details-table">
171 <div class="reg-userName-table">
172 <div id="reg-userName-table-row">
173 <div id="reg-userName-table-cell">
175 {{firstName}} {{lastName}} </h3>
181 <li><div class="reg-userEmail-label"><span class="reg-userEmail-label-spn reg-common-label-spn-txt" >Email<span class="visuallyhidden">:
182 </span></span></div></li>
183 <li><div class="reg-userEmail-value"><span class="reg-userEmail-value-spn">
184 {{loginSnippetEmail}}</span></div></li>
186 <li><div class="reg-userRole-label"><span class="reg-userRole-label-spn reg-common-label-spn-txt">
187 User Id<span class="visuallyhidden">:</span></span></div></li>
188 <li><div class="reg-userRole-value"><span class="reg-userRole-value-spn">
189 {{loginSnippetUserid}}<span class="visuallyhidden"></span></span></div></li>
191 <li><div class="reg-userLastLogin-label"><span class="reg-userLastLogin-label-spn reg-common-label-spn-txt">
192 Last login<span class="visuallyhidden">:</span></span></div></li>
193 <li><div class="reg-userLastLogin-value"><span class="reg-userLastLogin-value-spn">
194 {{lastLogin}}<span class="visuallyhidden"></span></span></div></li>
197 <div class="display-userAppRoles-label">
198 <a href="javascript:void(0);" ng-click="getUserApplicationRoles()" class="icon-primary-accordion-plus" ng-class="{true: 'icon-primary-accordion-plus', false: 'icon-primary-accordion-minus'}[ !displayUserAppRoles]" >Applications and Roles</a>
201 <div class="display-userAppRoles-label display-userAppRoles-label-txt" ng-show="displayUserAppRoles">
202 <div ng-repeat="ua in userapproles track by $index">
203 <div class="reg-userApp-value">
204 <span class="reg-userApp-value-spn reg-common-label-spn-txt">{{ua.App}}<span class="visuallyhidden">:</span></span>
206 <div ng-repeat="role in ua.Roles track by $index" class="reg-userAppRoles-value" >
207 <span ng-if="role.indexOf('global_')!=-1" id="required" style="color: Red;" visible="false"> *</span>
208 <span class="reg-userAppRoles-value-spn">{{role}}</span>
215 <div ng-include class="profile-detail-extension" src="'app/views/header/header-extension.tpl.html'"></div>
216 <div id="reg-logout-div" class="logout-btn-div">
217 <button href="javascript:void(0)" id="allLogout" ng-click="allAppsLogout()" class="btn btn-alt btn-small">
224 </b2b-flyout-content>
227 <!-- Notification flag -->
228 <li class="header__item notification" aria-haspopup="true" class="notification-li">
230 <div b2b-flyout-toggler class="notification-div">
231 <div class="notifications-count" ng-hide="notificationCount.count==0" ng-bind="notificationCount.count"></div>
232 <div id="megamenu-notification-button" class="icon-content-flag megamenu-notification-overrides" class="b2b-flyout-icon" tabindex="0" b2b-accessibility-click="13,32" aria-label="notifications" aria-haspopup="true" aria-expanded="{{flyoutOpened}}" role="button"></div>
234 <b2b-flyout-content horizontal-placement="center" vertical-placement="below">
235 <div class="notification-content" ng-controller="notificationCtrl" >
236 <div class="ng-scope">
237 <div id="notification" class="notificationBox ">
239 <a id="notification-history-link" ui-sref="root.notificationHistory" class="notification-history-link-txt"> View All Recent Notifications </a>
241 <div class="notification-header">
242 <div class="notification-common-position">
243 <p class="notification-heading">Notifications</p>
245 <div class="notification-common-space"></div>
247 <div ng-show="notifications.length==0">
248 <div class="notification-main">
249 <div class="notification-main-ht">
250 <div align="center" class="icon-information notification-info-icon"></div>
253 <p class="notification-text">No New Notifications.</p>
258 <div class="notification-main" ng-show="notifications.length>0">
259 <ul class="notifications-list">
260 <li class="item" data-id="5" ng-repeat="item in notifications">
262 <span class="important" ng-show="item.priority==2"/>
263 <span class="normal" ng-show="item.priority==1"/>
265 <div class="details" ng-click="showDetailedJsonMessage(item)">
266 <span class="title" ng-bind="item.msgSource"></span> <span
267 class="title" ng-bind="item.msgHeader"></span> <span
268 class="message-body" ng-if="item.msgSource==='EP'"
269 ng-bind="item.message"></span> <span class="message-body"
270 ng-if="item.msgSource!=='EP'"
271 ng-bind="item.message| elipsis: 27"> </span>
272 <!-- <span class="date" ng-bind="item.time" ></span> -->
273 <mydate>{{item.time | date:'MM/dd/yyyy hh:mm:ss a Z'}}</mydate>
276 <button type="button" ng-click="deleteNotification($index)" class="button-default button-dismiss js-dismiss">x</button>
280 <div class="notification-footer">
281 <div class="notification-links">
282 <div class="notification-common-space"></div>
286 </b2b-flyout-content>
290 <li class="header__item recommendation" aria-haspopup="true"
291 class="recommendation-li">
292 <div ng-include class="recommendation-detail-extension" src="'app/views/headerRecommendation/headerRecommendations.tpl.html'"></div>