[PORTAL-20,PORTAL-23,PORTAL-32] Repair defects
[portal.git] / ecomp-portal-FE-common / client / app / views / header / header.tpl.html
1 <!--
2   ================================================================================
3   ECOMP Portal
4   ================================================================================
5   Copyright (C) 2017 AT&T Intellectual Property
6   ================================================================================
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10   
11        http://www.apache.org/licenses/LICENSE-2.0
12   
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18   ================================================================================
19   -->
20 <div style="position:fixed;width: 100%;top: 0px;left: 0;background-color: #222;z-index:9999">
21     <header class="b2b-header-tabs" b2b-header-responsive>
22         <ul class="header__items" role="navigation">
23 <!-- Menu Icon and name -->
24             <li class="header__item icon__item" onclick="window.location = 'applicationsHome'">
25                 <div ng-include class="profile-detail-extension" src="'app/views/header/header-logo.html'"></div>             
26                 <span id="portal-title" class="portal-title" ng-bind="ecompTitle"></span>               
27             </li>
28 <!-- First Level menu -->
29             <li b2b-header-menu 
30                 id="megaMenu-{{item.text.split(' ').join('-')}}" 
31                 class="header__item b2b-headermenu" 
32                 ng-repeat="item in megaMenuDataObject" 
33                 ng-mousedown="loadFavorites(item.text)"  
34                 role="presentation">
35                 
36                 <a href="javascript:void(0);" 
37                 id="parentmenu-{{item.text.split(' ').join('-')}}-tabs"
38                 class="menu__item" 
39                 role="menuitem">{{item.text}}</a>
40                 
41                 <div class="header-secondary-wrapper" ng-if="item.active_yn=='Y'" ng-hide="hideMenus">
42                     <ul class="header-secondary" role="menu">
43 <!-- Second Level menu -->
44                         <li class="header-subitem" 
45                         id="subItem-{{subItem.text.split(' ').join('-')}}"
46                         b2b-header-submenu 
47                         ng-repeat="i in item.children | orderBy : 'column'" 
48                         ng-mousemove="submenuLevelAction(i.text,i.column)" 
49                         role="presentation">
50            <!-- Favorites -->
51                                 <div ng-if="i.text=='Favorites'" >                                      
52                                         <a href="javascript:void(0);" class="menu__item" role="menuitem">{{i.text}}</a>                
53                                         <i id="favorite-star" data-size="large"  class="icon-star favorites-icon-active"></i>                   
54                                         <div class="header-columns-div" ng-show='favoritesWindow' ng-mouseleave="hideFavoritesWindow()" >
55                                                 <div class="header-tertiary-wrapper" id="header-favorites">
56                                                     <ul class="header-tertiary" role="menu">
57                                                         <li role="presentation">
58                                                                 <div                                                   
59                                                      ng-repeat="subItem in favoritesMenuItems"
60                                                      ng-show="showFavorites"
61                                                      
62                                                      id="favoritesMenuItems-{{subItem.text.split(' ').join('-')}}">
63                                                     <div class="fav-links">
64                                                         <i id="favorite-selector-favorites-list"
65                                                            class="icon-star favorites-icon-active"                                                       
66                                                            data-ng-click="removeAsFavoriteItem($event, subItem.menuId)"
67                                                            ng-mousedown="removeAsFavoriteItem($event, subItem.menuId)">
68                                                         </i>
69                                                         <a id="favorites-list" aria-label="{{subItem.text}}" ng-click="goToUrl(subItem)">{{subItem.text}}</a>
70                                                     </div>
71                                                 </div>  
72                                                                                                 
73                                                             <div id="favorites-empty"  class="favorites-window-empty"   ng-show="emptyFavorites">
74                                                                 <p id="p-no-favs-icon" class="no-fav-icon">
75                                                                         <span class="icon-star" ></span>
76                                                                 </p>
77                                                                 <p id="p-no-favs" class="largeText">No Favorites</p>
78                                                                 <p id="p-no-favs-desc"  class="normal">Add your favorite items for quick access.</p>
79                                                                 </div>
80                                                         </li>
81                                                     </ul>
82                                             </div>
83                                         </div>                  
84                                 </div>
85             <!-- Support or Help -->
86                                 <div ng-if="item.text=='Support' || item.text=='Help'" id="second-level-menus-help">                            
87                                         <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>           
88                                 </div>
89                 <!-- Others -->
90                                 <div ng-if="i.text!='Favorites' && (item.text!='Support' && item.text!='Help')" >
91                                         <a href="javascript:void(0);" class="menu__item" role="menuitem">{{i.text| elipsis: 50}}</a>
92                                     <div class="header-tertiary-wrapper" >
93                                             <ul class="third-level-menu"  role="menu" id="third-level-menus">
94 <!-- Third Level menu -->                        
95                                                                                 
96                                                         <li b2b-header-tertiarymenu ng-repeat="link in i.children | orderBy : 'column'" role="presentation" >
97                                                             <i id="level3-star-inactive-{{link.menuId}}" ng-cloak
98                                                     class="icon-star favorites-icon-inactive"  data-size="large"
99                                                     data-ng-click="setAsFavoriteItem($event, link.menuId)"
100                                                     ng-if="link.url.length > 1 && isUrlFavorite(link.menuId)==false">
101                                                 </i>
102                                                 <i id="level3-star-active-{{link.menuId}}" ng-cloak
103                                                    ng-if="link.url.length > 1 && isUrlFavorite(link.menuId)"
104                                                    class="icon-star favorites-icon-active ng-cloak"  data-size="large"
105                                                    data-ng-click="removeAsFavoriteItem($event, link.menuId)">
106                                                 </i>                                              
107                                                 
108                                                             <a class="third-level-title"
109                                                           aria-label="{{link.text | elipsis: 50}}"
110                                                           ng-click="goToUrl(link);auditLog(link,'application')">{{link.text| elipsis: 50}}</a>
111 <!-- Fourth Level menu -->
112                                                             <div b2b-tertiary-link ng-repeat="title in link.children"  >
113                                                                 <i id="level4-star-inactive-{{title.menuId}}" ng-cloak
114                                                                class="icon-star favorites-icon-inactive"
115                                                                data-ng-click="setAsFavoriteItem($event, title.menuId)"
116                                                                ng-if="title.url.length > 1 && isUrlFavorite(title.menuId)==false">
117                                                             </i>
118                                                             <i id="level4-star-active-{{title.menuId}}" ng-cloak
119                                                                class="icon-star favorites-icon-active"
120                                                                data-ng-click="removeAsFavoriteItem($event, title.menuId)"
121                                                                ng-if="title.url.length > 1 && isUrlFavorite(title.menuId)">
122                                                             </i>
123                                                                 <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>                                      
124                                                             </div>
125                                                         </li>   
126                                                         
127                                                            
128                                               
129                                                                  
130                                             </ul>
131                                     </div>
132                                 </div>
133            
134                         </li>                        
135                     </ul>
136                 </div>
137             </li>
138 <!-- Right side of the Menu - User Icon and Notification flag -->
139             <div class="login-section">
140      <!-- User Icon -->
141             <li class="header__item profile" aria-haspopup="true">
142                                 <b2b-flyout>
143                                         <div b2b-flyout-toggler >
144                                                 <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>
145                                         <div id="login-snippet-text" class="login-snippet-text">{{header.isGuest ? 'Guest' : header.firstName}}</div>                  
146                                         </div>                                  
147                             <b2b-flyout-content horizontal-placement="center" vertical-placement="below">
148                                                 <div  ng-controller="loginSnippetCtrl" >
149                                                         <div id="reg-header-snippet">
150                                                                 <div tabindex="0" class="reg-profileDetails" id="reg-profiledetails-id">
151                                                                         <ul class="reg-Details-table">
152                                                                                 <li>
153                                                                 <div class="reg-userName-table">
154                                                                     <div id="reg-userName-table-row">
155                                                                         <div id="reg-userName-table-cell">
156                                                                             <h3 >
157                                                                             {{firstName}} {{lastName}}&nbsp;</h3>
158                                                                             <span>&nbsp;</span>
159                                                                         </div>
160                                                                     </div>
161                                                                 </div>
162                                                             </li>
163                                                                                 <li><div class="reg-userEmail-label"><span class="reg-userEmail-label-spn" style=font-weight:bold>Email<span class="visuallyhidden">:
164                                                             </span></span></div></li>
165                                                                                 <li><div class="reg-userEmail-value"><span class="reg-userEmail-value-spn">
166                                                                 {{loginSnippetEmail}}</span></div></li>
167                                                             <li>&nbsp;</li>
168                                                                                 <li><div class="reg-userRole-label"><span class="reg-userRole-label-spn" style=font-weight:bold>
169                                                                 User Id<span class="visuallyhidden">:</span></span></div></li>
170                                                                                 <li><div class="reg-userRole-value"><span class="reg-userRole-value-spn">
171                                                                 {{loginSnippetUserid}}<span class="visuallyhidden"></span></span></div></li>
172                                                             <li>&nbsp;</li>
173                                                                                 <li><div class="reg-userLastLogin-label"><span class="reg-userLastLogin-label-spn" style=font-weight:bold>
174                                                                 Last login<span class="visuallyhidden">:</span></span></div></li>
175                                                                                 <li><div class="reg-userLastLogin-value"><span class="reg-userLastLogin-value-spn">
176                                                                 {{lastLogin}}<span class="visuallyhidden"></span></span></div></li>
177                                                                 <li>&nbsp;</li>
178                                                                                 <li>
179                                                                         <div class="display-userAppRoles-label">
180                                                                                 <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>
181                                                                         </div>
182                                                                         <br>
183                                                                 <div class="display-userAppRoles-label" ng-show="displayUserAppRoles" style="height:200px; overflow-y:auto;">
184                                                                      <div ng-repeat="ua in userapproles track by  $index">
185                                                                     <div class="reg-userApp-value">
186                                                                         <span class="reg-userApp-value-spn" style=font-weight:bold>{{ua.App}}<span class="visuallyhidden">:</span></span>
187                                                                                                         </div>                                                             
188                                                                         <div ng-repeat="role in ua.Roles track by  $index" class="reg-userAppRoles-value" >
189                                                                                 <span class="reg-userAppRoles-value-spn">{{role}}</span>
190                                                                         </div>
191                                                                         <br>
192                                                                         </div>
193                                                                 </div>
194                                                                 </li>
195                                                                         </ul>
196                                                         <div ng-include class="profile-detail-extension" src="'app/views/header/header-extension.tpl.html'"></div>                                                                                                      
197                                                         <div id="reg-logout-div" class="logout-btn-div">
198                                                              <button href="javascript:void(0)" id="allLogout" ng-click="allAppsLogout()" class="btn btn-alt btn-small">
199                                                                                         Log out
200                                                                                 </button>
201                                                         </div>
202                                                         </div>
203                                                         </div>
204                                                 </div>          
205                             </b2b-flyout-content>
206                         </b2b-flyout>
207             </li> 
208     <!-- Notification flag -->
209             <li class="header__item notification" aria-haspopup="true" class="notification-li">
210                 <b2b-flyout>
211                         <div b2b-flyout-toggler class="notification-div">
212                                 <div class="notifications-count" ng-hide="notificationCount.count==0" ng-bind="notificationCount.count"></div>          
213                                                 <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>
214                             </div>
215                             <b2b-flyout-content horizontal-placement="center" vertical-placement="below">
216                                                 <div class="notification-content" ng-controller="notificationCtrl" >
217                                                         <div class="ng-scope">
218                                                                 <div id="notification" class="notificationBox ">
219                                                                         <div align ="right">
220                                                                                  <a id="notification-history-link" ui-sref="root.notificationHistory" style="font-size: 14px"> View All Recent Notifications </a>
221                                                                         </div>
222                                                                         <div class="notification-header">
223                                                                                 <div style="float:left;">
224                                                                                         <p class="notification-heading">Notifications</p>
225                                                                                 </div>
226                                                                                 <div style="clear:both;"></div>
227                                                                         </div>
228                                                                         <div ng-show="notifications.length==0">
229                                                                                 <div class="notification-main">
230                                                                                         <div style="height:113px;">
231                                                                                                 <div align="center" class="icon-information notification-info-icon"></div>
232                                                                                         </div>
233                                                                                 <div>
234                                                                                 <p class="notification-text">No New Notifications.</p>
235                                                                         </div>
236                                                                         
237                                                                 </div>
238                                                         </div>
239                                                         <div class="notification-main" ng-show="notifications.length>0">
240                                                                 <ul class="notifications-list">
241                                                                         <li class="item" data-id="5" ng-repeat="item in notifications">
242                                                                                 <div class="icon">
243                                                                                         <span class="important" ng-show="item.priority==2"/>
244                                                                                         <span class="normal" ng-show="item.priority==1"/>
245                                                                                 </div>
246                                                                                 <div class="details" ng-click="showDetailedJsonMessage(item)">
247                                                                                                 <span class="title" ng-bind="item.source"></span> <span
248                                                                                                         class="title" ng-bind="item.title"></span> <span
249                                                                                                         class="message-body" ng-if="item.source==='EP'"
250                                                                                                         ng-bind="item.message"></span> <span class="message-body"
251                                                                                                         ng-if="item.source!=='EP'"
252                                                                                                         ng-bind="item.message| elipsis: 27"> </span>
253                                                                                                 <!-- <span class="date" ng-bind="item.time" ></span> -->
254                                                                                                 <mydate>{{item.time | date:'MM/dd/yyyy hh:mm:ss a Z'}}</mydate>
255
256                                                                                         </div>
257                                                                                 <button type="button" ng-click="deleteNotification($index)" class="button-default button-dismiss js-dismiss">x</button>
258                                                                         </li>
259                                                                 </ul>
260                                                         </div>
261                                                         <div class="notification-footer">
262                                                                 <div class="notification-links">
263                                                                         <div style="clear:both;"></div>
264                                                                 </div>
265                                                         </div>
266                                                 </div>                                  
267                             </b2b-flyout-content>
268                         </b2b-flyout>
269             </li>
270             <li class="header__item recommendation" aria-haspopup="true"
271                                                         class="recommendation-li">
272             <div ng-include class="recommendation-detail-extension" src="'app/views/headerRecommendation/headerRecommendations.tpl.html'"></div> 
273             </li>            
274             </div>
275         </ul>
276         </header>
277 </div>