2019-04-24 11:26:53 +02:00
|
|
|
<div class="main-content">
|
2019-06-03 11:01:42 +02:00
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="card dataset-wizard">
|
|
|
|
<div class="card-header card-header-plain d-flex">
|
|
|
|
<div class="card-desc d-flex flex-column justify-content-center">
|
|
|
|
<h4 *ngIf="!isNew" class="card-title">{{datasetWizardModel?.label}}
|
|
|
|
<span *ngIf="this.formGroup && this.formGroup.dirty"> -
|
|
|
|
{{ 'GENERAL.STATUSES.EDIT' | translate }}</span>
|
|
|
|
</h4>
|
|
|
|
<div *ngIf="isNew" class="card-desc new-dataset d-flex flex-column justify-content-center">
|
|
|
|
<h4 class="card-title">{{ 'DATASET-WIZARD.TITLE.NEW' | translate }}</h4>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="d-flex ml-auto p-2" *ngIf="datasetWizardModel && !isNew">
|
|
|
|
<button mat-icon-button [matMenuTriggerFor]="actionsMenu" class="ml-auto more-icon"
|
|
|
|
*ngIf="!publicMode" (click)="$event.stopImmediatePropagation();">
|
|
|
|
<mat-icon class="more-horiz">more_horiz</mat-icon>
|
|
|
|
</button>
|
|
|
|
<mat-menu #actionsMenu="matMenu">
|
|
|
|
<button mat-menu-item (click)="openDmpSearchDialogue()" class="menu-item">
|
|
|
|
<mat-icon>file_copy</mat-icon>{{'DATASET-WIZARD.ACTIONS.COPY-DATASET' | translate}}
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item *ngIf="!viewOnly && !isCopy"
|
|
|
|
(click)="openConfirm(formGroup.get('label').value, formGroup.get('id').value)"
|
|
|
|
class="menu-item">
|
|
|
|
<mat-icon>delete</mat-icon>{{ 'DATASET-WIZARD.ACTIONS.DELETE' | translate }}
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="advancedClicked()" class="menu-item">
|
|
|
|
<mat-icon>save_alt</mat-icon>{{ 'DMP-LISTING.ACTIONS.ADV-EXP' | translate }}
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item *ngIf="needsUpdate()" class="menu-item"
|
|
|
|
(click)="openUpdateDatasetProfileDialogue();">{{ 'DATASET-WIZARD.ACTIONS.UPDATE-DATASET-PROFILE' | translate }}</button>
|
|
|
|
</mat-menu>
|
|
|
|
<button mat-raised-button color="primary" (click)="downloadPDF()"
|
|
|
|
class="lightblue-btn ml-2 text-uppercase">
|
|
|
|
<mat-icon>save_alt</mat-icon> {{ 'DMP-LISTING.ACTIONS.EXPORT' | translate }}
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<form *ngIf="formGroup" (ngSubmit)="formSubmit()">
|
|
|
|
<div class="d-flex flex-column">
|
|
|
|
<mat-tab-group class="mt-3">
|
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label class="tab-label">
|
|
|
|
<i class="material-icons-outlined mr-2">view_agenda</i>
|
2019-06-03 14:54:09 +02:00
|
|
|
{{'DATASET-PROFILE-EDITOR.STEPS.PAGES.DATASET-DETAILS' | translate}}
|
2019-06-03 11:01:42 +02:00
|
|
|
</ng-template>
|
|
|
|
<form *ngIf="formGroup" [formGroup]="formGroup" class="p-3">
|
|
|
|
<mat-form-field class="col-md-6">
|
|
|
|
<app-single-auto-complete [required]="true" [formControl]="formGroup.get('dmp')"
|
|
|
|
placeholder="{{'DATASET-EDITOR.FIELDS.DMP' | translate}}"
|
|
|
|
[configuration]="dmpAutoCompleteConfiguration">
|
|
|
|
</app-single-auto-complete>
|
|
|
|
</mat-form-field>
|
|
|
|
<mat-form-field class="col-md-6">
|
|
|
|
<mat-select placeholder=" {{'DATASET-WIZARD.FIRST-STEP.PROFILE'| translate}}"
|
|
|
|
[required]="true" formControlName="profile">
|
2019-06-03 15:13:17 +02:00
|
|
|
<mat-option *ngFor="let profile of availableProfiles" [value]="profile.id">
|
2019-06-03 11:01:42 +02:00
|
|
|
{{profile.label}}
|
|
|
|
</mat-option>
|
|
|
|
</mat-select>
|
|
|
|
<mat-error *ngIf="formGroup.get('profile').hasError('backendError')">
|
|
|
|
{{formGroup.get('profile').getError('backendError').message}}</mat-error>
|
|
|
|
</mat-form-field>
|
|
|
|
<app-dataset-editor-component [formGroup]="formGroup"></app-dataset-editor-component>
|
|
|
|
</form>
|
|
|
|
</mat-tab>
|
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label>
|
|
|
|
<mat-icon class="mr-2">work_outline</mat-icon>
|
2019-06-03 14:54:09 +02:00
|
|
|
{{'DATASET-PROFILE-EDITOR.STEPS.PAGES.EXTERNAL-REFERENCES' | translate}}
|
2019-06-03 11:01:42 +02:00
|
|
|
</ng-template>
|
|
|
|
<form *ngIf="formGroup" [formGroup]="formGroup" class="p-3">
|
|
|
|
<app-dataset-external-references-editor-component [formGroup]="formGroup"
|
|
|
|
[viewOnly]="viewOnly"></app-dataset-external-references-editor-component>
|
|
|
|
</form>
|
|
|
|
</mat-tab>
|
|
|
|
<mat-tab [disabled]="isNew && (formGroup.get('profile').disabled || formGroup.get('profile').invalid)">
|
|
|
|
<ng-template mat-tab-label>
|
|
|
|
<div class="d-flex">
|
|
|
|
<mat-icon class="mr-2">library_books</mat-icon>
|
2019-06-03 14:54:09 +02:00
|
|
|
{{'DATASET-PROFILE-EDITOR.STEPS.PAGES.DESCRIPTION' | translate}}
|
2019-06-03 11:01:42 +02:00
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
<app-dataset-description-form
|
|
|
|
*ngIf="formGroup && datasetWizardModel && datasetWizardModel.datasetProfileDefinition"
|
|
|
|
[form]="this.formGroup.get('datasetProfileDefinition')"
|
|
|
|
[visibilityRules]="datasetWizardModel.datasetProfileDefinition.rules"
|
|
|
|
[datasetProfileId]="formGroup.get('profile').value">
|
|
|
|
</app-dataset-description-form>
|
|
|
|
</mat-tab>
|
|
|
|
</mat-tab-group>
|
|
|
|
|
|
|
|
<div class="actions">
|
2019-06-03 14:54:09 +02:00
|
|
|
<button mat-raised-button (click)="cancel()" type="button" class="cancelButton" color="primary">
|
2019-06-03 11:01:42 +02:00
|
|
|
{{'DMP-EDITOR.ACTIONS.CANCEL' | translate}}
|
|
|
|
</button>
|
2019-06-03 14:54:09 +02:00
|
|
|
<button *ngIf="datasetWizardModel.status == 0 || isNew" mat-raised-button [disabled]="!formGroup.valid" class="saveButton" color="primary" (click)="save();"
|
2019-06-03 11:01:42 +02:00
|
|
|
type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}</button>
|
2019-06-21 17:36:16 +02:00
|
|
|
<button *ngIf="datasetWizardModel.status == 0 || isNew" mat-raised-button [disabled]="!formGroup.valid" class="finalizeButton" color="primary"
|
2019-06-03 11:01:42 +02:00
|
|
|
(click)="saveFinalize();"
|
2019-06-21 17:36:16 +02:00
|
|
|
type="button">{{ 'DATASET-WIZARD.ACTIONS.FINALIZE' | translate }}</button>
|
2019-06-03 11:01:42 +02:00
|
|
|
<div class="fill-space"></div>
|
2019-06-27 17:13:33 +02:00
|
|
|
<button *ngIf="hasReversableStatus" mat-raised-button class="reverseButton" color="primary" (click)="reverse();"
|
|
|
|
type="button">{{ 'DATASET-WIZARD.ACTIONS.REVERSE' | translate }}</button>
|
2019-06-03 11:01:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- <div class="main-content">
|
2019-04-24 11:26:53 +02:00
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="dataset-wizard">
|
|
|
|
<h3 *ngIf="isNew">{{ 'DATASET-WIZARD.TITLE.NEW' | translate }}</h3>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-auto">
|
|
|
|
<h3 *ngIf="!isNew">{{datasetWizardModel?.label}} {{ 'GENERAL.NAMES.DATASET' | translate }}
|
|
|
|
<span *ngIf="this.formGroup && this.formGroup.dirty">
|
|
|
|
- {{ 'GENERAL.STATUSES.EDIT' | translate }}</span>
|
|
|
|
</h3>
|
|
|
|
<h3 *ngIf="this.formGroup && this.formGroup.get('status').value == DatasetStatus.Finalized && viewOnly">{{'GENERAL.STATUSES.FINALISED' | translate }}</h3>
|
|
|
|
</div>
|
|
|
|
<div class="col"></div>
|
|
|
|
<mat-menu #actionsMenu="matMenu">
|
|
|
|
<button mat-menu-item (click)="openDmpSearchDialogue()">
|
|
|
|
<mat-icon>file_copy</mat-icon>{{'DATASET-WIZARD.ACTIONS.COPY-DATASET' | translate}}
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
<button mat-icon-button [matMenuTriggerFor]="actionsMenu" *ngIf="!publicMode">
|
|
|
|
<mat-icon>more_vert</mat-icon>
|
2019-06-03 11:01:42 +02:00
|
|
|
</button> -->
|
2019-03-28 15:53:17 +01:00
|
|
|
|
2019-06-03 11:01:42 +02:00
|
|
|
<!-- <div class="col"></div>
|
2019-04-24 11:26:53 +02:00
|
|
|
<div class="col-auto" *ngIf=" !viewOnly">
|
|
|
|
<button *ngIf="!editMode" class="col-auto" mat-icon-button (click)="enableForm()">
|
|
|
|
<mat-icon class="mat-24">edit</mat-icon>
|
|
|
|
</button>
|
|
|
|
<button *ngIf="editMode" class="col-auto" mat-icon-button (click)="disableForm()">
|
|
|
|
<mat-icon class="mat-24">lock</mat-icon>
|
|
|
|
</button>
|
|
|
|
</div> -->
|
2019-06-03 11:01:42 +02:00
|
|
|
|
|
|
|
<!-- </div>
|
2019-04-24 11:26:53 +02:00
|
|
|
<div *ngIf="this.datasetProfileDefinitionModel || this.datasetWizardModel?.datasetProfileDefinition">
|
|
|
|
<button mat-raised-button color="primary" *ngIf="!isNew && !viewOnly && !isCopy" class="deleteButton" (click)="openConfirm(formGroup.get('label').value, formGroup.get('id').value)"
|
|
|
|
type="button">{{ 'DATASET-WIZARD.ACTIONS.DELETE' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="datasetWizardModel&&datasetWizardModel?.status != 1 && !viewOnly" class="saveButton"
|
|
|
|
(click)="save();" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="datasetWizardModel&&datasetWizardModel?.status != 1 && !viewOnly" [disabled]="!formGroup.valid"
|
|
|
|
class="saveAndFinalizeButton" (click)="saveFinalize();" type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE-AND-FINALISE' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="datasetWizardModel&&datasetWizardModel?.status == 1" class="downloadPDF"
|
|
|
|
(click)="downloadPDF();" type="button">{{ 'DATASET-WIZARD.ACTIONS.DOWNLOAD-PDF' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="datasetWizardModel&&datasetWizardModel?.status == 1" class="downloadDOCX"
|
|
|
|
(click)="downloadDOCX();" type="button">{{ 'DATASET-WIZARD.ACTIONS.DOWNLOAD-DOCX' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="datasetWizardModel&&datasetWizardModel?.status == 1" class="downloadXML"
|
|
|
|
(click)="downloadXML();" type="button">{{ 'DATASET-WIZARD.ACTIONS.DOWNLOAD-XML' | translate }}</button>
|
|
|
|
<button mat-raised-button color="primary" *ngIf="needsUpdate()" class="updateDatasetProfile" (click)="openUpdateDatasetProfileDialogue();"
|
|
|
|
type="button">{{ 'DATASET-WIZARD.ACTIONS.UPDATE-DATASET-PROFILE' | translate }}</button>
|
|
|
|
<div class="fill-space"></div>
|
2019-04-22 11:11:21 +02:00
|
|
|
|
2019-04-24 11:26:53 +02:00
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<mat-horizontal-stepper [linear]="isLinear" class="col-12" #stepper>
|
|
|
|
<mat-step class="step-container" [stepControl]="formGroup">
|
|
|
|
<ng-template matStepLabel>{{'DATASET-WIZARD.FIRST-STEP.TITLE' | translate}}</ng-template>
|
|
|
|
<form *ngIf="formGroup" [formGroup]="formGroup">
|
|
|
|
<div *ngIf="this.isActiveStep(0)" class="row">
|
|
|
|
<mat-form-field class="col-md-6">
|
|
|
|
<app-single-auto-complete [required]="true" [formControl]="formGroup.get('dmp')" placeholder="{{'DATASET-EDITOR.FIELDS.DMP' | translate}}"
|
|
|
|
[configuration]="dmpAutoCompleteConfiguration">
|
|
|
|
</app-single-auto-complete>
|
|
|
|
</mat-form-field>
|
|
|
|
<mat-form-field class="col-md-6">
|
|
|
|
<mat-select placeholder=" {{'DATASET-WIZARD.FIRST-STEP.PROFILE'| translate}}" [required]="true" formControlName="profile">
|
|
|
|
<mat-option *ngFor="let profile of availableProfiles" [value]="profile.id">
|
|
|
|
{{profile.label}}
|
|
|
|
</mat-option>
|
|
|
|
</mat-select>
|
|
|
|
<mat-error *ngIf="formGroup.get('profile').hasError('backendError')">{{formGroup.get('profile').getError('backendError').message}}</mat-error>
|
|
|
|
</mat-form-field>
|
|
|
|
<app-dataset-editor-component class="col-12" [formGroup]="formGroup"></app-dataset-editor-component>
|
|
|
|
<div class="col-12">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col"></div>
|
|
|
|
<div class="col-auto">
|
|
|
|
<button matStepperNext mat-raised-button color="primary" (click)="getDefinition()">{{'DATASET-WIZARD.ACTIONS.NEXT' | translate}}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-03-28 15:53:17 +01:00
|
|
|
</div>
|
2019-01-18 18:03:45 +01:00
|
|
|
</div>
|
2019-04-24 11:26:53 +02:00
|
|
|
</form>
|
|
|
|
</mat-step>
|
|
|
|
<mat-step class="step-container" [stepControl]="formGroup">
|
|
|
|
<ng-template matStepLabel>{{'DATASET-WIZARD.SECOND-STEP.TITLE' | translate}}</ng-template>
|
|
|
|
<form *ngIf="formGroup" [formGroup]="formGroup">
|
|
|
|
<div *ngIf="this.isActiveStep(1)" class="row">
|
|
|
|
<app-dataset-external-references-editor-component class="col-12" [formGroup]="formGroup" [viewOnly]="viewOnly"></app-dataset-external-references-editor-component>
|
|
|
|
<div class="col-12">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col"></div>
|
|
|
|
<div class="col-auto">
|
|
|
|
<button matStepperNext mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.NEXT' | translate}}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</mat-step>
|
|
|
|
<mat-step class="step-container">
|
|
|
|
<ng-template matStepLabel>{{'DATASET-WIZARD.THIRD-STEP.TITLE' | translate}}</ng-template>
|
|
|
|
<div *ngIf="this.isActiveStep(2)" class="row">
|
|
|
|
<app-dataset-description-form class="col-12" *ngIf="formGroup && datasetWizardModel && datasetWizardModel.datasetProfileDefinition"
|
|
|
|
[form]="this.formGroup.get('datasetProfileDefinition')" [visibilityRules]="datasetWizardModel.datasetProfileDefinition.rules"
|
|
|
|
[datasetProfileId]="formGroup.get('profile').value"></app-dataset-description-form>
|
|
|
|
<div class="col-12 description-action-row">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-auto">
|
|
|
|
<button matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK' | translate}}</button>
|
|
|
|
</div>
|
2019-03-28 15:53:17 +01:00
|
|
|
</div>
|
2019-01-18 18:03:45 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-06-03 11:01:42 +02:00
|
|
|
</mat-step> -->
|
|
|
|
|
|
|
|
<!-- <mat-step class="step-container">
|
2019-04-24 11:26:53 +02:00
|
|
|
<ng-template matStepLabel>{{'DATASET-WIZARD.FOURTH-STEP.TITLE' | translate}}</ng-template>
|
|
|
|
<div *ngIf="this.isActiveStep(3)">
|
|
|
|
<app-dynamic-form-pending-questions-display class="full-width" *ngIf="formGroup && datasetWizardModel && datasetWizardModel.datasetProfileDefinition" [form]="this.formGroup.get('datasetProfileDefinition')" [dataModel]="datasetWizardModel"></app-dynamic-form-pending-questions-display>
|
|
|
|
<div class="navigation-buttons-container">
|
|
|
|
<button style="margin-top:10px;" matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK'
|
|
|
|
| translate}}</button>
|
2019-03-28 15:53:17 +01:00
|
|
|
</div>
|
2019-01-18 18:03:45 +01:00
|
|
|
</div>
|
2019-04-24 11:26:53 +02:00
|
|
|
</mat-step> -->
|
2019-06-03 11:01:42 +02:00
|
|
|
|
|
|
|
<!-- </mat-horizontal-stepper>
|
2019-04-24 11:26:53 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-01-18 18:03:45 +01:00
|
|
|
</div>
|
2019-06-03 11:01:42 +02:00
|
|
|
</div> -->
|