Fixes save new dataset
This commit is contained in:
parent
15d2958c95
commit
404632a337
|
@ -32,6 +32,7 @@ import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
|||
export class DatasetInfoComponent extends BaseComponent implements OnInit {
|
||||
|
||||
@Input() formGroup: FormGroup = null;
|
||||
// @Input() datasetFormGroup: FormGroup = null;
|
||||
@Input() isUserOwner: boolean;
|
||||
@Input() dmp: DmpEditorModel;
|
||||
@Input() isPublic: boolean;
|
||||
|
@ -84,7 +85,7 @@ export class DatasetInfoComponent extends BaseComponent implements OnInit {
|
|||
this.formGroup.get('extraProperties').get('publicDate').patchValue(new Date());
|
||||
}
|
||||
|
||||
|
||||
// this.datasetFormGroup.get('dmp').valueChanges.pipe(takeUntil(this._destroyed))
|
||||
this.formGroup.get('datasets')['controls'][0].get('dmp').valueChanges.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => {
|
||||
// this.registerFormListeners();
|
||||
|
|
|
@ -46,6 +46,7 @@ import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/sing
|
|||
import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dmp-editor-component',
|
||||
|
@ -67,6 +68,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
|
||||
dmp: DmpEditorModel;
|
||||
formGroup: FormGroup = null;
|
||||
// datasetFormGroup: FormGroup;
|
||||
formGroupRawValue: any;
|
||||
datasetId: string = null;
|
||||
datasets = new FormArray([]);
|
||||
|
@ -88,6 +90,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
|
||||
constructor(
|
||||
private dmpProfileService: DmpProfileService,
|
||||
private datasetWizardService: DatasetWizardService,
|
||||
private dmpService: DmpService,
|
||||
private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
|
@ -269,6 +272,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
this.dmp.extraProperties.visible = false;
|
||||
this.dmp.extraProperties.contact = this.authService.current().id;
|
||||
const datasetWizardEditorModel = new DatasetWizardEditorModel();
|
||||
// this.datasetFormGroup = datasetWizardEditorModel.buildForm();
|
||||
|
||||
// datasetWizardEditorModel.datasetProfileDefinition = new DatasetDescriptionFormEditorModel();
|
||||
this.dmp.datasets.push(datasetWizardEditorModel);
|
||||
|
@ -392,11 +396,20 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
|
||||
formSubmit(showAddDatasetDialog?: boolean): void {
|
||||
this.formService.touchAllFormFields(this.formGroup);
|
||||
if (!this.isFormValid()) {
|
||||
this.showValidationErrorsDialog();
|
||||
return;
|
||||
if (this.isNewDataset) {
|
||||
if (!this.isDatasetFormValid) {
|
||||
this.showValidationErrorsDialog();
|
||||
return;
|
||||
}
|
||||
this.onDatasetSubmit();
|
||||
}
|
||||
else {
|
||||
if (!this.isFormValid()) {
|
||||
this.showValidationErrorsDialog();
|
||||
return;
|
||||
}
|
||||
this.onSubmit(showAddDatasetDialog);
|
||||
}
|
||||
this.onSubmit(showAddDatasetDialog);
|
||||
}
|
||||
|
||||
public isFormValid() {
|
||||
|
@ -406,6 +419,10 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
// (this.formGroup.get('grant').get('label').valid || this.formGroup.get('grant').get('existGrant').valid);
|
||||
}
|
||||
|
||||
public isDatasetFormValid() {
|
||||
return this.formGroup.get('datasets')['controls'][0].valid;
|
||||
}
|
||||
|
||||
private showValidationErrorsDialog(projectOnly?: boolean) {
|
||||
const dialogRef = this.dialog.open(FormValidationErrorsDialogComponent, {
|
||||
disableClose: true,
|
||||
|
@ -449,6 +466,17 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
|||
|
||||
}
|
||||
|
||||
onDatasetSubmit(): void {
|
||||
this.datasetWizardService.createDataset(this.formGroup.get('datasets')['controls'][0].getRawValue())
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(
|
||||
data => {
|
||||
this.onCallbackSuccess(this.formGroup.get('datasets')['controls'][0].get('id').value);
|
||||
},
|
||||
error => this.onCallbackError(error)
|
||||
);
|
||||
}
|
||||
|
||||
onCallbackSuccess(id?: String, datasetId?: string): void {
|
||||
this.uiNotificationService.snackBarNotification(this.isNew ? this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-CREATION') : this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-UPDATE'), SnackBarNotificationLevel.Success);
|
||||
if (id != null) {
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="isNewDataset">
|
||||
<!-- <app-single-auto-complete [required]="true" [formControl]="this.datasetFormGroup.get('dmp')" placeholder="{{'DATASET-EDITOR.FIELDS.SELECT-DMP' | translate}}" [configuration]="dmpAutoCompleteConfiguration"></app-single-auto-complete> -->
|
||||
<app-single-auto-complete [required]="true" [formControl]="this.formGroup.get('datasets')['controls'][0].get('dmp')" placeholder="{{'DATASET-EDITOR.FIELDS.SELECT-DMP' | translate}}" [configuration]="dmpAutoCompleteConfiguration"></app-single-auto-complete>
|
||||
<!-- <app-single-auto-complete [required]="true" [formControl]="formGroup" placeholder="{{'DATASET-EDITOR.FIELDS.SELECT-DMP' | translate}}" [configuration]="dmpAutoCompleteConfiguration">
|
||||
</app-single-auto-complete> -->
|
||||
|
|
|
@ -27,6 +27,7 @@ import { DmpService } from '@app/core/services/dmp/dmp.service';
|
|||
export class MainInfoComponent extends BaseComponent implements OnInit {
|
||||
|
||||
@Input() formGroup: FormGroup = null;
|
||||
// @Input() datasetFormGroup: FormGroup;
|
||||
@Input() isNewVersion: boolean;
|
||||
@Input() isNewDataset: boolean;
|
||||
@Input() isUserOwner: boolean;
|
||||
|
@ -83,7 +84,6 @@ export class MainInfoComponent extends BaseComponent implements OnInit {
|
|||
this.formGroup.get('extraProperties').get('publicDate').patchValue(new Date());
|
||||
}
|
||||
|
||||
// this.formControl = this.formGroup.get('datasets')['controls'][0].get('dmp');
|
||||
this.formGroup.valueChanges.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => {
|
||||
this.onFormChanged.emit();
|
||||
|
|
Loading…
Reference in New Issue