import {Component, ElementRef, Input} from '@angular/core'; import { OpenAireJsonldConverterService } from './service/open-aire-jsonld-converter.service'; import { JsonldDocumentSerializerService } from './service/jsonld-document-serializer.service'; @Component({ selector: 'schema2jsonld', template: ` ` }) export class Schema2jsonldComponent { @Input() data; // for project, organization, datasource @Input() URL; @Input() logoURL; // for home, search @Input() otherURL; //for project, datasource @Input() name; @Input() searchAction = true; @Input() type="result"; json; constructor( private documentParser: OpenAireJsonldConverterService, private documentSerializer: JsonldDocumentSerializerService) { } ngOnInit() { var docOvject; if(this.type == 'project'){ docOvject = this.documentParser.convertProject(this.data, this.URL, this.otherURL); this.json = this.documentSerializer.serializeOrganization(docOvject); }else if(this.type == 'organization'){ docOvject = this.documentParser.convertOrganization(this.data, this.URL); this.json = this.documentSerializer.serializeOrganization(docOvject); }else if(this.type == 'datasource'){ docOvject = this.documentParser.convertDatasource(this.data, this.URL, this.otherURL); this.json = this.documentSerializer.serializeOrganization(docOvject); }else if(this.type == 'home'){ this.json = this.documentParser.createHome(this.name, this.URL, this.logoURL); }else if(this.type == 'search'){ this.json = this.documentParser.createSearchPage(this.name, this.URL, this.logoURL, this.searchAction); }else if(this.type == 'result'){ docOvject = this.documentParser.convertResult(this.data, this.URL); this.json = this.documentSerializer.serializeDataset(docOvject); }else{ this.json = this.documentParser.createSimplePage(this.name, this.URL); } } }