diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/forelderBarnRelasjon/ForelderBarnRelasjon.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/forelderBarnRelasjon/ForelderBarnRelasjon.tsx index ecf342db2fe..65f9589deef 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/forelderBarnRelasjon/ForelderBarnRelasjon.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/forelderBarnRelasjon/ForelderBarnRelasjon.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { useContext, useEffect } from 'react' +import { useContext, useEffect, useState } from 'react' import { SelectOptionsManager as Options } from '@/service/SelectOptions' import { FormDollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray' import { @@ -54,14 +54,27 @@ export const ForelderBarnRelasjonForm = ({ const antall = opts?.antall || 1 const identMaster = opts?.identMaster || 'PDLF' - const [erBarn, setErBarn] = React.useState( + const [erBarn, setErBarn] = useState( formMethods.watch(`${path}.relatertPersonsRolle`) === RELASJON_BARN, ) + const relatertPerson = 'relatertPerson' const nyRelatertPerson = 'nyRelatertPerson' const relatertPersonUtenFolkeregisteridentifikator = 'relatertPersonUtenFolkeregisteridentifikator' + const getRolle = () => { + const rolle = formMethods.watch(`${path}.relatertPersonsRolle`) + return forelderTyper.includes(rolle) ? RELASJON_FORELDER : RELASJON_BARN + } + + const [relatertPersonsRolle, setRelatertPersonsRolle] = useState(getRolle()) + + useEffect(() => { + setRelatertPersonsRolle(getRolle()) + setErBarn(formMethods.watch(`${path}.relatertPersonsRolle`) === RELASJON_BARN) + }, [formMethods.watch('pdldata.person.forelderBarnRelasjon')?.length]) + const handleChangeTypeForelderBarn = (target: Target, path: string) => { const forelderBarnRelasjon = formMethods.watch(path) const forelderBarnClone = _.cloneDeep(forelderBarnRelasjon) @@ -92,12 +105,6 @@ export const ForelderBarnRelasjonForm = ({ formMethods.trigger(path) } - const relatertPersonsRolle = forelderTyper.includes( - formMethods.watch(`${path}.relatertPersonsRolle`), - ) - ? RELASJON_FORELDER - : RELASJON_BARN - const id = formMethods.watch(`${path}.id`) const getForelderBarnType = () => { @@ -130,6 +137,7 @@ export const ForelderBarnRelasjonForm = ({
{ + setRelatertPersonsRolle(value) formMethods.setValue( path, value === RELASJON_BARN @@ -140,7 +148,7 @@ export const ForelderBarnRelasjonForm = ({ formMethods.trigger(path) }} size={'small'} - defaultValue={relatertPersonsRolle || RELASJON_BARN} + value={relatertPersonsRolle} style={{ backgroundColor: '#ffffff' }} > @@ -249,12 +257,20 @@ export const ForelderBarnRelasjon = ({ formMethods }: ForelderForm) => { const { identtype, identMaster, personFoerLeggTil } = useContext(BestillingsveilederContext) const initiellMaster = identMaster === 'PDL' || identtype === 'NPID' ? 'PDL' : 'FREG' + const handleRemoveEntry = (idx: number) => { + const forelderBarnListe = formMethods.watch('pdldata.person.forelderBarnRelasjon') + const filterForelderBarnListe = forelderBarnListe?.filter((_, index) => index !== idx) + formMethods.setValue('pdldata.person.forelderBarnRelasjon', filterForelderBarnListe) + formMethods.trigger('pdldata.person.forelderBarnRelasjon') + } + return ( {(path: string, idx: number) => { return ( diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/sivilstand/Sivilstand.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/sivilstand/Sivilstand.tsx index e1bfc3af61a..4737814d41c 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/sivilstand/Sivilstand.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/familierelasjoner/sivilstand/Sivilstand.tsx @@ -132,7 +132,7 @@ export const Sivilstand = ({ formMethods }: SivilstandFormTypes) => { const sivilstandListe = formMethods.watch('pdldata.person.sivilstand') const filterSivilstandListe = sivilstandListe?.filter((_, index) => index !== idx) formMethods.setValue('pdldata.person.sivilstand', filterSivilstandListe) - formMethods.trigger() + formMethods.trigger('pdldata.person.sivilstand') } return ( diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlEksisterendePerson.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlEksisterendePerson.tsx index 17227163e5e..bc94a0367f2 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlEksisterendePerson.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlEksisterendePerson.tsx @@ -116,7 +116,6 @@ export const PdlEksisterendePerson = ({ if (person.doedsfall) { return false } - if (label === 'PERSON RELATERT TIL') { // Sivilstand gift/samboer osv return person.alder > 17 && gyldigeSivilstanderForPartner.includes(person?.sivilstand) diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/skattekort/form/Form.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/skattekort/form/Form.tsx index 2ea6fb8d2b1..4a2c31e9119 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/skattekort/form/Form.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/skattekort/form/Form.tsx @@ -52,7 +52,7 @@ export const SkattekortForm = () => { const skattekortListe = formMethods.watch('skattekort.arbeidsgiverSkatt') const filterskattekortListe = skattekortListe?.filter((_, index) => index !== idx) formMethods.setValue('skattekort.arbeidsgiverSkatt', filterskattekortListe) - formMethods.trigger() + formMethods.trigger('skattekort.arbeidsgiverSkatt') } return (