-
Contents
+
-
- {{link.name}}
+
+ {{link.name}}
+ {{this.getIndex(link) + 1}}. {{link.name}}
+
diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.scss b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.scss
index b3c4e796e..fe88a9b5f 100644
--- a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.scss
+++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.scss
@@ -1,50 +1,70 @@
.docs-toc-container {
- width: 100%;
- padding: 5px 0 10px 10px;
- cursor: pointer;
- border-left: solid 4px #0c7489;
+ width: 100%;
+ padding: 5px 0 10px 0px;
+ cursor: pointer;
+ // border-left: solid 4px #0c7489;
- .scroll-container {
+ .scroll-container {
overflow-y: auto;
// calc(100vh - 250px)
- height: calc(100vh - 250px);
- }
+ // height: calc(100vh - 250px);
+ }
- .docs-link {
- color: rgba(0, 0, 0, 0.54);
- // color: mat-color($app-blue-theme-foreground, secondary-text);
- transition: color 100ms;
+ .docs-link {
+ color: rgba(0, 0, 0, 0.54);
+ // color: mat-color($app-blue-theme-foreground, secondary-text);
+ transition: color 100ms;
- &:hover,
- &.docs-active {
- color: #0c7489;
- // color: mat-color($primary, if($is-dark-theme, 200, default));
- }
- }
+ &:hover,
+ &.docs-active {
+ .link-name {
+ background-color: #ececec;
+ border-radius: 6px;
+ // color: #0c7489;
+ }
+ // color: mat-color($primary, if($is-dark-theme, 200, default));
+ }
+ }
}
.docs-toc-heading {
- margin: 0;
- padding: 0;
- font-size: 13px;
- font-weight: bold;
+ margin: 0;
+ padding: 0;
+ font-size: 13px;
+ font-weight: bold;
}
span {
- line-height: 16px;
- margin: 8px 0 0;
- position: relative;
- text-decoration: none;
- display: block;
- text-overflow: ellipsis !important;
- overflow: hidden;
- color: rgba(0, 0, 0, 0.54);
+ line-height: 16px;
+ margin: 6px 0 0;
+ position: relative;
+ text-decoration: none;
+ display: block;
+ overflow: hidden;
+ color: #21212194;
+ font-weight: 400;
+ max-width: 290px;
+ min-width: 290px;
+ padding: 0rem .4rem;
+ span {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ width: 100%;
+ }
+}
+
+.selected {
+ color: #212121 !important;
+ font-weight: 700 !important;
+ opacity: 1 !important;
}
.docs-level-mat-expansion-panel {
- margin-left: 12px;
+ margin-left: 12px;
}
.docs-level-h5 {
- margin-left: 24px;
+ margin-left: 24px;
}
diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts
index eeab6422a..8400829ae 100644
--- a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts
+++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts
@@ -1,8 +1,9 @@
import { DOCUMENT } from '@angular/common';
-import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';
+import { Component, EventEmitter, Inject, OnInit, Output, Input } from '@angular/core';
import { BaseComponent } from '@common/base/base.component';
import { interval, Subject, Subscription } from 'rxjs';
import { distinctUntilChanged } from 'rxjs/operators';
+import { type } from 'os';
interface Link {
/* id of the section*/
@@ -17,6 +18,8 @@ interface Link {
top: number;
page: number;
section: number;
+ show: boolean;
+ selected: boolean;
}
@Component({
@@ -33,6 +36,9 @@ export class TableOfContents extends BaseComponent implements OnInit {
subscription: Subscription;
linksSubject: Subject
= new Subject();
+ @Input() isActive: boolean;
+ show: boolean = false;
+
constructor(
@Inject(DOCUMENT) private _document: Document) {
super();
@@ -55,6 +61,7 @@ export class TableOfContents extends BaseComponent implements OnInit {
if (headers.length) {
let page;
let section;
+ let show
for (const header of headers) {
let name;
let id;
@@ -63,15 +70,18 @@ export class TableOfContents extends BaseComponent implements OnInit {
id = header.id;
page = header.id.split('_')[1];
section = undefined;
+ show = true;
} else if (header.classList.contains('toc-section-header')) {
name = header.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].nodeValue.trim().replace(/^link/, '');
id = header.id;
page = header.id.split('.')[1];
section = header.id;
+ show = false;
} else if (header.classList.contains('toc-copositeField-header')) {
name = (header.childNodes[0]).nodeValue.trim().replace(/^link/, '');
id = header.id;
// id = header.parentElement.parentElement.parentElement.id;
+ show = false;
}
const { top } = header.getBoundingClientRect();
links.push({
@@ -81,11 +91,15 @@ export class TableOfContents extends BaseComponent implements OnInit {
top: top,
active: false,
page: page,
- section: section
+ section: section,
+ show: show,
+ selected: false
});
}
}
this.links = links;
+ // Initialize selected for button next on dataset wizard component editor
+ this.links[0].selected = true;
})
}
@@ -107,6 +121,27 @@ export class TableOfContents extends BaseComponent implements OnInit {
}, 500);
}
+ toggle(headerLink: Link) {
+ const page = +headerLink.id.split("_", 2)[1];
+ let innerPage;
+ for (const link of this.links) {
+ link.selected = false;
+ if (link.type === 'mat-expansion-panel') {
+ innerPage = +link.name.split(" ",1)[0];
+ } else if (link.type === 'h5') {
+ innerPage = +link.name.split(".",1)[0];
+ }
+ if (page + 1 === innerPage && link.type !== 'span') {
+ link.show = !link.show;
+ }
+ }
+ headerLink.selected = true;
+ }
+
+ getIndex(link: Link): number {
+ return +link.id.split("_", 2)[1];
+ }
+
}
export interface LinkToScroll {
diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json
index 316ea10a6..d3ffa9fee 100644
--- a/dmp-frontend/src/assets/i18n/de.json
+++ b/dmp-frontend/src/assets/i18n/de.json
@@ -485,10 +485,12 @@
"ACTIONS": {
"NEXT": "Weiter",
"BACK": "Zurück",
+ "BACK-TO": "Back to",
"DELETE": "Löschen",
"GO-TO-GRANT": "Gehe zu Datansatzbeschreibung Förderung",
"GO-TO-DMP": "Gehe zu Datensatzbeschreibung DMP",
"SAVE": "Speichern",
+ "SAVE-AND-ADD": "Save & Add New",
"SAVE-AND-FINALISE": "Speichern und Fertigstellen",
"FINALIZE": "Fertigstellen",
"REVERSE": "Fertigstellung rückgängig machen",
@@ -694,7 +696,7 @@
"NEW": "Neuer Datenmanagementplan",
"EDIT": "Bearbeiten",
"SUBTITLE": "DOI",
- "ADD-DATASET": "Adding dataset to ",
+ "ADD-DATASET": "Adding dataset",
"EDIT-DATASET": "Editing Dataset",
"CLONE-DMP": "Clone",
"CREATE-DATASET": "Creating Dataset Description"
@@ -739,6 +741,49 @@
"TITLE": "Verfügbare Datensatzvorlagen",
"TEXT": "Datensatzprofile ausgewählt: ",
"OK": "OK"
+ },
+ "VISIBILITY": {
+ "PUBLIC": "Public",
+ "RESTRICTED": "Restricted"
+ },
+ "STEPPER": {
+ "USER-GUIDE": "Guide steps",
+ "MAIN-INFO": "Main info",
+ "FUNDING-INFO": "Funding info",
+ "DATASET-SELECTION": "Dataset selection",
+ "DATASET-INFO": "Dataset info",
+ "LICENSE-INFO": "License info",
+ "DATASET": "Dataset",
+ "PREVIOUS": "Previous",
+ "NEXT": "Next"
+ },
+ "MAIN-INFO": {
+ "INTRO": "A DMP in Argos consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets, namely dataset descriptions, that highlight the steps followed and the means used across data management activities.",
+ "HINT": "A brief description of what the DMP is about, it’s scope and objectives.",
+ "TYPING": "Type more letters of the name so its more possible to find the correct one."
+ },
+ "FUNDING-INFO": {
+ "INTRO": "A Data Management Plan (DMP) consist of your Data Management Plans closer to where they are generated, analysed and stored. argos is an open, extensible, collaborative tool supporting Open and FAIR Data Management Plans.",
+ "FIND": "Couldn't find the correct one?"
+ },
+ "DATASET-INFO": {
+ "INTRO": "A DMP in Argos consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets, namely dataset descriptions, that highlight the steps followed and the means used across data management activities.",
+ "SECOND-INTRO": "Datasets are documented following pre-defined templates which set the content of dataset descriptions. In Argos, a DMP can contain as many dataset descriptions as the datasets it documents.",
+ "FIND": "Couldn't find a suitable one?"
+ },
+ "LICENSE-INFO": {
+ "INTRO": "Each DMP can contain specific license informatation over how much open and available it is, that way you can determine who can see your dataset and for how long that data will be private",
+ "HINT": "A brief description of what license the DMP is using, it’s type and when it will open.",
+ "TYPING": "Type more letters of the name so its more possible to find the correct one."
+ },
+ "DATASET-DESCRIPTION": {
+ "INTRO": "Ιn general terms, your research data should be 'fair', that is findable, accessible, interoperable and re-usable. these principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementation-solution. this template is not intended as a strict technical implementation of the fair principles, it is rather inspired by fair as a general concept."
+ },
+ "CHANGES": "unsaved changes",
+ "CLONE-DIALOG": {
+ "CLONE": "Clone",
+ "SAVE": "Save",
+ "CANCEL": "Cancel"
}
},
"DMP-PROFILE-LISTING": {
diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json
index 940b08830..d807aacbe 100644
--- a/dmp-frontend/src/assets/i18n/en.json
+++ b/dmp-frontend/src/assets/i18n/en.json
@@ -524,10 +524,12 @@
"ACTIONS": {
"NEXT": "Next",
"BACK": "Back",
+ "BACK-TO": "Back to",
"DELETE": "Delete",
"GO-TO-GRANT": "Go to Dataset Description's Grant",
"GO-TO-DMP": "Go to Dataset Description's DMP",
"SAVE": "Save",
+ "SAVE-AND-ADD": "Save & Add New",
"SAVE-AND-FINALISE": "Save and Finalize",
"FINALIZE": "Finalize",
"REVERSE": "Undo Finalization",
@@ -646,6 +648,7 @@
"TEMPLATES-INVOLVED": "Dataset Description Template",
"VERSION": "DMP Version",
"PART-OF": "Part of",
+ "TO-DMP": "To DMP",
"DMP-FOR": "DMP for"
},
"EMPTY-LIST": "Nothing here yet."
@@ -763,7 +766,7 @@
"NEW": "New Data Management Plan",
"EDIT": "Edit",
"EDIT-DMP": "Editing DMP",
- "ADD-DATASET": "Adding dataset to ",
+ "ADD-DATASET": "Adding dataset",
"EDIT-DATASET": "Editing Dataset",
"CLONE-DMP": "Clone",
"NEW-VERSION": "New Version",
@@ -864,6 +867,9 @@
"HINT": "A brief description of what license the DMP is using, it’s type and when it will open.",
"TYPING": "Type more letters of the name so its more possible to find the correct one."
},
+ "DATASET-DESCRIPTION": {
+ "INTRO": "Ιn general terms, your research data should be 'fair', that is findable, accessible, interoperable and re-usable. these principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementation-solution. this template is not intended as a strict technical implementation of the fair principles, it is rather inspired by fair as a general concept."
+ },
"CHANGES": "unsaved changes",
"CLONE-DIALOG": {
"CLONE": "Clone",
diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json
index e6115fec1..29bb94f6b 100644
--- a/dmp-frontend/src/assets/i18n/es.json
+++ b/dmp-frontend/src/assets/i18n/es.json
@@ -525,10 +525,12 @@
"ACTIONS": {
"NEXT": "Siguiente",
"BACK": "Volver",
+ "BACK-TO": "Back to",
"DELETE": "Borrar",
"GO-TO-GRANT": "Ir a la subvención de la descripción del dataset",
"GO-TO-DMP": "Ir al PGD de la descripción del dataset",
"SAVE": "Grabar",
+ "SAVE-AND-ADD": "Save & Add New",
"SAVE-AND-FINALISE": "Grabar y finalizar",
"FINALIZE": "Finalizar",
"REVERSE": "Deshacer la finalización",
@@ -764,7 +766,7 @@
"NEW": "Nuevo Plan de Gestión de Datos",
"EDIT": "Editar",
"EDIT-DMP": "Editando PGD",
- "ADD-DATASET": "Adding dataset to ",
+ "ADD-DATASET": "Adding dataset",
"EDIT-DATASET": "Editing Dataset",
"CLONE-DMP": "Clone",
"CREATE-DATASET": "Creating Dataset Description",
@@ -855,7 +857,20 @@
"SECOND-INTRO": "Los datasets se documentan siguiendo plantillas predefinadas con el contenido de la descripción de los datasets. En Argos un PGD puede incluir tantas descripciones de datasets como datasets se documenten.",
"FIND": "¿No se encontró el correcto?"
},
- "CHANGES": "Cambios sin guardar"
+ "LICENSE-INFO": {
+ "INTRO": "Each DMP can contain specific license informatation over how much open and available it is, that way you can determine who can see your dataset and for how long that data will be private",
+ "HINT": "A brief description of what license the DMP is using, it’s type and when it will open.",
+ "TYPING": "Type more letters of the name so its more possible to find the correct one."
+ },
+ "DATASET-DESCRIPTION": {
+ "INTRO": "Ιn general terms, your research data should be 'fair', that is findable, accessible, interoperable and re-usable. these principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementation-solution. this template is not intended as a strict technical implementation of the fair principles, it is rather inspired by fair as a general concept."
+ },
+ "CHANGES": "unsaved changes",
+ "CLONE-DIALOG": {
+ "CLONE": "Clone",
+ "SAVE": "Save",
+ "CANCEL": "Cancel"
+ }
},
"DMP-PROFILE-LISTING": {
"TITLE": "Plantilla del PGD",
diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json
index fc551f28d..b104e8438 100644
--- a/dmp-frontend/src/assets/i18n/gr.json
+++ b/dmp-frontend/src/assets/i18n/gr.json
@@ -522,10 +522,12 @@
"ACTIONS": {
"NEXT": "Επόμενο",
"BACK": "Πίσω",
+ "BACK-TO": "Back to",
"DELETE": "Διαγραφή",
"GO-TO-GRANT": "Μετάβαση σε Περιγραφή Συνόλου Δεδομένων της Επιχορήγησης",
"GO-TO-DMP": "Μετάβαση σε Περιγραφή Συνόλου Δεδομένων του Σχεδίου Διαχείρισης Δεδομένων",
"SAVE": "Save",
+ "SAVE-AND-ADD": "Save & Add New",
"SAVE-AND-FINALISE": "Αποθήκευση και Οριστικοποίηση",
"FINALIZE": "Οριστικοποίηση",
"REVERSE": "Αναίρεση Οριστικοποίησης",
@@ -759,7 +761,7 @@
"NEW": "Νέα Σχέδιο Διαχείρισης Δεδομένων",
"EDIT": "Επεξεργασία",
"EDIT-DMP": "Editing DMP",
- "ADD-DATASET": "Adding dataset to ",
+ "ADD-DATASET": "Adding dataset",
"EDIT-DATASET": "Editing Dataset",
"CLONE-DMP": "Clone",
"SUBTITLE": "Μονοσήμαντο Αναγνωριστικό Ψηφιακού Αντικειμένου (DOI)"
@@ -848,7 +850,20 @@
"SECOND-INTRO": "Datasets are documented following pre-defined templates which set the content of dataset descriptions. In Argos, a DMP can contain as many dataset descriptions as the datasets it documents.",
"FIND": "Couldn't find a suitable one?"
},
- "CHANGES": "unsaved changes"
+ "LICENSE-INFO": {
+ "INTRO": "Each DMP can contain specific license informatation over how much open and available it is, that way you can determine who can see your dataset and for how long that data will be private",
+ "HINT": "A brief description of what license the DMP is using, it’s type and when it will open.",
+ "TYPING": "Type more letters of the name so its more possible to find the correct one."
+ },
+ "DATASET-DESCRIPTION": {
+ "INTRO": "Ιn general terms, your research data should be 'fair', that is findable, accessible, interoperable and re-usable. these principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementation-solution. this template is not intended as a strict technical implementation of the fair principles, it is rather inspired by fair as a general concept."
+ },
+ "CHANGES": "unsaved changes",
+ "CLONE-DIALOG": {
+ "CLONE": "Clone",
+ "SAVE": "Save",
+ "CANCEL": "Cancel"
+ }
},
"DMP-PROFILE-LISTING": {
"TITLE": "Templates Σχεδίων Διαχείρισης Δεδομένων",
diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json
index 723c6d37e..602c44ff5 100644
--- a/dmp-frontend/src/assets/i18n/tr.json
+++ b/dmp-frontend/src/assets/i18n/tr.json
@@ -520,10 +520,12 @@
"ACTIONS": {
"NEXT": "Sonraki",
"BACK": "Geri",
+ "BACK-TO": "Back to",
"DELETE": "Sil",
"GO-TO-GRANT": "Veri seti Tanımının Hibesine Git",
"GO-TO-DMP": "Veri seti Tanımı VYP'na Git",
"SAVE": "Kaydet",
+ "SAVE-AND-ADD": "Save & Add New",
"SAVE-AND-FINALISE": "Kaydet ve Bitir",
"FINALIZE": "Tamamla",
"REVERSE": "Tamamlamayı Geri Al",
@@ -753,7 +755,7 @@
"NEW": "Yeni Veri Yönetim Planı",
"EDIT": "Düzenle",
"EDIT-DMP": " VYP'yi düzenleme",
- "ADD-DATASET": "Adding dataset to ",
+ "ADD-DATASET": "Adding dataset",
"CLONE-DMP": "Clone",
"SUBTITLE": "DOI"
},
@@ -841,7 +843,20 @@
"SECOND-INTRO": "Veri setleri, veri seti açıklamalarının içeriğini belirleyen önceden tanımlanmış şablonları takiben belgelenir. Argos'ta bir VYP, belgelediği veri setleri kadar çok veri seti açıklaması içerebilir.",
"FIND": "Uygun bir tane bulamadınız mı?"
},
- "CHANGES": "Kaydedilmemiş Değişiklikler"
+ "LICENSE-INFO": {
+ "INTRO": "Each DMP can contain specific license informatation over how much open and available it is, that way you can determine who can see your dataset and for how long that data will be private",
+ "HINT": "A brief description of what license the DMP is using, it’s type and when it will open.",
+ "TYPING": "Type more letters of the name so its more possible to find the correct one."
+ },
+ "DATASET-DESCRIPTION": {
+ "INTRO": "Ιn general terms, your research data should be 'fair', that is findable, accessible, interoperable and re-usable. these principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementation-solution. this template is not intended as a strict technical implementation of the fair principles, it is rather inspired by fair as a general concept."
+ },
+ "CHANGES": "unsaved changes",
+ "CLONE-DIALOG": {
+ "CLONE": "Clone",
+ "SAVE": "Save",
+ "CANCEL": "Cancel"
+ }
},
"DMP-PROFILE-LISTING": {
"TITLE": "VYP Şablonları",