-
+
chevron_left
{{'DMP-WIZARD.ACTIONS.BACK' | translate}}
-
+
-
-
+ {{ 'DATASET-LISTING.COLUMNS.DMP' | translate }}
{{ dmp.label }}
@@ -28,29 +26,25 @@
{{'DMP-OVERVIEW.PRIVATE' | translate}}
-
+
+
lock_outline
{{'DMP-OVERVIEW.LOCKED' | translate}}
-
+
lock_open
{{'DMP-OVERVIEW.UNLOCKED' | translate}}
-
-
+
-
{{'DMP-EDITOR.TITLE.SUBTITLE' | translate}}
-
+
+
archive
-
+
+
+
+ check
+
+
+ {{ 'DMP-LISTING.ACTIONS.FINALIZE' | translate }}
+
+
+
+ +
{{ 'DMP-LISTING.ACTIONS.DEPOSIT' | translate }}
+
open_in_new
-
add_to_photos
@@ -173,7 +191,7 @@
{{ 'DMP-LISTING.ACTIONS.EXPORT' | translate }}
+ class="row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center" (click)="publish(dmp.id)">
public
@@ -198,23 +216,30 @@
-
-
+
+
-
{{ 'DMP-OVERVIEW.DMP-AUTHORS' | translate }}
-
- account_circle
-
-
-
-
-
+
+
+ class="row mt-3 mb-3 d-flex align-items-center justify-content-center">
group_add
{{'DMP-LISTING.ACTIONS.INVITE-SHORT' | translate}}
diff --git a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.scss b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.scss
index 8d57546b9..a5e7b6b22 100644
--- a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.scss
+++ b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.scss
@@ -17,7 +17,6 @@
.mat-mini-fab-icon, .status-icon {
font-size: 1.2em;
-
}
.status-icon {
@@ -30,18 +29,12 @@
// ********BUTTONS********
-.dmp-btn {
- width: 4.8em;
- height: 2.6em;
- background: #129D99;
- border-radius: 4px;
-}
-
.version-btn {
- width: 6.7em;
+ // width: 6.7em;
height: 1.8em;
border: 1px solid #707070;
border-radius: 4px;
+ background-color: transparent;
}
.id-btn {
@@ -64,17 +57,39 @@
.show-more-btn {
width: 31.6em;
padding: 0 1em;
+ background-color: #ffffff00;
+ color: #129D99;
+ font-weight: 700;
}
.add-dataset-btn {
border: none;
+ font: Bold 0.875em Open Sans;
+ color: #444444;
+ background-color: transparent;
}
.frame-btn {
border: 1px solid #212121;
+ color: black;
+}
+
+.finalize-btn {
+ border: 1px solid #129D99;
+ color: #129D99;
+}
+
+.frame-btn, .finalize-btn {
background: #FFFFFF;
box-shadow: 0px 2px 6px #00000029;
- color: black;
+}
+
+.remove-btn {
+ border: none;
+ background-color: transparent;
+ font-size: 0.875em;
+ font-weight: bold;
+ margin-left: auto;
}
.invite-btn{
@@ -95,6 +110,16 @@
// ********TEXT********
+.dmp-logo {
+ width: 4.8em;
+ height: 2.6em;
+ background: #129D99;
+ border-radius: 4px;
+ font-size: 0.875em;
+ color: #FFFFFF;
+ opacity: 0.8;
+}
+
.label-txt {
font-size: 0.875em;
}
@@ -107,17 +132,11 @@
color: #848484;
}
-.dmp-btn-label {
- font-size: 1em;
- color: #FFFFFF;
- opacity: 0.8;
-}
-
.dmp-label {
font-weight: bold;
}
-.finalized {
+.uppercase {
text-transform: uppercase;
}
@@ -151,17 +170,6 @@
overflow: hidden;
}
-.show-more-txt {
- background-color: #ffffff00;
- color: #129D99;
- font-weight: 700;
-}
-
-.add-dataset-txt {
- font: Bold 0.875em Open Sans;
- color: #444444;
-}
-
.doi-label {
font-size: 1em;
color: #212121;
@@ -189,44 +197,67 @@
}
.frame {
- height: 14.6em;
background: #FFFFFF;
box-shadow: 0px 1px 5px #00000026;
border-radius: 4px;
+ overflow: hidden;
}
.frame-txt {
+ color: #000000;
+}
+
+.finalize-txt {
+ color: #129D99;
+}
+
+.frame-txt, .finalize-txt {
font-size: 0.75em;
font-weight: bold;
letter-spacing: 0px;
- color: #000000;
text-transform: uppercase;
cursor: pointer;
}
+.hr-line {
+ border: 1px solid #DBDBDB;
+ // width: 274px;
+ // width: 17em;
+ width: 100%;
+}
+
+.authors {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ width: 100%;
+}
+
.authors-label {
font-size: 0.875em;
color: #212121;
height: 1.4em;
+ margin-bottom: 0px;
}
.authors-role {
font-size: 0.875em;
color: #A8A8A8;
height: 1.4em;
+ margin-bottom: 0px;
}
// ********CENTER ELEMENTS********
-.mat-mini-fab, .mat-mini-fab-icon,
-.status-icon, .frame-btn {
+.mat-mini-fab, .mat-mini-fab-icon,
+.status-icon, .dmp-logo, .frame-btn, .finalize-btn {
display: flex;
justify-content: center;
align-items: center;
}
-.dmp-label, .dataset-btn, .add-dataset-btn,
-.add-dataset-txt, .doi-panel {
+.dmp-label, .dataset-btn, .add-dataset-btn,
+ .doi-panel {
display: flex;
align-items: center;
}
diff --git a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
index 6aa0c4a96..9bddb0db8 100644
--- a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
+++ b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
@@ -1,5 +1,5 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, Input } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
@@ -30,6 +30,10 @@ import { Oauth2DialogService } from '@app/ui/misc/oauth2-dialog/service/oauth2-d
import { isNullOrUndefined } from 'util';
import { UserService } from '@app/core/services/user/user.service';
import { Location } from '@angular/common';
+import { FormGroup } from '@angular/forms';
+import { LockService } from '@app/core/services/lock/lock.service';
+import { ReturnStatement } from '@angular/compiler';
+import { LockModel } from '@app/core/model/lock/lock.model';
@Component({
selector: 'app-dmp-overview',
@@ -47,6 +51,10 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
isUserOwner: boolean;
expand = false;
hasDOIToken = false;
+ lock: LockModel;
+ lockStatus: Boolean;
+
+ @Input() formGroup: FormGroup;
constructor(
private route: ActivatedRoute,
@@ -60,7 +68,8 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
private configurationService: ConfigurationService,
private oauth2DialogService: Oauth2DialogService,
private userService: UserService,
- private location: Location
+ private location: Location,
+ private lockService: LockService
) {
super();
}
@@ -532,18 +541,48 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
reverse() {
this.dmpService.unfinalize(this.dmp.id).pipe(takeUntil(this._destroyed))
- .subscribe(
- complete => {
- this.dmp.status = DmpStatus.Draft;
- this.onCallbackSuccess()
- },
- error => this.onFinalizeCallbackError(error)
- );;
+ .subscribe(
+ complete => {
+ this.dmp.status = DmpStatus.Draft;
+ this.onCallbackSuccess()
+ },
+ error => this.onFinalizeCallbackError(error)
+ );;
}
goBack(): void {
this.location.back();
- }
+ }
+
+ removeCollaborator(id: string) {
+ const dialogRef = this.dialog.open(ConfirmationDialogComponent, {
+ maxWidth: '300px',
+ data: {
+ message: this.language.instant('GENERAL.CONFIRMATION-DIALOG.DELETE-USER'),
+ confirmButton: this.language.instant('GENERAL.CONFIRMATION-DIALOG.ACTIONS.REMOVE'),
+ cancelButton: this.language.instant('GENERAL.CONFIRMATION-DIALOG.ACTIONS.CANCEL'),
+ isDeleteConfirmation: false
+ }
+ });
+ dialogRef.afterClosed().subscribe(result => {
+ if (result) {
+ this.formGroup.get('users').setValue(this.formGroup.get('users').value.filter(function (val, index, arr) {
+ return val.id !== id;
+ }));
+ }
+ });
+ }
+
+ checkLockStatus(id: string): Observable {
+ return this.lockService.checkLockStatus(id);
+ }
+
+ createOrUpdate(id: string): Observable {
+ // this.lock = new LockModel(id, this.getUserFromDMP());
+ return this.lockService.createOrUpdate(this.lock);
+ }
+
+
// advancedClicked() {
// const dialogRef = this.dialog.open(ExportMethodDialogComponent, {
diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json
index 0b52bced0..2756edcbd 100644
--- a/dmp-frontend/src/assets/i18n/en.json
+++ b/dmp-frontend/src/assets/i18n/en.json
@@ -541,6 +541,8 @@
"PRIVATE": "Private",
"LOCKED": "Locked",
"UNLOCKED": "Unlocked",
+ "YOU": "you",
+ "LOCK": "Lock",
"TOOLTIP": {
"LEVEL-OF-ACCESS": "Level of Access",
"INVOLVED-DATASETS": "Involved Dataset Descriptions",
diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json
index 04d134046..e86eb9200 100644
--- a/dmp-frontend/src/assets/i18n/es.json
+++ b/dmp-frontend/src/assets/i18n/es.json
@@ -541,6 +541,8 @@
"PRIVATE": "Privado",
"LOCKED": "Bloqueado",
"UNLOCKED": "Desbloqueado",
+ "YOU": "tú",
+ "LOCK": "Bloquear",
"TOOLTIP": {
"LEVEL-OF-ACCESS": "Nivel de acceso",
"INVOLVED-DATASETS": "Descripciones del Dataset implicadas",
diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json
index bc7a5b471..8bc0c4c02 100644
--- a/dmp-frontend/src/assets/i18n/gr.json
+++ b/dmp-frontend/src/assets/i18n/gr.json
@@ -541,6 +541,8 @@
"PRIVATE": "Ιδιωτικό",
"LOCKED": "Κλειδωμένο",
"UNLOCKED": "Ακλείδωτο",
+ "YOU": "εσύ",
+ "LOCK": "Κλείδωσε",
"TOOLTIP": {
"LEVEL-OF-ACCESS": "Επίπεδο Πρόσβασης",
"INVOLVED-DATASETS": "Εμπλεκόμενες Περιγραφές Συνόλου Δεδομένων",