diff --git a/landingPages/dataProvider/dataProvider.component.ts b/landingPages/dataProvider/dataProvider.component.ts
index 70751b2d..b5ed9e75 100644
--- a/landingPages/dataProvider/dataProvider.component.ts
+++ b/landingPages/dataProvider/dataProvider.component.ts
@@ -186,8 +186,8 @@ export class DataProviderComponent {
this.stickyHeader = false;
this.updateDescription("");
- if(data["pv"]) {
- this.prevPath = data["pv"];
+ if(data["return_path"]) {
+ this.prevPath = data["return_path"] + (data["search_params"] ? ("?"+data["search_params"]) : "");
}
if((typeof document !== 'undefined') && document.referrer) {
this.referrer = document.referrer;
@@ -845,7 +845,11 @@ export class DataProviderComponent {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/landingPages/dataProvider/relatedDatasourcesTab.component.ts b/landingPages/dataProvider/relatedDatasourcesTab.component.ts
index 1ed36512..c8b1b25d 100644
--- a/landingPages/dataProvider/relatedDatasourcesTab.component.ts
+++ b/landingPages/dataProvider/relatedDatasourcesTab.component.ts
@@ -141,7 +141,11 @@ export class RelatedDatasourcesTabComponent {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/landingPages/landing-utils/availableOn.component.ts b/landingPages/landing-utils/availableOn.component.ts
index dc7f0052..6c97de66 100644
--- a/landingPages/landing-utils/availableOn.component.ts
+++ b/landingPages/landing-utils/availableOn.component.ts
@@ -128,7 +128,11 @@ export class AvailableOnComponent {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/landingPages/landing-utils/fundedBy.component.ts b/landingPages/landing-utils/fundedBy.component.ts
index 5f0e3cea..2938557d 100644
--- a/landingPages/landing-utils/fundedBy.component.ts
+++ b/landingPages/landing-utils/fundedBy.component.ts
@@ -110,7 +110,11 @@ export class FundedByComponent {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/landingPages/landing-utils/metrics/metrics.component.ts b/landingPages/landing-utils/metrics/metrics.component.ts
index 61b0dfdf..4d7004c0 100644
--- a/landingPages/landing-utils/metrics/metrics.component.ts
+++ b/landingPages/landing-utils/metrics/metrics.component.ts
@@ -8,6 +8,7 @@ import {EnvProperties} from '../../../utils/properties/env-properties';
import {ClickEvent} from "../../../utils/click/click-outside-or-esc.directive";
import {NumberUtils} from "../../../utils/number-utils.class";
import {OpenaireEntities} from "../../../utils/properties/searchFields";
+import {StringUtils} from "../../../utils/string-utils.class";
@Component({
selector: 'metrics',
@@ -77,7 +78,7 @@ import {OpenaireEntities} from "../../../utils/properties/searchFields";
-
+
{{metrics.infos.get(key).name}}
|
@@ -313,4 +314,16 @@ export class MetricsComponent {
let formatted = NumberUtils.roundNumber(+num);
return formatted.number + formatted.size;
}
+
+ public getEoscParams() {
+ let params = "";
+ if(this.prevPath) {
+ let splitted: string[] = this.prevPath.split("?");
+ params = "&return_path="+StringUtils.URIEncode(splitted[0]);
+ if(splitted.length > 0) {
+ params += "&search_params="+StringUtils.URIEncode(splitted[1]);
+ }
+ }
+ return params;
+ }
}
diff --git a/landingPages/landing-utils/parsingFunctions.class.ts b/landingPages/landing-utils/parsingFunctions.class.ts
index 23592e3f..ef502b3b 100644
--- a/landingPages/landing-utils/parsingFunctions.class.ts
+++ b/landingPages/landing-utils/parsingFunctions.class.ts
@@ -9,10 +9,11 @@ import {StringUtils} from "../../utils/string-utils.class";
})
export class ParsingFunctions {
public eoscSubjects = [
- {label: 'EOSC::Jupyter Notebook', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'marketplace.eosc-portal.eu/services?tag=EOSC%3A%3AJupyter+Notebook', value: 'Jupyter Notebook'},
- {label: 'EOSC::RO-crate', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'marketplace.eosc-portal.eu/datasources/eosc.psnc.6f0470e3bb9203ec3a7553f3a72a7a1f?q=ROHub', value: 'RO-crate'},
- {label: 'EOSC::Galaxy Workflow', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'marketplace.eosc-portal.eu/services?tag=EOSC%3A%3AGalaxy+Workflow', value: 'Galaxy Workflow'},
- {label: 'EOSC::Twitter Data', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'marketplace.eosc-portal.eu/services?tag=EOSC%3A%3ATwitter+Data', value: 'Twitter Data'}
+ {label: 'EOSC::Jupyter Notebook', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'search.marketplace.eosc-portal.eu/search/service?q=*&fq=tag_list:"EOSC%5C:%5C:Jupyter%20Notebook"', value: 'Jupyter Notebook'},
+ {label: 'EOSC::RO-crate', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'search.marketplace.eosc-portal.eu/search/data-source?q=*&fq=tag_list:%22eosc%5C:%5C:ro%5C-crate%22', value: 'RO-crate'},
+ {label: 'EOSC::Galaxy Workflow', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'search.marketplace.eosc-portal.eu/search/service?q=*&fq=tag_list:%22eosc%5C:%5C:galaxy%20workflow%22', value: 'Galaxy Workflow'},
+ {label: 'EOSC::Twitter Data', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'search.marketplace.eosc-portal.eu/search/service?q=*&fq=tag_list:%22EOSC%5C:%5C:Twitter%20Data%22', value: 'Twitter Data'},
+ {label: 'EOSC::Data Cube', link: 'https://' + (properties.environment != 'production'?'beta.':'') + 'search.marketplace.eosc-portal.eu/search/service?q=*&fq=tag_list:%22EOSC%5C:%5C:Data%20Cube%22', value: 'Data Cube'}
]
public notebookInSubjects: boolean = false;
diff --git a/landingPages/organization/organization.component.ts b/landingPages/organization/organization.component.ts
index 475f280b..75c242b4 100644
--- a/landingPages/organization/organization.component.ts
+++ b/landingPages/organization/organization.component.ts
@@ -170,8 +170,8 @@ export class OrganizationComponent {
this.updateTitle("Organization");
this.updateDescription("");
- if(params["pv"]) {
- this.prevPath = params["pv"];
+ if(params["return_path"]) {
+ this.prevPath = params["return_path"] + (params["search_params"] ? ("?"+params["search_params"]) : "");
}
if((typeof document !== 'undefined') && document.referrer) {
this.referrer = document.referrer;
diff --git a/landingPages/project/project.component.ts b/landingPages/project/project.component.ts
index 34e7d6e9..a992f455 100644
--- a/landingPages/project/project.component.ts
+++ b/landingPages/project/project.component.ts
@@ -214,8 +214,8 @@ export class ProjectComponent {
this.updateTitle(title);
this.updateDescription(description);
- if(params["pv"]) {
- this.prevPath = params["pv"];
+ if(params["return_path"]) {
+ this.prevPath = params["return_path"] + (params["search_params"] ? ("?"+params["search_params"]) : "");
}
if((typeof document !== 'undefined') && document.referrer) {
this.referrer = document.referrer;
@@ -979,7 +979,11 @@ export class ProjectComponent {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/landingPages/result/resultLanding.component.ts b/landingPages/result/resultLanding.component.ts
index 1ef770ad..1df4c97d 100644
--- a/landingPages/result/resultLanding.component.ts
+++ b/landingPages/result/resultLanding.component.ts
@@ -208,9 +208,8 @@ export class ResultLandingComponent {
this.egiTransferModalOpen = true;
}
this.updateDescription("");
-
- if(data["pv"]) {
- this.prevPath = data["pv"];
+ if(data["return_path"]) {
+ this.prevPath = data["return_path"] + (data["search_params"] ? ("?"+data["search_params"]) : "");
}
if((typeof document !== 'undefined') && document.referrer) {
this.referrer = document.referrer;
@@ -723,7 +722,7 @@ export class ResultLandingComponent {
}
if(!this.identifier) {
this._location.go(( pid ? (this.linkToLandingPage.split("?")[0] + "?pid=" + pid.id):
- (this.linkToLandingPage + this.id)) + (this.prevPath ? ("&pv="+this.prevPath) : ""));
+ (this.linkToLandingPage + this.id)) + this.getEoscParams());
}
// else {
// this._location.go(this.linkToLandingPage.split("?")[0] + "?pid=" + this.identifier.id);
@@ -924,9 +923,25 @@ export class ResultLandingComponent {
this.descriptionModal.open();
}
+ public getEoscParams() {
+ let params = "";
+ if(this.prevPath) {
+ let splitted: string[] = this.prevPath.split("?");
+ params = "&return_path="+StringUtils.URIEncode(splitted[0]);
+ if(splitted.length > 0) {
+ params += "&search_params="+StringUtils.URIEncode(splitted[1]);
+ }
+ }
+ return params;
+ }
+
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}
diff --git a/utils/result-preview/result-preview.component.ts b/utils/result-preview/result-preview.component.ts
index bd9e2011..1ed5b5c7 100644
--- a/utils/result-preview/result-preview.component.ts
+++ b/utils/result-preview/result-preview.component.ts
@@ -180,7 +180,11 @@ export class ResultPreviewComponent implements OnInit, OnChanges {
public addEoscPrevInParams(obj) {
if(properties.adminToolsPortalType == "eosc" && this.prevPath) {
- return this.routerHelper.addQueryParam("pv", this.prevPath, obj);
+ let splitted: string[] = this.prevPath.split("?");
+ obj = this.routerHelper.addQueryParam("return_path", splitted[0], obj);
+ if(splitted.length > 0) {
+ obj = this.routerHelper.addQueryParam("search_params", splitted[1], obj);
+ }
}
return obj;
}