1
|
<div *ngIf="showMenu">
|
2
|
<div *ngIf="(properties.environment =='beta' || properties.environment =='development') && showLogo && header.badge"
|
3
|
class="uk-visible@m">
|
4
|
<a [routerLink]="header.route" [href]="header.url"><img class="large-beta-indication"
|
5
|
[src]="'assets/common-assets/'+(properties.environment =='beta'?'beta_flag.svg':'prototype_flag.svg')"
|
6
|
alt="BETA" style="height: 104px; ">
|
7
|
</a>
|
8
|
</div>
|
9
|
<div class="tm-header-mobile uk-hidden@m">
|
10
|
<nav class="uk-navbar-container uk-navbar" uk-navbar=""
|
11
|
[class.uk-navbar-transparent]="header.stickyAnimation === false">
|
12
|
<div
|
13
|
*ngIf="(properties.environment =='beta' || properties.environment =='development') && showLogo && header.badge"
|
14
|
class="uk-position-top-left">
|
15
|
<img class="small-beta-indication"
|
16
|
[src]="'assets/common-assets/'+(properties.environment =='beta'?'beta_flag.svg':'prototype_flag.svg')"
|
17
|
alt="BETA" style="height: 60px; ">
|
18
|
</div>
|
19
|
<!-- class="uk-navbar-right"--> <!-- if we want to revert the menu - put it on the right -->
|
20
|
<div *ngIf="!onlyTop || userMenu" class="uk-navbar-left">
|
21
|
<a *ngIf="!offCanvasFlip" class="uk-navbar-toggle" href="#tm-mobile" uk-toggle="" style="z-index:1000;">
|
22
|
<div uk-navbar-toggle-icon="" class="uk-navbar-toggle-icon uk-icon custom-navbar-toggle-icon"></div>
|
23
|
</a>
|
24
|
</div>
|
25
|
<div class="uk-navbar-center">
|
26
|
<ng-container *ngTemplateOutlet="header_template; context: {mobile: true}"></ng-container>
|
27
|
</div>
|
28
|
<div *ngIf="!onlyTop || userMenu" class="uk-navbar-right">
|
29
|
<a *ngIf="offCanvasFlip" class="uk-navbar-toggle" href="#tm-mobile" uk-toggle="" style="z-index:1000;">
|
30
|
<div uk-navbar-toggle-icon="" class="uk-navbar-toggle-icon uk-icon custom-navbar-toggle-icon"></div>
|
31
|
</a>
|
32
|
</div>
|
33
|
</nav>
|
34
|
|
35
|
</div>
|
36
|
<div *ngIf="specialAnnouncementContent" class="uk-hidden@m" [innerHTML]="specialAnnouncementContent">
|
37
|
</div>
|
38
|
<div id="tm-mobile" [attr.uk-offcanvas]="(offCanvasFlip?'flip:'+offCanvasFlip:'')" mode="slide" overlay=""
|
39
|
class="uk-offcanvas uk-hidden@m"
|
40
|
style="z-index:9999;">
|
41
|
<div class="uk-offcanvas-bar">
|
42
|
<button class="uk-offcanvas-close uk-close uk-icon" type="button" uk-close=""></button>
|
43
|
<div class="uk-child-width-1-1 uk-grid" uk-grid="">
|
44
|
<div>
|
45
|
<div class="uk-panel" id="module-0">
|
46
|
<ul class="uk-nav uk-nav-default">
|
47
|
<li *ngIf="(['explore','connect','monitor','provide','develop']).indexOf(portal)!=-1"
|
48
|
class="uk-nav-header uk-parent">
|
49
|
Dashboards
|
50
|
<ul class="uk-nav-sub">
|
51
|
<li *ngIf="portal!='explore'"><a
|
52
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development' ?'beta.':'')+'explore.openaire.eu'"
|
53
|
target="_blank" class="uk-heading-bullet explore-heading-bullet">EXPLORE</a></li>
|
54
|
<li *ngIf="portal!='provide'"><a
|
55
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'provide.openaire.eu'"
|
56
|
target="_blank" class="uk-heading-bullet provide-heading-bullet">PROVIDE</a></li>
|
57
|
<li *ngIf="portal!='connect'"><a
|
58
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'connect.openaire.eu'"
|
59
|
target="_blank" class="uk-heading-bullet connect-heading-bullet">CONNECT</a></li>
|
60
|
<li *ngIf="portal!='monitor'"><a [href]="'https://'+(properties.environment =='beta' ||
|
61
|
properties.environment =='development'?'beta.':'')+'monitor.openaire.eu'" target="_blank"
|
62
|
class="uk-heading-bullet monitor-heading-bullet">MONITOR</a></li>
|
63
|
<li *ngIf="portal!='develop'"><a href="https://develop.openaire.eu" target="_blank"
|
64
|
class="uk-heading-bullet develop-heading-bullet">DEVELOP</a></li>
|
65
|
</ul>
|
66
|
</li>
|
67
|
<ng-container *ngIf="!onlyTop">
|
68
|
<ng-container *ngFor="let menu of menuItems">
|
69
|
<li class="uk-nav-header uk-parent " *ngIf="showHomeMenuItem && currentRoute.route !== '/'">
|
70
|
<a routerLinkActive="uk-link" routerLink="/">Home</a>
|
71
|
</li>
|
72
|
<li class="uk-nav-header uk-parent" [class.uk-active]="isTheActiveMenu(menu)"
|
73
|
*ngIf="isAtleastOneEnabled(menu.rootItem.entitiesRequired,showEntity) && isAtleastOneEnabled(menu.rootItem.routeRequired, showPage)">
|
74
|
<!--a routerLinkActive="uk-link" routerLink="{{menu.rootItem.route}}" [queryParams]=menu.rootItem.params class="uk-offcanvas-close custom-offcanvas-close">{{menu.rootItem.title}}</a-->
|
75
|
<a *ngIf="menu.rootItem.route.length > 0 && isEnabled([menu.rootItem.route], showPage) || !menu.rootItem.routeRequired "
|
76
|
routerLinkActive="uk-link" routerLink="{{menu.rootItem.route}}"
|
77
|
[routerLinkActiveOptions]="{exact: true}"
|
78
|
[queryParams]="menu.rootItem.params" [fragment]="menu.rootItem.fragment"
|
79
|
class="uk-offcanvas-close custom-offcanvas-close">{{menu.rootItem.title}}</a>
|
80
|
<a *ngIf="menu.rootItem.route.length == 0 && menu.rootItem.url.length > 0"
|
81
|
routerLinkActive="uk-link" href="{{menu.rootItem.url}}" target="_blank"
|
82
|
class="uk-offcanvas-close custom-offcanvas-close">{{menu.rootItem.title}}</a>
|
83
|
<a *ngIf="(menu.rootItem.route.length == 0 && menu.rootItem.url.length == 0) || (menu.rootItem.route.length >0 && menu.rootItem.routeRequired && !isEnabled([menu.rootItem.route], showPage) && isAtleastOneEnabled(menu.rootItem.routeRequired, showPage))"
|
84
|
class="uk-offcanvas-close custom-offcanvas-close">{{menu.rootItem.title}}</a>
|
85
|
|
86
|
<ul class="uk-nav-sub">
|
87
|
<ng-container *ngFor="let submenu of menu.items">
|
88
|
<li [class.uk-active]="isTheActiveMenuItem(submenu)" *ngIf="isEnabled(submenu.entitiesRequired,showEntity) && isEnabled(submenu.routeRequired, showPage) && (submenu.route.length > 0 || submenu.url.length > 0)">
|
89
|
<a *ngIf="submenu.route.length > 0" routerLinkActive="uk-link"
|
90
|
routerLink="{{submenu.route}}" [queryParams]=submenu.params [fragment]="submenu.fragment"
|
91
|
class="uk-offcanvas-close custom-offcanvas-close">{{submenu.title}}</a>
|
92
|
<a *ngIf="submenu.route.length == 0 && submenu.url.length > 0" routerLinkActive="uk-link"
|
93
|
href="{{submenu.url}}" target="_blank"
|
94
|
class="uk-offcanvas-close custom-offcanvas-close">{{submenu.title}}</a>
|
95
|
|
96
|
</li>
|
97
|
<li *ngIf="submenu.route.length == 0 && submenu.url.length == 0 && isEnabled(submenu.entitiesRequired,showEntity) && isEnabled(submenu.routeRequired, showPage)"
|
98
|
class="uk-nav-header">{{submenu.title}}</li>
|
99
|
</ng-container>
|
100
|
|
101
|
</ul>
|
102
|
</li>
|
103
|
</ng-container>
|
104
|
</ng-container>
|
105
|
<ng-container *ngIf="userMenu">
|
106
|
<user-mini [user]="user" mobileView=true
|
107
|
[userMenuItems]=userMenuItems [logInUrl]=properties.loginUrl
|
108
|
[logOutUrl]=properties.logoutUrl [cookieDomain]=properties.cookieDomain></user-mini>
|
109
|
</ng-container>
|
110
|
</ul>
|
111
|
</div>
|
112
|
</div>
|
113
|
|
114
|
</div>
|
115
|
</div>
|
116
|
</div>
|
117
|
<div *ngIf="(['explore','connect','monitor','provide','develop']).indexOf(portal)!=-1"
|
118
|
class="tm-toolbar custom-{{portal}}-toolbar uk-visible@m">
|
119
|
<div class="uk-container uk-flex uk-flex-middle uk-container-expand">
|
120
|
<div class="uk-margin-auto-left">
|
121
|
<div class="uk-grid-medium uk-child-width-auto uk-flex-middle uk-grid uk-grid-stack"
|
122
|
uk-grid="margin: uk-margin-small-top">
|
123
|
<div class="uk-first-column">
|
124
|
<div class="uk-panel inner" id="module-119">
|
125
|
<ul class="uk-subnav uk-subnav-line">
|
126
|
<li><a [href]="'https://'+(properties.environment =='beta'?'beta':'www')+'.openaire.eu'" target="_blank"
|
127
|
class="home-icon"><span class="uk-responsive-height">
|
128
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
129
|
enable-background="new 0 0 20 20" height="20px" id="Layer_1" version="1.1"
|
130
|
viewBox="0 0 48 48" width="20px" xml:space="preserve"><path id="home" clip-rule="evenodd" d="M44.715,23.711c-0.381,0.382-1,0.382-1.381,0l-8.939-8.938 c-0.064-0.051-0.119-0.106-0.17-0.171l-3.83-3.829c-0.064-0.051-0.119-0.106-0.17-0.171L24,4.377L4.667,23.711 c-0.381,0.382-1,0.382-1.381,0c-0.381-0.381-0.381-1,0-1.381L23.191,2.425c0.031-0.047,0.053-0.101,0.094-0.144 C23.482,2.085,23.742,1.994,24,2c0.258-0.006,0.518,0.084,0.715,0.281c0.043,0.042,0.062,0.096,0.096,0.144L30,7.616V4.997 c0,0,0,0,0,0c0-0.552,0.447-1,1-1h4c0.277,0,0.527,0.112,0.707,0.293C35.889,4.471,36,4.721,36,4.997v8.619l8.715,8.714 C45.096,22.711,45.096,23.33,44.715,23.711z M34,5.997h-2v3.619l2,2V5.997z M10,21.997c0.552,0,1,0.448,1,1v19c0,1.105,0.896,2,2,2 h6l0,0v-13c0-0.553,0.447-1,1-1h8c0.553,0,1,0.447,1,1v13l0,0h6c1.105,0,2-0.895,2-2v-19c0-0.552,0.447-1,1-1s1,0.448,1,1v19 c0,2.209-1.791,4-4,4H13c-2.209,0-4-1.791-4-4v-19C9,22.444,9.448,21.997,10,21.997z M27,43.996v-12h-6v12l0,0H27L27,43.996z" fill-rule="evenodd" fill="#fff"/></svg>
|
131
|
</span></a></li>
|
132
|
<li [class]="(portal=='explore')?'custom-'+portal+'-li':''"><a
|
133
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'explore.openaire.eu'"
|
134
|
title="Search in OA. Link your research">Explore</a></li>
|
135
|
<li [class]="(portal=='provide')?'custom-'+portal+'-li':''"><a
|
136
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'provide.openaire.eu'"
|
137
|
target="_blank" title="Content Provider Dashboard">Provide</a></li>
|
138
|
<li [class]="(portal=='connect'||portal=='connect-admin')?'custom-'+portal+'-li':''"><a
|
139
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development' ?'beta.':'')+'connect.openaire.eu'"
|
140
|
target="_blank" title="Research Community Dashboard">Connect</a></li>
|
141
|
<li [class]="(portal=='monitor')?'custom-'+portal+'-li':''"><a
|
142
|
[href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'monitor.openaire.eu'"
|
143
|
target="_blank" title="Monitoring Dashboard">Monitor</a></li>
|
144
|
<li [class]="(portal=='develop')?'custom-'+portal+'-li':''"><a href="https://develop.openaire.eu"
|
145
|
target="_blank" title="APIs">Develop</a>
|
146
|
</li>
|
147
|
</ul>
|
148
|
</div>
|
149
|
</div>
|
150
|
</div>
|
151
|
</div>
|
152
|
</div>
|
153
|
</div>
|
154
|
<div *ngIf="specialAnnouncementContent" class="uk-visible@m" [innerHTML]="specialAnnouncementContent">
|
155
|
|
156
|
</div>
|
157
|
<div class="tm-header uk-visible@m tm-header-transparent" uk-header="">
|
158
|
<div id="stickyNavbar" [class]="'uk-navbar-container uk-sticky uk-navbar-transparent '+portal+'-menu'" uk-sticky=""
|
159
|
media="768" cls-active="uk-active uk-navbar-sticky"
|
160
|
[attr.animation]="(header.stickyAnimation != false ?'uk-animation-slide-top':null)"
|
161
|
top=".tm-header + [class*="uk-section"]" cls-inactive="uk-navbar-transparent" style="">
|
162
|
<div
|
163
|
*ngIf="(properties.environment =='beta' || properties.environment =='development') && showLogo && header.badge">
|
164
|
<img class="beta-indication-sticky"
|
165
|
[src]="'assets/common-assets/'+(properties.environment =='beta'?'beta_flag.svg':'prototype_flag.svg')"
|
166
|
alt="BETA" style="height: 102px; ">
|
167
|
</div>
|
168
|
<div class="uk-container uk-container-expand">
|
169
|
<nav class="uk-navbar" uk-navbar="{"align":"left"}">
|
170
|
<div *ngIf="showLogo && header.position== 'left'" class="uk-navbar-left uk-visible@l">
|
171
|
<ng-container *ngTemplateOutlet="header_template; context: {mobile: false}"></ng-container>
|
172
|
</div>
|
173
|
<div *ngIf="showLogo && header.position == 'left'" class="uk-navbar-left uk-visible@m uk-hidden@l">
|
174
|
<ng-container *ngTemplateOutlet="header_template; context: {mobile: false}"></ng-container>
|
175
|
</div>
|
176
|
<div *ngIf="showLogo && header.position == 'center'" class="uk-margin-auto uk-visible@m">
|
177
|
<ng-container *ngTemplateOutlet="header_template; context: {mobile: false}"></ng-container>
|
178
|
</div>
|
179
|
<!-- <div *ngIf="!onlyTop" class="uk-navbar-center"> -->
|
180
|
<div *ngIf="!onlyTop" class="uk-navbar-right uk-position-top-right">
|
181
|
<ul [class]="'uk-navbar-nav'+(!userMenu?' uk-margin-right':'')">
|
182
|
<li class="uk-parent" *ngIf="showHomeMenuItem && currentRoute.route !== '/'">
|
183
|
<a routerLinkActive="uk-link" routerLink="/">Home</a>
|
184
|
</li>
|
185
|
<ng-container *ngFor="let menu of menuItems">
|
186
|
<li class="uk-parent" [class.uk-active]="isTheActiveMenu(menu)"
|
187
|
*ngIf="isAtleastOneEnabled(menu.rootItem.entitiesRequired,showEntity) && isAtleastOneEnabled(menu.rootItem.routeRequired, showPage)">
|
188
|
<!--a routerLinkActive="uk-link" routerLink="{{menu.rootItem.route}}" [queryParams]=menu.rootItem.params class="" aria-expanded="false">{{menu.rootItem.title}}</a-->
|
189
|
<a *ngIf="menu.rootItem.route.length > 0 && (isEnabled([menu.rootItem.route], showPage) || !menu.rootItem.routeRequired )"
|
190
|
routerLinkActive="uk-link" routerLink="{{menu.rootItem.route}}"
|
191
|
[queryParams]="menu.rootItem.params"
|
192
|
[fragment]="menu.rootItem.fragment"> {{menu.rootItem.title}}</a>
|
193
|
<a *ngIf="menu.rootItem.route.length == 0 && menu.rootItem.url.length > 0" routerLinkActive="uk-link"
|
194
|
href="{{menu.rootItem.url}}" target="_blank" aria-expanded="false">{{menu.rootItem.title}}</a>
|
195
|
<a *ngIf="(menu.rootItem.route.length == 0 && menu.rootItem.url.length == 0) || ( menu.rootItem.route.length >0 && menu.rootItem.routeRequired && !isEnabled([menu.rootItem.route], showPage) && isAtleastOneEnabled(menu.rootItem.routeRequired, showPage)) "
|
196
|
class="uk-offcanvas-close custom-offcanvas-close">{{menu.rootItem.title}}</a>
|
197
|
<div *ngIf="menu.items.length > 0" class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left"
|
198
|
style="top: 80px; left: 0px;" id="{{menu.rootItem.id}}" uk-toggle>
|
199
|
<div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
|
200
|
<div class="uk-first-column uk-height-max-medium uk-overflow-auto">
|
201
|
<ul class="uk-nav uk-navbar-dropdown-nav">
|
202
|
<ng-container *ngFor="let submenu of menu.items">
|
203
|
<li *ngIf="isEnabled(submenu.entitiesRequired,showEntity) &&
|
204
|
isEnabled(submenu.routeRequired, showPage) && (submenu.route.length > 0 ||
|
205
|
submenu.url.length > 0)" [class.uk-active]="isTheActiveMenuItem(submenu)">
|
206
|
<a *ngIf="submenu.route.length > 0" routerLinkActive="uk-link"
|
207
|
routerLink="{{submenu.route}}" [queryParams]="submenu.params"
|
208
|
[fragment]="submenu.fragment">{{submenu.title}}</a>
|
209
|
<a *ngIf="submenu.route.length == 0 && submenu.url.length > 0" routerLinkActive="uk-link"
|
210
|
href="{{submenu.url}}" target="_blank">{{submenu.title}}</a>
|
211
|
</li>
|
212
|
<li *ngIf="submenu.route.length == 0 && submenu.url.length == 0 && isEnabled(submenu.entitiesRequired,showEntity) && isEnabled(submenu.routeRequired, showPage)"
|
213
|
class="uk-nav-header">{{submenu.title}}</li>
|
214
|
</ng-container>
|
215
|
</ul>
|
216
|
</div>
|
217
|
</div>
|
218
|
</div>
|
219
|
|
220
|
</li>
|
221
|
</ng-container>
|
222
|
|
223
|
</ul>
|
224
|
<!-- </div> -->
|
225
|
<!-- <div *ngIf="userMenu" class="uk-navbar-right"> -->
|
226
|
<!-- <div *ngIf="userMenu" class="uk-navbar-right"> -->
|
227
|
<user-mini *ngIf="userMenu" [user]="user" [dark]="dark"
|
228
|
[userMenuItems]=userMenuItems [logInUrl]=properties.loginUrl [logOutUrl]=properties.logoutUrl
|
229
|
[cookieDomain]=properties.cookieDomain></user-mini>
|
230
|
|
231
|
</div>
|
232
|
</nav>
|
233
|
</div>
|
234
|
</div>
|
235
|
|
236
|
</div>
|
237
|
<div class="first_page_section uk-section-default uk-section uk-padding-remove-vertical">
|
238
|
<div
|
239
|
class="first_page_banner_headline uk-grid-collapse uk-flex-middle uk-margin-remove-vertical uk-grid uk-grid-stack"
|
240
|
uk-grid="">
|
241
|
</div>
|
242
|
</div>
|
243
|
</div>
|
244
|
<ng-template #header_template let-mobile="mobile">
|
245
|
<a *ngIf="!header.url" [routerLink]="header.route" [class.uk-padding-remove]="header.position !== 'left'"
|
246
|
class="uk-logo uk-navbar-item uk-text-center uk-text-bold">
|
247
|
<img *ngIf="(mobile && header.logoSmallUrl) || (!mobile && header.logoUrl)"
|
248
|
[src]="!mobile?header.logoUrl:header.logoSmallUrl"
|
249
|
[alt]="header.title"
|
250
|
class="uk-responsive-height">
|
251
|
<ng-container *ngIf="(mobile && !header.logoSmallUrl) || (!mobile && !header.logoUrl)">
|
252
|
<div class="multi-line-ellipsis lines-2" [style.max-width]="(!mobile)?'25vw':null" [title]="header.title">
|
253
|
<p>{{header.title}}</p>
|
254
|
</div>
|
255
|
</ng-container>
|
256
|
</a>
|
257
|
<a *ngIf="header.url" [href]="header.url" [class.uk-padding-remove]="header.position !== 'left'"
|
258
|
class="uk-logo uk-navbar-item uk-text-center uk-text-bold">
|
259
|
<img *ngIf="(mobile && header.logoSmallUrl) || (!mobile && header.logoUrl)"
|
260
|
[src]="!mobile?header.logoUrl:header.logoSmallUrl"
|
261
|
[alt]="header.title"
|
262
|
class="uk-responsive-height">
|
263
|
<ng-container *ngIf="(mobile && !header.logoSmallUrl) || (!mobile && !header.logoUrl)">
|
264
|
<div class="multi-line-ellipsis lines-2" [style.max-width]="(!mobile)?'25vw':null" [title]="header.title">
|
265
|
<p>{{header.title}}</p>
|
266
|
</div>
|
267
|
</ng-container>
|
268
|
</a>
|
269
|
</ng-template>
|