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 {
|
export class DatasetInfoComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
@Input() formGroup: FormGroup = null;
|
@Input() formGroup: FormGroup = null;
|
||||||
|
// @Input() datasetFormGroup: FormGroup = null;
|
||||||
@Input() isUserOwner: boolean;
|
@Input() isUserOwner: boolean;
|
||||||
@Input() dmp: DmpEditorModel;
|
@Input() dmp: DmpEditorModel;
|
||||||
@Input() isPublic: boolean;
|
@Input() isPublic: boolean;
|
||||||
|
@ -84,7 +85,7 @@ export class DatasetInfoComponent extends BaseComponent implements OnInit {
|
||||||
this.formGroup.get('extraProperties').get('publicDate').patchValue(new Date());
|
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))
|
this.formGroup.get('datasets')['controls'][0].get('dmp').valueChanges.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
// this.registerFormListeners();
|
// this.registerFormListeners();
|
||||||
|
|
|
@ -46,6 +46,7 @@ import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/sing
|
||||||
import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
||||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
||||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
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({
|
@Component({
|
||||||
selector: 'app-dmp-editor-component',
|
selector: 'app-dmp-editor-component',
|
||||||
|
@ -67,6 +68,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
|
|
||||||
dmp: DmpEditorModel;
|
dmp: DmpEditorModel;
|
||||||
formGroup: FormGroup = null;
|
formGroup: FormGroup = null;
|
||||||
|
// datasetFormGroup: FormGroup;
|
||||||
formGroupRawValue: any;
|
formGroupRawValue: any;
|
||||||
datasetId: string = null;
|
datasetId: string = null;
|
||||||
datasets = new FormArray([]);
|
datasets = new FormArray([]);
|
||||||
|
@ -88,6 +90,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private dmpProfileService: DmpProfileService,
|
private dmpProfileService: DmpProfileService,
|
||||||
|
private datasetWizardService: DatasetWizardService,
|
||||||
private dmpService: DmpService,
|
private dmpService: DmpService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
|
@ -269,6 +272,7 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
this.dmp.extraProperties.visible = false;
|
this.dmp.extraProperties.visible = false;
|
||||||
this.dmp.extraProperties.contact = this.authService.current().id;
|
this.dmp.extraProperties.contact = this.authService.current().id;
|
||||||
const datasetWizardEditorModel = new DatasetWizardEditorModel();
|
const datasetWizardEditorModel = new DatasetWizardEditorModel();
|
||||||
|
// this.datasetFormGroup = datasetWizardEditorModel.buildForm();
|
||||||
|
|
||||||
// datasetWizardEditorModel.datasetProfileDefinition = new DatasetDescriptionFormEditorModel();
|
// datasetWizardEditorModel.datasetProfileDefinition = new DatasetDescriptionFormEditorModel();
|
||||||
this.dmp.datasets.push(datasetWizardEditorModel);
|
this.dmp.datasets.push(datasetWizardEditorModel);
|
||||||
|
@ -392,12 +396,21 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
|
|
||||||
formSubmit(showAddDatasetDialog?: boolean): void {
|
formSubmit(showAddDatasetDialog?: boolean): void {
|
||||||
this.formService.touchAllFormFields(this.formGroup);
|
this.formService.touchAllFormFields(this.formGroup);
|
||||||
|
if (this.isNewDataset) {
|
||||||
|
if (!this.isDatasetFormValid) {
|
||||||
|
this.showValidationErrorsDialog();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.onDatasetSubmit();
|
||||||
|
}
|
||||||
|
else {
|
||||||
if (!this.isFormValid()) {
|
if (!this.isFormValid()) {
|
||||||
this.showValidationErrorsDialog();
|
this.showValidationErrorsDialog();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.onSubmit(showAddDatasetDialog);
|
this.onSubmit(showAddDatasetDialog);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public isFormValid() {
|
public isFormValid() {
|
||||||
return this.formGroup.valid;
|
return this.formGroup.valid;
|
||||||
|
@ -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);
|
// (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) {
|
private showValidationErrorsDialog(projectOnly?: boolean) {
|
||||||
const dialogRef = this.dialog.open(FormValidationErrorsDialogComponent, {
|
const dialogRef = this.dialog.open(FormValidationErrorsDialogComponent, {
|
||||||
disableClose: true,
|
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 {
|
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);
|
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) {
|
if (id != null) {
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field *ngIf="isNewDataset">
|
<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]="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 [required]="true" [formControl]="formGroup" placeholder="{{'DATASET-EDITOR.FIELDS.SELECT-DMP' | translate}}" [configuration]="dmpAutoCompleteConfiguration">
|
||||||
</app-single-auto-complete> -->
|
</app-single-auto-complete> -->
|
||||||
|
|
|
@ -27,6 +27,7 @@ import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||||
export class MainInfoComponent extends BaseComponent implements OnInit {
|
export class MainInfoComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
@Input() formGroup: FormGroup = null;
|
@Input() formGroup: FormGroup = null;
|
||||||
|
// @Input() datasetFormGroup: FormGroup;
|
||||||
@Input() isNewVersion: boolean;
|
@Input() isNewVersion: boolean;
|
||||||
@Input() isNewDataset: boolean;
|
@Input() isNewDataset: boolean;
|
||||||
@Input() isUserOwner: 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.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))
|
this.formGroup.valueChanges.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
this.onFormChanged.emit();
|
this.onFormChanged.emit();
|
||||||
|
|
Loading…
Reference in New Issue