no message

This commit is contained in:
Ioannis Kalyvas 2018-10-05 13:03:22 +03:00
parent b8c78e7135
commit 6a72f8dbba
6 changed files with 501 additions and 507 deletions

View File

@ -1,4 +1,4 @@
import { ProjectStateType } from "../projects/ProjectStateType"; import { ProjectStateType } from '../projects/ProjectStateType';
export class FacetSearchCriteriaModel { export class FacetSearchCriteriaModel {
public projectStatus: ProjectStateType; public projectStatus: ProjectStateType;

View File

@ -3,13 +3,13 @@
<input type="text" placeholder="{{ 'FACET-SEARCH.FILTER' | translate }}" matInput [formControl]="optionSearchControl"> <input type="text" placeholder="{{ 'FACET-SEARCH.FILTER' | translate }}" matInput [formControl]="optionSearchControl">
</mat-form-field> </mat-form-field>
</div> </div>
<mat-chip-list> <mat-chip-list *ngIf="searchEnabled">
<mat-chip [removable]="removable" (removed)="removeOption(option)" *ngFor="let option of selectedOptions">{{ option }} <mat-chip [removable]="true" (removed)="removeOption(option)" *ngFor="let option of selectedOptions">{{ displayLabel(option) }}
<mat-icon matChipRemove *ngIf="removable">cancel</mat-icon> <mat-icon matChipRemove>cancel</mat-icon>
</mat-chip> </mat-chip>
</mat-chip-list> </mat-chip-list>
<mat-selection-list #optionsList (selectionChange)="selectionChanged($event)"> <mat-selection-list #optionsList (selectionChange)="selectionChanged($event)">
<mat-list-option *ngFor="let option of (options | async) | slice:0:10" [value]="displayValue(option)" [selected]="isOptionSelected(option)"> <mat-list-option *ngFor="let option of (options | async) | slice:0:10" [value]="option" [selected]="isOptionSelected(option)">
<p>{{ displayLabel(option) }}</p> <p>{{ displayLabel(option) }}</p>
</mat-list-option> </mat-list-option>
</mat-selection-list> </mat-selection-list>

View File

@ -1,7 +1,8 @@
import { Component, ViewEncapsulation, OnInit, Input, Output, ViewChild, EventEmitter } from '@angular/core'; import { Component, ViewEncapsulation, OnInit, Input, Output, ViewChild, EventEmitter } from '@angular/core';
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';
import { FormControl } from '@angular/forms'; import { FormControl } from '@angular/forms';
import { MatSelectionList } from '@angular/material'; import { MatSelectionList, MatListOption } from '@angular/material';
import { SelectionModel } from '@angular/cdk/collections';
@Component({ @Component({
selector: 'app-facet-section-component', selector: 'app-facet-section-component',
@ -14,6 +15,9 @@ export class FacetSearchSectionComponent implements OnInit {
@Input() @Input()
searchEnabled = false; searchEnabled = false;
@Input()
multipleSelect = true;
@Input() @Input()
filterOptions: (value) => Observable<any[]>; filterOptions: (value) => Observable<any[]>;
@ -40,10 +44,17 @@ export class FacetSearchSectionComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
if (!this.multipleSelect) { this.selectionList.selectedOptions = new SelectionModel<MatListOption>(this.multipleSelect); }
this.optionSearchControl.valueChanges.subscribe(x => { if (this.filterOptions) { this.options = this.filterOptions(x); } }); this.optionSearchControl.valueChanges.subscribe(x => { if (this.filterOptions) { this.options = this.filterOptions(x); } });
} }
public selectionChanged(event: any) { public selectionChanged(event: any) {
const eventValue = event.option.value;
if (event.option.selected) { this.selectedOptions.push(eventValue); }
if (!event.option.selected) {
const index = this.selectedOptions.map(x => this.displayValue(x)).indexOf(this.displayValue(eventValue));
this.selectedOptions.splice(index, 1);
}
this.selectedChanged.emit(event); this.selectedChanged.emit(event);
} }
@ -54,11 +65,12 @@ export class FacetSearchSectionComponent implements OnInit {
this.selectionList.selectedOptions.selected[indexOfProject].selected = false; this.selectionList.selectedOptions.selected[indexOfProject].selected = false;
this.selectionList.selectedOptions.selected.splice(indexOfProject, 1); this.selectionList.selectedOptions.selected.splice(indexOfProject, 1);
} }
this.selectedOptions.splice(this.selectedOptions.map(x => this.displayValue(x)).indexOf(this.displayValue(project)), 1);
this.optionRemoved.emit(project); this.optionRemoved.emit(project);
} }
public isOptionSelected(value) { public isOptionSelected(value) {
return this.selectedOptions.indexOf(value) !== -1; return this.selectedOptions.map(x => this.displayValue(x)).indexOf(this.displayValue(value)) !== -1;
} }
displayLabel(value) { displayLabel(value) {
@ -68,4 +80,5 @@ export class FacetSearchSectionComponent implements OnInit {
displayValue(value) { displayValue(value) {
return this.displayValueFunc ? this.displayValueFunc(value) : value; return this.displayValueFunc ? this.displayValueFunc(value) : value;
} }
} }

View File

@ -1,70 +1,48 @@
<mat-accordion> <mat-accordion>
<mat-expansion-panel> <mat-expansion-panel>
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> <mat-panel-title>
{{ 'FACET-SEARCH.PROJECT-STATUS.TITLE' | translate }} {{ 'FACET-SEARCH.PROJECT-STATUS.TITLE' | translate }}
</mat-panel-title> </mat-panel-title>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<mat-selection-list #projectState role="listbox" (selectionChange)="projectStatusChanged($event)"> <app-facet-section-component [multipleSelect]="false" [options]="this.projectStateOptions" (selectedChanged)="projectStatusChanged($event)"
<mat-list-option [value]="ProjectStateType.Finished"> [displayTitleFunc]="displayProjectStateLabel" [displayValueFunc]="displayProjectStateValue">
<p>{{ 'FACET-SEARCH.PROJECT-STATUS.OPTIONS.INACTIVE' | translate }}</p>
</mat-list-option> </app-facet-section-component>
<mat-list-option [value]="ProjectStateType.OnGoing"> </mat-expansion-panel>
<p>{{ 'FACET-SEARCH.PROJECT-STATUS.OPTIONS.ACTIVE' | translate }}</p> <mat-expansion-panel *ngIf="this.facetCriteria.projectStatus == ProjectStateType.OnGoing || this.facetCriteria.projectStatus == ProjectStateType.Finished">
</mat-list-option> <mat-expansion-panel-header>
</mat-selection-list> <mat-panel-title>
</mat-expansion-panel> {{ 'FACET-SEARCH.PROJECT.TITLE' | translate }}
<mat-expansion-panel *ngIf="this.facetCriteria.projectStatus == ProjectStateType.OnGoing || this.facetCriteria.projectStatus == ProjectStateType.Finished"> </mat-panel-title>
<mat-expansion-panel-header> </mat-expansion-panel-header>
<mat-panel-title>
{{ 'FACET-SEARCH.PROJECT.TITLE' | translate }} <app-facet-section-component [options]="this.projects" (selectedChanged)="projectChanged($event)" [filterOptions]="projectSearch.bind(this)"
</mat-panel-title> [searchEnabled]="true" (optionRemoved)="removeProject($event)" [displayTitleFunc]="displayProjectLabel"
</mat-expansion-panel-header> [displayValueFunc]="displayProjectValue">
<div> </app-facet-section-component>
<mat-form-field> </mat-expansion-panel>
<input type="text" placeholder="{{ 'FACET-SEARCH.PROJECT.FILTER' | translate }}" matInput [formControl]="projectSearchControl"> <mat-expansion-panel>
</mat-form-field> <mat-expansion-panel-header>
</div> <mat-panel-title>
<mat-chip-list> {{ 'FACET-SEARCH.PROFILES.TITLE' | translate }}
<mat-chip [removable]="removable" (removed)="removeProject(project)" *ngFor="let project of facetCriteria.projects">{{ </mat-panel-title>
project }} </mat-expansion-panel-header>
<mat-icon matChipRemove *ngIf="removable">cancel</mat-icon> <app-facet-section-component [options]="this.profiles" (selectedChanged)="profileChanged($event)" [filterOptions]="profileSearch.bind(this)"
</mat-chip> [searchEnabled]="true" (optionRemoved)="removeProfile($event)" [displayTitleFunc]="displayProfileLabel"
</mat-chip-list> [displayValueFunc]="displayProfileValue">
<mat-selection-list #project (selectionChange)="projectChanged($event)"> </app-facet-section-component>
<mat-list-option *ngFor="let project of (projects | async) | slice:0:10" [value]="project.id" [selected]="projectIsSelected(project.id)"> </mat-expansion-panel>
<p>{{ project.label }}</p> <mat-expansion-panel>
</mat-list-option> <mat-expansion-panel-header>
</mat-selection-list> <mat-panel-title>
</mat-expansion-panel> {{ 'FACET-SEARCH.DMP-ORGANISATIONS.TITLE' | translate }}
<mat-expansion-panel> </mat-panel-title>
<mat-expansion-panel-header> </mat-expansion-panel-header>
<mat-panel-title>
{{ 'FACET-SEARCH.PROFILES.TITLE' | translate }} <app-facet-section-component [options]="this.dmpOrganisations" (selectedChanged)="dmpOrganisationChanged($event)"
</mat-panel-title> [filterOptions]="dmpOrganisationSearch.bind(this)" (optionRemoved)="removeOrganisation($event)" [searchEnabled]="true"
</mat-expansion-panel-header> [displayTitleFunc]="displayDmpOrganisationsLabel" [displayValueFunc]="displayDmpOrganisationsValue">
<mat-selection-list (selectionChange)="profileChanged($event)"> </app-facet-section-component>
<mat-list-option *ngFor="let profile of (profiles | async) | slice:0:10" [value]="profile.id"> </mat-expansion-panel>
<p>{{ profile.label }}</p>
</mat-list-option>
</mat-selection-list>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
{{ 'FACET-SEARCH.DMP-ORGANISATIONS.TITLE' | translate }}
</mat-panel-title>
</mat-expansion-panel-header>
<div>
<mat-form-field>
<input type="text" placeholder="{{ 'FACET-SEARCH.DMP-ORGANISATIONS.FILTER' | translate }}" matInput
[formControl]="organisationSearchControl">
</mat-form-field>
</div>
<mat-selection-list (selectionChange)="dmpOrganisationChanged($event)">
<mat-list-option *ngFor="let dmpOrganisation of (dmpOrganisations | async) | slice:0:10" [value]="dmpOrganisation.id">
<p>{{ dmpOrganisation.name }}</p>
</mat-list-option>
</mat-selection-list>
</mat-expansion-panel>
</mat-accordion> </mat-accordion>

View File

@ -36,32 +36,25 @@ export class FacetSearchComponent implements OnInit {
@Output() @Output()
facetCriteriaChange = new EventEmitter(); facetCriteriaChange = new EventEmitter();
removable = true;
ProjectStateType = ProjectStateType; ProjectStateType = ProjectStateType;
projects: Observable<ProjectModel[]>; projects: Observable<ProjectModel[]>;
profiles: Observable<DatasetProfileModel[]>; profiles: Observable<DatasetProfileModel[]>;
dmpOrganisations: Observable<ExternalSourcesItemModel[]>; dmpOrganisations: Observable<ExternalSourcesItemModel[]>;
projectSearchControl = new FormControl('');
organisationSearchControl = new FormControl('');
projectStateOptions = Observable.of(
[
{ label: this.languageService.instant('FACET-SEARCH.PROJECT-STATUS.OPTIONS.INACTIVE'), value: ProjectStateType.Finished },
{ label: this.languageService.instant('FACET-SEARCH.PROJECT-STATUS.OPTIONS.ACTIVE'), value: ProjectStateType.OnGoing },
]);
projectOptions: Observable<ProjectModel[]>; projectOptions: Observable<ProjectModel[]>;
@ViewChild('project') projectSelectionList: MatSelectionList; projectStateOptions: Observable<any[]>;
displayProjectStateValue = (option) => option['value']; displayProjectStateValue = (option) => option['value'];
displayProjectStateLabel = (option) => option['label']; displayProjectStateLabel = (option) => option['label'];
displayProjectValue = (option) => option['id']; displayProjectValue = (option) => option['id'];
displayProjectLabel = (option) => option['label']; displayProjectLabel = (option) => option['label'];
displayProfileValue = (option) => option['id'];
displayProfileLabel = (option) => option['label'];
displayDmpOrganisationsValue = (option) => option['id'];
displayDmpOrganisationsLabel = (option) => option['name'];
constructor( constructor(
public activatedRoute: ActivatedRoute, public activatedRoute: ActivatedRoute,
public projectService: ProjectService, public projectService: ProjectService,
@ -72,14 +65,19 @@ export class FacetSearchComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
setTimeout(x => {
this.projectStateOptions = Observable.of(
[
{ label: this.languageService.instant('FACET-SEARCH.PROJECT-STATUS.OPTIONS.INACTIVE'), value: ProjectStateType.Finished },
{ label: this.languageService.instant('FACET-SEARCH.PROJECT-STATUS.OPTIONS.ACTIVE'), value: ProjectStateType.OnGoing },
]);
});
this.profiles = this.datasetProfileService.getDatasetProfiles(); this.profiles = this.datasetProfileService.getDatasetProfiles();
this.dmpOrganisations = this.externalSourcesService.searchDMPOrganizations(''); this.dmpOrganisations = this.externalSourcesService.searchDMPOrganizations('');
this.projectSearchControl.valueChanges.subscribe(x => this.projectSearch(x));
this.organisationSearchControl.valueChanges.subscribe(x => this.dmpOrganisationSearch(x));
} }
public projectStatusChanged(event) { public projectStatusChanged(event) {
this.facetCriteria.projectStatus = event.option.value; this.facetCriteria.projectStatus = event.option.value.value;
if (!event.option.selected) { if (!event.option.selected) {
this.facetCriteria.projectStatus = null; this.facetCriteria.projectStatus = null;
this.projects = Observable.of([]); this.projects = Observable.of([]);
@ -97,7 +95,7 @@ export class FacetSearchComponent implements OnInit {
} }
public projectChanged(event: any) { public projectChanged(event: any) {
const eventValue = event.option.value; const eventValue = event.option.value.id;
if (event.option.selected) { this.facetCriteria.projects.push(eventValue); } if (event.option.selected) { this.facetCriteria.projects.push(eventValue); }
if (!event.option.selected) { if (!event.option.selected) {
const index = this.facetCriteria.projects.indexOf(eventValue); const index = this.facetCriteria.projects.indexOf(eventValue);
@ -107,18 +105,12 @@ export class FacetSearchComponent implements OnInit {
} }
removeProject(project) { removeProject(project) {
const list = this.projectSelectionList.selectedOptions.selected.map(x => x.value);
const indexOfProject = list.indexOf(project);
if (this.projectSelectionList.selectedOptions.selected[indexOfProject]) {
this.projectSelectionList.selectedOptions.selected[indexOfProject].selected = false;
this.projectSelectionList.selectedOptions.selected.splice(indexOfProject, 1);
}
this.facetCriteria.projects.splice(this.facetCriteria.projects.indexOf(project), 1); this.facetCriteria.projects.splice(this.facetCriteria.projects.indexOf(project), 1);
this.facetCriteriaChange.emit(this.facetCriteria); this.facetCriteriaChange.emit(this.facetCriteria);
} }
public profileChanged(event: any) { public profileChanged(event: any) {
const eventValue = event.option.value; const eventValue = event.option.value.id;
if (event.option.selected) { if (event.option.selected) {
this.facetCriteria.datasetProfile.push(eventValue); this.facetCriteria.datasetProfile.push(eventValue);
} }
@ -129,8 +121,13 @@ export class FacetSearchComponent implements OnInit {
this.facetCriteriaChange.emit(this.facetCriteria); this.facetCriteriaChange.emit(this.facetCriteria);
} }
removeProfile(profile) {
this.facetCriteria.datasetProfile.splice(this.facetCriteria.datasetProfile.indexOf(profile), 1);
this.facetCriteriaChange.emit(this.facetCriteria);
}
public dmpOrganisationChanged(event: any) { public dmpOrganisationChanged(event: any) {
const eventValue = event.option.value; const eventValue = event.option.value.id;
if (event.option.selected) { this.facetCriteria.dmpOrganisations.push(eventValue); } if (event.option.selected) { this.facetCriteria.dmpOrganisations.push(eventValue); }
if (!event.option.selected) { if (!event.option.selected) {
const index = this.facetCriteria.dmpOrganisations.indexOf(eventValue); const index = this.facetCriteria.dmpOrganisations.indexOf(eventValue);
@ -139,10 +136,6 @@ export class FacetSearchComponent implements OnInit {
this.facetCriteriaChange.emit(this.facetCriteria); this.facetCriteriaChange.emit(this.facetCriteria);
} }
public projectIsSelected(value: string) {
return this.facetCriteria.projects.indexOf(value) !== -1;
}
public projectSearch(value: string): Observable<ProjectModel[]> { public projectSearch(value: string): Observable<ProjectModel[]> {
const projectCriteria = new ProjectCriteria(); const projectCriteria = new ProjectCriteria();
projectCriteria.projectStateType = this.facetCriteria.projectStatus; projectCriteria.projectStateType = this.facetCriteria.projectStatus;
@ -152,7 +145,16 @@ export class FacetSearchComponent implements OnInit {
return this.projectService.get(dataTableRequest); return this.projectService.get(dataTableRequest);
} }
public dmpOrganisationSearch(value: string) { public dmpOrganisationSearch(value: string): Observable<ExternalSourcesItemModel[]> {
this.dmpOrganisations = this.externalSourcesService.searchDMPOrganizations(value); return this.externalSourcesService.searchDMPOrganizations(value);
}
removeOrganisation(organisation) {
this.facetCriteria.dmpOrganisations.splice(this.facetCriteria.dmpOrganisations.indexOf(organisation), 1);
this.facetCriteriaChange.emit(this.facetCriteria);
}
public profileSearch(value: string) {
return this.datasetProfileService.getDatasetProfiles();
} }
} }

View File

@ -1,402 +1,403 @@
{ {
"GENERAL": { "GENERAL": {
"VALIDATION": { "VALIDATION": {
"REQUIRED": "Required" "REQUIRED": "Required"
}, },
"DELETE-CONFIRMATION": { "DELETE-CONFIRMATION": {
"TITLE": "Warning", "TITLE": "Warning",
"MESSAGE": "Are you sure you want to delete this item?", "MESSAGE": "Are you sure you want to delete this item?",
"POSITIVE": "Yes", "POSITIVE": "Yes",
"NEGATIVE": "Cancel" "NEGATIVE": "Cancel"
}, },
"SNACK-BAR": { "SNACK-BAR": {
"SUCCESSFUL-CREATION": "Created Successfully", "SUCCESSFUL-CREATION": "Created Successfully",
"SUCCESSFUL-UPDATE": "Updated Successfully", "SUCCESSFUL-UPDATE": "Updated Successfully",
"SUCCESSFUL-LOGIN": "Successful Login", "SUCCESSFUL-LOGIN": "Successful Login",
"SUCCESSFUL-LOGOUT": "Successful Logout", "SUCCESSFUL-LOGOUT": "Successful Logout",
"UNSUCCESSFUL-LOGOUT": "Unsuccessful Logout", "UNSUCCESSFUL-LOGOUT": "Unsuccessful Logout",
"UNSUCCESSFUL-LOGIN": "Unsuccessful Login" "UNSUCCESSFUL-LOGIN": "Unsuccessful Login"
}, },
"ERRORS": { "ERRORS": {
"HTTP-REQUEST-ERROR": "An Unexpected Error Has Occured" "HTTP-REQUEST-ERROR": "An Unexpected Error Has Occured"
}, },
"NAMES": { "NAMES": {
"DATASET": "Dataset" "DATASET": "Dataset"
}, },
"STATUSES": { "STATUSES": {
"EDIT": "Edited", "EDIT": "Edited",
"FINALISED": "Finalized" "FINALISED": "Finalized"
} }
}, },
"NAV-BAR": { "NAV-BAR": {
"TITLE": "OpenDMP", "TITLE": "OpenDMP",
"PROJECTS": "Projects", "PROJECTS": "Projects",
"DMPS": "DMPs", "DMPS": "DMPs",
"DATASETS": "Datasets", "DATASETS": "Datasets",
"PUBLIC-DATASETS": "Explore OpenDMP", "PUBLIC-DATASETS": "Explore OpenDMP",
"USERS": "Users", "USERS": "Users",
"DATASETS-ADMIN": "Dataset Profiles", "DATASETS-ADMIN": "Dataset Profiles",
"DMP-PROFILES": "DMP Profiles", "DMP-PROFILES": "DMP Profiles",
"ABOUT": "About" "ABOUT": "About"
}, },
"PROJECT-LISTING": { "PROJECT-LISTING": {
"TITLE": "Projects", "TITLE": "Projects",
"COLUMNS": { "COLUMNS": {
"AVATAR": "Image", "AVATAR": "Image",
"NAME": "Name", "NAME": "Name",
"ABBREVIATION": "Abbreviation", "ABBREVIATION": "Abbreviation",
"START": "Start", "START": "Start",
"END": "End", "END": "End",
"ACTIONS": "Actions", "ACTIONS": "Actions",
"DMPS": "DMPs" "DMPS": "DMPs"
} }
}, },
"DMP-LISTING": { "DMP-LISTING": {
"TITLE": "Data Management Plans", "TITLE": "Data Management Plans",
"COLUMNS": { "COLUMNS": {
"NAME": "Name", "NAME": "Name",
"PROJECT": "Project", "PROJECT": "Project",
"PROFILE": "Profile", "PROFILE": "Profile",
"CREATION-TIME": "Creation Time", "CREATION-TIME": "Creation Time",
"ORGANISATIONS": "Organisations", "ORGANISATIONS": "Organisations",
"LATEST_VERSION": "Latest Version", "LATEST_VERSION": "Latest Version",
"ACTIONS": "Actions", "ACTIONS": "Actions",
"DATASETS": "Datasets" "DATASETS": "Datasets"
}, },
"ACTIONS": { "ACTIONS": {
"EDIT": "Edit", "EDIT": "Edit",
"INVITE": "Invite Contributors", "INVITE": "Invite Contributors",
"ADD-DATASET": "Add Dataset To DMP", "ADD-DATASET": "Add Dataset To DMP",
"DATASETS": "List All DMP Datasets", "DATASETS": "List All DMP Datasets",
"NEW-VERSION": "New Version", "NEW-VERSION": "New Version",
"VIEW-VERSION": "All DMP Versions", "VIEW-VERSION": "All DMP Versions",
"CLONE": "Clone" "CLONE": "Clone"
} }
}, },
"DATASET-WIZARD": { "DATASET-WIZARD": {
"EDITOR": { "EDITOR": {
"FIELDS": { "FIELDS": {
"EXTERNAL-DATASET-TYPE": "Type" "EXTERNAL-DATASET-TYPE": "Type"
} }
}, },
"FIRST-STEP": { "FIRST-STEP": {
"TITLE": "Dataset Information", "TITLE": "Dataset Information",
"DMP": "Data Management Plan", "DMP": "Data Management Plan",
"PROFILE": "Dataset Profile" "PROFILE": "Dataset Profile"
}, },
"SECOND-STEP": { "SECOND-STEP": {
"TITLE": "External References" "TITLE": "External References"
}, },
"THIRD-STEP": { "THIRD-STEP": {
"TITLE": "Description" "TITLE": "Description"
}, },
"ACTIONS": { "ACTIONS": {
"NEXT": "Next", "NEXT": "Next",
"BACK": "Back", "BACK": "Back",
"GO-TO-PROJECT": "Go to Dataset Project", "GO-TO-PROJECT": "Go to Dataset Project",
"GO-TO-DMP": "Go to Dataset DMP" "GO-TO-DMP": "Go to Dataset DMP"
} }
}, },
"DATASET-LISTING": { "DATASET-LISTING": {
"TITLE": "Datasets", "TITLE": "Datasets",
"COLUMNS": { "COLUMNS": {
"NAME": "Name", "NAME": "Name",
"REFERNCE": "Reference", "REFERNCE": "Reference",
"URI": "Uri", "URI": "Uri",
"STATUS": "Status", "STATUS": "Status",
"DESCRIPTION": "Description", "DESCRIPTION": "Description",
"CREATED": "Created", "CREATED": "Created",
"ACTIONS": "Actions", "ACTIONS": "Actions",
"DMP": "Dmp", "DMP": "Dmp",
"PROFILE": "Profile", "PROFILE": "Profile",
"DATAREPOSITORIES": "Data Repositories", "DATAREPOSITORIES": "Data Repositories",
"REGISTRIES": "Registries", "REGISTRIES": "Registries",
"SERVICES": "Services" "SERVICES": "Services"
}, },
"ACTIONS": { "ACTIONS": {
"EDIT": "Edit", "EDIT": "Edit",
"MAKE-IT-PUBLIC": "Make it public", "MAKE-IT-PUBLIC": "Make it public",
"VIEW": "View" "VIEW": "View"
} }
}, },
"DATASET-PUBLIC-LISTING": { "DATASET-PUBLIC-LISTING": {
"TITLE": "Published dataset descriptions" "TITLE": "Published dataset descriptions"
}, },
"DMP-PROFILE-EDITOR": { "DMP-PROFILE-EDITOR": {
"TITLE": { "TITLE": {
"NEW": "New DMP Profile", "NEW": "New DMP Profile",
"EDIT": "Edit" "EDIT": "Edit"
}, },
"FIELDS": { "FIELDS": {
"LABEL": "Name", "LABEL": "Name",
"TYPE": "Type", "TYPE": "Type",
"DATATYPE": "Data Type", "DATATYPE": "Data Type",
"REQUIRED": "Required" "REQUIRED": "Required"
}, },
"ACTIONS": { "ACTIONS": {
"SAVE": "Save", "SAVE": "Save",
"CANCEL": "Cancel", "CANCEL": "Cancel",
"DELETE": "Delete" "DELETE": "Delete"
} }
}, },
"PROJECT-EDITOR": { "PROJECT-EDITOR": {
"TITLE": { "TITLE": {
"NEW": "New Project", "NEW": "New Project",
"EDIT": "Edit" "EDIT": "Edit"
}, },
"FIELDS": { "FIELDS": {
"LABEL": "Title", "LABEL": "Title",
"ABBREVIATION": "Abbreviation", "ABBREVIATION": "Abbreviation",
"URI": "URL", "URI": "URL",
"START": "Start", "START": "Start",
"END": "End", "END": "End",
"DESCRIPTION": "Description", "DESCRIPTION": "Description",
"LOGO": "Project Logo" "LOGO": "Project Logo"
}, },
"ACTIONS": { "ACTIONS": {
"SAVE": "Save", "SAVE": "Save",
"CANCEL": "Cancel", "CANCEL": "Cancel",
"DELETE": "Delete", "DELETE": "Delete",
"GO-TO-DMPS": "Go To DMPs" "GO-TO-DMPS": "Go To DMPs"
} }
}, },
"DMP-EDITOR": { "DMP-EDITOR": {
"TITLE": { "TITLE": {
"NEW": "New Data Management Plan", "NEW": "New Data Management Plan",
"EDIT": "Edit" "EDIT": "Edit"
}, },
"FIELDS": { "FIELDS": {
"NAME": "Name", "NAME": "Name",
"PROJECT": "Project", "PROJECT": "Project",
"DESCRIPTION": "Description", "DESCRIPTION": "Description",
"ORGANISATIONS": "Organisations", "ORGANISATIONS": "Organisations",
"RESEARCHERS": "Researchers", "RESEARCHERS": "Researchers",
"PROFILES": "Available Dataset Profiles", "PROFILES": "Available Dataset Profiles",
"PROFILE": "DMP Profile", "PROFILE": "DMP Profile",
"GRANT": "Grant", "GRANT": "Grant",
"FUNDER": "Funder" "FUNDER": "Funder"
}, },
"ACTIONS": { "ACTIONS": {
"GO-TO-PROJECT": "Go To DMP Project", "GO-TO-PROJECT": "Go To DMP Project",
"GO-TO-DATASETS": "Go To Datasets", "GO-TO-DATASETS": "Go To Datasets",
"SAVE": "Save", "SAVE": "Save",
"CANCEL": "Cancel", "CANCEL": "Cancel",
"DELETE": "Remove" "DELETE": "Remove"
} }
}, },
"CRITERIA": { "CRITERIA": {
"FILTERS": "Filters", "FILTERS": "Filters",
"PROJECTS": { "PROJECTS": {
"LIKE": "Search", "LIKE": "Search",
"PERIOD-FROM": "Project Start", "PERIOD-FROM": "Project Start",
"PERIOD-TO": "Project End", "PERIOD-TO": "Project End",
"PROJECT-STATE-TYPE": "Project Status", "PROJECT-STATE-TYPE": "Project Status",
"TYPES": { "TYPES": {
"ON-GOING": "On Going", "ON-GOING": "On Going",
"FINISHED": "Finished" "FINISHED": "Finished"
} }
}, },
"DATA-SETS": { "DATA-SETS": {
"LIKE": "Search", "LIKE": "Search",
"PERIOD-FROM": "Start", "PERIOD-FROM": "Start",
"PERIOD-TO": "End", "PERIOD-TO": "End",
"STATUS": "Status", "STATUS": "Status",
"TAGS": "Tags" "TAGS": "Tags"
}, },
"DMP": { "DMP": {
"LIKE": "Search", "LIKE": "Search",
"PROJECTS": "Projects" "PROJECTS": "Projects"
}, },
"USERS": { "USERS": {
"LABEL": "Label", "LABEL": "Label",
"ROLE": "Role" "ROLE": "Role"
} }
}, },
"DATASET-EDITOR": { "DATASET-EDITOR": {
"TITLE": { "TITLE": {
"NEW": "New Data Management Plan", "NEW": "New Data Management Plan",
"EDIT": "Edit" "EDIT": "Edit"
}, },
"FIELDS": { "FIELDS": {
"NAME": "Name of the Dataset", "NAME": "Name of the Dataset",
"DESCRIPTION": "Description", "DESCRIPTION": "Description",
"PROFILE": "Profile", "PROFILE": "Profile",
"URI": "Uri", "URI": "Uri",
"DMP": "DMP", "DMP": "DMP",
"DATAREPOSITORIES": "Data Repositories", "DATAREPOSITORIES": "Data Repositories",
"REGISTRIES": "Registries", "REGISTRIES": "Registries",
"SERVICES": "Services", "SERVICES": "Services",
"EXTERNAL-DATASETS": "External Datasets", "EXTERNAL-DATASETS": "External Datasets",
"EXTERNAL-DATASET-TYPE": "External Datasets Type", "EXTERNAL-DATASET-TYPE": "External Datasets Type",
"EXTERNAL-DATASET-INFO": "External Datasets Info", "EXTERNAL-DATASET-INFO": "External Datasets Info",
"DATAREPOSITORIES-INFO": "Data Repositories Info", "DATAREPOSITORIES-INFO": "Data Repositories Info",
"TAGS": "Tags", "TAGS": "Tags",
"CREATE": "Create New" "CREATE": "Create New"
}, },
"ACTIONS": { "ACTIONS": {
"SAVE": "Save", "SAVE": "Save",
"CANCEL": "Cancel", "CANCEL": "Cancel",
"DELETE": "Delete" "DELETE": "Delete"
} }
}, },
"INVITATION-EDITOR": { "INVITATION-EDITOR": {
"TITLE": "Send Invitations for ", "TITLE": "Send Invitations for ",
"AUTOCOMPLETE-TITLE": "User/Email", "AUTOCOMPLETE-TITLE": "User/Email",
"ACTIONS": { "ACTIONS": {
"SEND-INVITATION": "Send Invitations", "SEND-INVITATION": "Send Invitations",
"CANCEL": "Cancel" "CANCEL": "Cancel"
} }
}, },
"USERS": { "USERS": {
"LISTING": { "LISTING": {
"TITLE": "Users", "TITLE": "Users",
"EMAIL": "Email", "EMAIL": "Email",
"LAST-LOGGED-IN": "Last Logged In", "LAST-LOGGED-IN": "Last Logged In",
"LABEL": "Label", "LABEL": "Label",
"ROLES": "Roles" "ROLES": "Roles"
} }
}, },
"TYPES": { "TYPES": {
"APP-ROLE": { "APP-ROLE": {
"ADMIN": "Admin", "ADMIN": "Admin",
"USER": "User", "USER": "User",
"MANAGER": "Manager" "MANAGER": "Manager"
}, },
"DMP-PROFILE-FIELD": { "DMP-PROFILE-FIELD": {
"DATA-TYPE": { "DATA-TYPE": {
"DATE": "Date", "DATE": "Date",
"NUMBER": "Number", "NUMBER": "Number",
"TEXT": "Text" "TEXT": "Text"
}, },
"TYPE": { "TYPE": {
"INPUT": "Input" "INPUT": "Input"
} }
}, },
"DATASET-STATUS": { "DATASET-STATUS": {
"DRAFT": "Draft", "DRAFT": "Draft",
"FINALISED": "Finalised" "FINALISED": "Finalised"
}, },
"EXTERNAL-DATASET-TYPE": { "EXTERNAL-DATASET-TYPE": {
"SOURCE": "Source", "SOURCE": "Source",
"OUTPUT": "Output" "OUTPUT": "Output"
} }
}, },
"ADDRESEARCHERS-EDITOR": { "ADDRESEARCHERS-EDITOR": {
"TITLE": "Add a Researcher", "TITLE": "Add a Researcher",
"FIRST_NAME": "First Name", "FIRST_NAME": "First Name",
"LAST_NAME": "Last Name", "LAST_NAME": "Last Name",
"ACTIONS": { "ACTIONS": {
"SAVE": "Save", "SAVE": "Save",
"CANCEL": "Cancel" "CANCEL": "Cancel"
} }
}, },
"DMP-WIZARD": { "DMP-WIZARD": {
"FIRST-STEP": { "FIRST-STEP": {
"DMP": "DMP Editor", "DMP": "DMP Editor",
"DATASETS": "Datasets" "DATASETS": "Datasets"
}, },
"ACTIONS": { "ACTIONS": {
"NEXT": "Next", "NEXT": "Next",
"BACK": "Back", "BACK": "Back",
"SAVE": "Save" "SAVE": "Save"
} }
}, },
"RECENT-ACTIVITY": { "RECENT-ACTIVITY": {
"MY-TITLE-PROJECT": "My Recent Project Activity", "MY-TITLE-PROJECT": "My Recent Project Activity",
"MY-TITLE-DMP": "My Recent DMP Activity", "MY-TITLE-DMP": "My Recent DMP Activity",
"MY-TITLE-DATASET": "My Recent Dataset Activity" "MY-TITLE-DATASET": "My Recent Dataset Activity"
}, },
"FILE-UPLOADER": { "FILE-UPLOADER": {
"DEFAULT": "Choose a file", "DEFAULT": "Choose a file",
"PROJECT": "", "PROJECT": "",
"UPLOAD": "Upload" "UPLOAD": "Upload"
}, },
"URL-LISTING-COMPONENT": { "URL-LISTING-COMPONENT": {
"SHOW-MORE": "Show more" "SHOW-MORE": "Show more"
}, },
"HOMEPAGE": { "HOMEPAGE": {
"OPEN-DMPS": { "OPEN-DMPS": {
"STATS": "OpenDMP DashBoard" "STATS": "OpenDMP DashBoard"
}, },
"MY-DMPS": { "MY-DMPS": {
"STATS": "My DashBoard" "STATS": "My DashBoard"
} }
}, },
"ABOUT": { "ABOUT": {
"TITLE": "-Our Mission-", "TITLE": "-Our Mission-",
"MAIN-CONTENT": "Our goal is to make your research data FAIR, that is findable, accessible,interoperable and re-usable. These principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementationsolution.", "MAIN-CONTENT": "Our goal is to make your research data FAIR, that is findable, accessible,interoperable and re-usable. These principles precede implementation choices and do not necessarily suggest any specific technology, standard, or implementationsolution.",
"CONTRIBUTORS": "Contributors" "CONTRIBUTORS": "Contributors"
}, },
"DASHBOARD": { "DASHBOARD": {
"MY-PROJECTS": "My Projects", "MY-PROJECTS": "My Projects",
"PROJECTS": "Projects", "PROJECTS": "Projects",
"MY-DMPS": "My DMPs", "MY-DMPS": "My DMPs",
"DMPS": "DMPs", "DMPS": "DMPs",
"MY-DATASETS": "My Datasets", "MY-DATASETS": "My Datasets",
"DATASETS": "Datasets", "DATASETS": "Datasets",
"SEARCH": "Search" "SEARCH": "Search"
}, },
"USER-DIALOG": { "USER-DIALOG": {
"USER-PROFILE": "My Profile", "USER-PROFILE": "My Profile",
"EXIT": "Exit " "EXIT": "Exit "
}, },
"USER-PROFILE": { "USER-PROFILE": {
"SETTINGS": { "SETTINGS": {
"TITLE": "Settings", "TITLE": "Settings",
"TIMEZONE": "Time Zone", "TIMEZONE": "Time Zone",
"CULTURE": "Culture", "CULTURE": "Culture",
"LANGUAGE": "Language" "LANGUAGE": "Language"
}, },
"ASSOCIATED-DMPS": "Associated DMPs", "ASSOCIATED-DMPS": "Associated DMPs",
"DMPS": { "DMPS": {
"SHOW-ALL": "Show All", "SHOW-ALL": "Show All",
"CREATOR": "Creator", "CREATOR": "Creator",
"MEMBER": "Member" "MEMBER": "Member"
} }
}, },
"DATASET-REFERENCED-MODELS": { "DATASET-REFERENCED-MODELS": {
"SERVICES": { "SERVICES": {
"TITLE": "Add New Service", "TITLE": "Add New Service",
"LABEL": "Label", "LABEL": "Label",
"ABBREVIATION": "Abbreviation", "ABBREVIATION": "Abbreviation",
"URI": "Uri" "URI": "Uri"
}, },
"DATA-REPOSITORY": { "DATA-REPOSITORY": {
"TITLE": "Add New Service", "TITLE": "Add New Service",
"LABEL": "Label", "LABEL": "Label",
"ABBREVIATION": "Abbreviation", "ABBREVIATION": "Abbreviation",
"URI": "Uri" "URI": "Uri"
}, },
"EXTERNAL-DATASET": { "EXTERNAL-DATASET": {
"TITLE": "Add New Service", "TITLE": "Add New Service",
"LABEL": "Label", "LABEL": "Label",
"ABBREVIATION": "Abbreviation" "ABBREVIATION": "Abbreviation"
}, },
"REGISTRY": { "REGISTRY": {
"TITLE": "Add New Service", "TITLE": "Add New Service",
"LABEL": "Label", "LABEL": "Label",
"ABBREVIATION": "Abbreviation", "ABBREVIATION": "Abbreviation",
"URI": "Uri" "URI": "Uri"
} }
}, },
"FACET-SEARCH": { "FACET-SEARCH": {
"PROJECT-STATUS": { "FILTER": "Filter",
"TITLE": "Project Status", "PROJECT-STATUS": {
"OPTIONS": { "TITLE": "Project Status",
"ACTIVE": "Active", "OPTIONS": {
"INACTIVE": "Inactive" "ACTIVE": "Active",
} "INACTIVE": "Inactive"
}, }
"PROJECT": { },
"TITLE": "Project", "PROJECT": {
"FILTER": "Filter Projects" "TITLE": "Project",
}, "FILTER": "Filter Projects"
"PROFILES": { },
"TITLE": "Dataset specification" "PROFILES": {
}, "TITLE": "Dataset specification"
"DMP-ORGANISATIONS": { },
"TITLE": "DMP Organisations", "DMP-ORGANISATIONS": {
"FILTER": "Filter Organisations" "TITLE": "DMP Organisations",
} "FILTER": "Filter Organisations"
} }
}
} }