Project

General

Profile

1
import { Component, Directive, ElementRef, Renderer2, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
2
import { ConfigurationService } from './utils/configuration/configuration.service';
3
import {Observable}       from 'rxjs';
4
import { EnvProperties } from './utils/properties/env-properties';
5
import {ActivatedRoute} from '@angular/router';
6
import{EnvironmentSpecificService} from './utils/properties/environment-specific.service';
7
import{MenuItem,RootMenuItem} from './sharedComponents/menu';
8

    
9
@Component({
10
  //changeDetection: ChangeDetectionStrategy.Default,
11
  //encapsulation: ViewEncapsulation.Emulated,
12
  selector: 'app-root',
13
  styles: [`
14
  `],
15
  template: `
16

    
17
        <navbar *ngIf= "properties" portal="explore" [environment]=properties.environment [onlyTop]=false [userMenu]=true [(communityId)]="properties.adminToolsCommunity"  [userMenuItems]=userMenuItems [menuItems]=menuItems
18
        [(APIUrl)]="properties.adminToolsAPIURL" [(logInUrl)]="properties.loginUrl" [(logOutUrl)]="properties.logoutUrl"  [(cookieDomain)]="properties.cookieDomain"></navbar>
19
        <h1>Openaire Lib Component</h1>
20

    
21

    
22
          <!--div id="tm-main" class=" uk-section  uk-margin-large-top tm-middle custom-main-content"   >
23
                <div uk-grid uk-grid>
24
                   <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first "-->
25
                   <div class="custom-main-content"   >
26
                      <main>
27
                       <router-outlet></router-outlet>
28

    
29
                     </main>
30
                    </div>
31
                   <!--/div>
32

    
33

    
34
                </div>
35
          </div-->
36
          <!--feedback *ngIf= "isClient"></feedback-->
37
          <cookie-law *ngIf= "isClient" position="bottom">
38
              OpenAIRE uses cookies in order to function properly.<br>
39
              Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing experience possible.
40
              By using the OpenAIRE portal you accept our use of cookies. <a href="http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <span class="uk-icon">
41
              <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="chevron-right" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline></svg>
42
              </span></a>
43
          </cookie-law>
44
           <bottom *ngIf= "isClient && properties"  [assetsPath]=assetsPath [environment]=properties.environment></bottom>
45

    
46
`
47

    
48
})
49
export class AppComponent {
50
   isClient:boolean = false;
51
     public properties:EnvProperties = null;
52

    
53
   constructor(private config: ConfigurationService, private  route: ActivatedRoute, private propertiesService:EnvironmentSpecificService) {
54
   }
55

    
56
   assetsPath = "assets/";
57
   userMenuItems:MenuItem[] =  [ new MenuItem("","My profile","","",false,[],[],{}),
58
   new MenuItem("","My claims","","/myclaims",false,[],["/myclaims"],{}),
59
   new MenuItem("","Manage all claims","","/claims",true,[],["/claims"],{})]
60

    
61

    
62
   menuItems:RootMenuItem [] = [
63
     {rootItem: new MenuItem("search","Search","","/search/find",false,[],["/search/find"],{}),
64
       items: [new MenuItem("","Publications","","/search/find/publications",false,["publication"],["/search/find/publications"],{}),
65
       new MenuItem("","Research Data","","/search/find/datasets",false,["dataset"],["/search/find/datasets"],{}),
66
       new MenuItem("","Software","","/search/find/software",false,["software"],["/search/find/software"],{}),
67
       new MenuItem("","Other Research Products","","/search/find/other",false,["orp"],["/search/find/other"],{}),
68
       new MenuItem("","Projects","","/search/find/projects/",false,["project"],["/search/find/projects"],{}),
69
       new MenuItem("","Content Providers","","/search/find/dataproviders",false,["datasource"],["/search/find/dataproviders"],{}),
70
       new MenuItem("","Organizations","","/search/find/organizations/",false,["organization"],["/search/find/organizations"],{})
71
     ]},
72
     {
73
     rootItem: new MenuItem("share","Share","","",false,[],["/participate/deposit-publications","/participate/deposit-datasets"],{}),
74
     items: [new MenuItem("","Publications","","/participate/deposit-publications",false,["publication"],["/participate/deposit-publications"],{}),
75
     new MenuItem("","Research Data","","/participate/deposit-datasets",false,["dataset"],["/participate/deposit-datasets"],{})]
76
     },
77
     {
78
     rootItem: new MenuItem("link","Link","","/participate/claim",false,[],["/participate/claim"],{}),
79
     items: []
80
     },
81
     {
82
     rootItem: new MenuItem("datasources","Content Providers","","",false,["datasource"],[],{}),
83
     items: [new MenuItem("","Data Policies","https://beta.openaire.eu/oa-policies-mandates","",false,["datasource"],[],{}),
84
     new MenuItem("","Repositories","","/search/content-providers",false,["datasource"],["/search/content-providers"],{}),
85
     new MenuItem("","Journals","","/search/journals",false,["datasource"],["/search/journals"],{}),
86
     new MenuItem("","Registries","","/search/entity-registries",false,["datasource"],["/search/entity-registries"],{}),
87
     new MenuItem("","Browse all","","/search/find/dataproviders",false,["datasource"],["/search/find/dataproviders"],{})]
88
     }
89
 ];
90
   ngOnInit() {
91

    
92
     this.propertiesService.loadEnvironment()
93
             .then(es => {
94
                 this.propertiesService.setEnvProperties(es);
95
                 this.properties = this.propertiesService.envSpecific;
96
             }, error => {
97
               console.log("App couldn't fetch properties");
98
                 console.log(error);
99

    
100
             });
101
     if (typeof document !== 'undefined') {
102
       try{
103
         this.isClient = true;
104
       }catch (e) {
105
       }
106
     }
107
   }
108

    
109

    
110

    
111
}
(2-2/4)