Merge remote-tracking branch 'origin/Development' into Development
This commit is contained in:
commit
25286603c8
|
@ -9,6 +9,7 @@ import { DmpProfileExternalAutocompleteFieldEditorComponent } from './editor/ext
|
||||||
import { DialodConfirmationUploadDmpProfiles } from './listing/criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
import { DialodConfirmationUploadDmpProfiles } from './listing/criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
||||||
import { DmpProfileCriteriaComponent } from './listing/criteria/dmp-profile-criteria.component';
|
import { DmpProfileCriteriaComponent } from './listing/criteria/dmp-profile-criteria.component';
|
||||||
import { DmpProfileListingComponent } from './listing/dmp-profile-listing.component';
|
import { DmpProfileListingComponent } from './listing/dmp-profile-listing.component';
|
||||||
|
import { NgxDropzoneModule } from "ngx-dropzone";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
@ -16,7 +17,8 @@ import { DmpProfileListingComponent } from './listing/dmp-profile-listing.compon
|
||||||
CommonFormsModule,
|
CommonFormsModule,
|
||||||
UrlListingModule,
|
UrlListingModule,
|
||||||
ConfirmationDialogModule,
|
ConfirmationDialogModule,
|
||||||
DmpProfileRoutingModule
|
DmpProfileRoutingModule,
|
||||||
|
NgxDropzoneModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
DmpProfileEditorComponent,
|
DmpProfileEditorComponent,
|
||||||
|
|
|
@ -1,9 +1,28 @@
|
||||||
<div class="main-content">
|
<div class="main-content">
|
||||||
<div class="container-fluid dmp-profile-editor">
|
<div class="container-fluid dmp-profile-editor">
|
||||||
|
<div class="row align-items-center mb-4" *ngIf="formGroup">
|
||||||
|
<div class="col-auto">
|
||||||
|
<h3 *ngIf="isNew">{{'DMP-PROFILE-EDITOR.TITLE.NEW' | translate}}</h3>
|
||||||
|
<h3 *ngIf="!isNew">{{formGroup.get('label').value}}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col"></div>
|
||||||
|
<div class="col-auto" *ngIf="!isNew">
|
||||||
|
<button mat-button class="action-btn" type="button" (click)="delete()">
|
||||||
|
<mat-icon>delete</mat-icon>
|
||||||
|
{{'DMP-PROFILE-EDITOR.ACTIONS.DELETE' | translate}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="formGroup.get('status').value==1">
|
||||||
|
<button mat-button class="finalize-btn" (click)="downloadXML()"
|
||||||
|
type="button">{{'DMP-PROFILE-EDITOR.ACTIONS.DOWNLOAD-XML' | translate }}</button>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="formGroup.get('status').value!=1" class="col-auto">
|
||||||
|
<button mat-button class="finalize-btn" (click)="finalize()"
|
||||||
|
[disabled]="!formGroup.valid" type="button">{{'DMP-PROFILE-EDITOR.ACTIONS.FINALIZE' | translate }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<form *ngIf="formGroup" (ngSubmit)="formSubmit()" [formGroup]="formGroup">
|
<form *ngIf="formGroup" (ngSubmit)="formSubmit()" [formGroup]="formGroup">
|
||||||
<h3 *ngIf="isNew">{{'DMP-PROFILE-EDITOR.TITLE.NEW' | translate}}</h3>
|
<mat-card style="padding: 2em;">
|
||||||
<h3 *ngIf="!isNew">{{formGroup.get('label').value}}</h3>
|
|
||||||
<mat-card>
|
|
||||||
<!-- <mat-card-header>
|
<!-- <mat-card-header>
|
||||||
<mat-card-title *ngIf="isNew">
|
<mat-card-title *ngIf="isNew">
|
||||||
<h4>{{'DMP-PROFILE-EDITOR.TITLE.NEW' | translate}}</h4>
|
<h4>{{'DMP-PROFILE-EDITOR.TITLE.NEW' | translate}}</h4>
|
||||||
|
@ -13,8 +32,8 @@
|
||||||
</mat-card-title>
|
</mat-card-title>
|
||||||
</mat-card-header> -->
|
</mat-card-header> -->
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
<div class="row pl-5">
|
<div class="row" style="gap:1em">
|
||||||
<mat-form-field class="col-10">
|
<mat-form-field class="col-lg-6" appearance="legacy">
|
||||||
<input matInput placeholder="{{'DMP-PROFILE-EDITOR.FIELDS.LABEL' | translate}}" type="text" name="label" formControlName="label"
|
<input matInput placeholder="{{'DMP-PROFILE-EDITOR.FIELDS.LABEL' | translate}}" type="text" name="label" formControlName="label"
|
||||||
required>
|
required>
|
||||||
<mat-error *ngIf="formGroup.get('label').hasError('backendError')">
|
<mat-error *ngIf="formGroup.get('label').hasError('backendError')">
|
||||||
|
@ -101,12 +120,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt-4 pl-5 pr-4">
|
<div class="row mt-4">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-raised-button color="primary" (click)="cancel()" type="button">{{'DMP-PROFILE-EDITOR.ACTIONS.CANCEL' | translate}}</button>
|
<button mat-button class="action-btn" (click)="cancel()" type="button">{{'DMP-PROFILE-EDITOR.ACTIONS.CANCEL' | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
<div class="col-auto" *ngIf="!isNew">
|
<!-- <div class="col-auto" *ngIf="!isNew">
|
||||||
<button mat-raised-button color="primary" type="button" (click)="delete()">{{'DMP-PROFILE-EDITOR.ACTIONS.DELETE' | translate}}</button>
|
<button mat-raised-button color="primary" type="button" (click)="delete()">{{'DMP-PROFILE-EDITOR.ACTIONS.DELETE' | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
<button mat-raised-button *ngIf="formGroup.get('status').value!=1" class="col-auto" color="primary" (click)="finalize()"
|
<button mat-raised-button *ngIf="formGroup.get('status').value!=1" class="col-auto" color="primary" (click)="finalize()"
|
||||||
|
@ -117,6 +136,12 @@
|
||||||
<button mat-raised-button color="primary" type="submit" [disabled]="!formGroup.valid">
|
<button mat-raised-button color="primary" type="submit" [disabled]="!formGroup.valid">
|
||||||
{{'DMP-PROFILE-EDITOR.ACTIONS.SAVE' | translate}}
|
{{'DMP-PROFILE-EDITOR.ACTIONS.SAVE' | translate}}
|
||||||
</button>
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="col-auto" *ngIf="!viewOnly">
|
||||||
|
<button mat-button class="action-btn" type="submit" [disabled]="!formGroup.valid">
|
||||||
|
{{'DMP-PROFILE-EDITOR.ACTIONS.SAVE' | translate}}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
.dmp-profile-editor {
|
.dmp-profile-editor {
|
||||||
margin-top: 1.3rem;
|
margin-top: 1.3rem;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 3em;
|
||||||
|
|
||||||
.centered-row-item {
|
.centered-row-item {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -25,3 +27,37 @@
|
||||||
::ng-deep .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
|
::ng-deep .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
|
||||||
background-color: #b0b0b0;
|
background-color: #b0b0b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.finalize-btn {
|
||||||
|
border-radius: 30px;
|
||||||
|
border: 1px solid #129D99;
|
||||||
|
background: transparent;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-right: 2em;
|
||||||
|
box-shadow: 0px 3px 6px #1E202029;
|
||||||
|
color: #129D99;
|
||||||
|
&:disabled{
|
||||||
|
background-color: #CBCBCB;
|
||||||
|
color: #FFF;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn {
|
||||||
|
border-radius: 30px;
|
||||||
|
background-color: #f7dd72;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-right: 2em;
|
||||||
|
box-shadow: 0px 3px 6px #1E202029;
|
||||||
|
|
||||||
|
transition-property: background-color, color;
|
||||||
|
transition-duration: 200ms;
|
||||||
|
transition-delay: 50ms;
|
||||||
|
transition-timing-function: ease-in-out;
|
||||||
|
&:disabled{
|
||||||
|
background-color: #CBCBCB;
|
||||||
|
color: #FFF;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,6 +23,8 @@ import { map, takeUntil } from 'rxjs/operators';
|
||||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
|
import { MatDialog } from '@angular/material';
|
||||||
|
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -50,7 +52,8 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie
|
||||||
private formService: FormService,
|
private formService: FormService,
|
||||||
private configurationService: ConfigurationService,
|
private configurationService: ConfigurationService,
|
||||||
private httpClient: HttpClient,
|
private httpClient: HttpClient,
|
||||||
private matomoService: MatomoService
|
private matomoService: MatomoService,
|
||||||
|
private dialog: MatDialog
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
this.host = configurationService.server;
|
this.host = configurationService.server;
|
||||||
|
@ -177,13 +180,27 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie
|
||||||
}
|
}
|
||||||
|
|
||||||
delete() {
|
delete() {
|
||||||
this.formGroup.get('status').setValue(DmpProfileStatus.Deleted);
|
this.dialog.open(ConfirmationDialogComponent,{data:{
|
||||||
this.dmpProfileService.createDmp(this.formGroup.value)
|
isDeleteConfirmation: true,
|
||||||
.pipe(takeUntil(this._destroyed))
|
confirmButton: this.language.instant('DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.CONFIRM-BUTTON'),
|
||||||
.subscribe(
|
cancelButton: this.language.instant("DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.CANCEL-BUTTON"),
|
||||||
complete => this.onCallbackSuccess(),
|
message: this.language.instant("DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.MESSAGE")
|
||||||
error => this.onCallbackError(error)
|
}})
|
||||||
);
|
.afterClosed()
|
||||||
|
.subscribe(
|
||||||
|
confirmed =>{
|
||||||
|
if(confirmed){
|
||||||
|
this.formGroup.get('status').setValue(DmpProfileStatus.Deleted);
|
||||||
|
this.dmpProfileService.createDmp(this.formGroup.value)
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(
|
||||||
|
complete => this.onCallbackSuccess(),
|
||||||
|
error => this.onCallbackError(error)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
finalize() {
|
finalize() {
|
||||||
|
|
|
@ -4,10 +4,26 @@
|
||||||
<h4>{{ data.message }}</h4>
|
<h4>{{ data.message }}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto ml-auto">
|
<div class="col-auto ml-auto">
|
||||||
<input class="hidden" type="file" #imgFileInput (change)="selectXML($event)" accept="text/xml" />
|
<mat-icon class="close-btn" (click)="cancel()">close</mat-icon>
|
||||||
<button class="col-auto attach-file" (click)="imgFileInput.click()" type="button">
|
</div>
|
||||||
<mat-icon color="{{btnColore}}">attach_file</mat-icon>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<ngx-dropzone class="drop-file" (change)="selectXML($event)" [accept]="'text/xml'" [multiple]="false">
|
||||||
|
<ngx-dropzone-preview class="file-preview" [removable]="true" *ngIf="hasProfile()" (removed)="onRemove()">
|
||||||
|
<ngx-dropzone-label class="file-label">{{ selectedFileName }}</ngx-dropzone-label>
|
||||||
|
</ngx-dropzone-preview>
|
||||||
|
</ngx-dropzone>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 d-flex justify-content-center attach-btn">
|
||||||
|
<button mat-button type="button" class="col-auto attach-file" (click)="imgFileInput.click()">
|
||||||
|
<mat-icon class="mr-2">input</mat-icon>
|
||||||
|
<span *ngIf="!hasProfile()">{{'GENERAL.START-NEW-DMP-DIALOG.UPLOAD-FILE' | translate}}</span>
|
||||||
|
<span *ngIf="hasProfile()">{{'GENERAL.START-NEW-DMP-DIALOG.REPLACE-FILE' | translate}}</span>
|
||||||
</button>
|
</button>
|
||||||
|
<input class="hidden" type="file" #imgFileInput (change)="selectXML($event)" accept="text/xml" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -15,11 +31,11 @@
|
||||||
<input matInput placeholder="{{'DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-NAME'| translate}}" name="datasetProfileName" [(ngModel)]="data.name">
|
<input matInput placeholder="{{'DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-NAME'| translate}}" name="datasetProfileName" [(ngModel)]="data.name">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-raised-button type="button" (click)="cancel()">{{ data.cancelButton }}</button>
|
<button mat-button type="button" class="cancel-btn" (click)="cancel()">{{ data.cancelButton }}</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-raised-button color="primary" type="button" (click)="confirm()" [disabled]="!hasProfile()">{{ data.confirmButton }}</button>
|
<button mat-button color="primary" class="next-btn" type="button" (click)="confirm()" [disabled]="!hasProfile()">{{ data.confirmButton }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,3 +1,102 @@
|
||||||
.hidden {
|
.hidden {
|
||||||
display: none;
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.cancel-btn {
|
||||||
|
background: #ffffff 0% 0% no-repeat padding-box;
|
||||||
|
border: 1px solid #b5b5b5;
|
||||||
|
border-radius: 30px;
|
||||||
|
width: 101px;
|
||||||
|
height: 43px;
|
||||||
|
color: #212121;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn {
|
||||||
|
background: #ffffff 0% 0% no-repeat padding-box;
|
||||||
|
border: 1px solid #129d99;
|
||||||
|
border-radius: 30px;
|
||||||
|
opacity: 1;
|
||||||
|
width: 101px;
|
||||||
|
height: 43px;
|
||||||
|
color: #129d99;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn[disabled] {
|
||||||
|
width: 100px;
|
||||||
|
height: 43px;
|
||||||
|
background: #ffffff 0% 0% no-repeat padding-box;
|
||||||
|
border: 1px solid #b5b5b5;
|
||||||
|
border-radius: 30px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn:not([disabled]):hover {
|
||||||
|
background-color: #129d99;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
//ngx dropzone
|
||||||
|
.drop-file {
|
||||||
|
background-color: #fafafa;
|
||||||
|
border: 1px dashed #d1d1d1;
|
||||||
|
border-radius: 4px;
|
||||||
|
max-width: 480px;
|
||||||
|
height: 98px;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-preview {
|
||||||
|
height: auto !important;
|
||||||
|
width: auto !important;
|
||||||
|
max-width: 500px !important;
|
||||||
|
min-height: 1rem !important;
|
||||||
|
|
||||||
|
background-color: #e0e0e0 !important;
|
||||||
|
background-image: none !important;
|
||||||
|
color: rgba(0, 0, 0, 0.87) !important;
|
||||||
|
font-weight: 500 !important;
|
||||||
|
border-radius: 24px !important;
|
||||||
|
line-height: 1.25 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-label {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
font-size: 14px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep ngx-dropzone-remove-badge {
|
||||||
|
opacity: 1 !important;
|
||||||
|
margin-left: .5rem !important;
|
||||||
|
position: initial !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//attach file
|
||||||
|
|
||||||
|
.attach-btn {
|
||||||
|
top: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attach-file {
|
||||||
|
width: 156px;
|
||||||
|
height: 44px;
|
||||||
|
color: #ffffff;
|
||||||
|
background: #129d99 0% 0% no-repeat padding-box;
|
||||||
|
box-shadow: 0px 3px 6px #1e202029;
|
||||||
|
border-radius: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attach-file:hover {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid #129d99;
|
||||||
|
color: #129d99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-btn:hover{
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
|
@ -10,9 +10,9 @@ import { Inject, Component } from '@angular/core';
|
||||||
export class DialodConfirmationUploadDmpProfiles {
|
export class DialodConfirmationUploadDmpProfiles {
|
||||||
|
|
||||||
sizeError = false;
|
sizeError = false;
|
||||||
btnColore:String="primary";
|
|
||||||
selectFile =false;
|
selectFile =false;
|
||||||
maxFileSize: number = 1048576;
|
maxFileSize: number = 1048576;
|
||||||
|
selectedFileName: string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public dialogRef: MatDialogRef<DialodConfirmationUploadDmpProfiles>,
|
public dialogRef: MatDialogRef<DialodConfirmationUploadDmpProfiles>,
|
||||||
|
@ -21,16 +21,20 @@ export class DialodConfirmationUploadDmpProfiles {
|
||||||
|
|
||||||
|
|
||||||
selectXML(event) {
|
selectXML(event) {
|
||||||
const file: FileList = event.target.files;
|
let file: FileList = null;
|
||||||
|
if(event.target && event.target.files){
|
||||||
|
file = event.target.files;
|
||||||
|
}else if(event.addedFiles && event.addedFiles.length){
|
||||||
|
file = event.addedFiles;
|
||||||
|
}
|
||||||
|
if(!file) return;//no select closed with cancel . no file selected
|
||||||
const size: number = file[0].size; // Get file size.
|
const size: number = file[0].size; // Get file size.
|
||||||
this.sizeError = size > this.maxFileSize; // Checks if file size is valid.
|
this.sizeError = size > this.maxFileSize; // Checks if file size is valid.
|
||||||
const formdata: FormData = new FormData();
|
const formdata: FormData = new FormData();
|
||||||
if (!this.sizeError) {
|
if (!this.sizeError) {
|
||||||
this.data.file = file;
|
this.data.file = file;
|
||||||
this.selectFile=true;
|
this.selectFile=true;
|
||||||
this.btnColore="primary";
|
this.selectedFileName = file[0].name;
|
||||||
}else{
|
|
||||||
this.btnColore="warn";
|
|
||||||
}
|
}
|
||||||
this.data.name = file[0].name;
|
this.data.name = file[0].name;
|
||||||
}
|
}
|
||||||
|
@ -49,5 +53,10 @@ export class DialodConfirmationUploadDmpProfiles {
|
||||||
hasProfile():boolean{
|
hasProfile():boolean{
|
||||||
return (this.selectFile && !this.sizeError);
|
return (this.selectFile && !this.sizeError);
|
||||||
}
|
}
|
||||||
|
//remove selected file
|
||||||
|
onRemove(){
|
||||||
|
this.data.name="";
|
||||||
|
this.selectFile = false;
|
||||||
|
this.selectedFileName = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,11 @@
|
||||||
<div class="dmp-criteria">
|
<div class="dmp-criteria">
|
||||||
<mat-card class="mat-card">
|
<div class="row justify-content-end">
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<mat-form-field class="col-md-6">
|
|
||||||
<input matInput placeholder=" {{'CRITERIA.DMP.LIKE'| translate}}" name="grantCriteriaLike"
|
|
||||||
[(ngModel)]="criteria.like" (ngModelChange)="controlModified()">
|
|
||||||
</mat-form-field>
|
|
||||||
|
|
||||||
<div class="col"></div>
|
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<!-- imgFileInput.click() && -->
|
<mat-form-field class="search-form-field">
|
||||||
<button mat-raised-button class="col-auto" color="primary" (click)="openDialog()"
|
<input matInput placeholder=" {{'CRITERIA.DMP.LIKE'| translate}}" name="grantCriteriaLike"
|
||||||
type="button">{{ 'DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML' | translate }}</button>
|
[(ngModel)]="criteria.like" (ngModelChange)="controlModified()">
|
||||||
|
<mat-icon matPrefix>search</mat-icon>
|
||||||
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</mat-card>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
:host ::ng-deep .search-form-field .mat-form-field-wrapper {
|
||||||
|
background-color: white !important;
|
||||||
|
padding-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix {
|
||||||
|
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dmp-criteria{
|
||||||
|
margin-top: 3em;
|
||||||
|
margin-bottom: 0em;
|
||||||
|
}
|
|
@ -53,24 +53,24 @@ export class DmpProfileCriteriaComponent extends BaseCriteriaComponent implement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
openDialog(): void {
|
// openDialog(): void {
|
||||||
const dialogRef = this.dialog.open(DialodConfirmationUploadDmpProfiles, {
|
// const dialogRef = this.dialog.open(DialodConfirmationUploadDmpProfiles, {
|
||||||
restoreFocus: false,
|
// restoreFocus: false,
|
||||||
data: {
|
// data: {
|
||||||
message: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-TITLE'),
|
// message: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-TITLE'),
|
||||||
confirmButton: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML'),
|
// confirmButton: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML'),
|
||||||
cancelButton: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-CANCEL'),
|
// cancelButton: this.language.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-CANCEL'),
|
||||||
name: '',
|
// name: '',
|
||||||
file: FileList,
|
// file: FileList,
|
||||||
sucsess: false
|
// sucsess: false
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(data => {
|
// dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(data => {
|
||||||
if (data && data.sucsess && data.name != null && data.file != null) {
|
// if (data && data.sucsess && data.name != null && data.file != null) {
|
||||||
this.dmpProfileService.uploadFile(data.file, data.name)
|
// this.dmpProfileService.uploadFile(data.file, data.name)
|
||||||
.pipe(takeUntil(this._destroyed))
|
// .pipe(takeUntil(this._destroyed))
|
||||||
.subscribe();
|
// .subscribe();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,26 @@
|
||||||
<div class="main-content">
|
<div class="main-content">
|
||||||
<div class="container-fluid dmp-profile-listing">
|
<div class="container-fluid dmp-profile-listing">
|
||||||
<h3>{{titlePrefix}} {{'DMP-PROFILE-LISTING.TITLE' | translate}}</h3>
|
<div class="row align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<h3>{{titlePrefix}} {{'DMP-PROFILE-LISTING.TITLE' | translate}}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col"></div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button mat-raised-button class="import-btn" (click)="openDialog()">
|
||||||
|
<span class="button-text">
|
||||||
|
{{'DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML' | translate}}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button mat-raised-button class="create-btn ml-md-3" [routerLink]="['/dmp-profiles/new'] ">
|
||||||
|
<span class="button-text">
|
||||||
|
{{'DMP-PROFILE-LISTING.CREATE-DMP-TEMPLATE' | translate}}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<app-dmp-profile-criteria-component></app-dmp-profile-criteria-component>
|
<app-dmp-profile-criteria-component></app-dmp-profile-criteria-component>
|
||||||
<mat-card class="row mat-card">
|
<div class="mat-elevation-z6">
|
||||||
<mat-table [dataSource]="dataSource" matSort (matSortChange)="refresh()">
|
<mat-table [dataSource]="dataSource" matSort (matSortChange)="refresh()">
|
||||||
|
|
||||||
<!-- Column Definition: Name -->
|
<!-- Column Definition: Name -->
|
||||||
|
@ -17,7 +34,11 @@
|
||||||
<ng-container cdkColumnDef="status">
|
<ng-container cdkColumnDef="status">
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header="status">
|
<mat-header-cell *matHeaderCellDef mat-sort-header="status">
|
||||||
{{'DMP-PROFILE-LISTING.COLUMNS.STATUS' | translate}}</mat-header-cell>
|
{{'DMP-PROFILE-LISTING.COLUMNS.STATUS' | translate}}</mat-header-cell>
|
||||||
<mat-cell *matCellDef="let row">{{row.status}}</mat-cell>
|
<mat-cell *matCellDef="let row">
|
||||||
|
<div [ngClass]="['status-chip', getStatusClass(row.status)]">
|
||||||
|
{{parseStatus(row.status) | translate}}
|
||||||
|
</div>
|
||||||
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Column Definition: Created -->
|
<!-- Column Definition: Created -->
|
||||||
|
@ -36,12 +57,6 @@
|
||||||
</mat-table>
|
</mat-table>
|
||||||
<mat-paginator #paginator [length]="dataSource?.totalCount" [pageSizeOptions]="[10, 25, 100]">
|
<mat-paginator #paginator [length]="dataSource?.totalCount" [pageSizeOptions]="[10, 25, 100]">
|
||||||
</mat-paginator>
|
</mat-paginator>
|
||||||
</mat-card>
|
|
||||||
|
|
||||||
<div class="row justify-content-end pr-2">
|
|
||||||
<button mat-fab class="mat-fab-bottom-right" color="primary" [routerLink]="['/dmp-profiles/new'] ">
|
|
||||||
<mat-icon class="mat-24">add</mat-icon>
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,65 +1,77 @@
|
||||||
.mat-table {
|
.mat-table {
|
||||||
margin: 24px;
|
margin-top: 47px;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dmp-profile-listing {
|
.dmp-profile-listing {
|
||||||
margin-top: 1.3rem;
|
margin-top: 1.3rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-right: 2rem;
|
||||||
|
|
||||||
|
.mat-header-row{
|
||||||
|
background: #f3f5f8;
|
||||||
|
}
|
||||||
|
.mat-card {
|
||||||
|
margin: 16px 0;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
.mat-row {
|
.mat-row {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
min-height: 4.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-card {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
mat-row:hover {
|
mat-row:hover {
|
||||||
background-color: lightgray;
|
background-color: #eef5f6;
|
||||||
}
|
}
|
||||||
|
|
||||||
mat-row:nth-child(odd) {
|
|
||||||
background-color: #0c748914;
|
|
||||||
// background-color: #eef0fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-fab-bottom-right {
|
.mat-fab-bottom-right {
|
||||||
// top: auto !important;
|
|
||||||
// right: 20px !important;
|
|
||||||
// bottom: 10px !important;
|
|
||||||
// left: auto !important;
|
|
||||||
// position: fixed !important;
|
|
||||||
float: right;
|
float: right;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// PAGINATOR
|
||||||
:host ::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
flex-direction: row-reverse !important;
|
flex-direction: row-reverse !important;
|
||||||
justify-content: space-between !important;
|
justify-content: space-between !important;
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
height: 30px;
|
align-items: center;
|
||||||
min-height: 30px !important;
|
}
|
||||||
|
.create-btn {
|
||||||
|
border-radius: 30px;
|
||||||
|
background-color: #f7dd72;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-right: 2em;
|
||||||
|
// color: #000;
|
||||||
|
|
||||||
|
.button-text{
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:host ::ng-deep .mat-paginator-page-size {
|
.import-btn {
|
||||||
height: 43px;
|
background: #ffffff 0% 0% no-repeat padding-box;
|
||||||
|
border-radius: 30px;
|
||||||
|
// color: #129d99;
|
||||||
|
// border: 1px solid #129d99;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-right: 2em;
|
||||||
|
color: #000;
|
||||||
|
border: 1px solid #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host ::ng-deep .mat-paginator-range-label {
|
.status-chip{
|
||||||
margin: 15px 32px 0 24px !important;
|
border-radius: 20px;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
font-size: .8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host ::ng-deep .mat-paginator-range-actions {
|
.status-chip-finalized{
|
||||||
width: 55% !important;
|
color: #568b5a;
|
||||||
min-height: 43px !important;
|
background: #9dd1a1 0% 0% no-repeat padding-box;
|
||||||
justify-content: space-between;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:host ::ng-deep .mat-paginator-navigation-previous {
|
.status-chip-draft{
|
||||||
margin-left: auto !important;
|
color: #00c4ff;
|
||||||
}
|
background: #d3f5ff 0% 0% no-repeat padding-box;
|
||||||
|
}
|
||||||
:host ::ng-deep .mat-icon-button {
|
|
||||||
height: 30px !important;
|
|
||||||
font-size: 12px !important;
|
|
||||||
}
|
|
|
@ -2,6 +2,7 @@
|
||||||
import { DataSource } from '@angular/cdk/table';
|
import { DataSource } from '@angular/cdk/table';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { MatDialog } from '@angular/material';
|
||||||
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
||||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||||
import { MatSort } from '@angular/material/sort';
|
import { MatSort } from '@angular/material/sort';
|
||||||
|
@ -11,12 +12,15 @@ import { DmpProfileListing } from '@app/core/model/dmp-profile/dmp-profile-listi
|
||||||
import { DmpProfileCriteria } from '@app/core/query/dmp/dmp-profile-criteria';
|
import { DmpProfileCriteria } from '@app/core/query/dmp/dmp-profile-criteria';
|
||||||
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
|
import { UiNotificationService } from '@app/core/services/notification/ui-notification-service';
|
||||||
import { DmpProfileCriteriaComponent } from '@app/ui/admin/dmp-profile/listing/criteria/dmp-profile-criteria.component';
|
import { DmpProfileCriteriaComponent } from '@app/ui/admin/dmp-profile/listing/criteria/dmp-profile-criteria.component';
|
||||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||||
import { BaseComponent } from '@common/base/base.component';
|
import { BaseComponent } from '@common/base/base.component';
|
||||||
|
import { SnackBarNotificationLevel } from '@common/modules/notification/ui-notification-service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { merge as observableMerge, Observable, of as observableOf } from 'rxjs';
|
import { merge as observableMerge, Observable, of as observableOf } from 'rxjs';
|
||||||
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
||||||
|
import { DialodConfirmationUploadDmpProfiles } from './criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -38,8 +42,8 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
||||||
breadCrumbs: Observable<BreadcrumbItem[]>;
|
breadCrumbs: Observable<BreadcrumbItem[]>;
|
||||||
|
|
||||||
statuses = [
|
statuses = [
|
||||||
{ value: '0', viewValue: 'Active' },
|
{ value: '0', viewValue: 'DMP-PROFILE-LISTING.STATUS.DRAFT' },// active
|
||||||
{ value: '1', viewValue: 'Inactive' }
|
{ value: '1', viewValue: 'DMP-PROFILE-LISTING.STATUS.FINALIZED' }// inactive
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -49,7 +53,9 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
||||||
public route: ActivatedRoute,
|
public route: ActivatedRoute,
|
||||||
public dmpProfileService: DmpProfileService,
|
public dmpProfileService: DmpProfileService,
|
||||||
private httpClient: HttpClient,
|
private httpClient: HttpClient,
|
||||||
private matomoService: MatomoService
|
private matomoService: MatomoService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
private uiNotificationService: UiNotificationService,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
@ -88,6 +94,52 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
||||||
// debugger;
|
// debugger;
|
||||||
// this.datasetService.makeDatasetPublic(id).pipe(takeUntil(this._destroyed)).subscribe();
|
// this.datasetService.makeDatasetPublic(id).pipe(takeUntil(this._destroyed)).subscribe();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
parseStatus(value: number): string{
|
||||||
|
const stringVal = value.toString()
|
||||||
|
try{
|
||||||
|
return this.statuses.find(status => status.value === stringVal).viewValue;
|
||||||
|
}catch{
|
||||||
|
return stringVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDialog(): void {
|
||||||
|
const dialogRef = this.dialog.open(DialodConfirmationUploadDmpProfiles, {
|
||||||
|
restoreFocus: false,
|
||||||
|
data: {
|
||||||
|
message: this.languageService.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-TITLE'),
|
||||||
|
confirmButton: this.languageService.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML'),
|
||||||
|
cancelButton: this.languageService.instant('DMP-PROFILE-LISTING.UPLOAD.UPLOAD-XML-FILE-CANCEL'),
|
||||||
|
name: '',
|
||||||
|
file: FileList,
|
||||||
|
sucsess: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(data => {
|
||||||
|
if (data && data.sucsess && data.name != null && data.file != null) {
|
||||||
|
this.dmpProfileService.uploadFile(data.file, data.name)
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(_=>{
|
||||||
|
this.uiNotificationService.snackBarNotification(this.languageService.instant('DMP-PROFILE-LISTING.MESSAGES.TEMPLATE-UPLOAD-SUCCESS'), SnackBarNotificationLevel.Success);
|
||||||
|
this.refresh();
|
||||||
|
},
|
||||||
|
error=>{
|
||||||
|
this.uiNotificationService.snackBarNotification(error.message, SnackBarNotificationLevel.Error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
getStatusClass(status: number):string{
|
||||||
|
|
||||||
|
if(status === 1){//finalized
|
||||||
|
return 'status-chip-finalized'
|
||||||
|
}
|
||||||
|
if(status === 0){
|
||||||
|
return 'status-chip-draft';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DatasetDataSource extends DataSource<DmpProfileListing> {
|
export class DatasetDataSource extends DataSource<DmpProfileListing> {
|
||||||
|
|
|
@ -26,16 +26,16 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row" *ngIf="!viewOnly">
|
<div class="row">
|
||||||
<div class="col-auto d-flex align-items-center p-0">
|
<div class="col-auto d-flex align-items-center p-0" *ngIf="!viewOnly">
|
||||||
<button *ngIf="isDirty()" type="button" mat-raised-button class="dataset-discard-btn" (click)="discardChanges()">
|
<button *ngIf="isDirty()" type="button" mat-raised-button class="dataset-discard-btn" (click)="discardChanges()">
|
||||||
{{'DMP-EDITOR.ACTIONS.DISCARD' | translate}}
|
{{'DMP-EDITOR.ACTIONS.DISCARD' | translate}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto d-flex align-items-center">
|
<div class="col-auto d-flex align-items-center">
|
||||||
<button *ngIf="!lockStatus" mat-raised-button class="dataset-save-btn mr-2" (click)="save()" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}</button>
|
<button *ngIf="!lockStatus && !viewOnly" mat-raised-button class="dataset-save-btn mr-2" (click)="save()" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}</button>
|
||||||
<button *ngIf="!lockStatus" mat-raised-button class="dataset-save-btn mr-2" (click)="save(saveAnd.close)" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE-AND-CLOSE' | translate }}</button>
|
<button *ngIf="!lockStatus && !viewOnly" mat-raised-button class="dataset-save-btn mr-2" (click)="save(saveAnd.close)" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE-AND-CLOSE' | translate }}</button>
|
||||||
<button *ngIf="!lockStatus" mat-raised-button class="dataset-save-btn mr-2" (click)="save(saveAnd.addNew)">{{ 'DATASET-WIZARD.ACTIONS.SAVE-AND-ADD' | translate }}</button>
|
<button *ngIf="!lockStatus && !viewOnly" mat-raised-button class="dataset-save-btn mr-2" (click)="save(saveAnd.addNew)">{{ 'DATASET-WIZARD.ACTIONS.SAVE-AND-ADD' | translate }}</button>
|
||||||
<button *ngIf="lockStatus" mat-raised-button disabled class="dataset-save-btn cursor-default" type="button">{{ 'DMP-OVERVIEW.LOCKED' | translate}}</button>
|
<button *ngIf="lockStatus" mat-raised-button disabled class="dataset-save-btn cursor-default" type="button">{{ 'DMP-OVERVIEW.LOCKED' | translate}}</button>
|
||||||
<!-- <button *ngIf="!lockStatus" mat-raised-button class="dataset-save-btn mr-2" (click)="touchForm()" type="button">{{ 'DATASET-WIZARD.ACTIONS.VALIDATE' | translate }}</button> -->
|
<!-- <button *ngIf="!lockStatus" mat-raised-button class="dataset-save-btn mr-2" (click)="touchForm()" type="button">{{ 'DATASET-WIZARD.ACTIONS.VALIDATE' | translate }}</button> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -31,7 +31,7 @@ import { ValidationErrorModel } from '@common/forms/validation/error-model/valid
|
||||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import * as FileSaver from 'file-saver';
|
import * as FileSaver from 'file-saver';
|
||||||
import { Observable, of as observableOf, interval, Subscription } from 'rxjs';
|
import { Observable, of as observableOf, interval} from 'rxjs';
|
||||||
import { catchError, debounceTime, map, takeUntil } from 'rxjs/operators';
|
import { catchError, debounceTime, map, takeUntil } from 'rxjs/operators';
|
||||||
import { LockService } from '@app/core/services/lock/lock.service';
|
import { LockService } from '@app/core/services/lock/lock.service';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
|
@ -39,14 +39,13 @@ import { LockModel } from '@app/core/model/lock/lock.model';
|
||||||
import { Guid } from '@common/types/guid';
|
import { Guid } from '@common/types/guid';
|
||||||
import { isNullOrUndefined } from 'util';
|
import { isNullOrUndefined } from 'util';
|
||||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||||
import { environment } from 'environments/environment';
|
|
||||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||||
import { SaveType } from '@app/core/common/enum/save-type';
|
import { SaveType } from '@app/core/common/enum/save-type';
|
||||||
import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard';
|
import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { ToCEntry, ToCEntryType } from '@app/ui/misc/dataset-description-form/dataset-description.component';
|
|
||||||
import { VisibilityRulesService } from '@app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service';
|
import { VisibilityRulesService } from '@app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service';
|
||||||
|
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dataset-wizard-component',
|
selector: 'app-dataset-wizard-component',
|
||||||
|
@ -193,6 +192,13 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr
|
||||||
// if (this.viewOnly) { this.formGroup.disable(); } // For future use, to make Dataset edit like DMP.
|
// if (this.viewOnly) { this.formGroup.disable(); } // For future use, to make Dataset edit like DMP.
|
||||||
this.loadDatasetProfiles();
|
this.loadDatasetProfiles();
|
||||||
this.registerFormListeners();
|
this.registerFormListeners();
|
||||||
|
|
||||||
|
if(lockStatus){
|
||||||
|
this.dialog.open(PopupNotificationDialogComponent,{data:{
|
||||||
|
title:this.language.instant('DATASET-WIZARD.LOCKED.TITLE'),
|
||||||
|
message:this.language.instant('DATASET-WIZARD.LOCKED.MESSAGE')
|
||||||
|
}, maxWidth:'30em'});
|
||||||
|
}
|
||||||
// this.availableProfiles = this.datasetWizardModel.dmp.profiles;
|
// this.availableProfiles = this.datasetWizardModel.dmp.profiles;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
@ -33,6 +33,7 @@ import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
||||||
import { DmpOverviewModel } from '@app/core/model/dmp/dmp-overview';
|
import { DmpOverviewModel } from '@app/core/model/dmp/dmp-overview';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -139,7 +140,15 @@ export class DatasetOverviewComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
checkLockStatus(id: string) {
|
checkLockStatus(id: string) {
|
||||||
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => this.lockStatus = lockStatus);
|
.subscribe(lockStatus => {
|
||||||
|
this.lockStatus = lockStatus
|
||||||
|
if(lockStatus){
|
||||||
|
this.dialog.open(PopupNotificationDialogComponent,{data:{
|
||||||
|
title:this.language.instant('DATASET-OVERVIEW.LOCKED.TITLE'),
|
||||||
|
message:this.language.instant('DATASET-OVERVIEW.LOCKED.MESSAGE')
|
||||||
|
}, maxWidth:'30em'});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onFetchingDeletedCallbackError(redirectRoot: string) {
|
onFetchingDeletedCallbackError(redirectRoot: string) {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
|
||||||
import { Component, OnInit, SimpleChanges } from '@angular/core';
|
import { Component, OnInit} from '@angular/core';
|
||||||
import { FormGroup, AbstractControl, FormControl, FormArray, FormBuilder } from '@angular/forms';
|
import { FormGroup, AbstractControl, FormControl, FormArray} from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||||
import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
||||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||||
import { DmpProfileDefinition, DmpProfile } from '@app/core/model/dmp-profile/dmp-profile';
|
import { DmpProfileDefinition } from '@app/core/model/dmp-profile/dmp-profile';
|
||||||
import { DmpProfileListing } from '@app/core/model/dmp-profile/dmp-profile-listing';
|
import { DmpProfileListing } from '@app/core/model/dmp-profile/dmp-profile-listing';
|
||||||
import { DmpModel } from '@app/core/model/dmp/dmp';
|
import { DmpModel } from '@app/core/model/dmp/dmp';
|
||||||
import { UserModel } from '@app/core/model/user/user';
|
import { UserModel } from '@app/core/model/user/user';
|
||||||
|
@ -33,7 +33,7 @@ import { ValidationErrorModel } from '@common/forms/validation/error-model/valid
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import * as FileSaver from 'file-saver';
|
import * as FileSaver from 'file-saver';
|
||||||
import { Observable, of as observableOf, interval } from 'rxjs';
|
import { Observable, of as observableOf, interval } from 'rxjs';
|
||||||
import { catchError, delay, map, takeUntil } from 'rxjs/operators';
|
import { map, takeUntil } from 'rxjs/operators';
|
||||||
import { Principal } from "@app/core/model/auth/principal";
|
import { Principal } from "@app/core/model/auth/principal";
|
||||||
import { Role } from "@app/core/common/enum/role";
|
import { Role } from "@app/core/common/enum/role";
|
||||||
import { LockService } from '@app/core/services/lock/lock.service';
|
import { LockService } from '@app/core/services/lock/lock.service';
|
||||||
|
@ -42,13 +42,7 @@ import { Guid } from '@common/types/guid';
|
||||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||||
import { ExtraPropertiesFormModel } from './general-tab/extra-properties-form.model';
|
import { ExtraPropertiesFormModel } from './general-tab/extra-properties-form.model';
|
||||||
import { DatasetWizardEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
import { DatasetWizardEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
|
||||||
import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
|
||||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
|
||||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
|
||||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||||
import { CloneDialogComponent } from '../clone/clone-dialog/clone-dialog.component';
|
|
||||||
import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard';
|
|
||||||
import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
||||||
import { DmpToDatasetDialogComponent } from '../dmp-to-dataset/dmp-to-dataset-dialog.component';
|
import { DmpToDatasetDialogComponent } from '../dmp-to-dataset/dmp-to-dataset-dialog.component';
|
||||||
import { GrantEditorModel } from '@app/ui/grant/editor/grant-editor.model';
|
import { GrantEditorModel } from '@app/ui/grant/editor/grant-editor.model';
|
||||||
|
@ -117,7 +111,6 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
private formService: FormService,
|
private formService: FormService,
|
||||||
private lockService: LockService,
|
private lockService: LockService,
|
||||||
private configurationService: ConfigurationService,
|
private configurationService: ConfigurationService,
|
||||||
private httpClient: HttpClient,
|
|
||||||
private matomoService: MatomoService
|
private matomoService: MatomoService
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
<span class="material-icons">horizontal_rule</span>
|
<span class="material-icons">horizontal_rule</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt-2 add-dataset-txt">
|
<div class="row mt-2 add-dataset-txt" *ngIf="!lockStatus">
|
||||||
<a class="add-dataset-btn" *ngIf="isDraftDmp(dmp)" [routerLink]="['/datasets/new/' + dmp.id]" target="_blank">
|
<a class="add-dataset-btn" *ngIf="isDraftDmp(dmp)" [routerLink]="['/datasets/new/' + dmp.id]" target="_blank">
|
||||||
<mat-icon>add</mat-icon>
|
<mat-icon>add</mat-icon>
|
||||||
{{'DMP-LISTING.ACTIONS.ADD-DATASET-SHORT' | translate}}
|
{{'DMP-LISTING.ACTIONS.ADD-DATASET-SHORT' | translate}}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';
|
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||||
|
@ -22,19 +22,13 @@ import { Observable, of as observableOf, interval } from 'rxjs';
|
||||||
import { takeUntil, map } from 'rxjs/operators';
|
import { takeUntil, map } from 'rxjs/operators';
|
||||||
import { Role } from "@app/core/common/enum/role";
|
import { Role } from "@app/core/common/enum/role";
|
||||||
import { DmpInvitationDialogComponent } from '../invitation/dmp-invitation-dialog.component';
|
import { DmpInvitationDialogComponent } from '../invitation/dmp-invitation-dialog.component';
|
||||||
import { MultipleChoiceDialogModule } from '@common/modules/multiple-choice-dialog/multiple-choice-dialog.module';
|
|
||||||
import { MultipleChoiceDialogComponent } from '@common/modules/multiple-choice-dialog/multiple-choice-dialog.component';
|
import { MultipleChoiceDialogComponent } from '@common/modules/multiple-choice-dialog/multiple-choice-dialog.component';
|
||||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||||
import { Oauth2DialogComponent } from '@app/ui/misc/oauth2-dialog/oauth2-dialog.component';
|
|
||||||
import { Oauth2DialogService } from '@app/ui/misc/oauth2-dialog/service/oauth2-dialog.service';
|
import { Oauth2DialogService } from '@app/ui/misc/oauth2-dialog/service/oauth2-dialog.service';
|
||||||
import { isNullOrUndefined } from 'util';
|
|
||||||
import { UserService } from '@app/core/services/user/user.service';
|
import { UserService } from '@app/core/services/user/user.service';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { FormGroup, FormArray, FormControl } from '@angular/forms';
|
import { FormGroup, FormArray, FormControl } from '@angular/forms';
|
||||||
import { LockService } from '@app/core/services/lock/lock.service';
|
import { LockService } from '@app/core/services/lock/lock.service';
|
||||||
import { ReturnStatement, ConditionalExpr } from '@angular/compiler';
|
|
||||||
import { LockModel } from '@app/core/model/lock/lock.model';
|
|
||||||
import { Guid } from '@common/types/guid';
|
|
||||||
import { VersionListingModel } from '@app/core/model/version/version-listing.model';
|
import { VersionListingModel } from '@app/core/model/version/version-listing.model';
|
||||||
import { CloneDialogComponent } from '../clone/clone-dialog/clone-dialog.component';
|
import { CloneDialogComponent } from '../clone/clone-dialog/clone-dialog.component';
|
||||||
import { DmpModel } from '@app/core/model/dmp/dmp';
|
import { DmpModel } from '@app/core/model/dmp/dmp';
|
||||||
|
@ -43,11 +37,10 @@ import { FunderFormModel } from '../editor/grant-tab/funder-form-model';
|
||||||
import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
||||||
import { GrantTabModel } from '../editor/grant-tab/grant-tab-model';
|
import { GrantTabModel } from '../editor/grant-tab/grant-tab-model';
|
||||||
import { ExtraPropertiesFormModel } from '../editor/general-tab/extra-properties-form.model';
|
import { ExtraPropertiesFormModel } from '../editor/general-tab/extra-properties-form.model';
|
||||||
import { DatasetWizardEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
|
||||||
import { StartNewDatasetDialogComponent } from '../start-new-dataset-dialogue/start-new-dataset-dialog.component';
|
|
||||||
import { StartNewDmpDialogComponent } from '../start-new-dmp-dialogue/start-new-dmp-dialog.component';
|
import { StartNewDmpDialogComponent } from '../start-new-dmp-dialogue/start-new-dmp-dialog.component';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
|
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dmp-overview',
|
selector: 'app-dmp-overview',
|
||||||
|
@ -781,7 +774,15 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
checkLockStatus(id: string) {
|
checkLockStatus(id: string) {
|
||||||
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => this.lockStatus = lockStatus);
|
.subscribe(lockStatus => {
|
||||||
|
this.lockStatus = lockStatus
|
||||||
|
if(lockStatus){
|
||||||
|
this.dialog.open(PopupNotificationDialogComponent,{data:{
|
||||||
|
title:this.language.instant('DMP-OVERVIEW.LOCKED-DIALOG.TITLE'),
|
||||||
|
message:this.language.instant('DMP-OVERVIEW.LOCKED-DIALOG.MESSAGE')
|
||||||
|
}, maxWidth:'30em'});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getUserFromDMP(): any {
|
getUserFromDMP(): any {
|
||||||
|
|
|
@ -139,3 +139,14 @@ $mat-card-header-size: 40px !default;
|
||||||
.new-dmp-dialog {
|
.new-dmp-dialog {
|
||||||
padding: 0em .5em 0em 0em;
|
padding: 0em .5em 0em 0em;
|
||||||
}
|
}
|
||||||
|
::ng-deep .mat-option-text {
|
||||||
|
text-overflow: unset !important;
|
||||||
|
white-space: normal;
|
||||||
|
line-height: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep .mat-option {
|
||||||
|
padding-top: 1em !important;
|
||||||
|
padding-bottom: 1em !important;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Abbrechen",
|
"CANCEL": "Abbrechen",
|
||||||
"NEXT": "Next",
|
"NEXT": "Next",
|
||||||
"ERROR-MESSAGE": "Diese Vorlage der Datensatzbeschreibung ist nicht enthalten"
|
"ERROR-MESSAGE": "Diese Vorlage der Datensatzbeschreibung ist nicht enthalten"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Login with Zenodo",
|
"ZENODO-LOGIN": "Login with Zenodo",
|
||||||
"USE-DEFAULT": "Use Default Token"
|
"USE-DEFAULT": "Use Default Token"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "The requested dataset is deleted",
|
"DELETED-DATASET": "The requested dataset is deleted",
|
||||||
"FORBIDEN-DATASET": "You are not allowed to access this dataset"
|
"FORBIDEN-DATASET": "You are not allowed to access this dataset"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Löschen",
|
"DELETE": "Löschen",
|
||||||
"FINALIZE": "Finalize",
|
"FINALIZE": "Finalize",
|
||||||
"DOWNLOAD-XML": "Download XML"
|
"DOWNLOAD-XML": "Download XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "DMP Vorlagen",
|
"TITLE": "DMP Vorlagen",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Name",
|
"NAME": "Name",
|
||||||
"STATUS": "Status",
|
"STATUS": "Status",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Name der DMP Vorlage",
|
"UPLOAD-XML-NAME": "Name der DMP Vorlage",
|
||||||
"UPLOAD-XML-IMPORT": "Datei",
|
"UPLOAD-XML-IMPORT": "Datei",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Abbrechen"
|
"UPLOAD-XML-FILE-CANCEL": "Abbrechen"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Cancel",
|
"CANCEL": "Cancel",
|
||||||
"NEXT": "Next",
|
"NEXT": "Next",
|
||||||
"ERROR-MESSAGE": "Does not contain this Dataset Template"
|
"ERROR-MESSAGE": "Does not contain this Dataset Template"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Login with Zenodo",
|
"ZENODO-LOGIN": "Login with Zenodo",
|
||||||
"USE-DEFAULT": "Use Default Token"
|
"USE-DEFAULT": "Use Default Token"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "The requested dataset is deleted",
|
"DELETED-DATASET": "The requested dataset is deleted",
|
||||||
"FORBIDEN-DATASET": "You are not allowed to access this dataset"
|
"FORBIDEN-DATASET": "You are not allowed to access this dataset"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Delete",
|
"DELETE": "Delete",
|
||||||
"FINALIZE": "Finalize",
|
"FINALIZE": "Finalize",
|
||||||
"DOWNLOAD-XML": "Download XML"
|
"DOWNLOAD-XML": "Download XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "DMP Templates",
|
"TITLE": "DMP Templates",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Name",
|
"NAME": "Name",
|
||||||
"STATUS": "Status",
|
"STATUS": "Status",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Name Of DMP Template",
|
"UPLOAD-XML-NAME": "Name Of DMP Template",
|
||||||
"UPLOAD-XML-IMPORT": "File",
|
"UPLOAD-XML-IMPORT": "File",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Cancel"
|
"UPLOAD-XML-FILE-CANCEL": "Cancel"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Cancelar",
|
"CANCEL": "Cancelar",
|
||||||
"NEXT": "Next",
|
"NEXT": "Next",
|
||||||
"ERROR-MESSAGE": "No contiene esta plantilla de descripción del dataset"
|
"ERROR-MESSAGE": "No contiene esta plantilla de descripción del dataset"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Identificarse con Zenodo",
|
"ZENODO-LOGIN": "Identificarse con Zenodo",
|
||||||
"USE-DEFAULT": "Usar el token por defecto"
|
"USE-DEFAULT": "Usar el token por defecto"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "El dataset pedido ha sido eliminado",
|
"DELETED-DATASET": "El dataset pedido ha sido eliminado",
|
||||||
"FORBIDEN-DATASET": "No tiene permisos para acceder a este Dataset"
|
"FORBIDEN-DATASET": "No tiene permisos para acceder a este Dataset"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Borrar",
|
"DELETE": "Borrar",
|
||||||
"FINALIZE": "Finalizar",
|
"FINALIZE": "Finalizar",
|
||||||
"DOWNLOAD-XML": "Descargar XML"
|
"DOWNLOAD-XML": "Descargar XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "Plantilla del PGD",
|
"TITLE": "Plantilla del PGD",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Nombre",
|
"NAME": "Nombre",
|
||||||
"STATUS": "Estado",
|
"STATUS": "Estado",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Nombre de la Plantilla del PGD",
|
"UPLOAD-XML-NAME": "Nombre de la Plantilla del PGD",
|
||||||
"UPLOAD-XML-IMPORT": "Fichero",
|
"UPLOAD-XML-IMPORT": "Fichero",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Cancelar"
|
"UPLOAD-XML-FILE-CANCEL": "Cancelar"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Ακύρωση",
|
"CANCEL": "Ακύρωση",
|
||||||
"NEXT": "Επόμενο",
|
"NEXT": "Επόμενο",
|
||||||
"ERROR-MESSAGE": "Αυτο το Template Περιγραφής Συνόλου Δεδομένων δεν περιέχεται"
|
"ERROR-MESSAGE": "Αυτο το Template Περιγραφής Συνόλου Δεδομένων δεν περιέχεται"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Σύνδεση με Zenodo",
|
"ZENODO-LOGIN": "Σύνδεση με Zenodo",
|
||||||
"USE-DEFAULT": "Χρήση Προκαθορισμένου Token"
|
"USE-DEFAULT": "Χρήση Προκαθορισμένου Token"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "H επιλεγμένη Περιγραφή Δεδομένων θα διαγραφεί",
|
"DELETED-DATASET": "H επιλεγμένη Περιγραφή Δεδομένων θα διαγραφεί",
|
||||||
"FORBIDEN-DATASET": "Δεν επιτρέπεται η πρόσβαση σε αυτή την Περιγραφή Δεδομένων"
|
"FORBIDEN-DATASET": "Δεν επιτρέπεται η πρόσβαση σε αυτή την Περιγραφή Δεδομένων"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Διαγραφή",
|
"DELETE": "Διαγραφή",
|
||||||
"FINALIZE": "Οριστικοποίηση",
|
"FINALIZE": "Οριστικοποίηση",
|
||||||
"DOWNLOAD-XML": "Ληψη XML"
|
"DOWNLOAD-XML": "Ληψη XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "Templates Σχεδίων Διαχείρισης Δεδομένων",
|
"TITLE": "Templates Σχεδίων Διαχείρισης Δεδομένων",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Τίτλος",
|
"NAME": "Τίτλος",
|
||||||
"STATUS": "Κατάσταση",
|
"STATUS": "Κατάσταση",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Τίτλος Template Σχεδίου Διαχείρισης Δεδομένων",
|
"UPLOAD-XML-NAME": "Τίτλος Template Σχεδίου Διαχείρισης Δεδομένων",
|
||||||
"UPLOAD-XML-IMPORT": "Αρχείο",
|
"UPLOAD-XML-IMPORT": "Αρχείο",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Ακύρωση"
|
"UPLOAD-XML-FILE-CANCEL": "Ακύρωση"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Cancelar",
|
"CANCEL": "Cancelar",
|
||||||
"NEXT": "Seguinte",
|
"NEXT": "Seguinte",
|
||||||
"ERROR-MESSAGE": "Não contém este Modelo de Dados"
|
"ERROR-MESSAGE": "Não contém este Modelo de Dados"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Entre com o Zenodo",
|
"ZENODO-LOGIN": "Entre com o Zenodo",
|
||||||
"USE-DEFAULT": "Use o Token"
|
"USE-DEFAULT": "Use o Token"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "O Dataset requerido foi eliminado",
|
"DELETED-DATASET": "O Dataset requerido foi eliminado",
|
||||||
"FORBIDEN-DATASET": "Não está autorizado o acesso a este Dataset"
|
"FORBIDEN-DATASET": "Não está autorizado o acesso a este Dataset"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Eliminar",
|
"DELETE": "Eliminar",
|
||||||
"FINALIZE": "Concluir",
|
"FINALIZE": "Concluir",
|
||||||
"DOWNLOAD-XML": "Exportar para XML"
|
"DOWNLOAD-XML": "Exportar para XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "PGDs",
|
"TITLE": "PGDs",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Nome",
|
"NAME": "Nome",
|
||||||
"STATUS": "Estado",
|
"STATUS": "Estado",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Nome do PGD",
|
"UPLOAD-XML-NAME": "Nome do PGD",
|
||||||
"UPLOAD-XML-IMPORT": "Ficheiro",
|
"UPLOAD-XML-IMPORT": "Ficheiro",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Cancelar"
|
"UPLOAD-XML-FILE-CANCEL": "Cancelar"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Zrušiť",
|
"CANCEL": "Zrušiť",
|
||||||
"NEXT": "Ďalej",
|
"NEXT": "Ďalej",
|
||||||
"ERROR-MESSAGE": "Neobsahuje túto šablónu súboru dát"
|
"ERROR-MESSAGE": "Neobsahuje túto šablónu súboru dát"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Prihlásiť sa do Zenodo",
|
"ZENODO-LOGIN": "Prihlásiť sa do Zenodo",
|
||||||
"USE-DEFAULT": "Použite predvolený token"
|
"USE-DEFAULT": "Použite predvolený token"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "Požadovaný DMP je vymazaný",
|
"DELETED-DATASET": "Požadovaný DMP je vymazaný",
|
||||||
"FORBIDEN-DATASET": "K tomuto DMP nemáte povolený prístup"
|
"FORBIDEN-DATASET": "K tomuto DMP nemáte povolený prístup"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Vymazať",
|
"DELETE": "Vymazať",
|
||||||
"FINALIZE": "Dokončiť",
|
"FINALIZE": "Dokončiť",
|
||||||
"DOWNLOAD-XML": "Stiahnuť XML"
|
"DOWNLOAD-XML": "Stiahnuť XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "Šablóny DMP",
|
"TITLE": "Šablóny DMP",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Názov",
|
"NAME": "Názov",
|
||||||
"STATUS": "Stav",
|
"STATUS": "Stav",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Názov šablóny DMP",
|
"UPLOAD-XML-NAME": "Názov šablóny DMP",
|
||||||
"UPLOAD-XML-IMPORT": "Súbor",
|
"UPLOAD-XML-IMPORT": "Súbor",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Zrušiť"
|
"UPLOAD-XML-FILE-CANCEL": "Zrušiť"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "Otkažite",
|
"CANCEL": "Otkažite",
|
||||||
"NEXT": "Sledeće",
|
"NEXT": "Sledeće",
|
||||||
"ERROR-MESSAGE": "Ne sadrži obrazac za podatke"
|
"ERROR-MESSAGE": "Ne sadrži obrazac za podatke"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Prijavite se pomoću Zenodo naloga",
|
"ZENODO-LOGIN": "Prijavite se pomoću Zenodo naloga",
|
||||||
"USE-DEFAULT": "Koristite podrazumevani znak"
|
"USE-DEFAULT": "Koristite podrazumevani znak"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "Traženi skup podataka je obrisan",
|
"DELETED-DATASET": "Traženi skup podataka je obrisan",
|
||||||
"FORBIDEN-DATASET": "Nije Vam dozvoljeno da pristupite ovom skupu podataka"
|
"FORBIDEN-DATASET": "Nije Vam dozvoljeno da pristupite ovom skupu podataka"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Obrišite",
|
"DELETE": "Obrišite",
|
||||||
"FINALIZE": "Dovršite",
|
"FINALIZE": "Dovršite",
|
||||||
"DOWNLOAD-XML": "Preuzmite XML"
|
"DOWNLOAD-XML": "Preuzmite XML"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "Obrasci za Planove",
|
"TITLE": "Obrasci za Planove",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "Ime",
|
"NAME": "Ime",
|
||||||
"STATUS": "Status",
|
"STATUS": "Status",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "Ime obrasca za Plan",
|
"UPLOAD-XML-NAME": "Ime obrasca za Plan",
|
||||||
"UPLOAD-XML-IMPORT": "Datoteka",
|
"UPLOAD-XML-IMPORT": "Datoteka",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "Otkažite"
|
"UPLOAD-XML-FILE-CANCEL": "Otkažite"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
|
@ -718,6 +718,10 @@
|
||||||
"CANCEL": "İptal",
|
"CANCEL": "İptal",
|
||||||
"NEXT": "İleri",
|
"NEXT": "İleri",
|
||||||
"ERROR-MESSAGE": "Bu Veri Seti Şablonunu İçermiyor"
|
"ERROR-MESSAGE": "Bu Veri Seti Şablonunu İçermiyor"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE":"Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. You may view the dataset but you cannot make any changes. If you would like to modify it please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-OVERVIEW": {
|
"DMP-OVERVIEW": {
|
||||||
|
@ -744,6 +748,10 @@
|
||||||
"MULTIPLE-DIALOG": {
|
"MULTIPLE-DIALOG": {
|
||||||
"ZENODO-LOGIN": "Zenodo ile oturum aç",
|
"ZENODO-LOGIN": "Zenodo ile oturum aç",
|
||||||
"USE-DEFAULT": "Mevcut Jetonu Kullan"
|
"USE-DEFAULT": "Mevcut Jetonu Kullan"
|
||||||
|
},
|
||||||
|
"LOCKED-DIALOG":{
|
||||||
|
"TITLE": "DMP is locked",
|
||||||
|
"MESSAGE":"Somebody else is modifying the DMP at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-OVERVIEW": {
|
"DATASET-OVERVIEW": {
|
||||||
|
@ -751,6 +759,10 @@
|
||||||
"ERROR": {
|
"ERROR": {
|
||||||
"DELETED-DATASET": "Seçili Veri Seti silindi",
|
"DELETED-DATASET": "Seçili Veri Seti silindi",
|
||||||
"FORBIDEN-DATASET": "Bu veri setine erişim izniniz yok"
|
"FORBIDEN-DATASET": "Bu veri setine erişim izniniz yok"
|
||||||
|
},
|
||||||
|
"LOCKED":{
|
||||||
|
"TITLE": "Dataset is locked",
|
||||||
|
"MESSAGE": "Somebody else is modifying the dataset at this moment. If you would like to modify or view it, please come back later."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DATASET-LISTING": {
|
"DATASET-LISTING": {
|
||||||
|
@ -896,6 +908,11 @@
|
||||||
"DELETE": "Sil",
|
"DELETE": "Sil",
|
||||||
"FINALIZE": "Tamamla",
|
"FINALIZE": "Tamamla",
|
||||||
"DOWNLOAD-XML": "XML İndir"
|
"DOWNLOAD-XML": "XML İndir"
|
||||||
|
},
|
||||||
|
"CONFIRM-DELETE-DIALOG":{
|
||||||
|
"MESSAGE": "Would you like to delete this DMP template?",
|
||||||
|
"CONFIRM-BUTTON": "Yes, delete",
|
||||||
|
"CANCEL-BUTTON": "No"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"GRANT-EDITOR": {
|
"GRANT-EDITOR": {
|
||||||
|
@ -1060,6 +1077,7 @@
|
||||||
},
|
},
|
||||||
"DMP-PROFILE-LISTING": {
|
"DMP-PROFILE-LISTING": {
|
||||||
"TITLE": "VYP Şablonları",
|
"TITLE": "VYP Şablonları",
|
||||||
|
"CREATE-DMP-TEMPLATE": "Create DMP Template",
|
||||||
"COLUMNS": {
|
"COLUMNS": {
|
||||||
"NAME": "İsim",
|
"NAME": "İsim",
|
||||||
"STATUS": "Durum",
|
"STATUS": "Durum",
|
||||||
|
@ -1073,6 +1091,13 @@
|
||||||
"UPLOAD-XML-NAME": "VYP Şablonu İsmi",
|
"UPLOAD-XML-NAME": "VYP Şablonu İsmi",
|
||||||
"UPLOAD-XML-IMPORT": "Dosya",
|
"UPLOAD-XML-IMPORT": "Dosya",
|
||||||
"UPLOAD-XML-FILE-CANCEL": "İptal"
|
"UPLOAD-XML-FILE-CANCEL": "İptal"
|
||||||
|
},
|
||||||
|
"STATUS":{
|
||||||
|
"DRAFT": "Draft",
|
||||||
|
"FINALIZED": "Finalized"
|
||||||
|
},
|
||||||
|
"MESSAGES":{
|
||||||
|
"TEMPLATE-UPLOAD-SUCCESS":"Template successfully uploaded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DYNAMIC-FORM": {
|
"DYNAMIC-FORM": {
|
||||||
|
|
Loading…
Reference in New Issue