From 7838cbef5b5f3f8d092743a6a5dd785cf4ec04ea Mon Sep 17 00:00:00 2001 From: Aleksei Poroshin Date: Mon, 7 Oct 2024 16:40:42 +0200 Subject: [PATCH] La til barnetHarIkkeFnr for PP sykt barn --- .../src/app/i18n/appMessages.ts | 1 + .../dokument-type-step/AnnetBarnPart.tsx | 37 +++++++++++++++---- .../src/app/types/SoknadFormData.ts | 2 + 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/apps/sif-ettersending/src/app/i18n/appMessages.ts b/apps/sif-ettersending/src/app/i18n/appMessages.ts index e0530af191..7c624e9257 100644 --- a/apps/sif-ettersending/src/app/i18n/appMessages.ts +++ b/apps/sif-ettersending/src/app/i18n/appMessages.ts @@ -93,6 +93,7 @@ const nb = { 'step.dokumentType.annetBarn.tittel': 'Annet barn', 'step.dokumentType.annetBarn.fnr.spm': 'Barnets fødselsnummer/D-nummer', 'step.dokumentType.annetBarn.fnr.spm.description': 'Vi må vite dette for å koble dokumentet til rett sak', + 'steg.dokumentType.annetBarn.fnr.barnHarIkkeFnr': 'Barnet har ikke fødselsnummer/D-nummer', 'step.dokumentType.dokumentType.ANNET': 'Annet', 'step.dokumentType.annet.info.1': 'Har vi etterspurt mer dokumentasjon fra deg?', 'step.dokumentType.annet.info.2': diff --git a/apps/sif-ettersending/src/app/soknad/dokument-type-step/AnnetBarnPart.tsx b/apps/sif-ettersending/src/app/soknad/dokument-type-step/AnnetBarnPart.tsx index 595d1c0d5a..7f1624b1dd 100644 --- a/apps/sif-ettersending/src/app/soknad/dokument-type-step/AnnetBarnPart.tsx +++ b/apps/sif-ettersending/src/app/soknad/dokument-type-step/AnnetBarnPart.tsx @@ -1,11 +1,13 @@ import { Heading } from '@navikt/ds-react'; import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block'; -import { SkjemagruppeQuestion } from '@navikt/sif-common-formik-ds/src'; +import { resetFieldValue, SkjemagruppeQuestion } from '@navikt/sif-common-formik-ds/src'; import { getFødselsnummerValidator } from '@navikt/sif-common-formik-ds/src/validation'; import { useAppIntl } from '../../i18n'; -import { SoknadFormField } from '../../types/SoknadFormData'; +import { SoknadFormData, SoknadFormField } from '../../types/SoknadFormData'; import SoknadFormComponents from '../SoknadFormComponents'; import { isDevMode } from '@navikt/sif-common-core-ds/src/utils/envUtils'; +import FormBlock from '@navikt/sif-common-core-ds/src/atoms/form-block/FormBlock'; +import { useFormikContext } from 'formik'; interface Props { søkersFødselsnummer: string; @@ -15,6 +17,11 @@ interface Props { const AnnetBarnPart = ({ søkersFødselsnummer, harRegistrerteBarn }: Props) => { const { text } = useAppIntl(); + const { + values: { barnetHarIkkeFnr }, + setFieldValue, + } = useFormikContext(); + return ( !harRegistrerteBarn ? text('step.dokumentType.annetBarn.fnr.spm.description') : undefined } name={SoknadFormField.barnetsFødselsnummer} - validate={getFødselsnummerValidator({ - required: true, - allowHnr: isDevMode, - disallowedValues: [søkersFødselsnummer], - })} + validate={ + !barnetHarIkkeFnr + ? getFødselsnummerValidator({ + required: true, + allowHnr: isDevMode, + disallowedValues: [søkersFødselsnummer], + }) + : undefined + } width="xl" type="tel" maxLength={11} + disabled={barnetHarIkkeFnr} /> + + { + if (newValue) { + resetFieldValue(SoknadFormField.barnetsFødselsnummer, setFieldValue, ''); + } + }} + /> + ); diff --git a/apps/sif-ettersending/src/app/types/SoknadFormData.ts b/apps/sif-ettersending/src/app/types/SoknadFormData.ts index c142654da1..7462332a91 100644 --- a/apps/sif-ettersending/src/app/types/SoknadFormData.ts +++ b/apps/sif-ettersending/src/app/types/SoknadFormData.ts @@ -16,6 +16,7 @@ export enum SoknadFormField { valgteRegistrertBarn = 'valgteRegistrertBarn', gjelderEtAnnetBarn = 'gjelderEtAnnetBarn', barnetsFødselsnummer = 'barnetsFødselsnummer', + barnetHarIkkeFnr = 'barnetHarIkkeFnr', beskrivelse = 'beskrivelse', ytelse = 'ytelse', dokumenter = 'dokumenter', @@ -29,6 +30,7 @@ export interface SoknadFormData { [SoknadFormField.valgteRegistrertBarn]?: RegistrertBarnFormData; [SoknadFormField.gjelderEtAnnetBarn]?: boolean; [SoknadFormField.barnetsFødselsnummer]?: string; + [SoknadFormField.barnetHarIkkeFnr]?: boolean; [SoknadFormField.beskrivelse]?: string; [SoknadFormField.ytelse]?: YtelseKey; [SoknadFormField.dokumenter]: Attachment[];