55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import {BelongsTo, Measure} from "./resultLandingInfo";
|
|
|
|
export interface Funding {
|
|
funderName: string,
|
|
funderShortName: string,
|
|
funderJurisdiction: string,
|
|
code: string,
|
|
callIdentifier: string,
|
|
fundingStream: string,
|
|
budget: string,
|
|
contribution: string,
|
|
currency: string
|
|
}
|
|
|
|
export interface ProjectOrganization {
|
|
acronym: string,
|
|
country: string,
|
|
name: string,
|
|
id: string
|
|
}
|
|
|
|
export class ProjectInfo {
|
|
id: string;
|
|
acronym: string;
|
|
title: string;
|
|
funding: Funding;
|
|
startDate: number;
|
|
endDate: number;
|
|
currentDate: number;
|
|
status: string;
|
|
openAccessMandatePublications: string;
|
|
openAccessMandateDatasets: string;
|
|
// specialClause39: string;
|
|
organizations: ProjectOrganization[];
|
|
url: string;
|
|
urlInfo: string;
|
|
description: string;
|
|
//publications: any;
|
|
researchData: any;
|
|
totalPublications: number;
|
|
totalDatasets: number;
|
|
publicationsStatus: any;
|
|
measure: Measure;
|
|
belongsTo: boolean = true;
|
|
message: string;
|
|
|
|
setBelongsTo(id: string) {
|
|
this.belongsTo = !BelongsTo.project || BelongsTo.project.fields.findIndex(field => BelongsTo.check(this, field)) != -1;
|
|
this.message = !this.belongsTo ? BelongsTo.project.message : null;
|
|
if (this.message) {
|
|
this.message = this.message.replace('((id))', id);
|
|
}
|
|
}
|
|
}
|