diff --git a/dmp-frontend/src/app/core/model/dataset-profile-definition/field.ts b/dmp-frontend/src/app/core/model/dataset-profile-definition/field.ts index 93e74cab1..d3168db86 100644 --- a/dmp-frontend/src/app/core/model/dataset-profile-definition/field.ts +++ b/dmp-frontend/src/app/core/model/dataset-profile-definition/field.ts @@ -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; validationRequired; validationURL; + ordinal: number; } diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts index fdd38822c..f13cd9493 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts @@ -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; 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();