From 3f214d9726e17cd204acae8a4ef95749260b3c9a Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Wed, 16 Oct 2024 13:44:53 +0300 Subject: [PATCH] RED-10139: moved formToSignal functions to common. Future refactoring purposes. --- src/lib/utils/functions.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/utils/functions.ts b/src/lib/utils/functions.ts index 6ddba74..da533ac 100644 --- a/src/lib/utils/functions.ts +++ b/src/lib/utils/functions.ts @@ -1,9 +1,10 @@ import { inject } from '@angular/core'; -import { UntypedFormGroup } from '@angular/forms'; +import { AbstractControl, UntypedFormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import dayjs, { type Dayjs } from 'dayjs'; import { forOwn, has, isEqual, isPlainObject, transform } from 'lodash-es'; import { Id, ITrackable } from '../listing/models/trackable'; +import { toSignal } from '@angular/core/rxjs-interop'; export function capitalize(value: string | string): string { if (!value) { @@ -330,3 +331,11 @@ export function getParamFromDialog(param: string, activatedRoute = inject(Activa return getParam(param, getLastChild(activatedRoute.root)); } + +export function formValueToSignal(control: AbstractControl) { + return toSignal(control.valueChanges, { initialValue: control.value }); +} + +export function formStatusToSignal(control: AbstractControl) { + return toSignal(control.statusChanges, { initialValue: control.status }); +}