Fix critical issue with dataset saving
This commit is contained in:
parent
65b4e58aad
commit
3c00d47407
|
@ -12,7 +12,7 @@ export interface Field {
|
|||
description: string;
|
||||
numbering: string;
|
||||
extendedDescription: string;
|
||||
additionalInformation:string;
|
||||
additionalInformation: string;
|
||||
viewStyle: ViewStyle;
|
||||
defaultVisibility: boolean;
|
||||
page: number;
|
||||
|
@ -22,4 +22,5 @@ export interface Field {
|
|||
validations: Array<ValidationType>;
|
||||
validationRequired;
|
||||
validationURL;
|
||||
ordinal: number;
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
import {FormBuilder, FormControl, FormGroup, ValidatorFn, Validators} from "@angular/forms";
|
||||
import {Guid} from '@common/types/guid';
|
||||
import {ValidationType, ValidatorURL} from "../../../core/common/enum/validation-type";
|
||||
import {BaseFormModel} from "../../../core/model/base-form-model";
|
||||
import {CompositeField} from "../../../core/model/dataset-profile-definition/composite-field";
|
||||
import {DatasetProfileDefinitionModel} from "../../../core/model/dataset-profile-definition/dataset-profile-definition";
|
||||
import {DefaultValue} from "../../../core/model/dataset-profile-definition/default-value";
|
||||
import {Field} from "../../../core/model/dataset-profile-definition/field";
|
||||
import {Multiplicity} from "../../../core/model/dataset-profile-definition/multiplicity";
|
||||
import {Page} from "../../../core/model/dataset-profile-definition/page";
|
||||
import {Rule} from "../../../core/model/dataset-profile-definition/rule";
|
||||
import {Section} from "../../../core/model/dataset-profile-definition/section";
|
||||
import {ViewStyle} from "../../../core/model/dataset-profile-definition/view-style";
|
||||
import {BackendErrorValidator} from '@common/forms/validation/custom-validator';
|
||||
import {ValidationErrorModel} from '@common/forms/validation/error-model/validation-error-model';
|
||||
import { FormBuilder, FormControl, FormGroup, ValidatorFn, Validators } from "@angular/forms";
|
||||
import { Guid } from '@common/types/guid';
|
||||
import { ValidationType, ValidatorURL } from "../../../core/common/enum/validation-type";
|
||||
import { BaseFormModel } from "../../../core/model/base-form-model";
|
||||
import { CompositeField } from "../../../core/model/dataset-profile-definition/composite-field";
|
||||
import { DatasetProfileDefinitionModel } from "../../../core/model/dataset-profile-definition/dataset-profile-definition";
|
||||
import { DefaultValue } from "../../../core/model/dataset-profile-definition/default-value";
|
||||
import { Field } from "../../../core/model/dataset-profile-definition/field";
|
||||
import { Multiplicity } from "../../../core/model/dataset-profile-definition/multiplicity";
|
||||
import { Page } from "../../../core/model/dataset-profile-definition/page";
|
||||
import { Rule } from "../../../core/model/dataset-profile-definition/rule";
|
||||
import { Section } from "../../../core/model/dataset-profile-definition/section";
|
||||
import { ViewStyle } from "../../../core/model/dataset-profile-definition/view-style";
|
||||
import { BackendErrorValidator } from '@common/forms/validation/custom-validator';
|
||||
import { ValidationErrorModel } from '@common/forms/validation/error-model/validation-error-model';
|
||||
|
||||
export class DatasetDescriptionFormEditorModel extends BaseFormModel {
|
||||
|
||||
|
@ -64,7 +64,7 @@ export class DatasetDescriptionPageEditorModel extends BaseFormModel {
|
|||
});
|
||||
formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray));
|
||||
formGroup.addControl('title', new FormControl({ value: this.title, disabled: true }));
|
||||
formGroup.addControl('ordinal', new FormControl({value:this.ordinal, disabled:true}));
|
||||
formGroup.addControl('ordinal', new FormControl({ value: this.ordinal, disabled: true }));
|
||||
return formGroup;
|
||||
}
|
||||
}
|
||||
|
@ -194,17 +194,17 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel {
|
|||
// return newItem;
|
||||
// }
|
||||
|
||||
cloneForMultiplicity(item: CompositeField, ordinal: number, idMappings:{old:string, new:string}[] = []): DatasetDescriptionCompositeFieldEditorModel {
|
||||
cloneForMultiplicity(item: CompositeField, ordinal: number, idMappings: { old: string, new: string }[] = []): DatasetDescriptionCompositeFieldEditorModel {
|
||||
const newItem: DatasetDescriptionCompositeFieldEditorModel = new DatasetDescriptionCompositeFieldEditorModel();
|
||||
newItem.id = 'multiple_' + item.id + '_' + Guid.create() + '_' + ordinal;
|
||||
|
||||
idMappings.push({old: item.id, new: newItem.id });
|
||||
idMappings.push({ old: item.id, new: newItem.id });
|
||||
item.fields.forEach((field, index) => {
|
||||
|
||||
const clonedItem = new DatasetDescriptionFieldEditorModel().cloneForMultiplicity(field, newItem.id)
|
||||
newItem.fields.push(clonedItem);
|
||||
|
||||
idMappings.push({old: field.id, new: clonedItem.id});
|
||||
idMappings.push({ old: field.id, new: clonedItem.id });
|
||||
});
|
||||
newItem.ordinal = ordinal;
|
||||
return newItem;
|
||||
|
@ -230,9 +230,11 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
|
|||
public validations: Array<ValidationType>;
|
||||
public validationRequired = false;
|
||||
public validationURL = false;
|
||||
public ordinal: number;
|
||||
|
||||
fromModel(item: Field): DatasetDescriptionFieldEditorModel {
|
||||
this.id = item.id;
|
||||
this.ordinal = item.ordinal;
|
||||
this.title = item.title;
|
||||
this.numbering = item.numbering;
|
||||
this.description = item.description;
|
||||
|
@ -256,16 +258,16 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
|
|||
this.validations.forEach(validation => {
|
||||
if (validation === ValidationType.Required) {
|
||||
this.validationRequired = true;
|
||||
} else if(validation === ValidationType.URL) {
|
||||
} else if (validation === ValidationType.URL) {
|
||||
this.validationURL = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
let validators: any[] = [];
|
||||
if(this.validationRequired) {
|
||||
if (this.validationRequired) {
|
||||
validators.push(Validators.required)
|
||||
}
|
||||
if(this.validationURL) {
|
||||
if (this.validationURL) {
|
||||
validators.push(ValidatorURL.validator);
|
||||
}
|
||||
const formGroup = this.formBuilder.group({
|
||||
|
@ -280,6 +282,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
|
|||
additionalInformation: [{ value: this.additionalInformation, disabled: true }],
|
||||
title: [{ value: this.title, disabled: true }],
|
||||
defaultValue: [{ value: this.defaultValue, disabled: true }],
|
||||
ordinal: [{ value: this.ordinal, disabled: true }]
|
||||
});
|
||||
|
||||
const multiplicityItemsFormArray = new Array<FormGroup>();
|
||||
|
|
Loading…
Reference in New Issue