2023-12-01 18:18:41 +01:00
< div class = "main-content description-overview pl-5 pr-5" >
< div class = "container-fluid pl-0 pr-0" >
< div * ngIf = "description" >
< a class = "row mb-2 pl-1" ( click ) = " goBack ( ) " role = "button" >
< mat-icon class = "back-icon pointer" > chevron_left< / mat-icon >
< p class = "label-txt pointer" > {{'DESCRIPTION-OVERVIEW.ACTIONS.BACK' | translate}}< / p >
< / a >
< div class = "row" >
< div class = "col-md-8 col-lg-8 pl-4" >
< div class = "row" >
< span class = "col-auto description-logo" > {{ 'DESCRIPTION-OVERVIEW.TITLE' | translate }}< / span >
< p class = "col description-label p-0 ml-3 mb-0" > {{ description.label }}< / p >
< / div >
< div class = "row d-flex align-items-center mt-3 mb-4 label-txt" >
2024-03-15 13:13:55 +01:00
< div * ngIf = "canEdit" class = "d-flex" >
2023-12-01 18:18:41 +01:00
< p class = "ml-0 mb-0 label2-txt" >
{{ enumUtils.toDmpUserRolesString(dmpService.getCurrentUserRolesInDmp(description?.dmp?.dmpUsers)) }}
< / p >
< / div >
2024-03-15 13:13:55 +01:00
< span * ngIf = "canEdit" class = "ml-2 mr-2" > .< / span >
2023-12-01 18:18:41 +01:00
< div * ngIf = "description.status === descriptionStatusEnum.Finalized && description.dmp.accessType === dmpAccessTypeEnum.Public" class = "d-flex flex-row" >
< mat-icon class = "status-icon" > public< / mat-icon >
{{'DESCRIPTION-OVERVIEW.PUBLIC' | translate}}
< / div >
< span * ngIf = "description.status === descriptionStatusEnum.Finalized && description.dmp.accessType === dmpAccessTypeEnum.Public" class = "ml-2 mr-2" > .< / span >
2024-03-21 12:06:59 +01:00
< div * ngIf = "isLocked" class = "d-flex flex-row" >
2023-12-01 18:18:41 +01:00
< mat-icon class = "status-icon" > lock_outline< / mat-icon >
{{'DESCRIPTION-OVERVIEW.LOCKED' | translate}}
< / div >
2024-03-21 12:06:59 +01:00
< span * ngIf = "isLocked" class = "ml-2 mr-2" > .< / span >
2023-12-01 18:18:41 +01:00
< div class = "d-flex mr-2" > {{'DESCRIPTION-OVERVIEW.EDITED' | translate}} :
2024-03-06 10:53:40 +01:00
{{description.updatedAt | dateTimeCultureFormatter: "d MMMM y"}}
2023-12-01 18:18:41 +01:00
< / div >
< div class = "d-flex ml-2 mr-4" >
2024-03-06 10:53:40 +01:00
< div * ngIf = "description.status === descriptionStatusEnum.Finalized" class = "d-flex flex-row uppercase" >
2023-12-01 18:18:41 +01:00
< mat-icon class = "status-icon check-icon" > check< / mat-icon >
{{'DESCRIPTION-OVERVIEW.FINALISED' | translate}}
< / div >
< / div >
< / div >
< div class = "row mb-4 pb-3" >
2024-03-21 12:06:59 +01:00
< button * ngIf = "canEdit && isDraftDescription(description) && !isLocked" ( click ) = " editClicked ( description ) " mat-mini-fab class = "mr-3 actions-btn" matTooltip = "{{'DESCRIPTION-OVERVIEW.ACTIONS.EDIT' | translate}}" matTooltipPosition = "above" >
2023-12-01 18:18:41 +01:00
< mat-icon class = "mat-mini-fab-icon" > create< / mat-icon >
< / button >
2024-03-15 13:13:55 +01:00
< button * ngIf = "canEdit" ( click ) = " openCopyToDmpDialog ( ) " mat-mini-fab class = "mr-3 actions-btn" matTooltip = "{{'DESCRIPTION-OVERVIEW.ACTIONS.CLONE' | translate}}" matTooltipPosition = "above" >
2023-12-01 18:18:41 +01:00
< mat-icon class = "mat-mini-fab-icon" > content_copy< / mat-icon >
< / button >
2024-03-21 12:06:59 +01:00
< button * ngIf = "canDelete && !isLocked" ( click ) = " deleteClicked ( ) " mat-mini-fab class = "mr-3 actions-btn" matTooltip = "{{'DESCRIPTION-OVERVIEW.ACTIONS.DELETE' | translate}}" matTooltipPosition = "above" >
2023-12-01 18:18:41 +01:00
< mat-icon class = "mat-mini-fab-icon" > delete< / mat-icon >
< / button >
< / div >
< div class = "row header" > {{'DESCRIPTION-OVERVIEW.PART-OF' | translate}}< / div >
< div class = "row " >
< button class = "dmp-btn" ( click ) = " dmpClicked ( description . dmp ) " >
< div class = "dmp-btn-label" >
{{ this.description.dmp.label }}
< / div >
< mat-icon > launch< / mat-icon >
< / button >
< / div >
2024-02-09 21:46:05 +01:00
< div * ngIf = "referenceService.hasRerefenceOfTypes(description?.dmp?.dmpReferences, [this.referenceTypeService.getGrantReferenceType()])" >
2023-12-01 18:18:41 +01:00
< div class = "row header" > {{'DESCRIPTION-OVERVIEW.GRANT' | translate}}< / div >
2024-02-09 21:46:05 +01:00
< div class = "row description-label" > {{referenceService.getReferencesForTypesFirstSafe(description?.dmp?.dmpReferences, [this.referenceTypeService.getGrantReferenceType()])?.reference?.label}}< / div >
2023-12-01 18:18:41 +01:00
< / div >
< div class = "row header" > {{'DESCRIPTION-OVERVIEW.RESEARCHERS' | translate}}< / div >
< div class = "row" >
< div * ngFor = "let dmpReference of researchers let last = last" >
< span * ngIf = "isOrcid(dmpReference.reference)" >
< a href = "{{ getOrcidPathForResearcher(dmpReference.reference?.reference) }}" target = "blank" class = "researcher" >
< div class = "id-btn" > < / div >
2024-03-06 17:41:26 +01:00
< div * ngIf = "!last" > {{ dmpReference.reference?.label }}, < / div >
< div * ngIf = "last" > {{ dmpReference.reference?.label }}< / div >
2023-12-01 18:18:41 +01:00
< / a >
< / span >
< span * ngIf = "!isOrcid(dmpReference.reference)" >
2024-03-06 17:41:26 +01:00
< div * ngIf = "!last" > {{ dmpReference.reference?.label }}, < / div >
< div * ngIf = "last" > {{ dmpReference.reference?.label }}< / div >
2023-12-01 18:18:41 +01:00
< / span >
< / div >
< span * ngIf = "!researchers || researchers.length === 0" class = "material-icons" > horizontal_rule< / span >
< / div >
< div class = "row header" > {{'DESCRIPTION-OVERVIEW.DESCRIPTION' | translate}}< / div >
< div class = "row" * ngIf = "description.description" >
< p class = "desc-txt" [ innerHTML ] = " description . description " > < / p >
< / div >
< div class = "row" * ngIf = "!description.description" >
< span class = "material-icons" > horizontal_rule< / span >
< / div >
< / div >
< div class = "col-md-4 col-lg-4 p-0" >
2024-03-12 13:07:47 +01:00
< div class = "frame mb-3 pt-4 pl-3 pr-5 pb-1" * ngIf = "isAuthenticated()" >
2024-03-21 12:06:59 +01:00
< div * ngIf = "canFinalize && isDraftDescription(description) && !isLocked" >
2023-12-01 18:18:41 +01:00
< div class = "row ml-0 mr-0 pl-4 d-flex align-items-center" ( click ) = " finalize ( description ) " >
< button mat-mini-fab class = "finalize-btn" >
< mat-icon class = "mat-mini-fab-icon check-icon" > check< / mat-icon >
< / button >
< p class = "mb-0 pl-2 frame-txt" > {{ 'DESCRIPTION-OVERVIEW.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-12-06 22:10:01 +01:00
< div * ngIf = "hasReversableStatus(description)" class = "row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center" ( click ) = " reverseFinalization ( description ) " >
2023-12-01 18:18:41 +01:00
< button mat-mini-fab class = "frame-btn" >
< mat-icon class = "mat-mini-fab-icon" > unarchive< / mat-icon >
< / button >
< p class = "mb-0 mr-0 pl-2 frame-txt" > {{ 'DESCRIPTION-OVERVIEW.ACTIONS.REVERSE' | translate }}< / p >
< / div >
2024-03-07 16:14:39 +01:00
< div class = "row ml-0 mr-0 pl-4 pb-3 d-flex align-items-center" * ngIf = "fileTransformerService.availableFormats.length > 0" >
2023-12-01 18:18:41 +01:00
< button mat-mini-fab class = "frame-btn" [ matMenuTriggerFor ] = " exportMenu " >
< mat-icon class = "mat-mini-fab-icon" > open_in_new< / mat-icon >
< / button >
< p class = "mb-0 mr-0 pl-2 frame-txt" [ matMenuTriggerFor ] = " exportMenu " >
{{ 'DESCRIPTION-OVERVIEW.ACTIONS.EXPORT' | translate }}< / p >
< / div >
< mat-menu # exportMenu = "matMenu" xPosition = "before" >
2024-01-17 13:47:32 +01:00
< button mat-menu-item * ngFor = 'let fileTransformer of fileTransformerService.availableFormats' ( click ) = " fileTransformerService . exportDescription ( description . id , fileTransformer . format ) " >
< i class = "fa pr-2" [ ngClass ] = " fileTransformer . icon ? fileTransformer . icon : ' fa-file-o ' " > < / i >
< span > {{'GENERAL.FILE-TRANSFORMER.' + fileTransformer.format.toUpperCase() | translate}}< / span >
2023-12-01 18:18:41 +01:00
< / button >
2023-12-29 16:04:16 +01:00
< / mat-menu >
2023-12-01 18:18:41 +01:00
< / div >
< div class = "frame mb-3 pt-4 pl-3 pr-3 pb-1" >
< div class = "row ml-0 mr-0 pl-4 pb-3" >
< p class = "header" > {{ 'DESCRIPTION-OVERVIEW.DESCRIPTION-AUTHORS' | translate }}< / p >
< / div >
< div class = "row ml-0 mr-0 pl-4 ml-2 pb-3 d-flex align-items-center" >
< div * ngFor = "let dmpUser of description.dmp?.dmpUsers" 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" > {{ dmpUser.user?.name }}
< span * ngIf = "isUserAuthor(dmpUser.user?.id)" >
({{ 'DESCRIPTION-OVERVIEW.YOU' | translate }})< / span >
< / p >
< p class = "authors-role" > {{ enumUtils.toDmpUserRoleString(dmpUser.role) }}< / p >
< / div >
< / div >
2024-03-15 14:49:10 +01:00
< button * ngIf = "canInviteDmpUsers && description.dmp?.status === dmpStatusEnum.Draft && dmpUser.role != dmpUserRoleEnum.Owner" ( click ) = " removeUserFromDmp ( dmpUser ) " class = "remove-btn" > {{ 'DESCRIPTION-OVERVIEW.ACTIONS.REMOVE-AUTHOR' | translate}}< / button >
2023-12-01 18:18:41 +01:00
< / div >
< / div >
2024-03-15 13:13:55 +01:00
< div * ngIf = "canInviteDmpUsers" class = "row mt-3 mb-3 d-flex align-items-center justify-content-center" >
2023-12-01 18:18:41 +01:00
< button mat-raised-button class = "invite-btn" ( click ) = " openShareDialog ( description . dmp . id , description . dmp . label ) " >
< mat-icon > group_add< / mat-icon >
{{'DESCRIPTION-OVERVIEW.ACTIONS.INVITE-SHORT' | translate}}
< / button >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
2023-12-19 17:09:09 +01:00
< / div >