//Classes used in linking / inlinelinking when selecting an entity import {HelperFunctions} from "../../utils/HelperFunctions.class"; import {OpenaireEntities} from "../../utils/properties/searchFields"; export class ClaimResult { public source: string; public url: string; public record: any; public accessRights: string = "OPEN"; public embargoEndDate: string = ""; public date: string; public authors: string[] = []; public publisher: string; public description: string; DOI: string; editors = []; journal: string; constructor() { let today = new Date(); this.embargoEndDate = "" + (today.getFullYear()) + "-" + (today.getMonth() + 1) + "-" + (today.getDate()); this.authors = []; this.accessRights = "OPEN"; this.editors = []; } } export class ClaimProject { public funderId: string; public funderName: string; public acronym: string; public startDate: string; public endDate: string; public code: string; public jurisdiction: string; public fundingLevel0: string; public url: string; } export class ClaimContext { public community: string; public category: string; public concept: any; } export class Message { public type: string; public resultId: string; public resultTitle: string; projectId: string; projectInfo: { title: string, startDate: string, endDate: string }; } export class ClaimsErrorMessage { public type: string; inserted:number; failed:number; constructor(){ this.inserted = 0; this.failed = 0; } } export class ClaimEntity { public id: string; public type: string; public title: string; warningMessages: Message[]; errorMessages: Message[]; result: ClaimResult; project: ClaimProject; context: ClaimContext; constructor() { this.warningMessages = []; this.errorMessages = []; } } export class ClaimRecord2Insert { claimedBy: string; sourceId: string; sourceType: string; sourceCollectedFrom: string; sourceAccessRights: string; sourceEmbargoEndDate: string; targetId: string; targetType: string; targetCollectedFrom: string; targetAccessRights: string; targetEmbargoEndDate: string; claimedInDashboard: string; constructor() { } } export class ClaimDBRecord { id: string; userMail: string; date: string; sourceType: string; targetType: string; semantics: string; approved: string; source: ClaimDBResult | ClaimDBProject | ClaimDBContext; target: ClaimDBResult; indexed:boolean; } export class ClaimDBContext { title: string; openaireId: string; } export class ClaimDBProject { openaireId: string; name: string; funderName: string; funderId: string; } export class ClaimDBResult { title: string; authors: string[]; externalUrl: string; openaireId: string; doi: string; accessRights: string; collectedFrom: string; resultType: string; } export class DirectIndexRecord { public id: string; record: any; } export class ShowOptions { show: string; //show values: source, result, project, context, claim linkTo: string; // linkTo /values: result, project, context linkToEntities: string[]; // show linkToEntities /values: result, project, context basketShowSources: boolean = true; basketShowLinksTo: boolean = false; selectOptions= []; constructor() { this.show = "source"; this.linkTo = "project"; this.linkToEntities = ["project", "context", "result"]; this.basketShowSources = true; this.basketShowLinksTo = false; } showSource() { this.show = "source"; this.basketswitchToSources(); HelperFunctions.scroll(); } basketswitchToSources() { this.basketShowLinksTo = false; this.basketShowSources = true; } basketswitchToLinkTo() { this.basketShowLinksTo = true; this.basketShowSources = false; } showLinkTo() { console.log(this.linkTo, "showLinkTo") this.show = this.linkTo; this.basketswitchToLinkTo(); HelperFunctions.scroll(); } initSelectOptions(){ let options =[]; if(this.linkToEntities.indexOf('result')!=-1){ options.push({value: 'result',label: OpenaireEntities.RESULTS}) } if(this.linkToEntities.indexOf('project')!=-1){ options.push({value: 'project',label: OpenaireEntities.PROJECTS}) } if(this.linkToEntities.indexOf('context')!=-1){ options.push({value: 'context',label: OpenaireEntities.COMMUNITIES}) } this.selectOptions = options; } }