import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type'; import { OrganizationModel } from '@app/core/model/organisation/organization'; import { UserListingModel } from '@app/core/model/user/user-listing'; export class UserProfileEditorModel { public id: String; public name: String; public language: any; public culture: any; public timezone: String; public organization: OrganizationModel; public roleOrganization: RoleOrganizationType; fromModel(item: UserListingModel): UserProfileEditorModel { this.id = item.id; this.name = item.name; this.language = item.language; this.timezone = item.timezone; this.culture = item.culture; this.organization = item.organization; this.roleOrganization = item.roleOrganization; return this; } buildForm(availableLanguages: any[]): UntypedFormGroup { const formGroup = new UntypedFormBuilder().group({ id: new UntypedFormControl(this.id), name: new UntypedFormControl(this.name), language: new UntypedFormControl(this.language ? availableLanguages.filter(x => x.value === this.language.value).pop() : '', [Validators.required]), timezone: new UntypedFormControl(this.timezone, [Validators.required]), culture: new UntypedFormControl(this.culture, [Validators.required]), organization: new UntypedFormControl(this.organization), roleOrganization: new UntypedFormControl(this.roleOrganization), }); return formGroup; } }