2024-05-29 12:05:04 +02:00
|
|
|
import {BelongsTo, Measure} from "./resultLandingInfo";
|
2024-05-31 12:59:23 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|
2017-12-19 13:53:46 +01:00
|
|
|
|
2023-05-02 11:00:40 +02:00
|
|
|
export class ProjectInfo {
|
2024-05-31 12:59:23 +02:00
|
|
|
id: string;
|
2023-05-02 11:00:40 +02:00
|
|
|
acronym: string;
|
|
|
|
title: string;
|
2024-05-31 12:59:23 +02:00
|
|
|
funding: Funding;
|
2023-05-02 11:00:40 +02:00
|
|
|
startDate: number;
|
|
|
|
endDate: number;
|
|
|
|
currentDate: number;
|
|
|
|
status: string;
|
|
|
|
openAccessMandatePublications: string;
|
|
|
|
openAccessMandateDatasets: string;
|
|
|
|
// specialClause39: string;
|
2024-05-31 12:59:23 +02:00
|
|
|
organizations: ProjectOrganization[];
|
2023-05-02 11:00:40 +02:00
|
|
|
url: string;
|
|
|
|
urlInfo: string;
|
|
|
|
description: string;
|
|
|
|
//publications: any;
|
|
|
|
researchData: any;
|
|
|
|
totalPublications: number;
|
|
|
|
totalDatasets: number;
|
|
|
|
publicationsStatus: any;
|
|
|
|
measure: Measure;
|
2024-05-29 12:05:04 +02:00
|
|
|
belongsTo: boolean = true;
|
|
|
|
message: string;
|
|
|
|
|
|
|
|
setBelongsTo(id: string) {
|
|
|
|
this.belongsTo = !BelongsTo.project || BelongsTo.project.fields.findIndex(field => BelongsTo.check(this, field)) != -1;
|
2024-05-31 12:59:23 +02:00
|
|
|
this.message = !this.belongsTo ? BelongsTo.project.message : null;
|
|
|
|
if (this.message) {
|
2024-05-29 12:05:04 +02:00
|
|
|
this.message = this.message.replace('((id))', id);
|
|
|
|
}
|
|
|
|
}
|
2017-12-19 13:53:46 +01:00
|
|
|
}
|