In order to send data to a Cloud Storage, you would need to be authenticated, please login via EGI check-in.
@@ -54,7 +54,7 @@ declare var UIkit;
Please select the Destination Storage type and provide the corresponding storage destination path.
-
@@ -97,7 +97,7 @@ export class EGIDataTransferComponent {
sourceUrls = []
selectedSourceUrl = null;
destinationPath = "";
- destinationOptions = [{label: "EGI storage", value: { url: "https://dcache-demo.desy.de:2443", id: "egi" , webpage:"https://dcache-demo.desy.de"} }];
+ destinationOptions = [{label: "EGI dCache (dcache-demo.desy.de)", value: { url: "https://dcache-demo.desy.de:2443", id: "dcache" , webpage:"https://dcache-demo.desy.de"} }];
selectedDestination = null;
downloadElements = null;
@@ -149,6 +149,11 @@ export class EGIDataTransferComponent {
this.egiTransferModal.cancelButton = false;
this.egiTransferModal.okButton = false;
this.egiTransferModal.alertTitle = "EOSC data transfer service [demo]";
+ this.destinationPath = "";
+ this.selectedDestination = this.destinationOptions[0].value;
+ this.selectedSourceUrl = this.sourceUrls[0];
+ this.message = null;
+ this.status = "init";
this.egiTransferModal.open();
}
close(){
@@ -168,7 +173,7 @@ export class EGIDataTransferComponent {
}
checkin(){
- window.location.href = this.loginURL+"?redirect="+ encodeURIComponent(window.location.href + "&egiTransfer=t");
+ window.location.href = this.loginURL+"?redirect="+ encodeURIComponent(window.location.href + (window.location.href.indexOf("&egiTransfer=t")!=-1?"":"&egiTransfer=t"));
}
parse(){
diff --git a/utils/entities/dataProviderInfo.ts b/utils/entities/dataProviderInfo.ts
index 8688fe3f..0f329175 100644
--- a/utils/entities/dataProviderInfo.ts
+++ b/utils/entities/dataProviderInfo.ts
@@ -13,6 +13,9 @@ export class DataproviderProvenance {
}
export class DataProviderInfo {
+ relcanId;
+ objIdentifier: string;
+ record;
title: { "name": string, "url": string };
officialName: string;
type: string;
diff --git a/utils/modal/alert.ts b/utils/modal/alert.ts
index e67bbb1e..b7acc0b5 100644
--- a/utils/modal/alert.ts
+++ b/utils/modal/alert.ts
@@ -115,12 +115,6 @@ export class AlertModal {
@Input()
public choice: boolean = false;
- /**
- * If the value is true, on the hidden event the alertHidden Output is emitted
- */
- @Input()
- public emitHidden: boolean = false;
-
/**
* if the value is true then on ok clicked, modal will stay open.
*/
@@ -135,24 +129,13 @@ export class AlertModal {
* or when Ok method is called.
*/
@Output() public alertOutput: EventEmitter
= new EventEmitter();
-
- /**
- * If emitHidden is true, this output is emitted when modal is hidden.
- */
- @Output() public alertHidden: EventEmitter = new EventEmitter();
+
@ViewChild('element') element: ElementRef;
constructor() {
}
-
- ngAfterViewInit() {
- if(this.emitHidden) {
- UIkit.util.on('#' + this.id, 'hidden', () => {
- this.alertHidden.emit(true);
- });
- }
- }
+
/**
* Opens a alert window creating backdrop.
diff --git a/utils/properties/searchFields.ts b/utils/properties/searchFields.ts
index bff91562..0bffac9c 100644
--- a/utils/properties/searchFields.ts
+++ b/utils/properties/searchFields.ts
@@ -1,3 +1,5 @@
+import {Filter} from "../../searchPages/searchUtils/searchHelperClasses.class";
+
export class SearchFields {
//main Entities
@@ -232,7 +234,7 @@ export class SearchFields {
filterType: "checkbox"
},
["sdg"]: {
- name: "SDG",
+ name: "SDG [Beta]",
type: "vocabulary",
param: "sdg",
operator: "sg",
@@ -240,7 +242,7 @@ export class SearchFields {
filterType: "checkbox"
},
["fos"]: {
- name: "Field of Science",
+ name: "Field of Science [Beta]",
type: "vocabulary",
param: "fos",
operator: "fs",
@@ -257,7 +259,7 @@ export class SearchFields {
"fundinglevel2_id", "projectstartyear", "projectendyear", "projectecsc39"];
public PROJECT_ADVANCED_FIELDS: string[] = ["q", "projectacronym", "projecttitle", "projectkeywords",
"funder", "fundinglevel0_id", "fundinglevel1_id", "fundinglevel2_id",
- "projectstartdate", "projectenddate", "projectecsc39",
+ "projectstartdate", "projectenddate",
"projectcode_nt", "relorganizationid", "collectedfromdatasourceid"];
public PROJECT_FIELDS: { [key: string]: FieldDetails } = {
["q"]: {name: "All fields", type: "keyword", param: "q", operator: "op", equalityOperator: "=", filterType: null},
@@ -396,7 +398,8 @@ export class SearchFields {
//DATAPROVIDERS
// add Collected From Filter "collectedfromname"
public DATASOURCE_REFINE_FIELDS: string[] = ["datasourcetypeuiname", "datasourceodlanguages", "datasourceodcontenttypes",
- "datasourcecompatibilityname", "country", "collectedfromname"];
+ "datasourcecompatibilityname", "country", "collectedfromname","datasourcethematic",
+ "datasourcejurisdiction"];
public DATASOURCE_ADVANCED_FIELDS: string[] = ["q", "datasourceofficialname",
"datasourceenglishname", "datasourceodsubjects", "datasourcetypename", "datasourceodlanguages",
"datasourceodcontenttypes", "datasourcecompatibilityname", "relorganizationid", "collectedfromdatasourceid"];
@@ -514,7 +517,23 @@ export class SearchFields {
operator: "cu",
equalityOperator: "=",
filterType: "checkbox"
- }
+ },
+ ["datasourcethematic"]: {
+ name: "Thematic",
+ type: "boolean",
+ param: "thematic",
+ operator: "th",
+ equalityOperator: " exact ",
+ filterType: "radio"
+ },
+ ["datasourcejurisdiction"]: {
+ name: "Jurisdiction",
+ type: "vocabulary",
+ param: "jurisdiction",
+ operator: "ju",
+ equalityOperator: "=",
+ filterType: "checkbox"
+ }
};
public DEPOSIT_DATASOURCE_KEYWORD_FIELDS: { "name": string, "equalityOperator": string } [] = [
@@ -526,7 +545,7 @@ export class SearchFields {
{"name": "country", "equalityOperator": " exact "},
{"name": "datasourcesubject", "equalityOperator": " all "}
];
- public DEPOSIT_DATASOURCE_REFINE_FIELDS: string[] = ["datasourcetypename", "country", "datasourceodsubjects", "datasourceodcontenttypes", "datasourcecompatibilityname"];
+ public DEPOSIT_DATASOURCE_REFINE_FIELDS: string[] = ["datasourcetypename", "country", "datasourceodsubjects", "datasourceodcontenttypes", "datasourcecompatibilityname","datasourcethematic", "datasourcejurisdiction"];
public DEPOSIT_DATASOURCE_FIELDS: { [key: string]: FieldDetails } = {
["datasourcetypeuiname"]: {
@@ -636,10 +655,7 @@ export class SearchFields {
};
- public ADVANCED_SEARCH_OPERATORS: { name: string, id: string }[] = [{name: "AND", id: "and"}, {
- name: "OR",
- id: "or"
- }, {name: "NOT", id: "not"}];
+ public ADVANCED_SEARCH_OPERATORS: string[] = ["and", "or"];
public COMMUNITIES_SEARCH_FIELDS: string[] = ["type", "access", "role"];
@@ -647,55 +663,34 @@ export class SearchFields {
constructor() {
}
-
- getFieldName(fieldId: string, fieldType: string): string {
+ getField(fieldId: string, fieldType: string): any {
if (fieldType == "publication" || fieldType == "dataset" || fieldType == "software" || fieldType == "other" || fieldType == "result") {
- return this.RESULT_FIELDS[fieldId].name;
+ return this.RESULT_FIELDS[fieldId];
} else if (fieldType == "project") {
- return this.PROJECT_FIELDS[fieldId].name;
+ return this.PROJECT_FIELDS[fieldId];
} else if (fieldType == "organization") {
- return this.ORGANIZATION_FIELDS[fieldId].name;
+ return this.ORGANIZATION_FIELDS[fieldId];
} else if (fieldType == "datasource" || fieldType == "dataprovider") {
- return this.DATASOURCE_FIELDS[fieldId].name;
+ return this.DATASOURCE_FIELDS[fieldId];
} else if (fieldType == "service") {
- return this.DATASOURCE_FIELDS[fieldId].name;
+ return this.DATASOURCE_FIELDS[fieldId];
} else {
- return "UNDEFINED";
+ return null;
}
}
+ getFieldName(fieldId: string, fieldType: string): string {
+ let field = this.getField(fieldId, fieldType);
+ return field?field.name:"UNDEFINED";
+ }
getFieldFilterType(fieldId: string, fieldType: string, usedBy: string = "search"): string {
- if (fieldType == "publication" || fieldType == "dataset" || fieldType == "software" || fieldType == "other" || fieldType == "result") {
- return this.RESULT_FIELDS[fieldId].filterType;
- } else if (fieldType == "project") {
- return this.PROJECT_FIELDS[fieldId].filterType;
- } else if (fieldType == "organization") {
- return this.ORGANIZATION_FIELDS[fieldId].filterType;
- } else if (fieldType == "datasource" || fieldType == "dataprovider") {
- if (usedBy == "search") {
- return this.DATASOURCE_FIELDS[fieldId].filterType;
- } else if (usedBy == "deposit") {
- return this.DEPOSIT_DATASOURCE_FIELDS[fieldId].filterType;
- }
- } else {
- return "checkbox";
- }
+ let field = this.getField(fieldId, fieldType);
+ return field?field.filterType:"checkbox";
}
getFieldParam(fieldId: string, fieldType: string): string {
- if (fieldType == "publication" || fieldType == "dataset" || fieldType == "software" || fieldType == "other" || fieldType == "result") {
- return this.RESULT_FIELDS[fieldId].param;
- } else if (fieldType == "project") {
- return this.PROJECT_FIELDS[fieldId].param;
- } else if (fieldType == "organization") {
- return this.ORGANIZATION_FIELDS[fieldId].param;
- } else if (fieldType == "datasource" || fieldType == "dataprovider") {
- return this.DATASOURCE_FIELDS[fieldId].param;
- } else if (fieldType == "service") {
- return this.DATASOURCE_FIELDS[fieldId].param;
- } else {
- return "UNDEFINED";
- }
+ let field = this.getField(fieldId, fieldType);
+ return field?field.param:"UNDEFINED";
}
public static getParameterOrder(fieldId: string, params): number {
let fields = [];
diff --git a/utils/result-preview/result-preview.component.ts b/utils/result-preview/result-preview.component.ts
index d820992e..35a72301 100644
--- a/utils/result-preview/result-preview.component.ts
+++ b/utils/result-preview/result-preview.component.ts
@@ -99,7 +99,7 @@ export class ResultPreviewComponent implements OnInit, OnChanges {
}
}
getPID() {
- return Identifier.getResultPIDFromIdentifiers(this.result.identifiers);
+ return Identifier.getPIDFromIdentifiers(this.result.identifiers);
}
public initBeforeTitle() {
diff --git a/utils/string-utils.class.ts b/utils/string-utils.class.ts
index 15ab8fa6..fd496ad6 100644
--- a/utils/string-utils.class.ts
+++ b/utils/string-utils.class.ts
@@ -207,8 +207,8 @@ export class Identifier {
return (strict?null:{"class": "doi", "id": pid});
}
- public static getResultPIDFromIdentifiers(identifiers: Map): Identifier {
- let classes:string [] = ["doi", "handle", "pmc", "pmid"];
+ public static getPIDFromIdentifiers(identifiers: Map): Identifier {
+ let classes:string [] = ["doi", "handle", "pmc", "pmid", "re3data"];
if(identifiers) {
for (let cl of classes){
if(identifiers.get(cl)){