Project

General

Profile

1
import {Component, ElementRef} from '@angular/core';
2
import { Subject } from 'rxjs/Subject';
3
import {Observable}       from 'rxjs/Observable';
4
import {OpenaireProjectsService} from '../services/openaireProjects.service';
5
import {SearchProjectsService} from '../services/searchProjects.service';
6

    
7
import {SearchPublicationsService} from '../services/searchPublications.service';
8
import {SearchDatasetsService} from '../services/searchDatasets.service';
9

    
10
import {ISVocabulariesService} from '../services/ISVocabularies.service';
11
import {Dates} from '../utils/dates.class';
12
@Component({
13
    selector: 'test',
14
    template: `
15
    <!--i-frame url="https://google.com" width="30%" height="250"></i-frame-->
16
    <div style ="width:30%; height:250px;" >
17
      <!--static-autocomplete2 [(list)]=lan [(filtered)] =filtered [(selected)] =selected [showSelected]=true placeHolderMessage = "Search for languages" title = "Languages:"  [multipleSelections]=false ></static-autocomplete2-->
18
    <div>
19
<div style ="width:30%; height:250px;" >
20
  <static-autocomplete [(filtered)] =filtered [(selected)] =selected [showSelected]=true placeHolderMessage = "Search for countries" title = "Countries:" (keywordChange)="keywordChanged($event)" ></static-autocomplete>
21
<div>
22
Selected::
23
<span class="row-fluid show-grid auto-complete-choice" *ngFor="let item of selected" >
24
 <span >{{item.label}} </span>
25
 </span>
26

    
27
 <div style ="width:80%; height:250px;" >
28
   <dynamic-autocomplete  [showSelected]=true
29
   placeHolderMessage = "Search for Projects" title = "Projects:"  ></dynamic-autocomplete>
30
 <div>
31
 <div class="container" >
32
          <div class="title">
33
              Welcome
34
          </div>
35
          <div class="panel-body">
36
              <div class="row">
37
                  <div class="input-field col s12">
38
                      <input [(ngModel)]="user.email" id="email"
39
                          type="email" class="validate">
40
                      <label for="email">Email</label>
41
                  </div>
42
              </div>
43

    
44
              <div class="row">
45
                  <div class="input-field col s12">
46
                      <input [(ngModel)]="user.password" id="password"
47
                          type="password" class="validate">
48
                      <label for="password">Password</label>
49
                  </div>
50
              </div>
51

    
52
              <span>{{errorMsg}}</span>
53
              <button (click)="login()"
54
                  class="btn waves-effect waves-light"
55
                  type="submit" name="action">Login</button>
56
          </div>
57
      </div>
58
`
59
//[(filtered)] =filteredObs [(selected)] =selectedObs
60
// [(searchTermStream)] = searchTermStream
61
//(keywordChange)="keywordChanged($event)"
62
})
63
export class TestComponent {
64
  // for auto complete observable:
65
  // searchTermStream = new Subject<string>();
66
  // private selectedObs = [];
67
  // filteredObs: Observable<{}> = this.searchTermStream
68
  // .debounceTime(300).distinctUntilChanged()
69
  // .switchMap((term: string) => this.service(term));
70
  private lan;
71
  private types;
72

    
73
  private user:{password:string,email:string} = {password:"",email:""};
74
  constructor(private _projectService: OpenaireProjectsService,private _searchProjectsService:SearchProjectsService,private _searchPubService:SearchPublicationsService,private _searchDataService:SearchDatasetsService, private _vocabulariesService: ISVocabulariesService) {
75
    // this.elementRef = myElement;
76
  }
77
  ngOnInit() {
78
    // this.lan = this._vocabulariesService.getLanguages();
79
    this.lan = this._vocabulariesService.getLanguagesJsonFile();
80
    this.types = this._vocabulariesService.getPublicationTypesJsonFile();
81
    this.user.email = localStorage.getItem("email");
82
    this.user.password = localStorage.getItem("password");
83
    //&collectedFrom=openaire____::4a39de251a65e801bb88d3e75b47623f&cl=and
84
    this._searchDataService.searchDatasets("&collectedFrom=openaire____::fdb035c8b3e0540a8d9a561a6c44f4de&cl=and" ,"&refine=true&fields=resulthostingdatasourceid", 1, 0, ["resulthostingdatasourceid"]).subscribe(
85
        data => {
86

    
87
            console.info("done" +data[0]);
88

    
89
        },
90
        err => {
91
            console.error(err)
92

    
93
        }
94
    );
95
    this._searchPubService.searchPublications("&fq=collectedfromdatasourceid exact openaire____::fdb035c8b3e0540a8d9a561a6c44f4de","&refine=true&fields=resulthostingdatasourceid" , 0, 0, ["resulthostingdatasourceid"]).subscribe(
96
        data => {
97

    
98
            console.info("done" +data[0]);
99

    
100
        },
101
        err => {
102
            console.error(err)
103

    
104
        }
105
    );
106
    this._searchProjectsService.getProjectsforDataProvider("openaire____::db600878200645bd752cf7fd96a37df5",1,10).subscribe(
107
        data => {
108

    
109
            console.info("done" +data[0]);
110

    
111
        },
112
        err => {
113
            console.error(err)
114

    
115
        }
116
    );
117
  }
118
  login(){
119
    localStorage.setItem("email",this.user.email);
120
    localStorage.setItem("password",this.user.password);
121
    console.info("Save email/ password in local Storage. Email is:" + localStorage.getItem("email"));
122

    
123
  }
124
  service(term) {
125
      var projects = this._projectService.searchForProjectsObs(term, "this.selectedFunderId");
126
      console.info("Results: "+ projects);
127
      for( var i = 0 ; i<projects.length ; i++){
128

    
129
      }
130
     return projects;
131
  }
132

    
133
  private filtered = [];
134
  private selected = [];
135
  keywordChanged($event) {
136
    console.log("keyword Changed"+this.lan.length+" "+this.lan[0].id+"-"+this.lan[0].label);
137
    var keyword = $event.value;
138
    this.filtered = this.types.filter(function(el){
139
        return el.label.toLowerCase().indexOf(keyword.toLowerCase()) > -1;
140
    }.bind(this));
141

    
142
  }
143
  public countries = [
144
    {id: '0', label: "Albania"},{id: '1', label: "Andorra"},{id: '2', label: "Armenia"},
145
    {id: '3', label: "Austria"},{id: '4', label: "Azerbaijan"},{id: '5', label: "Belarus"},{id: '6', label: "Belgium"},
146
    {id: '7', label: "Bosnia & Herzegovina"},{id: '8', label: "Bulgaria"},{id: '9', label: "Croatia"},
147
    {id: '10', label: "Cyprus"},{id: '11', label: "Czech Republic"},{id: '12', label: "Denmark"},{id: '13', label: "Estonia"},
148
    {id: '14', label: "Finland"},{id: '15', label: "France"},{id: '16', label: "Georgia"},
149
    {id: '17', label: "Germany"},{id: '18', label: "Greece"},{id: '19', label: "Hungary"},{id: '20', label: "Iceland"},
150
    {id: '21', label: "Ireland"},{id: '22', label: "Italy"},{id: '23', label: "Kosovo"},
151
    {id: '24', label: "Latvia"},{id: '25', label: "Liechtenstein"},{id: '26', label: "Lithuania"},{id: '27', label: "Luxembourg"}];
152

    
153

    
154
                      // "Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta",
155
                      // "Moldova","Monaco","Montenegro","Netherlands","Norway","Poland",
156
                      // "Portugal","Romania","Russia","San Marino","Serbia","Slovakia","Slovenia",
157
                      // "Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Vatican City"];
158
}
(2-2/3)