1 |
43785
|
argiro.kok
|
import {Component, Input} from '@angular/core';
|
2 |
|
|
import {Observable} from 'rxjs/Observable';
|
3 |
44406
|
konstantin
|
import {OpenaireProperties, ErrorCodes} from '../utils/properties/openaireProperties';
|
4 |
43785
|
argiro.kok
|
|
5 |
44084
|
konstantin
|
import { ActivatedRoute } from '@angular/router';
|
6 |
44619
|
argiro.kok
|
import { SearchDataprovidersComponent } from '../searchPages/simple/searchDataproviders.component';
|
7 |
44084
|
konstantin
|
import { SearchDataprovidersService } from '../services/searchDataproviders.service';
|
8 |
|
|
import { SearchResultComponent } from '../searchPages/searchUtils/searchResult.component';
|
9 |
|
|
|
10 |
44274
|
konstantin
|
import {OrganizationService} from '../services/organization.service';
|
11 |
|
|
|
12 |
43785
|
argiro.kok
|
@Component({
|
13 |
44406
|
konstantin
|
selector: 'deposit-result',
|
14 |
43785
|
argiro.kok
|
template: `
|
15 |
|
|
<div class="container">
|
16 |
|
|
<div class="page-header" >
|
17 |
44406
|
konstantin
|
<h2>Deposit {{requestFor}}</h2>
|
18 |
43785
|
argiro.kok
|
</div>
|
19 |
|
|
|
20 |
44881
|
argiro.kok
|
<div *ngIf="status == errorCodes.LOADING || (status == errorCodes.LOADING && searchDataprovidersComponent.searchUtils.status == errorCodes.LOADING)"
|
21 |
44614
|
konstantin
|
class="alert alert-info" role="alert">
|
22 |
|
|
Loading...
|
23 |
|
|
</div>
|
24 |
|
|
|
25 |
44726
|
argiro.kok
|
<div *ngIf="searchDataprovidersComponent.searchUtils.totalResults > 0">
|
26 |
44084
|
konstantin
|
<h2 *ngIf="organization != undefined">
|
27 |
43785
|
argiro.kok
|
<span>Data providers for institution: </span>
|
28 |
44084
|
konstantin
|
<a *ngIf="organization['url']!=''" href="{{organization.url}}">
|
29 |
43926
|
konstantin
|
<span>{{organization['name']}}</span>
|
30 |
|
|
</a>
|
31 |
|
|
<span *ngIf="organization['url']==''">{{organization['name']}}</span>
|
32 |
43785
|
argiro.kok
|
</h2>
|
33 |
44274
|
konstantin
|
|
34 |
43785
|
argiro.kok
|
</div>
|
35 |
|
|
|
36 |
44726
|
argiro.kok
|
<div *ngIf="searchDataprovidersComponent.searchUtils.totalResults > 0">
|
37 |
44893
|
konstantin
|
<p>Please use the information/contacts shown below to deposit your {{requestFor}}.</p>
|
38 |
44084
|
konstantin
|
<!--showDataProviders [dataProviders]=dataProviders></showDataProviders-->
|
39 |
44726
|
argiro.kok
|
<div class = "text-right" *ngIf = "searchDataprovidersComponent.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDataproviders" >View all {{searchDataprovidersComponent.searchUtils.totalResults}} results</a></div>
|
40 |
44881
|
argiro.kok
|
<search-result [(results)]="searchDataprovidersComponent.results" [(status)]= "searchDataprovidersComponent.searchUtils.status"></search-result>
|
41 |
43785
|
argiro.kok
|
</div>
|
42 |
|
|
|
43 |
44732
|
konstantin
|
<div *ngIf="(searchDataprovidersComponent.searchUtils.totalResults == 0 && status == errorCodes.DONE)
|
44 |
|
|
|| status == errorCodes.NONE || status == errorCodes.ERROR" class = "alert alert-warning">
|
45 |
44274
|
konstantin
|
<div *ngIf="organization != undefined">
|
46 |
|
|
No data providers found
|
47 |
|
|
<span *ngIf="organization != undefined">
|
48 |
|
|
for institution:
|
49 |
|
|
<a *ngIf="organization['url']!=''" href="{{organization.url}}">
|
50 |
|
|
<span>{{organization['name']}}</span>
|
51 |
|
|
</a>
|
52 |
|
|
<span *ngIf="organization['url']==''">{{organization['name']}}</span>
|
53 |
|
|
</span>
|
54 |
|
|
.
|
55 |
|
|
</div>
|
56 |
44732
|
konstantin
|
<div *ngIf="organization == undefined && organizationId != ''">
|
57 |
44274
|
konstantin
|
No organization with ID: {{organizationId}} found.
|
58 |
|
|
</div>
|
59 |
44732
|
konstantin
|
<div *ngIf="organizationId == ''">
|
60 |
|
|
No ID for organization.
|
61 |
|
|
</div>
|
62 |
44274
|
konstantin
|
|
63 |
44893
|
konstantin
|
You can still deposit your {{requestFor}} in
|
64 |
43785
|
argiro.kok
|
<a href="{{zenodo}}">OpenAIRE's Zenodo catch-all repository </a>
|
65 |
|
|
hosted by CERN.
|
66 |
|
|
</div>
|
67 |
|
|
</div>
|
68 |
|
|
`
|
69 |
|
|
})
|
70 |
|
|
|
71 |
|
|
export class DepositResultComponent {
|
72 |
44826
|
argiro.kok
|
public organization: {"name": string, "url": string};
|
73 |
|
|
public organizationId: string = "";
|
74 |
44084
|
konstantin
|
|
75 |
44826
|
argiro.kok
|
public status: number;
|
76 |
|
|
public errorCodes:ErrorCodes = new ErrorCodes();
|
77 |
44614
|
konstantin
|
|
78 |
44274
|
konstantin
|
sub: any;
|
79 |
44084
|
konstantin
|
subDataproviders: any;
|
80 |
|
|
|
81 |
44826
|
argiro.kok
|
public searchDataprovidersComponent : SearchDataprovidersComponent;
|
82 |
|
|
public linkToSearchDataproviders = "";
|
83 |
|
|
public zenodo: string;
|
84 |
44406
|
konstantin
|
@Input() compatibility: string = '';
|
85 |
|
|
@Input() requestFor: string = "Publications";
|
86 |
43785
|
argiro.kok
|
|
87 |
44084
|
konstantin
|
constructor (private route: ActivatedRoute,
|
88 |
44274
|
konstantin
|
private _searchDataprovidersService: SearchDataprovidersService,
|
89 |
|
|
private _organizationService: OrganizationService) {
|
90 |
44084
|
konstantin
|
console.info("depositResult constructor");
|
91 |
|
|
|
92 |
|
|
this.zenodo = OpenaireProperties.getZenodoURL();
|
93 |
|
|
this.searchDataprovidersComponent = new SearchDataprovidersComponent(this.route, this._searchDataprovidersService);
|
94 |
44614
|
konstantin
|
|
95 |
|
|
this.status = this.errorCodes.LOADING;
|
96 |
|
|
console.info("loading");
|
97 |
43785
|
argiro.kok
|
}
|
98 |
44084
|
konstantin
|
|
99 |
|
|
ngOnInit() {
|
100 |
|
|
console.info('depositResult init');
|
101 |
|
|
|
102 |
44274
|
konstantin
|
this.sub = this.route.queryParams.subscribe(params => {
|
103 |
|
|
this.organizationId = params['organizationId'];
|
104 |
|
|
console.info("Id is :"+this.organizationId);
|
105 |
|
|
if(this.organizationId){
|
106 |
|
|
this.getOrganizationInfo();
|
107 |
|
|
}
|
108 |
44084
|
konstantin
|
});
|
109 |
|
|
}
|
110 |
|
|
|
111 |
44732
|
konstantin
|
ngDoCheck() {
|
112 |
|
|
if(this.organizationId == "" || this.organizationId == undefined) {
|
113 |
|
|
this.organizationId = "";
|
114 |
|
|
this.status = this.errorCodes.ERROR;
|
115 |
|
|
}
|
116 |
|
|
}
|
117 |
|
|
|
118 |
44084
|
konstantin
|
ngOnDestroy() {
|
119 |
44274
|
konstantin
|
this.sub.unsubscribe();
|
120 |
|
|
if(this.subDataproviders != undefined) {
|
121 |
|
|
this.subDataproviders.unsubscribe();
|
122 |
|
|
}
|
123 |
44084
|
konstantin
|
}
|
124 |
|
|
|
125 |
|
|
private searchDataproviders() {
|
126 |
44338
|
konstantin
|
// if(this.organization != undefined) {
|
127 |
|
|
// this.searchDataprovidersComponent.getResults(this.organization.name, false, 1, 10);
|
128 |
|
|
// } else if(this.organizationId != undefined) {
|
129 |
44435
|
argiro.kok
|
this.searchDataprovidersComponent.getResultsForDeposit( this.organizationId,this.requestFor, 1, 10);
|
130 |
44338
|
konstantin
|
//}
|
131 |
44084
|
konstantin
|
this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders();
|
132 |
|
|
}
|
133 |
44274
|
konstantin
|
|
134 |
|
|
private getOrganizationInfo () {
|
135 |
|
|
console.info("inside getOrganizationInfo of component");
|
136 |
|
|
|
137 |
|
|
this._organizationService.getOrganizationInfo(this.organizationId).subscribe(
|
138 |
|
|
data => {
|
139 |
|
|
this.organization = data.title;
|
140 |
44614
|
konstantin
|
this.status = this.errorCodes.DONE;
|
141 |
|
|
console.info("done");
|
142 |
44274
|
konstantin
|
this.subDataproviders = this.route.queryParams.subscribe(params => {
|
143 |
|
|
this.searchDataproviders();
|
144 |
|
|
});
|
145 |
|
|
},
|
146 |
|
|
err => {
|
147 |
44907
|
argiro.kok
|
//console.log(err)
|
148 |
44614
|
konstantin
|
|
149 |
|
|
if(err.status == '404') {
|
150 |
|
|
this.status = this.errorCodes.NONE;
|
151 |
|
|
console.info("none");
|
152 |
|
|
} else {
|
153 |
|
|
this.status = this.errorCodes.ERROR;
|
154 |
|
|
console.info("error");
|
155 |
|
|
}
|
156 |
44274
|
konstantin
|
}
|
157 |
|
|
);
|
158 |
|
|
}
|
159 |
43785
|
argiro.kok
|
}
|