diff --git a/landingPages/dataProvider/dataProvider.component.html b/landingPages/dataProvider/dataProvider.component.html index 43598be6..810a9df4 100644 --- a/landingPages/dataProvider/dataProvider.component.html +++ b/landingPages/dataProvider/dataProvider.component.html @@ -120,6 +120,21 @@ + +
  • + Other Research Products + + {{fetchOrps.searchUtils.totalResults | number}} + + +
    + + +
    +
  • +
  • Projects @@ -167,7 +182,9 @@ [loading]="loadingRelatedDatasources" [fetchPublications]="fetchAggregatorsPublications" [fetchDatasets]="fetchAggregatorsDatasets" - [fetchSoftware]="fetchAggregatorsSoftware" [(properties)]=properties> + [fetchSoftware]="fetchAggregatorsSoftware" + [fetchOrps]="fetchAggregatorsOrps" + [(properties)]=properties>
  • diff --git a/landingPages/dataProvider/dataProvider.component.ts b/landingPages/dataProvider/dataProvider.component.ts index b58f0c67..bbc06e2c 100644 --- a/landingPages/dataProvider/dataProvider.component.ts +++ b/landingPages/dataProvider/dataProvider.component.ts @@ -18,6 +18,8 @@ import {FetchDatasets} from '../../utils/fetchEntitiesClass import {SearchDatasetsService} from '../../services/searchDatasets.service'; import {FetchSoftware} from '../../utils/fetchEntitiesClasses/fetchSoftware.class'; import {SearchSoftwareService} from '../../services/searchSoftware.service'; +import {FetchOrps} from '../../utils/fetchEntitiesClasses/fetchOrps.class'; +import {SearchOrpsService} from '../../services/searchOrps.service'; import {FetchProjects} from '../../utils/fetchEntitiesClasses/fetchProjects.class'; import {SearchProjectsService} from '../../services/searchProjects.service'; import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fetchDataproviders.class'; @@ -66,11 +68,13 @@ export class DataProviderComponent { public fetchPublications : FetchPublications; public fetchDatasets: FetchDatasets; public fetchSoftware: FetchSoftware; + public fetchOrps: FetchOrps; public fetchProjects: FetchProjects; public fetchDataproviders: FetchDataproviders; public fetchAggregatorsPublications: FetchPublications; public fetchAggregatorsDatasets: FetchDatasets; public fetchAggregatorsSoftware: FetchSoftware; + public fetchAggregatorsOrps: FetchOrps; public loadingRelatedDatasources: boolean = true; @@ -85,6 +89,7 @@ export class DataProviderComponent { private reloadPublications: boolean = true; private reloadDatasets: boolean = true; private reloadSoftware: boolean = true; + private reloadOrps: boolean = true; private reloadProjects: boolean = true; private reloadDataproviders: boolean = true; private reloadRelatedDatasources: boolean = true; @@ -107,11 +112,13 @@ export class DataProviderComponent { private _searchPublicationsService: SearchPublicationsService, private _searchDatasetsService: SearchDatasetsService, private _searchSoftwareService: SearchSoftwareService, + private _searchOrpsService: SearchOrpsService, private _searchProjectsService: SearchProjectsService, private _searchDataprovidersService: SearchDataprovidersService) { this.fetchPublications = new FetchPublications(this._searchPublicationsService); this.fetchDatasets = new FetchDatasets(this._searchDatasetsService); this.fetchSoftware = new FetchSoftware(this._searchSoftwareService); + this.fetchOrps = new FetchOrps(this._searchOrpsService); this.fetchProjects = new FetchProjects(this._searchProjectsService); this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService); @@ -226,6 +233,7 @@ export class DataProviderComponent { this.reloadPublications = true; this.reloadDatasets = true; this.reloadSoftware = true; + this.reloadOrps = true; this.reloadProjects = true; this.reloadDataproviders = true; this.reloadRelatedDatasources = true; @@ -262,13 +270,14 @@ export class DataProviderComponent { this.fetchAggregatorsDatasets = new FetchDatasets(this._searchDatasetsService); //} this.fetchAggregatorsSoftware = new FetchSoftware(this._searchSoftwareService); + this.fetchAggregatorsOrps = new FetchOrps(this._searchOrpsService); } if(this.dataProviderInfo.resultsBy == "collectedFrom") { //this.paramsForSearchLink = "?collectedFrom="+this.datasourceId+"&co=and"; - this.paramsForSearchLink = this.routerHelper.createQueryParams(['collectedFrom', 'co'], [this.datasourceId, 'and']); + this.paramsForSearchLink = this.routerHelper.createQueryParams(['collectedFrom', 'cl'], [this.datasourceId, 'and']); } else if (this.dataProviderInfo.resultsBy == "hostedBy") { //this.paramsForSearchLink = "?hostedBy="+this.datasourceId+"&ho=and"; - this.paramsForSearchLink = this.routerHelper.createQueryParams(['hostedBy', 'ho'], [this.datasourceId, 'and']); + this.paramsForSearchLink = this.routerHelper.createQueryParams(['hostedBy', 'hs'], [this.datasourceId, 'and']); } } @@ -283,7 +292,9 @@ export class DataProviderComponent { this.countDatasets(page, size); } else if(content=='softwareTab') { this.countSoftware(page, size); - } else if(content=='projectsTab') { + } else if(content=='orpsTab') { + this.countOrps(page, size); + } else if(content=='projectsTab') { this.countProjects(page, size); } else if(content=='datasourcesTab') { this.countDatasources(page, size); @@ -300,7 +311,9 @@ export class DataProviderComponent { this.searchDatasets(page, size); } else if(content=='softwareTab') { this.searchSoftware(page, size); - } else if(content=='projectsTab') { + } else if(content=='orpsTab') { + this.searchOrps(page, size); + } else if(content=='projectsTab') { this.searchProjects(page, size); } else if(content=='datasourcesTab') { this.searchDatasources(page, size); @@ -352,6 +365,19 @@ export class DataProviderComponent { this.fetchSoftware.getResultsForDataproviders(this.datasourceId, this.dataProviderInfo.resultsBy, page, size, this.properties); } + private searchOrps(page: number, size: number) { + if( this.reloadOrps && + ( this.fetchOrps.searchUtils.status == this.errorCodes.LOADING || + this.fetchOrps.searchUtils.status == this.errorCodes.DONE ) ) { + this.fetchOrps.getResultsForDataproviders(this.datasourceId, this.dataProviderInfo.resultsBy, page, size, this.properties); + } + this.reloadOrps = false; + } + + private countOrps(page: number, size: number) { + this.fetchOrps.getResultsForDataproviders(this.datasourceId, this.dataProviderInfo.resultsBy, page, size, this.properties); + } + private searchProjects(page: number, size: number) { if( this.reloadProjects && ( this.fetchProjects.searchUtils.status == this.errorCodes.LOADING || @@ -389,8 +415,11 @@ export class DataProviderComponent { this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE ) && ( this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.LOADING || - this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE )) { - this.relatedDatasourcesSub = Observable.merge(this.fetchAggregatorsPublications.requestComplete, this.fetchAggregatorsDatasets.requestComplete, this.fetchAggregatorsSoftware.requestComplete) + this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE ) + && + ( this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.LOADING || + this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE )) { + this.relatedDatasourcesSub = Observable.merge(this.fetchAggregatorsPublications.requestComplete, this.fetchAggregatorsDatasets.requestComplete, this.fetchAggregatorsSoftware.requestComplete, this.fetchAggregatorsOrps.requestComplete) .subscribe( data => {}, err => {}, @@ -400,6 +429,7 @@ export class DataProviderComponent { this.fetchAggregatorsPublications.getAggregatorResults(this.datasourceId, page, size, this.properties); this.fetchAggregatorsDatasets.getAggregatorResults(this.datasourceId, page, size, this.properties); this.fetchAggregatorsSoftware.getAggregatorResults(this.datasourceId, page, size, this.properties); + this.fetchAggregatorsOrps.getAggregatorResults(this.datasourceId, page, size, this.properties); } else { this.loadingRelatedDatasources = false; } @@ -412,18 +442,20 @@ export class DataProviderComponent { this.fetchAggregatorsPublications.getAggregatorResults(this.datasourceId, page, size, this.properties); this.fetchAggregatorsDatasets.getAggregatorResults(this.datasourceId, page, size, this.properties); this.fetchAggregatorsSoftware.getAggregatorResults(this.datasourceId, page, size, this.properties); + this.fetchAggregatorsOrps.getAggregatorResults(this.datasourceId, page, size, this.properties); } private preprocessRelatedDatasources() { if( this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.DONE || this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE || - this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE ) { - this.dataProviderInfo.relatedDatasources = new Map(); + this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE || + this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE ) { + this.dataProviderInfo.relatedDatasources = new Map(); } for(let result of this.fetchAggregatorsPublications.results) { if(!this.dataProviderInfo.relatedDatasources.has(result.id)) { - this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": result.count, "countDatasets": "0", "countSoftware": "0"}); + this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": result.count, "countDatasets": "0", "countSoftware": "0", "countOrps": "0"}); } else { this.dataProviderInfo.relatedDatasources.get(result.id).countPublications = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countPublications + result.count)+""; } @@ -431,7 +463,7 @@ export class DataProviderComponent { for(let result of this.fetchAggregatorsDatasets.results) { if(!this.dataProviderInfo.relatedDatasources.has(result.id)) { - this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": "0", "countDatasets": result.count, "countSoftware": "0"}); + this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": "0", "countDatasets": result.count, "countSoftware": "0", "countOrps": "0"}); } else { this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets + result.count)+""; } @@ -439,11 +471,19 @@ export class DataProviderComponent { for(let result of this.fetchAggregatorsSoftware.results) { if(!this.dataProviderInfo.relatedDatasources.has(result.id)) { - this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": "0", "countDatasets": "0", "countSoftware": result.count}); + this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": "0", "countDatasets": "0", "countSoftware": result.count, "countOrps": "0"}); } else { this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware + result.count)+""; } } + + for(let result of this.fetchAggregatorsOrps.results) { + if(!this.dataProviderInfo.relatedDatasources.has(result.id)) { + this.dataProviderInfo.relatedDatasources.set(result.id, {"name": result.name, "countPublications": "0", "countDatasets": "0", "countSoftware": "0", "countOrps": result.count}); + } else { + this.dataProviderInfo.relatedDatasources.get(result.id).countOrps = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countOrps + result.count)+""; + } + } this.loadingRelatedDatasources = false; } diff --git a/landingPages/dataProvider/dataProvider.module.ts b/landingPages/dataProvider/dataProvider.module.ts index 6c817d91..2fee97a6 100644 --- a/landingPages/dataProvider/dataProvider.module.ts +++ b/landingPages/dataProvider/dataProvider.module.ts @@ -14,6 +14,7 @@ import {PagingModule} from '../../utils/paging.module'; import {PublicationsTabComponent} from './publicationsTab.component'; import {DatasetsTabComponent} from './datasetsTab.component'; import {SoftwareTabComponent} from './softwareTab.component'; +import {OrpsTabComponent} from './orpsTab.component'; import {StatisticsTabComponent} from './statisticsTab.component'; import {ProjectsTabComponent} from './projectsTab.component'; import {DatasourcesTabComponent} from './datasourcesTab.component'; @@ -28,6 +29,7 @@ import {DatasetsServiceModule} from '../../services/datasetsService.module'; import {ProjectsServiceModule} from '../../services/projectsService.module'; import {PublicationsServiceModule} from '../../services/publicationsService.module'; import {SoftwareServiceModule} from '../../services/softwareService.module'; +import {OrpsServiceModule} from '../../services/orpsService.module'; // import { DataProviderRoutingModule } from './dataProvider-routing.module'; import {FreeGuard} from'../../login/freeGuard.guard'; @@ -38,10 +40,10 @@ import {IsRouteEnabled} from '../../error/isRouteEnabled.guard'; [CommonModule, FormsModule, RouterModule, TabResultModule, IFrameModule, ErrorMessagesModule, MetricsModule, LandingModule, DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule, PublicationsServiceModule, - SoftwareServiceModule, PagingModule], + SoftwareServiceModule, OrpsServiceModule, PagingModule], declarations: [PublicationsTabComponent, DatasetsTabComponent, StatisticsTabComponent, ProjectsTabComponent, DatasourcesTabComponent, OrganizationsTabComponent, - RelatedDatasourcesTabComponent, DataProviderComponent, SoftwareTabComponent + RelatedDatasourcesTabComponent, DataProviderComponent, SoftwareTabComponent, OrpsTabComponent ], providers:[ DataProviderService, FreeGuard, IsRouteEnabled], diff --git a/landingPages/dataProvider/dataProvider.service.ts b/landingPages/dataProvider/dataProvider.service.ts index 5cc2e09d..55426130 100644 --- a/landingPages/dataProvider/dataProvider.service.ts +++ b/landingPages/dataProvider/dataProvider.service.ts @@ -130,9 +130,10 @@ export class DataProviderService { this.dataProviderInfo.tabs2.push("Software"); } - /*if(this.dataProviderInfo.tabsInTypes.otherTab.has(data[1].classid)) { - this.dataProviderInfo.tabs.push({"name": "Other", "content": "otherTab"}); - }*/ + if(this.dataProviderInfo.tabsInTypes.orpsTab.has(data[1].classid)) { + this.dataProviderInfo.tabs.push({"name": "Other Research Products", "content": "orpsTab"}); + this.dataProviderInfo.tabs2.push("Other Research Products"); + } this.dataProviderInfo.tabs.push({"name": "Metrics", "content": "metricsTab"}); this.dataProviderInfo.tabs2.push("Metrics"); diff --git a/landingPages/dataProvider/orpsTab.component.ts b/landingPages/dataProvider/orpsTab.component.ts new file mode 100644 index 00000000..3c7924ea --- /dev/null +++ b/landingPages/dataProvider/orpsTab.component.ts @@ -0,0 +1,41 @@ +import {Component, Input} from '@angular/core'; +import { FetchOrps } from '../../utils/fetchEntitiesClasses/fetchOrps.class'; + +import {ErrorCodes} from '../../utils/properties/errorCodes'; +import{EnvProperties} from '../../utils/properties/env-properties'; + +@Component({ + selector: 'orpsTab', + template: ` + + +
    +
    + + View all {{fetchOrps.searchUtils.totalResults | number}} results + +
    + + +
    + ` +}) + +export class OrpsTabComponent { + @Input() paramsForSearchLink = {}; + @Input() fetchOrps : FetchOrps; + @Input() properties:EnvProperties ; + public linkToSearchOrps = ""; + public errorCodes:ErrorCodes = new ErrorCodes(); + + constructor () {} + + ngOnInit() { + this.linkToSearchOrps = this.properties.searchLinkToAdvancedOrps; + } + + ngOnDestroy() {} +} diff --git a/landingPages/dataProvider/relatedDatasourcesTab.component.ts b/landingPages/dataProvider/relatedDatasourcesTab.component.ts index 01476f2b..08fb6b58 100644 --- a/landingPages/dataProvider/relatedDatasourcesTab.component.ts +++ b/landingPages/dataProvider/relatedDatasourcesTab.component.ts @@ -3,6 +3,7 @@ import {Component, Input} from '@angular/core'; import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class'; import { FetchDatasets } from '../../utils/fetchEntitiesClasses/fetchDatasets.class'; import { FetchSoftware } from '../../utils/fetchEntitiesClasses/fetchSoftware.class'; +import { FetchOrps } from '../../utils/fetchEntitiesClasses/fetchOrps.class'; import { ErrorCodes} from '../../utils/properties/errorCodes'; import {RouterHelper} from '../../utils/routerHelper.class'; @@ -12,12 +13,13 @@ import{EnvProperties} from '../../utils/properties/env-properties'; @Component({ selector: 'relatedDatasourcesTab', template: ` - -
    +
    {{results.size | number}} related content providers, page {{page | number}} of {{totalPages(results.size) | number}} @@ -39,11 +41,15 @@ import{EnvProperties} from '../../utils/properties/env-properties'; class="uk-text-center"> Number of Software + + Number of Other Research Products + - + @@ -73,6 +79,14 @@ import{EnvProperties} from '../../utils/properties/env-properties'; - + + + + {{results.get(id).countOrps | number}} + + + - @@ -87,16 +101,18 @@ export class RelatedDatasourcesTabComponent { @Input() fetchPublications : FetchPublications; @Input() fetchDatasets : FetchDatasets; @Input() fetchSoftware : FetchSoftware; + @Input() fetchOrps: FetchOrps; // true: preprocessing is not over @Input() loading: boolean = true; // Εvery content provider's id is a single key of a map - @Input() results: Map; + @Input() results: Map; @Input() properties:EnvProperties ; public linkToSearchPublications: string = ""; public linkToSearchResearchData: string = ""; public linkToSearchSoftware: string = ""; + public linkToSearchOrps: string = ""; public routerHelper:RouterHelper = new RouterHelper(); public errorCodes:ErrorCodes = new ErrorCodes(); @@ -110,6 +126,7 @@ export class RelatedDatasourcesTabComponent { this.linkToSearchPublications = this.properties.searchLinkToAdvancedPublications; this.linkToSearchResearchData = this.properties.searchLinkToAdvancedDatasets; this.linkToSearchSoftware = this.properties.searchLinkToAdvancedSoftware; + this.linkToSearchOrps = this.properties.searchLinkToAdvancedOrps; } ngOnDestroy() {} @@ -125,4 +142,8 @@ export class RelatedDatasourcesTabComponent { updatePage($event) { this.page = $event.value; } + + public getKeys( map) { + return Array.from(map.keys()); + } } diff --git a/landingPages/htmlProjectReport/htmlProjectReport.component.ts b/landingPages/htmlProjectReport/htmlProjectReport.component.ts index e01269d1..6d29a0e2 100644 --- a/landingPages/htmlProjectReport/htmlProjectReport.component.ts +++ b/landingPages/htmlProjectReport/htmlProjectReport.component.ts @@ -89,23 +89,25 @@ export class HtmlProjectReportComponent{ this.warningMessage="Requested size is not an integer"; } - if(params['type'] && (params['type'] == "publication" || params['type'] == "dataset" || params['type'] == "software")){ + if(params['type'] && (params['type'] == "publication" || params['type'] == "dataset" || params['type'] == "software" || params['type'] == "other")){ if(params['type'] == "publication") { this.resultsType = 'publication'; } else if(params['type'] == "dataset") { this.resultsType = 'research data'; } else if(params['type'] == "software") { this.resultsType = 'software'; + } else if(params['type'] == "other") { + this.resultsType = "other research product"; } var title = "Project's "+this.resultsType+" report"; - var description = "project, project "+ this.resultsType +" report, funding, open access, publications, research data, software"; + var description = "project, project "+ this.resultsType +" report, funding, open access, publications, research data, software, other research products"; this.updateTitle(title); this.updateDescription(description); } else { this.showLoading = false; - this.warningMessage="Requested type should be publication or research data or software"; + this.warningMessage="Requested type should be publication or research data or software or other research product"; } //showLoading is true if no warnings @@ -158,6 +160,8 @@ export class HtmlProjectReportComponent{ this.header2 += this.totalResults.toLocaleString('en-US') + " research data"; } else if(this.resultsType == "software") { this.header2 += this.totalResults.toLocaleString('en-US') + " software"; + } else if(this.resultsType == "other research product") { + this.header2 += this.totalResults.toLocaleString('en-US') + " other"; } } @@ -209,6 +213,8 @@ export class HtmlProjectReportComponent{ this.header1 += "Research Data"; } else if(this.resultsType == "software") { this.header1 += "Software"; + } else if(this.resultsType == "other research product") { + this.header1 += "Other Research Products"; } if(data != undefined) { diff --git a/landingPages/htmlProjectReport/htmlProjectReport.service.ts b/landingPages/htmlProjectReport/htmlProjectReport.service.ts index 095a9ea2..8e7303b7 100644 --- a/landingPages/htmlProjectReport/htmlProjectReport.service.ts +++ b/landingPages/htmlProjectReport/htmlProjectReport.service.ts @@ -22,6 +22,9 @@ export class HtmlProjectReportService { } else if(type == "software") { resultTypeId = 'software'; requestType = 'software' + } else if(type == 'other research products') { + resultTypeId = 'other'; + requestType = 'other'; } let url = csvAPIURL; diff --git a/landingPages/landing-utils/parsingFunctions.class.ts b/landingPages/landing-utils/parsingFunctions.class.ts index 4a385d63..257ab447 100644 --- a/landingPages/landing-utils/parsingFunctions.class.ts +++ b/landingPages/landing-utils/parsingFunctions.class.ts @@ -363,7 +363,7 @@ export class ParsingFunctions { return false; } - // publication & dataset & software landing : for relatedResearchResults + // publication & dataset & software & orp landing : for relatedResearchResults parseRelatedResearchResults(relatedResearchResults: Map, relation: any, provenanceAction: string) : Map + + {{item['name']}} + + " + "\n"; + this.orps_dynamic = + ""; + this.getProjectInfo(this.projectId); //this.searchPublications(); this.fetchPublications.getNumForEntity("project", this.projectId, this.properties); this.fetchDatasets.getNumForEntity("project", this.projectId, this.properties); this.fetchSoftware.getNumForEntity("project", this.projectId, this.properties); + this.fetchOrps.getNumForEntity("project", this.projectId, this.properties); } ngOnDestroy() { this.sub.unsubscribe(); @@ -208,12 +229,13 @@ actionsAfterLoadId(){ private createClipboard() { if(typeof window !== 'undefined') { - let publ_clipboard, datasets_clipboard, software_clipboard; + let publ_clipboard, datasets_clipboard, software_clipboard, orps_clipboard; let Clipboard; Clipboard = require('clipboard'); publ_clipboard = new Clipboard('.publ_clipboard_btn'); datasets_clipboard = new Clipboard('.datasets_clipboard_btn'); software_clipboard = new Clipboard('.software_clipboard_btn'); + orps_clipboard = new Clipboard('.orps_clipboard_btn'); } } @@ -242,6 +264,12 @@ actionsAfterLoadId(){ this.reloadSoftware = false; } + private searchOrps() { + this.fetchOrps.getResultsForEntity("project", this.projectId, 1, 10, this.properties); + this.linkToSearchOrps = this.properties.searchLinkToAdvancedOrps; + this.reloadOrps = false; + } + public searchPublicationsInit() { console.info("searchPublicationsInit"); if(this.reloadPublications && this.fetchPublications.searchUtils.totalResults > 0) { @@ -269,6 +297,13 @@ actionsAfterLoadId(){ } } + public searchOrpsInit() { + console.info("searchOrpsInit"); + if(this.reloadOrps && this.fetchOrps.searchUtils.totalResults > 0) { + this.searchOrps(); + } + } + private getProjectInfo (id:string) { this.warningMessage = ''; this.errorMessage="" diff --git a/landingPages/project/project.module.ts b/landingPages/project/project.module.ts index d7156d0a..0469cbd1 100644 --- a/landingPages/project/project.module.ts +++ b/landingPages/project/project.module.ts @@ -18,6 +18,7 @@ import {ReportsServiceModule} from '../../services/reportsService.module'; import {PublicationsServiceModule} from '../../services/publicationsService.module'; import {DatasetsServiceModule} from '../../services/datasetsService.module'; import {SoftwareServiceModule} from '../../services/softwareService.module'; +import {OrpsServiceModule} from '../../services/orpsService.module'; import {TabResultModule } from '../../searchPages/searchUtils/tabResult.module'; import { LandingModule } from '../landing-utils/landing.module'; import {FreeGuard} from'../../login/freeGuard.guard'; @@ -28,7 +29,7 @@ import {IsRouteEnabled} from '../../error/isRouteEnabled.guard'; CommonModule, FormsModule, RouterModule, LandingModule, LoadingModalModule, AlertModalModule, ErrorMessagesModule, TabResultModule, IFrameModule, MetricsModule, ReportsServiceModule, - PublicationsServiceModule, DatasetsServiceModule, SoftwareServiceModule, ProjectServiceModule + PublicationsServiceModule, DatasetsServiceModule, SoftwareServiceModule, OrpsServiceModule, ProjectServiceModule ], declarations: [ ProjectComponent diff --git a/utils/entities/dataProviderInfo.ts b/utils/entities/dataProviderInfo.ts index c0cafacd..65131f66 100644 --- a/utils/entities/dataProviderInfo.ts +++ b/utils/entities/dataProviderInfo.ts @@ -92,8 +92,8 @@ export class DataProviderInfo { "softwarerepository", "aggregator::softwarerepository", "orprepository" - ])/*, - "otherTab": new Set( + ]), + "orpsTab": new Set( [ "aggregator::datarepository", "aggregator::pubsrepository::institutional", @@ -108,7 +108,7 @@ export class DataProviderInfo { "softwarerepository", "aggregator::softwarerepository", "orprepository" - ])*/ + ]) /* , "metricsTab": new Set( @@ -166,5 +166,5 @@ export class DataProviderInfo { //projects: any; datasources: any; - relatedDatasources: Map; + relatedDatasources: Map; } diff --git a/utils/entities/searchResult.ts b/utils/entities/searchResult.ts index eb861e39..4f8a3fb0 100644 --- a/utils/entities/searchResult.ts +++ b/utils/entities/searchResult.ts @@ -2,14 +2,14 @@ export class SearchResult { title: { "name": string, "accessMode": string, "sc39": string}; id:string; DOI:string; - //publications & datasets & organizations: + //publications & datasets & orp & organizations: projects: {"funderShortname": string, "funderName": string, "acronym": string, "title": string, "code": string, "id": string}[]; - //datasets & publications + //datasets & orp & publications description: string; year: string; embargoEndDate: string; authors: string[]; - //datasets: + //datasets & orp: publisher: string; //dataproviders & projects: organizations: { "name": string, "id": string}[]; @@ -31,7 +31,7 @@ export class SearchResult { countries: string[]; subjects: string[]; - //publications & datasets & software + //publications & datasets & software & orp countriesForResults: string[]; languages: string[]; diff --git a/utils/properties/searchFields.ts b/utils/properties/searchFields.ts index 5474fb52..8d5264b0 100644 --- a/utils/properties/searchFields.ts +++ b/utils/properties/searchFields.ts @@ -2,7 +2,7 @@ export class SearchFields { //main Entities //RESULTS - //Used for datasets and publications and software + //Used for datasets and publications and software and orp //In case Datasets or Software should display different fields, use seperate tables for fields public RESULT_REFINE_FIELDS = [ "relfunder", @@ -36,7 +36,7 @@ export class SearchFields { ["resultacceptanceyear"]:{name:"Publication Date", type:"keyword", param:"year", operator: "ya", equalityOperator: " exact "}, ["resultdateofacceptance"]:{name:"Publication Date", type:"date", param:"date", operator: "dt", equalityOperator: " within "}, ["resultbestaccessright"]:{name:"Access Mode", type:"vocabulary", param:"access", operator: "ac", equalityOperator: " exact "}, - ["collectedfrom"]:{name:"Content Provider", type:"refine", param:"datasource", operator: "dt", equalityOperator: " exact "}, + ["collectedfrom"]:{name:"Content Provider", type:"refine", param:"datasource", operator: "cl", equalityOperator: " exact "}, ["relorganizationid"]:{name:"Organization", type:"entity", param:"organization", operator: "og", equalityOperator: " exact "}, ["collectedfromdatasourceid"]:{name:"Collected from Content Provider", type:"entity", param:"collectedFrom", operator: "cl", equalityOperator: " exact "} };