Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,51 @@ export const PdlVisning = ({
data={hentPerson}
tpsMessagingData={fagsystemData?.tpsMessaging}
tpsMessagingLoading={loading?.tpsMessaging}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<IdentInfo pdlResponse={hentIdenter} />
<Foedsel data={hentPerson} erPdlVisning />
<Doedsfall data={doedsfall} erPdlVisning />
<Foedsel
data={hentPerson}
pdlfData={pdlfPerson?.foedsel}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<Doedsfall
data={doedsfall}
pdlfData={pdlfPerson?.doedsfall}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<GeografiskTilknytning data={hentGeografiskTilknytning} />
<PdlNasjonalitet data={hentPerson} />
<PdlNasjonalitet
data={hentPerson}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<Telefonnummer data={telefonnummer} erPdlVisning />
<PdlVergemaal data={vergemaalEllerFremtidsfullmakt} />
<PdlFullmakt data={fullmakt} />
<PdlSikkerhetstiltak data={sikkerhetstiltak} />
<PdlFullmakt
data={fullmakt}
pdlfData={pdlfPerson?.fullmakt}
pdlfRelasjoner={fagsystemData?.pdlforvalter?.relasjoner}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<PdlSikkerhetstiltak
data={sikkerhetstiltak}
pdlfData={pdlfPerson?.sikkerhetstiltak}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<TilrettelagtKommunikasjon data={tilrettelagtKommunikasjon} />
<TpsMBankkonto
data={bankkontoData}
Expand Down Expand Up @@ -125,7 +160,13 @@ export const PdlVisning = ({
identtype={identtype}
erPdlVisning={miljoeVisning}
/>
<PdlRelasjoner data={hentPerson} />
<PdlRelasjoner
data={hentPerson}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<FalskIdentitet data={falskIdentitet} />
<UtenlandsId data={utenlandskIdentifikasjonsnummer} />
<KontaktinformasjonForDoedsbo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import { FullmaktData } from '@/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper'
import { FullmaktKodeverk } from '@/config/kodeverk'
import styled from 'styled-components'
import { FullmaktVisning } from '@/components/fagsystem/pdlf/visning/partials/Fullmakt'

type Data = {
data: FullmaktData
Expand All @@ -27,30 +28,59 @@ export const Visning = ({ data }: Data) => {
?.join(', ')

return (
<>
<div className="person-visning_content">
<ErrorBoundary>
<Omraader title="Områder" value={omraader} size={'full-width'} />
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Motparts personident" value={data.motpartsPersonident} visKopier />
<TitleValue title="Motparts rolle" value={data.motpartsRolle} />
</ErrorBoundary>
</div>
</>
<div className="person-visning_content">
<ErrorBoundary>
<Omraader title="Områder" value={omraader} size={'full-width'} />
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Motparts personident" value={data.motpartsPersonident} visKopier />
<TitleValue title="Motparts rolle" value={data.motpartsRolle} />
</ErrorBoundary>
</div>
)
}

export const PdlFullmakt = ({ data }: DataListe) => {
export const PdlFullmakt = ({
data,
pdlfData,
pdlfRelasjoner,
tmpPersoner,
ident,
erPdlVisning = false,
erRedigerbar = true,
}: DataListe) => {
if (!data || data.length === 0) {
return null
}

const fullmaktRelasjoner = pdlfRelasjoner?.filter(
(relasjon) => relasjon.relasjonType === 'FULLMEKTIG',
)

return (
<div>
<SubOverskrift label="Fullmakt" iconKind="fullmakt" />
{/* @ts-ignore */}
<DollyFieldArray data={data} nested>
{(fullmakt: FullmaktData) => <Visning data={fullmakt} />}
{(fullmakt: FullmaktData, idx: number) => {
const master = fullmakt?.metadata?.master
const pdlfElement = pdlfData?.find(
(element) => element.hendelseId === fullmakt?.metadata?.opplysningsId,
)
if (erRedigerbar && master !== 'FREG') {
return (
<FullmaktVisning
fullmaktData={pdlfElement || fullmakt}
idx={idx}
data={pdlfData || data}
tmpPersoner={tmpPersoner}
ident={ident}
relasjoner={fullmaktRelasjoner}
/>
)
}
return <Visning data={fullmakt} />
}}
</DollyFieldArray>
</div>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import { TpsMPersonInfo } from '@/components/fagsystem/pdl/visning/partials/tpsM
import _ from 'lodash'
import React from 'react'
import { ArrayHistorikk } from '@/components/ui/historikk/ArrayHistorikk'
import { getInitialNavn } from '@/components/fagsystem/pdlf/form/initialValues'
import { OpplysningSlettet } from '@/components/fagsystem/pdlf/visning/visningRedigerbar/OpplysningSlettet'
import VisningRedigerbarConnector from '@/components/fagsystem/pdlf/visning/visningRedigerbar/VisningRedigerbarConnector'

const getCurrentPersonstatus = (data) => {
if (data?.folkeregisterpersonstatus && data?.folkeregisterpersonstatus?.[0] !== null) {
Expand Down Expand Up @@ -36,12 +39,45 @@ const PdlNavnVisning = ({ data, showMaster }) => {
)
}

const NavnVisningRedigerbar = ({ data, idx, alleData, tmpPersoner, ident, identtype, master }) => {
const initNavn = Object.assign(_.cloneDeep(getInitialNavn()), alleData[idx])
const initialValues = { navn: initNavn }

const redigertNavnPdlf = _.get(tmpPersoner, `${ident}.person.navn`)?.find((a) => a.id === data.id)
const slettetNavnPdlf = tmpPersoner?.hasOwnProperty(ident) && !redigertNavnPdlf
if (slettetNavnPdlf) {
return <OpplysningSlettet />
}

const navnValues = redigertNavnPdlf ? redigertNavnPdlf : data
const redigertNavnValues = redigertNavnPdlf
? {
navn: Object.assign(_.cloneDeep(getInitialNavn()), redigertNavnPdlf),
}
: null
return (
<div className="person-visning_content">
<VisningRedigerbarConnector
dataVisning={<PdlNavnVisning data={navnValues} />}
initialValues={initialValues}
redigertAttributt={redigertNavnValues}
path="navn"
ident={ident}
identtype={identtype}
/>
</div>
)
}

export const PdlPersonInfo = ({
data,
tpsMessagingData,
tpsMessagingLoading = false,
visTittel = true,
pdlfData,
tmpPersoner = null,
ident,
identtype,
visTittel = true,
}) => {
if (!data) {
return null
Expand Down Expand Up @@ -82,8 +118,13 @@ export const PdlPersonInfo = ({
{(gyldigeNavn?.length > 1 || historiskeNavn?.length > 0) && (
<ArrayHistorikk
component={PdlNavnVisning}
componentRedigerbar={NavnVisningRedigerbar}
data={gyldigeNavn}
pdlfData={pdlfData?.navn}
historiskData={historiskeNavn}
tmpPersoner={tmpPersoner}
ident={ident}
identtype={identtype}
header="Navn"
showMaster={true}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import { formatDate } from '@/utils/DataFormatter'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import { SikkerhetstiltakData } from '@/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper'
import _ from 'lodash'
import { initialSikkerhetstiltak } from '@/components/fagsystem/pdlf/form/initialValues'
import { Person } from '@/components/fagsystem/pdlf/PdlTypes'
import { OpplysningSlettet } from '@/components/fagsystem/pdlf/visning/visningRedigerbar/OpplysningSlettet'
import VisningRedigerbarConnector from '@/components/fagsystem/pdlf/visning/visningRedigerbar/VisningRedigerbarConnector'
import React from 'react'

type Data = {
data: SikkerhetstiltakData
Expand All @@ -13,33 +19,104 @@ type DataListe = {
data: Array<SikkerhetstiltakData>
}

export const Visning = ({ data }: Data) => {
const SikkerhetstiltakLes = ({ data, idx }: Data) => {
return (
<>
<div className="person-visning_content">
<ErrorBoundary>
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Tiltakstype" value={data.tiltakstype} />
<TitleValue title="Beskrivelse" value={data.beskrivelse} />
<TitleValue title="Kontaktperson ident" value={data.kontaktperson.personident} />
<TitleValue title="NAV kontor" value={data.kontaktperson.enhet} />
</ErrorBoundary>
</div>
</>
<div className="person-visning_content" key={idx}>
<ErrorBoundary>
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Tiltakstype" value={data.tiltakstype} />
<TitleValue title="Beskrivelse" value={data.beskrivelse} />
<TitleValue title="Kontaktperson ident" value={data.kontaktperson.personident} />
<TitleValue title="NAV kontor" value={data.kontaktperson.enhet} />
</ErrorBoundary>
</div>
)
}

export const SikkerhetstiltakVisningRedigerbar = ({
sikkerhetstiltak,
idx,
tmpPersoner,
data,
erPdlVisning,
ident,
master,
}) => {
const initSikkerhetstiltak = Object.assign(_.cloneDeep(initialSikkerhetstiltak), data[idx])
const initialValues = { sikkerhetstiltak: initSikkerhetstiltak }

const redigertSikkerhetstiltakPdlf = _.get(tmpPersoner, `${ident}.person.sikkerhetstiltak`)?.find(
(a: Person) => a.id === sikkerhetstiltak.id,
)
const slettetSikkerhetstiltakPdlf =
tmpPersoner?.hasOwnProperty(ident) && !redigertSikkerhetstiltakPdlf
if (slettetSikkerhetstiltakPdlf) {
return <OpplysningSlettet />
}

const sikkerhetstiltakValues = redigertSikkerhetstiltakPdlf
? redigertSikkerhetstiltakPdlf
: sikkerhetstiltak
const redigertSikkerhetstiltaklValues = redigertSikkerhetstiltakPdlf
? {
sikkerhetstiltak: Object.assign(
_.cloneDeep(initSikkerhetstiltak),
redigertSikkerhetstiltakPdlf,
),
}
: null

return erPdlVisning ? (
<SikkerhetstiltakLes data={sikkerhetstiltak} idx={idx} />
) : (
<VisningRedigerbarConnector
dataVisning={<SikkerhetstiltakLes data={sikkerhetstiltakValues} idx={idx} />}
initialValues={initialValues}
redigertAttributt={redigertSikkerhetstiltaklValues}
path="sikkerhetstiltak"
ident={ident}
master={master}
/>
)
}

export const PdlSikkerhetstiltak = ({ data }: DataListe) => {
export const PdlSikkerhetstiltak = ({
data,
pdlfData,
tmpPersoner,
ident,
erPdlVisning,
}: DataListe) => {
if (!data || data.length === 0) {
return null
}

return (
<div>
<SubOverskrift label="Sikkerhetstiltak" iconKind="sikkerhetstiltak" />
{/* @ts-ignore */}
<DollyFieldArray data={data} nested>
{(sikkerhetstiltak: SikkerhetstiltakData) => <Visning data={sikkerhetstiltak} />}
{(sikkerhetstiltak: SikkerhetstiltakData, idx: number) => {
const master = sikkerhetstiltak?.metadata?.master
const pdlfElement = pdlfData?.find(
(element) => element.hendelseId === sikkerhetstiltak?.metadata?.opplysningsId,
)
if (!erPdlVisning && master !== 'FREG') {
return (
<SikkerhetstiltakVisningRedigerbar
sikkerhetstiltak={pdlfElement || sikkerhetstiltak}
idx={idx}
data={pdlfData || data}
tmpPersoner={tmpPersoner}
ident={ident}
erPdlVisning={erPdlVisning}
master={master}
/>
)
}
return <SikkerhetstiltakLes data={sikkerhetstiltak} />
}}
</DollyFieldArray>
</div>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,16 @@ type NasjonalitetProps = {
visTittel?: boolean
}

export const PdlNasjonalitet = ({ data, visTittel = true }: NasjonalitetProps) => {
export const PdlNasjonalitet = ({
data,
pdlfData,
tmpPersoner,
ident,
identtype,
visTittel = true,
}: NasjonalitetProps) => {
const { statsborgerskap, innflyttingTilNorge, utflyttingFraNorge } = data
const statsborgerskapPdlf = pdlfData?.statsborgerskap
if (
statsborgerskap?.length < 1 &&
innflyttingTilNorge?.length < 1 &&
Expand All @@ -22,7 +30,13 @@ export const PdlNasjonalitet = ({ data, visTittel = true }: NasjonalitetProps) =
return (
<div>
{visTittel && <SubOverskrift label="Nasjonalitet" iconKind="nasjonalitet" />}
<PdlStatsborgerskap statsborgerskapListe={statsborgerskap} />
<PdlStatsborgerskap
statsborgerskapListe={statsborgerskap}
pdlfData={statsborgerskapPdlf}
tmpPersoner={tmpPersoner}
ident={ident}
identtype={identtype}
/>
<PdlInnflytting innflytting={innflyttingTilNorge} />
<PdlUtflytting utflytting={utflyttingFraNorge} />
</div>
Expand Down
Loading