import { BaseErrorModel } from '../error/BaseErrorModel'; import { BackendErrorValidator } from '../../utilities/validators/BackendErrorValidator'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { ValidationContext } from '../../utilities/validators/ValidationContext'; import { Serializable } from "../Serializable"; export class DatasetProfileModel implements Serializable { public id: String; public errorModel: BaseErrorModel = new BaseErrorModel(); fromJSONObject(item: any): DatasetProfileModel { this.id = item.id; return this; } buildForm(context: ValidationContext = null, disabled: boolean = false): FormGroup { if (context == null) { context = this.createValidationContext(); } const formGroup = new FormBuilder().group({ id: [{ value: this.id, disabled: disabled }, context.getValidation('id').validators] }); return formGroup; } createValidationContext(): ValidationContext { const baseContext: ValidationContext = new ValidationContext(); baseContext.validation.push({ key: 'id', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'id')] }); return baseContext; } }