2019-04-24 11:26:53 +02:00
< div class = "main-content" >
2020-08-04 13:35:02 +02:00
< div class = "container-fluid" >
2020-07-17 16:46:53 +02:00
< form * ngIf = "formGroup" [ formGroup ] = " formGroup " ( ngSubmit ) = " formSubmit ( ) " >
2020-07-29 17:04:19 +02:00
<!-- DMP Header -->
2020-08-06 12:20:28 +02:00
< div [ hidden ] = " this . step > = stepsBeforeDatasets" *ngIf="!isNewDataset" class="fixed-editor-header">
2020-07-17 16:46:53 +02:00
< div class = "card editor-header" >
< div class = "col" >
< div class = "row" >
2020-07-29 17:04:19 +02:00
< div class = "col-auto info" >
2020-07-17 16:46:53 +02:00
< div class = "title" > {{'DMP-EDITOR.TITLE.EDIT-DMP' | translate}}< / div >
< div class = "subtitle" > {{ formGroup.get('label').value }} < span * ngIf = "isDirty()" class = "changes" > ({{'DMP-EDITOR.CHANGES' | translate}})< / span > < / div >
< / div >
< div class = "ml-auto d-flex flex-row" >
2020-07-29 17:04:19 +02:00
< button * ngIf = "isDirty()" type = "button" mat-raised-button class = "discard-btn mr-3" ( click ) = " discardChanges ( ) " >
2020-07-17 16:46:53 +02:00
{{'DMP-EDITOR.ACTIONS.DISCARD' | translate}}
< / button >
< div * ngIf = "isNew" mat-raised-button type = "button" ( click ) = " addDataset ( ) " class = "save-btn" >
< div > {{'DMP-EDITOR.ACTIONS.SAVE' | translate}}< / div >
< / div >
< div * ngIf = "!isNew && formGroup.enabled && !lockStatus" >
< button * ngIf = "!isFinalized" mat-raised-button type = "submit" class = "save-btn" >
{{'DMP-EDITOR.ACTIONS.SAVE' | translate}}
< / button >
< / div >
2020-08-06 15:01:22 +02:00
< button * ngIf = "lockStatus" mat-raised-button disabled class = "dataset-save-btn cursor-default" type = "button" > {{ 'DMP-OVERVIEW.LOCKED' | translate}}< / button >
2020-07-29 17:04:19 +02:00
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- Dataset Header -->
2020-08-06 12:20:28 +02:00
< div * ngFor = "let dataset of datasets.controls; let i = index" [ hidden ] = " ( this . step ! = = i + stepsBeforeDatasets ) & & ! isNewDataset " class = "fixed-editor-header" >
< div class = "card dataset-editor-header" [ style . height ] = " isNewDataset ? ' auto ' : ' 113px ' " >
2020-07-29 17:04:19 +02:00
< div class = "col" >
< div class = "row" >
2020-08-06 12:20:28 +02:00
< div class = "col info" * ngIf = "!isNewDataset" >
2020-07-29 17:04:19 +02:00
< div class = "dataset-title" > {{'DMP-EDITOR.TITLE.EDIT-DATASET' | translate}}< / div >
< div class = "dataset-subtitle" > {{ dataset.get('label').value }} < span * ngIf = "isDirty()" class = "dataset-changes" > ({{'DMP-EDITOR.CHANGES' | translate}})< / span > < / div >
< div class = "d-flex flex-direction-row pt-2" >
< div class = "col-auto dataset-part-of" > {{'DATASET-LISTING.TOOLTIP.PART-OF' | translate}}
< div class = "col-auto dmp-label ml-3" > {{'DATASET-LISTING.TOOLTIP.DMP' | translate}}< / div >
2020-07-17 16:46:53 +02:00
< / div >
2020-08-05 11:42:04 +02:00
< div class = "col-auto dmp-title" > {{ formGroup.get('label').value }}< / div >
2020-07-29 17:04:19 +02:00
< div class = "col d-flex align-items-center" >
< a [ routerLink ] = " [ ' / overview / ' + formGroup . get ( ' id ' ) . value ] " target = "_blank" class = "pointer" > < span class = "material-icons" > open_in_new< / span > < / a >
< / div >
< / div >
< / div >
2020-08-06 12:20:28 +02:00
< div class = "col info" * ngIf = "isNewDataset" >
< div class = "dataset-title" > {{'DMP-EDITOR.TITLE.CREATE-DATASET' | translate}}< / div >
< / div >
2020-07-29 17:04:19 +02:00
< div class = "row" >
< div class = "col-auto d-flex align-items-center p-0" >
< button * ngIf = "isDirty()" type = "button" mat-raised-button class = "dataset-discard-btn" ( click ) = " discardChanges ( ) " >
{{'DMP-EDITOR.ACTIONS.DISCARD' | translate}}
< / button >
< / div >
< div class = "col-auto d-flex align-items-center" >
2020-08-06 15:01:22 +02:00
< button * ngIf = "!lockStatus" mat-raised-button class = "dataset-save-btn" type = "submit" > {{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}< / button >
< button * ngIf = "lockStatus" mat-raised-button disabled class = "dataset-save-btn cursor-default" type = "button" > {{ 'DMP-OVERVIEW.LOCKED' | translate}}< / button >
2020-07-29 17:04:19 +02:00
<!-- <div *ngIf="!isNew && formGroup.enabled && !lockStatus">
< button * ngIf = "!isFinalized" mat-raised-button type = "submit" class = "dataset-save-btn" > {{'DMP-EDITOR.ACTIONS.SAVE' | translate}}< / button >
< / div > -->
< / div >
2020-07-17 16:46:53 +02:00
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "row editor-content" >
2020-08-06 12:20:28 +02:00
< div class = "col-auto" [ ngClass ] = " { ' dmp-stepper ' : this . step < stepsBeforeDatasets | | isNewDataset , ' dataset-stepper ' : this . step > = stepsBeforeDatasets & & !isNewDataset}">
2020-07-17 16:46:53 +02:00
< div class = "stepper-title" > {{'DMP-EDITOR.STEPPER.USER-GUIDE' | translate}}< / div >
< div class = "stepper-options" >
< ol class = "stepper-list" >
2020-08-06 12:20:28 +02:00
< li * ngIf = "!isNewDataset" ( click ) = " changeStep ( 0 ) " [ ngClass ] = " { ' active ' : this . step = == 0 } " > {{'DMP-EDITOR.STEPPER.MAIN-INFO' | translate}} (4)< / li >
2020-08-24 14:46:55 +02:00
< li * ngIf = "isNewDataset" ( click ) = " changeStep ( 0 ) " [ ngClass ] = " { ' active ' : this . step = == 0 } " > {{'DMP-EDITOR.STEPPER.MAIN-INFO' | translate}}< / li >
2020-08-06 12:20:28 +02:00
< li * ngIf = "!isNewDataset" ( click ) = " changeStep ( 1 ) " [ ngClass ] = " { ' active ' : this . step = == 1 } " > {{'DMP-EDITOR.STEPPER.FUNDING-INFO' | translate}} (3)< / li >
< li * ngIf = "isNewDataset" ( click ) = " changeStep ( 1 ) " [ ngClass ] = " { ' active ' : this . step = == 1 } " > {{'DMP-EDITOR.STEPPER.DATASET-INFO' | translate}}< / li >
< li * ngIf = "!isNewDataset" ( click ) = " changeStep ( 2 ) " [ ngClass ] = " { ' active ' : this . step = == 2 } " > {{'DMP-EDITOR.STEPPER.DATASET-INFO' | translate}}< / li >
2020-08-04 13:35:02 +02:00
< li * ngFor = "let dataset of datasets.controls; let i = index" ( click ) = " changeStep ( i + stepsBeforeDatasets , dataset ) " [ ngClass ] = " { ' active-dataset ' : this . step = == i + stepsBeforeDatasets } " >
2020-08-06 15:01:22 +02:00
< div > {{'DMP-EDITOR.STEPPER.DATASET' | translate}}< / div >
2020-08-31 01:43:11 +02:00
< span * ngIf = "dataset.get('status').value === 1" class = "finalized-label" > < mat-icon class = "status-icon check-icon" > check< / mat-icon > {{'TYPES.DATASET-STATUS.FINALISED' | translate}}< / span >
2020-07-29 17:04:19 +02:00
< ul class = "dataset-list" >
2020-08-24 14:46:55 +02:00
< li * ngIf = "!isNewDataset" [ ngClass ] = " { ' active ' : this . step = == i + stepsBeforeDatasets } " > {{ dataset.get('label').value }} (8)< / li >
< li * ngIf = "isNewDataset" [ ngClass ] = " { ' active ' : this . step = == i + stepsBeforeDatasets } " > {{ dataset.get('label').value }}< / li >
2020-07-29 17:04:19 +02:00
< / ul >
< / li >
2020-07-17 16:46:53 +02:00
< / ol >
< / div >
< div class = "stepper-actions" >
< div mat-raised-button type = "button" class = "col-auto previous stepper-btn mr-2 ml-auto" [ ngClass ] = " { ' previous-disabled ' : this . step = == 0 } " ( click ) = " previousStep ( ) " >
< span class = "material-icons" > chevron_left< / span >
< div > {{'DMP-EDITOR.STEPPER.PREVIOUS' | translate}}< / div >
< / div >
2020-08-06 12:20:28 +02:00
< div * ngIf = "!isNewDataset" mat-raised-button type = "button" class = "col-auto stepper-btn ml-auto" [ ngClass ] = " { ' next-disabled ' : this . step = == this . maxStep , ' next ' : this . step < stepsBeforeDatasets , ' dataset-next ' : this . step > = stepsBeforeDatasets }" (click)="nextStep()">
< span class = "material-icons" > chevron_right< / span >
< div > {{'DMP-EDITOR.STEPPER.NEXT' | translate}}< / div >
< / div >
< div * ngIf = "isNewDataset" mat-raised-button type = "button" class = "col-auto stepper-btn dataset-next ml-auto" [ ngClass ] = " { ' next-disabled ' : this . step = == this . maxStep } " ( click ) = " nextStep ( ) " >
2020-07-17 16:46:53 +02:00
< span class = "material-icons" > chevron_right< / span >
< div > {{'DMP-EDITOR.STEPPER.NEXT' | translate}}< / div >
< / div >
< / div >
< / div >
< div class = "col-auto form" >
2020-08-06 12:20:28 +02:00
< main-info [ hidden ] = " this . step ! = = 0 " [ formGroup ] = " formGroup " [ isUserOwner ] = " isUserOwner " [ isNewDataset ] = " isNewDataset " ( onFormChanged ) = " formChanged ( ) " > < / main-info >
< funding-info * ngIf = "!isNewDataset" [ hidden ] = " this . step ! = = 1 " [ formGroup ] = " formGroup " [ grantformGroup ] = " formGroup . get ( ' grant ' ) " [ projectFormGroup ] = " formGroup . get ( ' project ' ) " [ funderFormGroup ] = " formGroup . get ( ' funder ' ) " [ isFinalized ] = " isFinalized | | lockStatus " [ isNew ] = " isNew " [ isUserOwner ] = " isUserOwner " ( onFormChanged ) = " formChanged ( ) " > < / funding-info >
< dataset-info * ngIf = "!isNewDataset" [ hidden ] = " this . step ! = = 2 " [ formGroup ] = " formGroup " [ dmp ] = " dmp " [ isPublic ] = " isPublic " [ isFinalized ] = " isFinalized | | lockStatus " [ isUserOwner ] = " isUserOwner " [ isNewDataset ] = " isNewDataset " ( onFormChanged ) = " formChanged ( ) " > < / dataset-info >
< dataset-info * ngIf = "isNewDataset" [ hidden ] = " this . step ! = = 1 " [ formGroup ] = " formGroup " [ dmp ] = " dmp " [ isPublic ] = " isPublic " [ isFinalized ] = " isFinalized | | lockStatus " [ isUserOwner ] = " isUserOwner " [ isNewDataset ] = " isNewDataset " ( onFormChanged ) = " formChanged ( ) " > < / dataset-info >
2020-08-06 12:50:28 +02:00
2020-08-04 13:35:02 +02:00
< div * ngFor = "let dataset of datasets.controls; let i = index" [ hidden ] = " this . step ! = = i + stepsBeforeDatasets " >
2020-08-31 01:43:11 +02:00
< dataset-editor-details [ formGroup ] = " dataset " [ isNewDataset ] = " isNewDataset " [ dmpId ] = " formGroup . get ( ' id ' ) . value " ( formChanged ) = " datasetFormChanged ( $ event ) " > < / dataset-editor-details >
2020-07-29 17:04:19 +02:00
< / div >
2020-07-17 16:46:53 +02:00
< / div >
< / div >
< / form >
< / div >
< / div >
<!-- <div class="main - content">
2019-05-23 17:48:54 +02:00
< div class = "container-fluid" >
2019-05-27 11:16:52 +02:00
< div * ngIf = "dmp" class = "card" >
2019-05-28 09:49:09 +02:00
< div class = "card-header card-header-plain d-flex" >
2019-05-30 16:40:32 +02:00
< div * ngIf = "!isNew" class = "card-desc d-flex flex-column justify-content-center" >
2019-06-21 15:55:38 +02:00
< h4 class = "card-title" > {{ formGroup.get('label').value }}< / h4 >
2019-05-28 09:49:09 +02:00
< / div >
2019-05-30 16:40:32 +02:00
< div * ngIf = "isNew" class = "card-desc new-dmp d-flex flex-column justify-content-center" >
< h4 class = "card-title" > {{ 'DMP-EDITOR.TITLE.NEW' | translate }}< / h4 >
< / div >
< div class = "d-flex ml-auto p-2" * ngIf = "!isNew" >
2020-02-11 17:27:54 +01:00
< button * ngIf = "!isFinalized && !lockStatus" mat-icon-button [ matMenuTriggerFor ] = " actionsMenu " class = "ml-auto more-icon" ( click ) = " $ event . stopImmediatePropagation ( ) ; " >
2019-05-28 09:49:09 +02:00
< mat-icon class = "more-horiz" > more_horiz< / mat-icon >
< / button >
< mat-menu # actionsMenu = "matMenu" >
2019-12-19 14:48:24 +01:00
< button mat-menu-item * ngIf = "!isPublic && isUserOwner" ( click ) = " newVersion ( dmp . id , dmp . label ) " >
2019-05-28 09:49:09 +02:00
< mat-icon > queue< / mat-icon > {{'DMP-LISTING.ACTIONS.NEW-VERSION' | translate}}
2019-05-23 17:48:54 +02:00
< / button >
2019-05-28 09:49:09 +02:00
< button mat-menu-item * ngIf = "!isPublic" ( click ) = " viewVersions ( dmp . groupId , dmp . label ) " >
< mat-icon > library_books< / mat-icon > {{'DMP-LISTING.ACTIONS.VIEW-VERSION' | translate}}
2019-05-23 17:48:54 +02:00
< / button >
2019-12-19 14:48:24 +01:00
< button mat-menu-item * ngIf = "!isPublic" ( click ) = " clone ( dmp . id ) " class = "menu-item" >
2019-05-28 09:49:09 +02:00
< mat-icon > add< / mat-icon > {{ 'DMP-LISTING.ACTIONS.CLONE' | translate }}
< / button >
2019-12-19 14:48:24 +01:00
< button mat-menu-item * ngIf = "!isPublic && isUserOwner" ( click ) = " delete ( ) " class = "menu-item" >
2019-05-28 09:49:09 +02:00
< mat-icon > delete< / mat-icon > {{ 'DMP-LISTING.ACTIONS.DELETE' | translate }}
< / button >
< / mat-menu >
2019-09-25 11:44:22 +02:00
< button mat-raised-button [ matMenuTriggerFor ] = " exportMenu " color = "primary" class = "lightblue-btn export-btn ml-2" >
2019-09-27 10:20:54 +02:00
{{ 'DMP-LISTING.ACTIONS.EXPORT' | translate }} < mat-icon > arrow_drop_down< / mat-icon >
2019-05-28 09:49:09 +02:00
< / button >
2019-09-25 11:44:22 +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 >
2019-05-23 17:48:54 +02:00
< / div >
2019-05-28 09:49:09 +02:00
< / div >
< form * ngIf = "formGroup" ( ngSubmit ) = " formSubmit ( ) " >
2019-05-27 11:16:52 +02:00
< div class = "d-flex flex-column" >
2019-07-18 16:16:12 +02:00
< mat-tab-group [ ( selectedIndex ) ] = " selectedTab " class = "mt-3" >
2019-05-27 11:16:52 +02:00
< mat-tab >
2019-05-30 16:40:32 +02:00
< ng-template mat-tab-label >
2019-05-27 11:16:52 +02:00
< i class = "material-icons-outlined mr-2" > view_agenda< / i >
{{ 'SIDE-BAR.GENERAL' | translate }}
< / ng-template >
2019-12-19 14:48:24 +01:00
< app-general-tab [ formGroup ] = " formGroup " [ isUserOwner ] = " isUserOwner " > < / app-general-tab >
2019-05-27 11:16:52 +02:00
< / mat-tab >
< mat-tab >
< ng-template mat-tab-label >
< mat-icon class = "mr-2" > work_outline< / mat-icon >
2019-08-01 09:54:40 +02:00
{{ 'DMP-LISTING.COLUMNS.GRANT' | translate }}
2019-05-27 11:16:52 +02:00
< / ng-template >
2020-02-11 17:27:54 +01:00
< app-grant-tab [ grantformGroup ] = " formGroup . get ( ' grant ' ) " [ projectFormGroup ] = " formGroup . get ( ' project ' ) " [ funderFormGroup ] = " formGroup . get ( ' funder ' ) " [ isFinalized ] = " isFinalized | | lockStatus " [ isNew ] = " isNew " [ isUserOwner ] = " isUserOwner " > < / app-grant-tab >
2019-05-27 11:16:52 +02:00
< / mat-tab >
2019-06-24 09:46:39 +02:00
< mat-tab * ngIf = "!isNew" >
2019-05-27 11:16:52 +02:00
< ng-template mat-tab-label >
< mat-icon class = "mr-2" > library_books< / mat-icon >
{{ 'DMP-LISTING.COLUMNS.DATASETS' | translate }}
< / ng-template >
2020-02-11 17:27:54 +01:00
< app-datasets-tab [ dmp ] = " dmp " [ isPublic ] = " isPublic " [ isFinalized ] = " isFinalized | | lockStatus " > < / app-datasets-tab >
2019-05-27 11:16:52 +02:00
< / mat-tab >
2019-06-24 09:46:39 +02:00
< mat-tab * ngIf = "!isNew" >
2019-05-27 11:16:52 +02:00
< ng-template mat-tab-label >
< mat-icon class = "mr-2" > person< / mat-icon >
{{ 'DMP-LISTING.COLUMNS.PEOPLE' | translate }}
< / ng-template >
2020-02-11 17:27:54 +01:00
< app-people-tab [ formGroup ] = " formGroup " [ dmp ] = " dmp " [ isPublic ] = " isPublic " [ isFinalized ] = " isFinalized | | lockStatus " > < / app-people-tab >
2019-05-27 11:16:52 +02:00
< / mat-tab >
2019-09-04 08:54:02 +02:00
< mat-tab * ngIf = "isNew" disabled >
2019-06-24 09:46:39 +02:00
< ng-template mat-tab-label > < / ng-template >
< / mat-tab >
2019-09-04 08:54:02 +02:00
< mat-tab * ngIf = "isNew" disabled >
2019-06-24 09:46:39 +02:00
< ng-template mat-tab-label > < / ng-template >
< / mat-tab >
2019-05-27 11:16:52 +02:00
< / mat-tab-group >
2019-05-23 17:48:54 +02:00
2020-02-18 12:01:56 +01:00
< div class = "d-flex justify-content-end pt-2 pb-4 pl-2" >
< mat-icon * ngIf = "lockStatus || !isUserOwner" color = "accent" class = "align-self-center mr-1" > info_outlined< / mat-icon >
< div * ngIf = "lockStatus" class = "align-self-center mr-3" > {{'DMP-EDITOR.ACTIONS.LOCK' | translate}}< / div >
< div * ngIf = "!isUserOwner" class = "align-self-center mr-3" > {{'DMP-EDITOR.ACTIONS.PERMISSION' | translate}}< / div >
< div * ngIf = "isNew || lockStatus || !isUserOwner" >
< button mat-raised-button color = "primary" ( click ) = " cancel ( ) " type = "button" class = "text-uppercase mr-2" >
2019-05-27 11:16:52 +02:00
{{'DMP-EDITOR.ACTIONS.CANCEL' | translate}}
< / button >
< / div >
2020-02-18 12:01:56 +01:00
< div >
< button * ngIf = "isNew" mat-raised-button type = "button" ( click ) = " addDataset ( ) " class = "text-uppercase dark-theme mr-2" color = "primary" >
{{'DMP-EDITOR.ACTIONS.SAVE' | translate}}
< / button >
< / div >
< / div >
2020-04-01 17:16:06 +02:00
< div * ngIf = "!isNew" class = "d-flex justify-content-end pt-2 pb-4 pl-2" >
2020-02-18 12:01:56 +01:00
< button mat-raised-button color = "primary" ( click ) = " cancel ( dmp . id ) " type = "button" class = "text-uppercase mr-2" >
2019-05-30 16:40:32 +02:00
{{'DMP-EDITOR.ACTIONS.CANCEL' | translate}}
< / button >
2020-02-18 12:01:56 +01:00
2020-02-11 17:27:54 +01:00
< div * ngIf = "formGroup.enabled && !lockStatus" >
2020-04-01 17:16:06 +02:00
< button * ngIf = "!isFinalized" mat-raised-button type = "submit" class = "text-uppercase dark-theme mr-2" color = "primary" >
2019-06-12 15:01:55 +02:00
{{'DMP-EDITOR.ACTIONS.SAVE-CHANGES' | translate}}
< / button >
2019-05-27 11:16:52 +02:00
< / div >
2020-04-01 17:16:06 +02:00
< div * ngIf = "formGroup.enabled && !isFinalized && !lockStatus" >
2019-12-11 15:51:03 +01:00
< button type = "button" mat-raised-button color = "primary" class = "text-uppercase mr-2" ( click ) = " saveAndFinalize ( ) " > {{'DMP-EDITOR.ACTIONS.FINALISE' | translate}}
2019-05-27 11:16:52 +02:00
< / button >
< / div >
2019-05-23 17:48:54 +02:00
< / div >
< / div >
2019-05-27 11:16:52 +02:00
< / form >
2019-05-23 17:48:54 +02:00
< / div >
< / div >
2020-07-17 16:46:53 +02:00
< / div > -->