90 lines
2.3 KiB
TypeScript
90 lines
2.3 KiB
TypeScript
import {Component} from '@angular/core';
|
|
import {JSONP_PROVIDERS} from '@angular/http';
|
|
import {Observable} from 'rxjs/Observable';
|
|
import { RouteParams } from '@angular/router-deprecated';
|
|
import {ProjectService} from '../../services/project.service';
|
|
import {ProjectInfo} from '../../entities/projectInfo';
|
|
|
|
@Component({
|
|
selector: 'project',
|
|
template: `
|
|
|
|
<div *ngIf="projectInfo != null">
|
|
<h2>{{projectInfo.acronym}}</h2>
|
|
<p>
|
|
<span>Title</span>
|
|
<span>{{projectInfo.title}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Funding</span>
|
|
<span>{{projectInfo.funding}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Call</span>
|
|
<span>{{projectInfo.callIdentifier}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Contract (GA) number</span>
|
|
<span>{{projectInfo.contractNum}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Start Date</span>
|
|
<span>{{projectInfo.startDate}}</span>
|
|
</p>
|
|
<p>
|
|
<span>End Date</span>
|
|
<span>{{projectInfo.endDate}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Open Access mandate</span>
|
|
<span>{{projectInfo.openAccessMandate}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Special Clause 39</span>
|
|
<span>{{projectInfo.specialClause39}}</span>
|
|
</p>
|
|
<p>
|
|
<span>Organizations</span>
|
|
<span>{{projectInfo.organizations}}</span>
|
|
</p>
|
|
<p>
|
|
<span>More information</span>
|
|
<span><a target="_blank" href="{{projectInfo.url}}">{{projectInfo.urlInfo}}</a></span>
|
|
</p>
|
|
|
|
</div>
|
|
|
|
`,
|
|
providers:[JSONP_PROVIDERS, ProjectService]
|
|
})
|
|
export class ProjectComponent {
|
|
constructor (private _projectService: ProjectService,
|
|
private _routeParams: RouteParams) {
|
|
console.info('project constructor');
|
|
this.params = _routeParams;
|
|
}
|
|
ngOnInit() {
|
|
console.info('project init');
|
|
this.getProjectInfo();
|
|
}
|
|
|
|
results : String[];
|
|
orcidresults : String[];
|
|
resultsNum : number ;
|
|
|
|
projectInfo: ProjectInfo;
|
|
params: RouteParams;
|
|
|
|
getProjectInfo () {
|
|
console.info("inside getProjectInfo of component");
|
|
|
|
this._projectService.getProjectInfo(this.params.get('projectId')).subscribe(
|
|
data => {
|
|
this.projectInfo = data;
|
|
},
|
|
err => console.error(err)
|
|
);
|
|
}
|
|
|
|
}
|