Adds condition for disabled buttons for specific Form Validation template

This commit is contained in:
apapachristou 2019-07-02 18:28:43 +03:00
parent 64d15c3b20
commit 953e1e70b0
2 changed files with 12 additions and 1 deletions

View File

@ -95,7 +95,7 @@
<button mat-raised-button (click)="cancel()" type="button" class="cancelButton" color="primary">
{{'DMP-EDITOR.ACTIONS.CANCEL' | translate}}
</button>
<button *ngIf="datasetWizardModel.status == 0 || isNew" mat-raised-button [disabled]="!formGroup.valid" class="saveButton" color="primary" (click)="save();"
<button *ngIf="datasetWizardModel.status == 0 || isNew" mat-raised-button [disabled]="!isSemiFormValid(formGroup)" class="saveButton" color="primary" (click)="save();"
type="button">{{ 'DATASET-WIZARD.ACTIONS.SAVE' | translate }}</button>
<button *ngIf="datasetWizardModel.status == 0 || isNew" mat-raised-button [disabled]="!formGroup.valid" class="finalizeButton" color="primary"
(click)="saveFinalize();"

View File

@ -146,6 +146,7 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr
this.datasetWizardModel.dmp = data;
this.formGroup = this.datasetWizardModel.buildForm();
this.editMode = this.datasetWizardModel.status === DatasetStatus.Draft;
this.formGroup.get('dmp').disable();
this.loadDatasetProfiles();
this.registerFormListeners();
@ -380,6 +381,16 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr
return this.formGroup.valid;
}
public isSemiFormValid(formGroup: FormGroup): boolean {
var isValid: boolean = true;
Object.keys(formGroup.controls).forEach( controlName => {
if (controlName != 'datasetProfileDefinition' && formGroup.get(controlName).invalid) {
isValid = false;
}
});
return isValid;
}
onSubmit(): void {
this.datasetWizardService.createDataset(this.formGroup.value)
.pipe(takeUntil(this._destroyed))