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: `
+
+
+
+ `
+})
+
+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: `
-
-
+
pageSize" class="uk-margin">
{{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
+
0 || fetchOrps.searchUtils.status == errorCodes.ERROR"
+ class="uk-text-center">
+ Number of Other Research Products
+ |
-
+
=(page-1)*pageSize && i
@@ -73,6 +79,14 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
- |
+
+ 0" class="uk-text-center">
+
+ {{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 =
+ "');"
+ + "\n-->"
+ + "\n";
+
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 "}
};