// export class DatasetWizardModel implements Serializable { // public id: String; // public label: String; // public previous: String; // public version: number; // public status: String; // public description: String; // public project: ProjectModel; // public organisations: OrganisationModel[] = []; // public researchers: ResearcherModel[] = []; // public errorModel: BaseErrorModel = new BaseErrorModel(); // fromJSONObject(item: any): DataManagementPlanModel { // this.id = item.id; // this.label = item.label; // this.previous = item.previous; // this.version = item.version; // this.status = item.status; // this.description = item.description; // this.project = new JsonSerializer().fromJSONObject(item.project, ProjectModel); // this.organisations = new JsonSerializer().fromJSONArray(item.organisations, OrganisationModel); // this.researchers = new JsonSerializer().fromJSONArray(item.researchers, ResearcherModel); // return this; // } // buildForm(context: ValidationContext = null, disabled: boolean = false): FormGroup { // if (context == null) { context = this.createValidationContext(); } // const formGroup = new FormBuilder().group({ // label: [{ value: this.label, disabled: disabled }, context.getValidation('label').validators], // previous: [{ value: this.previous, disabled: disabled }, context.getValidation('previous').validators], // version: [{ value: this.version, disabled: disabled }, context.getValidation('version').validators], // status: [{ value: this.status, disabled: disabled }, context.getValidation('status').validators], // description: [{ value: this.description, disabled: disabled }, context.getValidation('description').validators], // project: [{ value: this.project, disabled: disabled }, context.getValidation('project').validators], // organisations: [{ value: this.organisations, disabled: disabled }, context.getValidation('description').validators], // researchers: [{ value: this.researchers, disabled: disabled }, context.getValidation('researchers').validators], // }); // return formGroup; // } // createValidationContext(): ValidationContext { // const baseContext: ValidationContext = new ValidationContext(); // baseContext.validation.push({ key: 'label', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'label')] }); // baseContext.validation.push({ key: 'previous', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'previous')] }); // baseContext.validation.push({ key: 'version', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'version')] }); // baseContext.validation.push({ key: 'status', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'status')] }); // baseContext.validation.push({ key: 'description', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'description')] }); // baseContext.validation.push({ key: 'project', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'project')] }); // baseContext.validation.push({ key: 'organisations', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'organisations')] }); // baseContext.validation.push({ key: 'researchers', validators: [Validators.required, BackendErrorValidator(this.errorModel, 'researchers')] }); // return baseContext; // } // }