Project

General

Profile

1
import { Component } from '@angular/core';
2
import 'rxjs/Rx';
3
import {ActivatedRoute, Router} from '@angular/router';
4

    
5
import {Session} from '../login/utils/helper.class';
6

    
7
@Component({
8
  selector: 'navbar',
9
  template: `
10

    
11

    
12

    
13
  <div class="tm-header-mobile uk-hidden@m">
14
     <nav class="uk-navbar-container uk-navbar" uk-navbar="">
15
        <div class="uk-navbar-left">
16
           <a class="uk-navbar-toggle" href="#tm-mobile" uk-toggle="" style="z-index:1000;">
17
              <div uk-navbar-toggle-icon="" class="uk-navbar-toggle-icon uk-icon custom-navbar-toggle-icon"> </div>
18
           </a>
19
        </div>
20
        <div class="uk-navbar-center">
21
           <a class="uk-navbar-item uk-logo"  routerLinkActive="uk-link" routerLink="/search/find" >
22
           <img src="assets/OA DISCOVER_A.png" alt="OpenAIRE" class="uk-responsive-height">        </a>
23
        </div>
24
        <div class="uk-navbar-right">
25
           <user-mini></user-mini>
26
        </div>
27
     </nav>
28
     <div id="tm-mobile" uk-offcanvas="" mode="slide" overlay="" class="uk-offcanvas">
29
        <div class="uk-offcanvas-bar">
30
           <button class="uk-offcanvas-close uk-close uk-icon" type="button" uk-close=""></button>
31
           <div class="uk-child-width-1-1 uk-grid" uk-grid="">
32
              <div>
33
                 <div  *ngIf= "isClient" class="uk-panel" id="module-0">
34
                    <ul class="uk-nav uk-nav-default">
35
                       <li class="uk-nav-header uk-parent">
36
                          Search
37
                          <ul class="uk-nav-sub">
38
                             <li><a routerLinkActive="uk-link" routerLink="/search/find/publications"  class="uk-offcanvas-close custom-offcanvas-close">Publications</a></li>
39
                             <li><a routerLinkActive="uk-link" routerLink="/search/find/datasets"  class="uk-offcanvas-close custom-offcanvas-close">Research Data</a></li>
40
                             <li><a routerLinkActive="uk-link" routerLink="/search/find/projects"  class="uk-offcanvas-close custom-offcanvas-close">Projects</a></li>
41
                             <li><a routerLinkActive="uk-link" routerLink="/search/find/dataproviders"  class="uk-offcanvas-close custom-offcanvas-close">Content Providers</a></li>
42
                             <li><a routerLinkActive="uk-link" routerLink="/search/find/organizations"  class="uk-offcanvas-close custom-offcanvas-close">Organizations</a></li>
43
                          </ul>
44
                       </li>
45
                       <li class="uk-nav-header uk-parent">
46
                         Content Providers
47
                         <ul class="uk-nav-sub">
48
                           <li><a routerLinkActive="uk-link" routerLink="/search/content-providers"  class="uk-offcanvas-close custom-offcanvas-close" >OpenAIRE Content Providers</a></li>
49
                           <li><a routerLinkActive="uk-link" routerLink="/search/entity-registries"  class="uk-offcanvas-close custom-offcanvas-close" >Entity Registries</a></li>
50
                           <li><a routerLinkActive="uk-link" routerLink="/search/journals"  class="uk-offcanvas-close custom-offcanvas-close" >Journals</a></li>
51
                        </ul>
52
                       </li>
53
                       <li class="uk-nav-header uk-parent">
54
                           Deposit
55
                           <ul class="uk-nav-sub">
56
                             <li><a  routerLinkActive="uk-link" routerLink="/participate/deposit-publications"  class="uk-offcanvas-close custom-offcanvas-close" >Deposit Publications</a></li>
57
                             <li><a   routerLinkActive="uk-link" routerLink="/participate/deposit-datasets"  class="uk-offcanvas-close custom-offcanvas-close" >Deposit Research Data</a></li>
58
                          </ul>
59
                       </li>
60
                       <li class="uk-nav-header uk-parent">
61
                           Linking
62
                           <ul class="uk-nav-sub">
63
                             <li><a  routerLinkActive="uk-link" routerLink="/participate/claim"  class="uk-offcanvas-close custom-offcanvas-close" >Linking</a></li>
64
                             <li><a   routerLinkActive="uk-link" routerLink="/myclaims"  class="uk-offcanvas-close custom-offcanvas-close">My Claims</a></li>
65
                             <li *ngIf="isAuthorized"><a   routerLinkActive="uk-link" routerLink="/claims"  class="uk-offcanvas-close custom-offcanvas-close">Manage all Claims</a></li>
66
                          </ul>
67
                       </li>
68
                    </ul>
69
                 </div>
70
              </div>
71
              <!--div>
72
                 <div class="uk-panel" id="module-tm-2">
73
                    <form id="search-tm-2" action="/" method="post" role="search" class="uk-search uk-search-default">
74
                       <span uk-search-icon="" class="uk-search-icon uk-icon">
75
                          <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="search-icon" ratio="1">
76
                             <circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"></circle>
77
                             <path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"></path>
78
                          </svg>
79

    
80
                       </span>
81
                       <input name="searchword" placeholder="Search" class="uk-search-input" type="search">
82
                       <input name="task" value="search" type="hidden">
83
                       <input name="option" value="com_search" type="hidden">
84
                       <input name="Itemid" value="1860" type="hidden">
85
                    </form>
86
                 </div>
87
              </div-->
88
           </div>
89
        </div>
90
     </div>
91
  </div>
92
  <div class="tm-toolbar custom-discover-toolbar uk-visible@m">
93
     <div class="uk-container uk-flex uk-flex-middle uk-container-expand">
94
        <div class="uk-margin-auto-left">
95
           <div class="uk-grid-medium uk-child-width-auto uk-flex-middle uk-grid uk-grid-stack" uk-grid="margin: uk-margin-small-top">
96
              <div class="uk-first-column">
97
                 <div class="uk-panel inner" id="module-119">
98
                    <ul class="uk-subnav uk-subnav-line">
99
                       <li class="uk-active"><a href="https://beta.openaire.eu"><img class="uk-responsive-height" src="assets/dl119_files/Home-icon.png" alt="home"></a></li>
100
                       <li class="custom-discover-li"><a  routerLinkActive="uk-link" routerLink="/search/find" >Discover</a></li>
101
                       <li><a >Join</a></li>
102
                       <li><a >Connect</a></li>
103
                       <li><a >Monitor</a></li>
104
                       <li><a >Develop</a></li>
105
                    </ul>
106
                 </div>
107
              </div>
108
           </div>
109
        </div>
110
     </div>
111
  </div>
112
  <div class="tm-header uk-visible@m tm-header-transparent" uk-header="">
113
     <div class="uk-navbar-container uk-sticky uk-navbar-transparent uk-light" uk-sticky="" media="768" cls-active="uk-active uk-navbar-sticky" animation="uk-animation-slide-top" top=".tm-header + [class*=&quot;uk-section&quot;]" cls-inactive="uk-navbar-transparent uk-light" style="">
114
        <div class="uk-container uk-container-expand">
115
           <nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
116
              <div class="uk-navbar-left  uk-visible@l  ">
117
                 <a  routerLinkActive="uk-link" routerLink="/search/find"  class="uk-logo uk-navbar-item">
118
                 <img src="assets/OA DISCOVER_B.png" alt="OpenAIRE" class="uk-responsive-height"></a>
119
              </div>
120
              <div class="uk-navbar-left  uk-visible@m uk-hidden@l">
121
                 <a  routerLinkActive="uk-link" routerLink="/search/find"  class="uk-logo uk-navbar-item">
122
                 <img src="assets/OA DISCOVER_A.png" alt="OpenAIRE" class="uk-responsive-height"></a>
123
              </div>
124
              <div class="uk-navbar-center">
125
                 <ul *ngIf= "isClient" class="uk-navbar-nav">
126
                    <li class="uk-parent">
127
                       <a routerLinkActive="uk-link" routerLink="/search/find" class="" aria-expanded="false">Search</a>
128
                       <div class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left" style="top: 80px; left: 0px;" id="searchMenu" (click)="onClick('searchMenu')">
129
                          <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
130
                             <div class="uk-first-column">
131
                                <ul class="uk-nav uk-navbar-dropdown-nav">
132
                                   <li><a routerLinkActive="uk-link" routerLink="/search/find/publications">Publications</a></li>
133
                                   <li><a routerLinkActive="uk-link" routerLink="/search/find/datasets">Research Data</a></li>
134
                                   <li><a routerLinkActive="uk-link" routerLink="/search/find/projects">Projects</a></li>
135
                                   <li><a routerLinkActive="uk-link" routerLink="/search/find/dataproviders">Content Providers</a></li>
136
                                   <li><a routerLinkActive="uk-link" routerLink="/search/find/organizations">Organizations</a></li>
137
                                </ul>
138
                             </div>
139
                          </div>
140
                       </div>
141
                    </li>
142
                    <li class="uk-parent">
143
                       <a routerLinkActive="uk-link" routerLink="/search/content-providers" class="" aria-expanded="false">Content Providers</a>
144
                       <div class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left" style="top: 80px; left: 113px;" id="dpMenu"  (click)="onClick('dpMenu')">
145
                          <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
146
                             <div class="uk-first-column">
147
                                <ul class="uk-nav uk-navbar-dropdown-nav">
148
                                   <li><a routerLinkActive="uk-link" routerLink="/search/content-providers">OpenAIRE Content Providers</a></li>
149
                                   <li><a routerLinkActive="uk-link" routerLink="/search/entity-registries">Entity Registries</a></li>
150
                                   <li><a routerLinkActive="uk-link" routerLink="/search/journals">Journals</a></li>
151
                                </ul>
152
                             </div>
153
                          </div>
154
                       </div>
155
                    </li>
156
                    <li class="uk-parent">
157
                       <a  routerLinkActive="uk-link" routerLink="/participate/deposit-publications" class="" aria-expanded="false">Deposit</a>
158
                       <div class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left" style="top: 80px; left: 240px;" id="depositMenu"  (click)="onClick('depositMenu')">
159
                          <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
160
                             <div class="uk-first-column">
161
                                <ul class="uk-nav uk-navbar-dropdown-nav">
162
                                   <li><a  routerLinkActive="uk-link" routerLink="/participate/deposit-publications">Deposit Publications</a></li>
163
                                   <li><a   routerLinkActive="uk-link" routerLink="/participate/deposit-datasets">Deposit Research Data</a></li>
164
                                </ul>
165
                             </div>
166
                          </div>
167
                       </div>
168
                    </li>
169
                    <li class="uk-parent">
170
                       <a  routerLinkActive="uk-link" routerLink="/participate/claim"  class="" aria-expanded="false">Linking</a>
171
                       <div class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left" style="top: 80px; left: 358px;" id="linkingMenu"   (click)="onClick('linkingMenu')" >
172
                          <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
173
                             <div class="uk-first-column">
174
                                <ul class="uk-nav uk-navbar-dropdown-nav">
175
                                   <li><a  routerLinkActive="uk-link" routerLink="/participate/claim">Linking</a></li>
176
                                   <li><a   routerLinkActive="uk-link" routerLink="/myclaims">My Claims</a></li>
177
                                   <li *ngIf="isAuthorized"><a   routerLinkActive="uk-link" routerLink="/claims">Manage all Claims</a></li>
178
                                </ul>
179
                             </div>
180
                          </div>
181
                       </div>
182
                    </li>
183
                 </ul>
184
              </div>
185
              <div class="uk-navbar-right">
186
                 <user-mini></user-mini>
187
              </div>
188
           </nav>
189
        </div>
190
     </div>
191
     <!--div class="uk-sticky-placeholder" style="height: 80px; margin: 0px;" hidden="hidden"></div>
192
     <div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" hidden="hidden"></div-->
193
  </div>
194
  <div class="first_page_section uk-section-default uk-section uk-padding-remove-vertical">
195
     <div class="first_page_banner_headline uk-grid-collapse uk-flex-middle uk-margin-remove-vertical uk-grid uk-grid-stack" uk-grid="">
196
     </div>
197
  </div>
198

    
199

    
200

    
201

    
202

    
203

    
204

    
205

    
206
`
207
})
208
export class NavigationBarComponent {
209
  public isAuthorized: boolean = false;
210
  sub:any;
211
  isClient:boolean = false;
212

    
213

    
214
  constructor( private router: Router, private  route: ActivatedRoute) {}
215

    
216
  ngOnInit() {
217
    if (typeof document !== 'undefined') {
218
      try{
219
        this.isClient = true;
220
      }catch (e) {
221
      }
222
    }
223
    this.initialize();
224
    this.sub =  this.route.queryParams.subscribe(params => {
225
      this.initialize();
226
    });
227
  }
228
  ngOnDestroy(){
229
    this.sub.unsubscribe();
230
  }
231
  initialize(){
232
     if(Session.isLoggedIn() && Session.isUserValid() && Session.isAdminUser()){
233
      this.isAuthorized = true;
234
    }else {
235
          this.isAuthorized = false;
236
    }
237

    
238
  }
239
  onClick(id: string) {
240
        var el: HTMLElement = document.getElementById(id);
241
        el.classList.remove('uk-open');
242
    }
243

    
244
}
(2-2/3)