2020-10-29 12:46:10 +01:00
|
|
|
<div class="main-content dmp-overview pl-5 pr-5">
|
2020-06-30 17:33:01 +02:00
|
|
|
<div class="container-fluid pl-0 pr-0">
|
2020-06-29 09:53:56 +02:00
|
|
|
<div *ngIf="dmp">
|
2020-07-01 17:32:22 +02:00
|
|
|
<a class="row mb-2 pl-1" (click)="goBack()" role="button">
|
2020-07-09 17:31:51 +02:00
|
|
|
<mat-icon class="back-icon pointer">chevron_left</mat-icon>
|
|
|
|
<p class="label-txt pointer">{{'DMP-WIZARD.ACTIONS.BACK' | translate}}</p>
|
2020-06-30 17:33:01 +02:00
|
|
|
</a>
|
2020-06-29 09:53:56 +02:00
|
|
|
<div class="row">
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="col-md-8 col-lg-8 pl-4">
|
2020-06-29 09:53:56 +02:00
|
|
|
<div class="row">
|
2020-07-01 17:32:22 +02:00
|
|
|
<span class="dmp-logo">{{ 'DATASET-LISTING.COLUMNS.DMP' | translate }}</span>
|
2020-07-03 15:58:13 +02:00
|
|
|
<p class="dmp-label ml-3 mb-0">{{ dmp.label }}</p>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-06-30 17:33:01 +02:00
|
|
|
<div class="row d-flex align-items-center mt-3 mb-4 label-txt">
|
2023-12-04 16:56:12 +01:00
|
|
|
<div *ngIf="isUserDmpRelated()" class="d-flex">
|
2020-07-24 13:09:21 +02:00
|
|
|
<p class="ml-0 mb-0 label2-txt">
|
2023-12-04 16:56:12 +01:00
|
|
|
{{ enumUtils.toDmpUserRolesString(dmpService.getCurrentUserRolesInDmp(dmp?.dmpUsers)) }}
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2023-12-04 16:56:12 +01:00
|
|
|
<span *ngIf="isUserDmpRelated() && (dmp.isPublic || lockStatus)" class="ml-2 mr-2">.</span>
|
2020-07-24 13:09:21 +02:00
|
|
|
<div *ngIf="dmp.isPublic" class="d-flex flex-row">
|
|
|
|
<mat-icon class="status-icon">public</mat-icon>
|
|
|
|
{{'DMP-OVERVIEW.PUBLIC' | translate}}
|
2020-06-30 17:33:01 +02:00
|
|
|
</div>
|
2020-07-24 13:09:21 +02:00
|
|
|
<span *ngIf="dmp.isPublic && lockStatus" class="ml-2 mr-2">.</span>
|
|
|
|
<div *ngIf="lockStatus" class="d-flex flex-row">
|
|
|
|
<mat-icon class="status-icon">lock_outline</mat-icon>
|
2020-07-06 17:42:54 +02:00
|
|
|
{{'DMP-OVERVIEW.LOCKED' | translate}}
|
2020-06-30 17:33:01 +02:00
|
|
|
</div>
|
2020-07-24 13:09:21 +02:00
|
|
|
<mat-form-field appearance="outline" class="versions-select ml-3 mr-3">
|
2020-09-01 09:28:13 +02:00
|
|
|
<mat-select placeholder="{{'DMP-LISTING.VERSION' | translate}} {{dmp.version}}" [(ngModel)]="version" (ngModelChange)="versionChanged(version.id)">
|
2020-07-20 11:16:23 +02:00
|
|
|
<mat-option *ngFor="let version of versions" [value]="version">
|
|
|
|
{{'DMP-LISTING.VERSION' | translate}} {{version.version}}</mat-option>
|
2020-07-09 13:28:55 +02:00
|
|
|
</mat-select>
|
2020-07-10 09:32:11 +02:00
|
|
|
</mat-form-field>
|
2020-06-29 17:30:36 +02:00
|
|
|
<div class="d-flex mr-4">{{'GENERAL.STATUSES.EDIT' | translate}} :
|
2020-11-09 16:14:10 +01:00
|
|
|
{{dmp.modifiedTime | dateTimeCultureFormatter: "d MMMM y"}}
|
2020-06-30 17:33:01 +02:00
|
|
|
</div>
|
|
|
|
<div class="d-flex mr-4">
|
2020-07-01 17:32:22 +02:00
|
|
|
<div *ngIf="dmp.status" class="d-flex flex-row uppercase">
|
2020-06-30 17:33:01 +02:00
|
|
|
<mat-icon class="status-icon">check</mat-icon>
|
2020-07-06 12:21:11 +02:00
|
|
|
{{'TYPES.DMP.FINALISED' | translate}}
|
|
|
|
</div>
|
2020-06-30 17:33:01 +02:00
|
|
|
</div>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
|
|
|
<div class="row">
|
2020-09-01 09:28:13 +02:00
|
|
|
<button *ngIf="isDraftDmp(dmp) && isUserOwner && !lockStatus" (click)="editClicked(dmp)" mat-mini-fab class="mr-3 d-flex justify-content-center align-items-center" matTooltip="{{'DMP-LISTING.ACTIONS.EDIT' | translate}}" matTooltipPosition="above">
|
2020-06-30 17:33:01 +02:00
|
|
|
<mat-icon class="mat-mini-fab-icon">create</mat-icon>
|
2020-06-29 09:53:56 +02:00
|
|
|
</button>
|
2020-09-14 14:56:13 +02:00
|
|
|
<button *ngIf="isAuthenticated()" (click)="cloneOrNewVersionClicked(dmp, false)" mat-mini-fab class="mr-3 d-flex justify-content-center align-items-center" matTooltip="{{'DMP-LISTING.ACTIONS.CLONE' | translate}}" matTooltipPosition="above">
|
|
|
|
<mat-icon class="mat-mini-fab-icon">content_copy</mat-icon>
|
|
|
|
</button>
|
2020-09-01 09:28:13 +02:00
|
|
|
<button *ngIf="isUserOwner && !lockStatus" (click)="deleteClicked()" mat-mini-fab class="mr-3 d-flex justify-content-center align-items-center" matTooltip="{{'DMP-LISTING.ACTIONS.DELETE' | translate}}" matTooltipPosition="above">
|
2020-06-30 17:33:01 +02:00
|
|
|
<mat-icon class="mat-mini-fab-icon">delete</mat-icon>
|
2020-06-29 09:53:56 +02:00
|
|
|
</button>
|
|
|
|
</div>
|
2023-09-20 08:34:39 +02:00
|
|
|
<div *ngIf="dmp.grant">
|
|
|
|
<div class="row header">{{'DMP-OVERVIEW.GRANT' | translate}}</div>
|
|
|
|
<div class="row dmp-label">{{ dmp.grant.label }}</div>
|
|
|
|
</div>
|
2020-06-30 17:33:01 +02:00
|
|
|
<div class="row header">{{'DMP-OVERVIEW.RESEARCHERS' | translate}}</div>
|
2020-06-29 09:53:56 +02:00
|
|
|
<div class="row">
|
2020-07-02 17:29:33 +02:00
|
|
|
<div *ngFor="let researcher of dmp.researchers; let last = last">
|
2020-09-25 16:49:19 +02:00
|
|
|
<span *ngIf="isOrcid(researcher.reference)">
|
|
|
|
<a href="{{ getOrcidPathForResearcher(researcher.reference) }}" target="blank" class="researcher">
|
|
|
|
<div class="id-btn"> </div>
|
|
|
|
<div *ngIf="!last">{{ researcher.name }}, </div>
|
|
|
|
<div *ngIf="last">{{ researcher.name }}</div>
|
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
<span *ngIf="!isOrcid(researcher.reference)">
|
2020-07-02 17:29:33 +02:00
|
|
|
<div *ngIf="!last">{{ researcher.name }}, </div>
|
|
|
|
<div *ngIf="last">{{ researcher.name }}</div>
|
2020-09-25 16:49:19 +02:00
|
|
|
</span>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-09-10 17:36:46 +02:00
|
|
|
<span *ngIf="!dmp.researchers || dmp.researchers.length === 0" class="material-icons">horizontal_rule</span>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-06-30 17:33:01 +02:00
|
|
|
<div class="row header">{{'DATASET-LISTING.COLUMNS.DESCRIPTION' | translate}}</div>
|
|
|
|
<div class="row" *ngIf="dmp.description">
|
2021-11-01 13:45:02 +01:00
|
|
|
<p class="desc-txt" [innerHTML]="dmp.description"></p>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-09-10 17:36:46 +02:00
|
|
|
<div class="row" *ngIf="!dmp.description">
|
|
|
|
<span class="material-icons">horizontal_rule</span>
|
|
|
|
</div>
|
2023-07-25 14:04:39 +02:00
|
|
|
<div class="row header">{{'DMP-OVERVIEW.DESCRIPTIONS-USED' | translate}}</div>
|
2020-07-09 12:59:11 +02:00
|
|
|
<div class="d-flex flex-column">
|
2020-07-22 10:19:25 +02:00
|
|
|
<div *ngFor="let dataset of dmp.datasets">
|
2020-09-25 11:51:30 +02:00
|
|
|
<a class="row dataset" [routerLink]="isPublicView ? ['/datasets/publicOverview/' + dataset.id] : ['/datasets/overview/' + dataset.id]" target="_blank">
|
2020-06-29 17:30:36 +02:00
|
|
|
<button mat-raised-button class="mb-2 mr-2 pl-0 pr-0">
|
2022-04-01 12:50:09 +02:00
|
|
|
<div matTooltip="{{ dataset.label }}" class="col-auto" [ngClass]="{'dataset-btn': dataset.status === 0, 'dataset-finalized-btn': dataset.status === 1}">
|
2020-07-22 10:19:25 +02:00
|
|
|
<div class="dataset-btn-label">{{ dataset.label }}</div>
|
2020-06-29 09:53:56 +02:00
|
|
|
<mat-icon>launch</mat-icon>
|
|
|
|
</div>
|
|
|
|
</button>
|
2020-07-27 10:52:42 +02:00
|
|
|
</a>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-09-10 17:36:46 +02:00
|
|
|
<div class="row" *ngIf="!dmp.datasets || dmp.datasets.length === 0">
|
|
|
|
<span class="material-icons">horizontal_rule</span>
|
|
|
|
</div>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2021-06-22 13:12:58 +02:00
|
|
|
<div class="row mt-2 add-dataset-txt" *ngIf="!lockStatus">
|
2023-09-25 09:36:04 +02:00
|
|
|
<a class="add-dataset-btn" *ngIf="isDraftDmp(dmp)" [routerLink]="['/plans/edit/' + dmp.id]" target="_blank">
|
2020-06-29 09:53:56 +02:00
|
|
|
<mat-icon>add</mat-icon>
|
2023-07-25 14:04:39 +02:00
|
|
|
{{'DMP-LISTING.ACTIONS.ADD-DESCRIPTION-SHORT' | translate}}
|
2020-09-24 11:02:51 +02:00
|
|
|
</a>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2020-06-30 17:33:01 +02:00
|
|
|
<div class="col-md-4 col-lg-4 p-0">
|
2020-07-01 17:32:22 +02:00
|
|
|
<div *ngIf="!hasDoi(dmp)" class="row d-flex flex-column ml-0 mr-0 mb-3">
|
2023-01-20 13:56:29 +01:00
|
|
|
<div class="d-flex align-items-center doi-label">
|
|
|
|
<span class="mr-3">{{'DMP-EDITOR.TITLE.SUBTITLE' | translate}}: </span>
|
|
|
|
<ng-container *ngIf="selectedModel">
|
|
|
|
<mat-select class="max-width-80 select-repo" [placeholder]="selectedModel.repositoryId">
|
|
|
|
<mat-option *ngFor="let doi of dmp.dois" (click)="selectDoi(doi)">
|
|
|
|
{{doi.repositoryId}}
|
|
|
|
</mat-option>
|
|
|
|
</mat-select>
|
|
|
|
</ng-container>
|
|
|
|
</div>
|
|
|
|
|
2023-01-24 11:13:58 +01:00
|
|
|
<div *ngIf="dmp.dois && selectedModel" class="doi-panel">
|
2023-01-20 13:56:29 +01:00
|
|
|
<span class="ml-3 mr-3">{{selectedModel.doi}}</span>
|
2022-11-02 08:41:40 +01:00
|
|
|
<div class="d-flex justify-content-end ml-3">
|
2023-01-24 11:20:05 +01:00
|
|
|
<button (click)="copyDoi(selectedModel.doi)" mat-mini-fab class="mr-2 d-flex justify-content-center align-items-center" matTooltip="{{'DMP-LISTING.ACTIONS.COPY' | translate}}" matTooltipPosition="above">
|
2022-11-02 08:41:40 +01:00
|
|
|
<mat-icon class="mat-mini-fab-icon">content_copy</mat-icon>
|
|
|
|
</button>
|
2023-02-21 14:30:26 +01:00
|
|
|
<button *ngIf="depositRepos?.length > 0" mat-mini-fab class="mr-2 d-flex justify-content-center align-items-center" matTooltip="{{'GRANT-EDITOR.ACTIONS.VISIT-WEBSITE' | translate}}" matTooltipPosition="above">
|
2023-01-24 11:20:05 +01:00
|
|
|
<a [href]="createDoiLink(selectedModel)" class="doi-link" target="_blank">
|
2022-11-02 08:41:40 +01:00
|
|
|
<mat-icon class="mat-mini-fab-icon">launch</mat-icon>
|
|
|
|
</a>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="frame mb-3 pt-4 pl-3 pr-5 pb-1">
|
2020-07-23 15:24:34 +02:00
|
|
|
<div *ngIf="isDraftDmp(dmp) && isUserOwner && !lockStatus">
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="row ml-0 mr-0 pl-4 d-flex align-items-center" (click)="finalize(dmp)">
|
|
|
|
<button mat-mini-fab class="finalize-btn">
|
|
|
|
<mat-icon class="mat-mini-fab-icon">check</mat-icon>
|
|
|
|
</button>
|
|
|
|
<p class="mb-0 pl-2 finalize-txt">{{ 'DMP-LISTING.ACTIONS.FINALIZE' | translate }}</p>
|
|
|
|
</div>
|
|
|
|
<div class="row ml-0 mr-0 pl-4 d-flex align-items-center">
|
|
|
|
<hr class="hr-line">
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-01-31 16:39:17 +01:00
|
|
|
<app-dmp-deposit-dropdown *ngIf="(hasDoi(dmp) || moreDeposit()) && isFinalizedDmp(dmp) && !this.isPublicView && isUserOwner" [inputRepos]="inputRepos" [dmp]="dmp" (outputReposEmitter)="afterDeposit($event)"></app-dmp-deposit-dropdown>
|
2023-12-04 16:56:12 +01:00
|
|
|
<div *ngIf="isFinalizedDmp(dmp) && hasDoi(dmp) && !isPublishedDMP(dmp) && isUserOwner" (click)="reverseFinalization()" class="row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center">
|
2020-07-20 11:16:23 +02:00
|
|
|
<button mat-mini-fab class="frame-btn">
|
|
|
|
<mat-icon class="mat-mini-fab-icon">unarchive</mat-icon>
|
|
|
|
</button>
|
|
|
|
<p class="mb-0 pl-2 frame-txt">{{ 'DMP-LISTING.ACTIONS.UNFINALIZE' | translate }}</p>
|
|
|
|
</div>
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center">
|
2020-06-29 17:30:36 +02:00
|
|
|
<button mat-mini-fab class="frame-btn" [matMenuTriggerFor]="exportMenu">
|
|
|
|
<mat-icon class="mat-mini-fab-icon">open_in_new</mat-icon>
|
2020-06-29 09:53:56 +02:00
|
|
|
</button>
|
2020-06-30 17:33:01 +02:00
|
|
|
<p class="mb-0 mr-0 pl-2 frame-txt" [matMenuTriggerFor]="exportMenu">
|
2020-06-29 17:30:36 +02:00
|
|
|
{{ 'DMP-LISTING.ACTIONS.EXPORT' | translate }}</p>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-09-03 17:49:45 +02:00
|
|
|
<div *ngIf="isUserOwner" class="row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center" (click)="cloneOrNewVersionClicked(dmp, true)">
|
2020-06-29 17:30:36 +02:00
|
|
|
<button mat-mini-fab class="frame-btn">
|
|
|
|
<mat-icon class="mat-mini-fab-icon">add_to_photos</mat-icon>
|
2020-06-29 09:53:56 +02:00
|
|
|
</button>
|
2020-06-30 17:33:01 +02:00
|
|
|
<p class="mb-0 pl-2 frame-txt">{{ 'DMP-LISTING.ACTIONS.START-NEW-VERSION' | translate }}
|
2020-06-29 17:30:36 +02:00
|
|
|
</p>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-06-29 17:30:36 +02:00
|
|
|
<mat-menu #exportMenu="matMenu" xPosition="before">
|
|
|
|
<button mat-menu-item (click)="downloadPDF(dmp.id)">
|
|
|
|
<i class="fa fa-file-pdf-o pr-2"></i>
|
|
|
|
<span>{{'GENERAL.FILE-TYPES.PDF' | translate}}</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="downloadDocx(dmp.id)">
|
|
|
|
<i class="fa fa-file-word-o pr-2"></i>
|
|
|
|
<span>{{'GENERAL.FILE-TYPES.DOC' | translate}}</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="downloadXml(dmp.id)">
|
|
|
|
<i class="fa fa-file-code-o pr-2"></i>
|
|
|
|
<span>{{'GENERAL.FILE-TYPES.XML' | translate}}</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="downloadJson(dmp.id)">
|
|
|
|
<i class="fa fa-file-o pr-2"></i>
|
|
|
|
<span>{{'GENERAL.FILE-TYPES.JSON' | translate}}</span>
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="frame mb-3 pt-4 pl-3 pr-3 pb-1">
|
|
|
|
<div class="row ml-0 mr-0 pl-4 pb-3">
|
2020-06-30 17:33:01 +02:00
|
|
|
<p class="header">{{ 'DMP-OVERVIEW.DMP-AUTHORS' | translate }}</p>
|
2020-06-29 17:30:36 +02:00
|
|
|
</div>
|
2020-07-01 17:32:22 +02:00
|
|
|
<div class="row ml-0 mr-0 pl-4 ml-2 pb-3 d-flex align-items-center">
|
|
|
|
<div *ngFor="let user of dmp.users" class="row authors">
|
|
|
|
<div class="d-flex flex-row">
|
|
|
|
<button class="account_btn mr-3 pl-0">
|
|
|
|
<mat-icon class="account-icon">account_circle</mat-icon>
|
|
|
|
</button>
|
|
|
|
<div>
|
|
|
|
<p class="authors-label">{{ user.name }}
|
2020-10-27 13:29:57 +01:00
|
|
|
<span *ngIf="isUserAuthor(user.id)">({{ 'DMP-OVERVIEW.YOU' | translate }})</span>
|
2020-07-01 17:32:22 +02:00
|
|
|
</p>
|
2023-12-04 16:56:12 +01:00
|
|
|
<p class="authors-role">{{ enumUtils.toDmpUserRoleString(dmpUser.role) }}</p>
|
2020-07-01 17:32:22 +02:00
|
|
|
</div>
|
2020-06-29 17:30:36 +02:00
|
|
|
</div>
|
2020-09-01 09:28:13 +02:00
|
|
|
<button *ngIf="isUserOwner && !dmp.status && user.role" (click)="removeUserFromDmp(user)" class="remove-btn">{{ 'GENERAL.CONFIRMATION-DIALOG.ACTIONS.REMOVE' | translate}}</button>
|
2020-06-29 17:30:36 +02:00
|
|
|
</div>
|
2020-06-29 09:53:56 +02:00
|
|
|
</div>
|
2020-10-27 13:29:57 +01:00
|
|
|
<div *ngIf="isUserOwner" class="row mt-3 mb-3 d-flex align-items-center justify-content-center">
|
|
|
|
<button mat-raised-button class="invite-btn" (click)="openShareDialog(dmp.id,dmp.label)">
|
2020-06-29 09:53:56 +02:00
|
|
|
<mat-icon>group_add</mat-icon>
|
|
|
|
{{'DMP-LISTING.ACTIONS.INVITE-SHORT' | translate}}
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-12-04 16:56:12 +01:00
|
|
|
</div>
|