diff --git a/.github/workflows/dev-next1-deploy.yml b/.github/workflows/dev-next1-deploy.yml index 782e979659..e2adc57ae5 100644 --- a/.github/workflows/dev-next1-deploy.yml +++ b/.github/workflows/dev-next1-deploy.yml @@ -35,8 +35,6 @@ jobs: with: additional-tag: 'dev-next1' without_navikt_prefix: true - project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }} - identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} push-image: true - name: Deploy to nais uses: nais/deploy/actions/deploy@v2 diff --git a/ignored-error-codes.json b/ignored-error-codes.json index f508bf27f6..ee598a829e 100644 --- a/ignored-error-codes.json +++ b/ignored-error-codes.json @@ -27,6 +27,5 @@ "TS2769", "TS2783", "TS2786", - "TS2790", - "TS2845" + "TS2790" ] diff --git a/loosely-type-checked-files.json b/loosely-type-checked-files.json index d757efc599..6d1edf5532 100644 --- a/loosely-type-checked-files.json +++ b/loosely-type-checked-files.json @@ -42,9 +42,7 @@ "packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.spec.tsx", "packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.tsx", "packages/behandling-opplaeringspenger/src/BehandlingOpplaeringspengerIndex.tsx", - "packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts", "packages/behandling-opplaeringspenger/src/components/OmsorgenFor.tsx", - "packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx", "packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.tsx", "packages/behandling-opplaeringspenger/src/components/OpplaeringspengerPaneler.tsx", "packages/behandling-opplaeringspenger/src/components/OpplaeringspengerProsess.tsx", @@ -152,8 +150,6 @@ "packages/fakta-inntektsmelding/src/util/utils.ts", "packages/fakta-inntektsmelding/test/Aksjonspunkt9069.spec.tsx", "packages/fakta-inntektsmelding/test/Aksjonspunkt9071.spec.tsx", - "packages/fakta-institusjon/src/InstitusjonForm.tsx", - "packages/fakta-institusjon/src/InstitusjonOversikt.tsx", "packages/fakta-medisinsk-vilkår/mock/apiUtils.ts", "packages/fakta-medisinsk-vilkår/mock/handlers.ts", "packages/fakta-medisinsk-vilkår/mock/mocked-data/createMockedDokumentelementLinks.ts", @@ -221,7 +217,6 @@ "packages/fakta-medisinsk-vilkår/src/ui/components/vurderingsoversikt-sluttfase-messages/VurderingsoversiktSluttfaseMessages.tsx", "packages/fakta-medisinsk-vilkår/src/ui/components/write-access-bound-content/WriteAccessBoundContent.tsx", "packages/fakta-medisinsk-vilkår/src/ui/context/DiagnosekodeContext.ts", - "packages/fakta-medisinsk-vilkår/src/ui/form/pure/PureDiagnosekodeSelector.tsx", "packages/fakta-medisinsk-vilkår/src/ui/form/validators/__tests__/validators.spec.ts", "packages/fakta-medisinsk-vilkår/src/util/dokumentUtils.ts", "packages/fakta-medisinsk-vilkår/src/util/linkUtils.ts", @@ -254,14 +249,6 @@ "packages/fakta-omsorgen-for/src/ui/components/write-access-bound-content/WriteAccessBoundContent.tsx", "packages/fakta-omsorgen-for/src/ui/reducer.ts", "packages/fakta-omsorgen-for/src/util/hooks.ts", - "packages/fakta-opplaering/src/OpplaeringContainer.tsx", - "packages/fakta-opplaering/src/components/DokumenterIVurderingen.tsx", - "packages/fakta-opplaering/src/components/rangeDatepicker/RangeDatepicker.tsx", - "packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringForm.tsx", - "packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt.tsx", - "packages/fakta-opplaering/src/noedvendighet/NoedvendighetForm.tsx", - "packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx", - "packages/fakta-opplaering/src/reisetid/ReisetidOversikt.tsx", "packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurdering.stories.tsx", "packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurderingForm.tsx", "packages/fakta-opptjening-oms/src/OpptjeningFaktaIndex.stories.tsx", diff --git a/packages/behandling-opplaeringspenger/package.json b/packages/behandling-opplaeringspenger/package.json index 91cbdb3c5f..5b05ae2225 100644 --- a/packages/behandling-opplaeringspenger/package.json +++ b/packages/behandling-opplaeringspenger/package.json @@ -21,7 +21,6 @@ "@k9-sak-web/behandling-felles": "1.0.0", "@k9-sak-web/fakta-etablert-tilsyn": "1.0.0", "@k9-sak-web/fakta-inntektsmelding": "1.0.0", - "@k9-sak-web/fakta-institusjon": "1.0.0", "@k9-sak-web/fakta-medisinsk-vilkar": "1.0.0", "@k9-sak-web/fakta-om-barnet": "1.0.0", "@k9-sak-web/fakta-omsorgen-for": "1.0.0", diff --git a/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts b/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts deleted file mode 100644 index 2f1d768759..0000000000 --- a/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; - -import { ReisetidVurdering } from '@k9-sak-web/fakta-opplaering/src/reisetid/ReisetidTypes'; -import { - Aksjonspunkt, - GjennomgaaOpplaeringVurdering, - NoedvendighetPerioder, - NoedvendighetVurdering, - Periode, -} from '@k9-sak-web/types'; -import Dokument from '@k9-sak-web/types/src/sykdom/Dokument'; - -export const FaktaOpplaeringContext = React.createContext(null); - -export interface FaktaOpplaeringContextTypes { - aksjonspunkter: Aksjonspunkt[]; - readOnly: boolean; - løsAksjonspunktGjennomgåOpplæring: (v: any) => void; - løsAksjonspunktNødvendighet: (v: any) => void; - løsAksjonspunktReisetid: (v: any) => void; - nødvendigOpplæring: { - vurderinger: NoedvendighetVurdering[]; - perioder: NoedvendighetPerioder[]; - }; - opplaeringDokumenter: Dokument[]; - reisetid: { - perioder: { - opplæringsperiode: Periode; - }[]; - vurderinger: ReisetidVurdering[]; - }; - gjennomgåttOpplæring: { - vurderinger: GjennomgaaOpplaeringVurdering[]; - }; -} diff --git a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx deleted file mode 100644 index 8d16a280fa..0000000000 --- a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import React from 'react'; - -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; -import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; -import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; -import { Behandling, Fagsak } from '@k9-sak-web/types'; - -import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; -import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; -import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; -import { act, screen } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; -import { - OpplaeringspengerBehandlingApiKeys, - requestOpplaeringspengerApi, -} from '../data/opplaeringspengerBehandlingApi'; -import FetchedData from '../types/fetchedDataTsType'; -import OpplaeringspengerFakta from './OpplaeringspengerFakta'; - -describe('', () => { - const fagsak = { - saksnummer: '123456', - sakstype: fagsakYtelsesType.PLEIEPENGER_SYKT_BARN, // FAGSAK_YTELSE - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; - const fagsakPerson = { - alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, - erDod: false, - erKvinne: true, - navn: 'Espen Utvikler', - personnummer: '12345', - }; - const behandling = { - id: 1, - versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, - behandlingPåVent: false, - taskStatus: { - readOnly: false, - }, - stegTilstand: { - stegType: { - kode: '', - }, - }, - behandlingHenlagt: false, - links: [], - }; - const rettigheter = { - writeAccess: { - isEnabled: true, - employeeHasAccess: true, - }, - kanOverstyreAccess: { - isEnabled: true, - employeeHasAccess: true, - }, - }; - const aksjonspunkter = [ - { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, - kanLoses: true, - erAktivt: true, - }, - ]; - const vilkar = []; - const arbeidsforhold = { - skalKunneLeggeTilNyeArbeidsforhold: true, - skalKunneLageArbeidsforholdBasertPaInntektsmelding: true, - relatertTilgrensendeYtelserForAnnenForelder: [], - }; - - const soker = { - navn: 'Espen Utvikler', - aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, - avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', - }, - adresser: [ - { - adresselinje1: 'Vei 1', - postNummer: '1000', - poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, - }, - ], - barn: [], - }; - - const arbeidsgiverOpplysningerPerId = { - 123: { - erPrivatPerson: false, - identifikator: 'testId', - navn: 'testNavn', - arbeidsforholdreferanser: [], - }, - }; - - beforeAll(() => { - requestOpplaeringspengerApi.mock(OpplaeringspengerBehandlingApiKeys.ARBEIDSFORHOLD, arbeidsforhold); - }); - - it('skal rendre faktapaneler og sidemeny korrekt', () => { - const fetchedData: Partial = { - aksjonspunkter, - vilkar, - personopplysninger: soker, - }; - - renderWithIntlAndReduxForm( - - - , - ); - - expect(screen.getByRole('button', { name: /Om barnet/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Arbeidsforhold/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Institusjon/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Omsorgen For/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Sykdom/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Opplæring/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Etablert tilsyn/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Inntektsmelding/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Inntekt og ytelser/i })).toBeInTheDocument(); - expect(screen.getByRole('button', { name: /Søknadsperioder/i })).toBeInTheDocument(); - }); - - it('skal oppdatere url ved valg av faktapanel', async () => { - const oppdaterProsessStegOgFaktaPanelIUrl = vi.fn(); - const fetchedData: Partial = { - aksjonspunkter, - vilkar, - }; - - renderWithIntlAndReduxForm( - - - , - ); - - await act(async () => { - await userEvent.click(screen.getByRole('button', { name: /Om barnet/i })); - }); - - const { calls } = oppdaterProsessStegOgFaktaPanelIUrl.mock; - expect(calls).toHaveLength(1); - const args = calls[0]; - expect(args).toHaveLength(2); - expect(args[0]).toEqual('default'); - expect(args[1]).toEqual('om-barnet'); - }); -}); diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaOpplaeringspengerPanelDefinisjoner.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaOpplaeringspengerPanelDefinisjoner.tsx index 4627f2aedb..178ae35ca3 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaOpplaeringspengerPanelDefinisjoner.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaOpplaeringspengerPanelDefinisjoner.tsx @@ -5,26 +5,22 @@ import EtablertTilsynFaktaPanelDef from './faktaPaneler/EtablertTilsynFaktaPanel import FordelBeregningPanelDef from './faktaPaneler/FordelBeregningPanelDef'; import InntektOgYtelserFaktaPanelDef from './faktaPaneler/InntektOgYtelserFaktaPanelDef'; import InntektsmeldingFaktaPanelDef from './faktaPaneler/InntektsmeldingFaktaPanelDef'; -import InstitusjonFaktaPanelDef from './faktaPaneler/InstitusjonFaktaPanelDef'; -import MedisinskVilkarFaktaPanelDef2 from './faktaPaneler/MedisinskVilkarFaktaPanelDef2'; import MedlemskapsvilkaretFaktaPanelDef from './faktaPaneler/MedlemskapsvilkaretFaktaPanelDef'; import NyInntektPanelDef from './faktaPaneler/NyInntektPanelDef'; import OmBarnetFaktaPanelDef from './faktaPaneler/OmBarnetFaktaPanelDef'; import OmsorgenForFaktaPanelDef from './faktaPaneler/OmsorgenForFaktaPanelDef'; -import OpplaeringFaktaPanelDef from './faktaPaneler/OpplaeringFaktaPanelDef'; import OpptjeningsvilkaretFaktaPanelDef from './faktaPaneler/OpptjeningsvilkaretFaktaPanelDef'; import OverstyrBeregningFaktaPanelDef from './faktaPaneler/OverstyrBeregningFaktaPanelDef'; import SoknadsperioderFaktaPanelDef from './faktaPaneler/SoknadsperioderFaktaPanelDef'; +import SykdomOgOpplæringPanelDef from './faktaPaneler/SykdomOgOpplæringPanelDef'; const faktaPanelDefinisjoner = [ new OmBarnetFaktaPanelDef(), new ArbeidsforholdFaktaPanelDef(), - new InstitusjonFaktaPanelDef(), new DirekteOvergangFaktaPanelDef(), new OmsorgenForFaktaPanelDef(), - new MedisinskVilkarFaktaPanelDef2(), - new OpplaeringFaktaPanelDef(), new EtablertTilsynFaktaPanelDef(), + new SykdomOgOpplæringPanelDef(), new MedlemskapsvilkaretFaktaPanelDef(), new OpptjeningsvilkaretFaktaPanelDef(), new InntektsmeldingFaktaPanelDef(), diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InstitusjonFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InstitusjonFaktaPanelDef.tsx deleted file mode 100644 index 59ac4a6fd4..0000000000 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InstitusjonFaktaPanelDef.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import React, { useContext } from 'react'; - -import { faktaPanelCodes } from '@k9-sak-web/konstanter'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import FaktaInstitusjon from '@k9-sak-web/fakta-institusjon'; -import FaktaInstitusjonIndex from '@k9-sak-web/gui/fakta/institusjon/FaktaInstitusjonIndex.js'; -import FeatureTogglesContext from '@k9-sak-web/gui/featuretoggles/FeatureTogglesContext.js'; -import { OpplaeringspengerBehandlingApiKeys } from '@k9-sak-web/behandling-opplaeringspenger/src/data/opplaeringspengerBehandlingApi'; - -const InstitusjonFaktaPanelComponent = props => { - const featureToggles = useContext(FeatureTogglesContext); - const løsAksjonspunkt = vurdering => - props.submitCallback([ - { kode: aksjonspunktCodes.VURDER_INSTITUSJON, begrunnelse: 'Institusjon er behandlet', ...vurdering }, - ]); - - if (featureToggles?.BRUK_V2_FAKTA_INSTITUSJON) { - return ( - - ); - } - return ( - - ); -}; - -class InstitusjonFaktaPanelDef extends FaktaPanelDef { - getUrlKode = () => faktaPanelCodes.INSTITUSJON; - - getTekstKode = () => 'Institusjon.Title'; - - getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_INSTITUSJON]; - - getEndepunkter = () => [OpplaeringspengerBehandlingApiKeys.INSTITUSJON]; - - getKomponent = props => ; - - getOverstyrVisningAvKomponent = () => true; -} - -export default InstitusjonFaktaPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpplaeringFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpplaeringFaktaPanelDef.tsx deleted file mode 100644 index 13db906c7f..0000000000 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpplaeringFaktaPanelDef.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import React from 'react'; - -import { faktaPanelCodes } from '@k9-sak-web/konstanter'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { OpplaeringspengerBehandlingApiKeys } from '@k9-sak-web/behandling-opplaeringspenger/src/data/opplaeringspengerBehandlingApi'; -import FaktaOpplaering from '@k9-sak-web/fakta-opplaering'; -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; - -class OpplaeringFaktaPanelDef extends FaktaPanelDef { - getUrlKode = () => faktaPanelCodes.OPPLAERING; - - getTekstKode = () => 'Opplaering.Title'; - - getAksjonspunktKoder = () => [ - aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING, - aksjonspunktCodes.VURDER_NØDVENDIGHET, - aksjonspunktCodes.VURDER_REISETID, - ]; - - getEndepunkter = () => [ - OpplaeringspengerBehandlingApiKeys.GJENNOMGÅTT_OPPLÆRING, - OpplaeringspengerBehandlingApiKeys.NØDVENDIG_OPPLÆRING, - OpplaeringspengerBehandlingApiKeys.REISETID, - OpplaeringspengerBehandlingApiKeys.OPPLAERING_DOKUMENTER, - ]; - - // eslint-disable-next-line arrow-body-style - getKomponent = props => { - const løsAksjonspunktGjennomgåOpplæring = perioder => - props.submitCallback([ - { - kode: aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING, - begrunnelse: 'Gjennomgått opplæring er behandlet', - perioder, - }, - ]); - const løsAksjonspunktNødvendighet = vurdering => - props.submitCallback([ - { kode: aksjonspunktCodes.VURDER_NØDVENDIGHET, begrunnelse: 'Nødvendighet er behandlet', ...vurdering }, - ]); - const løsAksjonspunktReisetid = vurdering => - props.submitCallback([ - { kode: aksjonspunktCodes.VURDER_REISETID, begrunnelse: 'Reisetid er behandlet', ...vurdering }, - ]); - const contextProps = { - aksjonspunkter: props.aksjonspunkter, - gjennomgåttOpplæring: props.gjennomgåttOpplæring, - nødvendigOpplæring: props.nødvendigOpplæring, - opplaeringDokumenter: props.opplaeringDokumenter, - reisetid: props.reisetid, - løsAksjonspunktGjennomgåOpplæring, - løsAksjonspunktNødvendighet, - løsAksjonspunktReisetid, - readOnly: props.readOnly, - }; - return ( - - - - ); - }; - - getOverstyrVisningAvKomponent = () => true; -} - -export default OpplaeringFaktaPanelDef; diff --git "a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SykdomOgOppl\303\246ringPanelDef.tsx" "b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SykdomOgOppl\303\246ringPanelDef.tsx" new file mode 100644 index 0000000000..6fdf99aa2d --- /dev/null +++ "b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SykdomOgOppl\303\246ringPanelDef.tsx" @@ -0,0 +1,45 @@ +import { faktaPanelCodes } from '@k9-sak-web/konstanter'; +import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; +import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Fagsak, Behandling } from '@k9-sak-web/types'; +import FaktaSykdomOgOpplæringIndex from '@k9-sak-web/gui/fakta/sykdom-og-opplæring/FaktaSykdomOgOpplæringIndex.js'; + +class SykdomOgOpplæringPanelDef extends FaktaPanelDef { + getUrlKode = () => faktaPanelCodes.SYKDOM_OG_OPPLAERING; + + getTekstKode = () => 'FaktaSykdomOgOpplaering.Title'; + + getAksjonspunktKoder = () => [ + aksjonspunktCodes.VURDER_INSTITUSJON, + aksjonspunktCodes.VURDER_LANGVARIG_SYK, + aksjonspunktCodes.VURDER_OPPLÆRING, + aksjonspunktCodes.VURDER_REISETID, + ]; + + getEndepunkter = () => []; + + getKomponent = ({ readOnly, submitCallback, behandling, aksjonspunkter }) => { + return ( + + ); + }; + + getData = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { + return { + fagsakYtelseType: fagsak.sakstype, + behandlingType: behandling.type.kode, + }; + }; + + getOverstyrVisningAvKomponent = ({ behandling }: { fagsak: Fagsak; behandling: Behandling }) => { + const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; + return søknadsfristErIkkeUnderVurdering; + }; +} + +export default SykdomOgOpplæringPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegOpplaeringspengerPanelDefinisjoner.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegOpplaeringspengerPanelDefinisjoner.tsx index 57ea7cab57..4c1eaf7be0 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegOpplaeringspengerPanelDefinisjoner.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegOpplaeringspengerPanelDefinisjoner.tsx @@ -3,7 +3,6 @@ import FortsattMedlemskapProsessStegPanelDef from './prosessStegPaneler/Fortsatt import InngangsvilkarFortsProsessStegPanelDef from './prosessStegPaneler/InngangsvilkarFortsProsessStegPanelDef'; import InngangsvilkarProsessStegPanelDef from './prosessStegPaneler/InngangsvilkarProsessStegPanelDef'; import MedisinskVilkarProsessStegPanelDef from './prosessStegPaneler/MedisinskVilkarProsessStegPanelDef'; -import OpplaeringProsessStegPanelDef from './prosessStegPaneler/OpplaeringProsessStegPanelDef'; import SimuleringProsessStegPanelDef from './prosessStegPaneler/SimuleringProsessStegPanelDef'; import TilkjentYtelseProsessStegPanelDef from './prosessStegPaneler/TilkjentYtelseProsessStegPanelDef'; import UttakProsessStegPanelDef from './prosessStegPaneler/UttakProsessStegPanelDef'; @@ -14,7 +13,6 @@ const prosessStegPanelDefinisjoner = [ new VarselProsessStegPanelDef(), new InngangsvilkarProsessStegPanelDef(), new MedisinskVilkarProsessStegPanelDef(), - new OpplaeringProsessStegPanelDef(), new InngangsvilkarFortsProsessStegPanelDef(), new FortsattMedlemskapProsessStegPanelDef(), new BeregningsgrunnlagProsessStegPanelDef(), diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/InngangsvilkarProsessStegPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/InngangsvilkarProsessStegPanelDef.tsx index ebc601cfbc..d359c4d8e9 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/InngangsvilkarProsessStegPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/InngangsvilkarProsessStegPanelDef.tsx @@ -3,7 +3,6 @@ import { ProsessStegDef } from '@k9-sak-web/behandling-felles'; import SoknadsfristPanelDef from './inngangsvilkarPaneler/SoknadsfristPanelDef'; import AlderPanelDef from './inngangsvilkarPaneler/AlderPanelDef'; -import InstitusjonPanelDef from './inngangsvilkarPaneler/InstitusjonPanelDef'; import OmsorgenForPanelDef from './inngangsvilkarPaneler/OmsorgenForPanelDef'; class InngangsvilkarProsessStegPanelDef extends ProsessStegDef { @@ -11,12 +10,7 @@ class InngangsvilkarProsessStegPanelDef extends ProsessStegDef { getTekstKode = () => 'Behandlingspunkt.Inngangsvilkar'; - getPanelDefinisjoner = () => [ - new SoknadsfristPanelDef(), - new AlderPanelDef(), - new InstitusjonPanelDef(), - new OmsorgenForPanelDef(), - ]; + getPanelDefinisjoner = () => [new SoknadsfristPanelDef(), new AlderPanelDef(), new OmsorgenForPanelDef()]; } export default InngangsvilkarProsessStegPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx index d707baa1af..d9910acc35 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx @@ -22,9 +22,18 @@ class PanelDef extends ProsessStegPanelDef { return ; }; - getAksjonspunktKoder = () => [aksjonspunktCodes.MEDISINSK_VILKAAR]; - - getVilkarKoder = () => [vilkarType.LANGVARIG_SYKDOM]; + getAksjonspunktKoder = () => [ + aksjonspunktCodes.VURDER_INSTITUSJON, + aksjonspunktCodes.VURDER_LANGVARIG_SYK, + aksjonspunktCodes.VURDER_OPPLÆRING, + aksjonspunktCodes.VURDER_REISETID, + ]; + + getVilkarKoder = () => [ + vilkarType.LANGVARIG_SYKDOM, + vilkarType.GODKJENT_OPPLÆRINGSINSTITUSJON, + vilkarType.NØDVENDIG_OPPLÆRING, + ]; getOverstyrVisningAvKomponent = data => this.overstyringDef.getOverstyrVisningAvKomponent(data); @@ -34,7 +43,7 @@ class PanelDef extends ProsessStegPanelDef { class MedisinskVilkarProsessStegPanelDef extends ProsessStegDef { getUrlKode = () => prosessStegCodes.MEDISINSK_VILKAR; - getTekstKode = () => 'Behandlingspunkt.MedisinskVilkar'; + getTekstKode = () => 'Behandlingspunkt.SykdomOgOpplaering'; getPanelDefinisjoner = () => [new PanelDef()]; } diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/OpplaeringProsessStegPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/OpplaeringProsessStegPanelDef.tsx index fef94e4b8c..32ace1b48f 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/OpplaeringProsessStegPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/OpplaeringProsessStegPanelDef.tsx @@ -1,25 +1,28 @@ import { ProsessStegDef } from '@k9-sak-web/behandling-felles'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; -import GjennomgaaOpplaeringPanelDef from './opplaeringPaneler/GjennomgaaOpplaeringPanelDef'; -import NoedvendighetPanelDef from './opplaeringPaneler/NoedvendighetPanelDef'; import ReisetidPanelDef from './opplaeringPaneler/ReisetidPanelDef'; +import LangvarigSykdomPanelDef from './opplaeringPaneler/LangvarigSykdomPanelDef'; +import InstitusjonPanelDef from './opplaeringPaneler/InstitusjonPanelDef'; +import NødvendigOpplæringPanelDef from './opplaeringPaneler/NødvendigOpplæringPanelDef'; +import { aksjonspunktCodes } from '@k9-sak-web/backend/k9sak/kodeverk/AksjonspunktCodes.js'; class OpplaeringProsessStegPanelDef extends ProsessStegDef { getUrlKode = () => prosessStegCodes.OPPLAERING; getAksjonspunktKoder = () => [ - aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING, - aksjonspunktCodes.VURDER_NØDVENDIGHET, + aksjonspunktCodes.VURDER_INSTITUSJON, + aksjonspunktCodes.VURDER_LANGVARIG_SYK, + aksjonspunktCodes.VURDER_OPPLÆRING, aksjonspunktCodes.VURDER_REISETID, ]; getTekstKode = () => 'Behandlingspunkt.Opplaering'; getPanelDefinisjoner = () => [ - new GjennomgaaOpplaeringPanelDef(), - new NoedvendighetPanelDef(), + new InstitusjonPanelDef(), + new LangvarigSykdomPanelDef(), + new NødvendigOpplæringPanelDef(), new ReisetidPanelDef(), ]; } diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx deleted file mode 100644 index 1d3c55f5c4..0000000000 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web/behandling-felles'; -import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; - -class GjennomgaaOpplaeringPanelDef extends ProsessStegPanelDef { - overstyringDef = new ProsessStegOverstyringPanelDef(this); - - getId = () => 'GJENNOMGAA_OPPLAERING'; - - getTekstKode = () => 'Opplaering.GjennomgaaOpplaering'; - - getKomponent = props => this.overstyringDef.getKomponent(props); - - getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING]; - - getVilkarKoder = () => [vilkarType.GJENNOMGÅ_OPPLÆRING]; - - getData = ({ - vilkarForSteg, - alleKodeverk, - overstyrteAksjonspunktKoder, - prosessStegTekstKode, - overrideReadOnly, - kanOverstyreAccess, - toggleOverstyring, - }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], - erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), - panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, - lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, - overrideReadOnly, - kanOverstyreAccess, - toggleOverstyring, - }); -} - -export default GjennomgaaOpplaeringPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/InstitusjonPanelDef.tsx similarity index 60% rename from packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx rename to packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/InstitusjonPanelDef.tsx index 0c9ec540c1..6af1d8fe78 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/InstitusjonPanelDef.tsx @@ -1,34 +1,28 @@ import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web/behandling-felles'; -import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { aksjonspunktCodes } from '@k9-sak-web/backend/k9sak/kodeverk/AksjonspunktCodes.js'; class InstitusjonPanelDef extends ProsessStegPanelDef { overstyringDef = new ProsessStegOverstyringPanelDef(this); getId = () => 'INSTITUSJON'; - getTekstKode = () => 'Inngangsvilkar.Institusjon'; + getTekstKode = () => 'Opplaering.Institusjon'; getKomponent = props => this.overstyringDef.getKomponent(props); getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_INSTITUSJON]; - getVilkarKoder = () => [vilkarType.GODKJENT_OPPLÆRINGSINSTITUSJON]; + getVilkarKoder = () => []; getData = ({ - vilkarForSteg, - alleKodeverk, overstyrteAksjonspunktKoder, prosessStegTekstKode, overrideReadOnly, kanOverstyreAccess, toggleOverstyring, }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, - lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, overrideReadOnly, kanOverstyreAccess, toggleOverstyring, diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/LangvarigSykdomPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/LangvarigSykdomPanelDef.tsx new file mode 100644 index 0000000000..f9fbceb7aa --- /dev/null +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/LangvarigSykdomPanelDef.tsx @@ -0,0 +1,31 @@ +import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web/behandling-felles'; +import { aksjonspunktCodes } from '@k9-sak-web/backend/k9sak/kodeverk/AksjonspunktCodes.js'; +class LangvarigSykdomPanelDef extends ProsessStegPanelDef { + overstyringDef = new ProsessStegOverstyringPanelDef(this); + + getId = () => 'LANGVARIG_SYKDOM'; + + getTekstKode = () => 'Opplaering.LangvarigSykdom'; + + getKomponent = props => this.overstyringDef.getKomponent(props); + + getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_LANGVARIG_SYK]; + + getVilkarKoder = () => []; + + getData = ({ + overstyrteAksjonspunktKoder, + prosessStegTekstKode, + overrideReadOnly, + kanOverstyreAccess, + toggleOverstyring, + }): any => ({ + erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), + panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, + overrideReadOnly, + kanOverstyreAccess, + toggleOverstyring, + }); +} + +export default LangvarigSykdomPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx deleted file mode 100644 index 87c8674271..0000000000 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web/behandling-felles'; -import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; - -class NoedvendighetPanelDef extends ProsessStegPanelDef { - overstyringDef = new ProsessStegOverstyringPanelDef(this); - - getId = () => 'NOEDVENDIGHET'; - - getTekstKode = () => 'Opplaering.Noedvendighet'; - - getKomponent = props => this.overstyringDef.getKomponent(props); - - getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_NØDVENDIGHET]; - - getVilkarKoder = () => [vilkarType.NØDVENDIG_OPPLÆRING]; - - getData = ({ - vilkarForSteg, - alleKodeverk, - overstyrteAksjonspunktKoder, - prosessStegTekstKode, - overrideReadOnly, - kanOverstyreAccess, - toggleOverstyring, - }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], - erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), - panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, - lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, - overrideReadOnly, - kanOverstyreAccess, - toggleOverstyring, - }); -} - -export default NoedvendighetPanelDef; diff --git "a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/N\303\270dvendigOppl\303\246ringPanelDef.tsx" "b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/N\303\270dvendigOppl\303\246ringPanelDef.tsx" new file mode 100644 index 0000000000..4e0ae3da32 --- /dev/null +++ "b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/N\303\270dvendigOppl\303\246ringPanelDef.tsx" @@ -0,0 +1,32 @@ +import { aksjonspunktCodes } from '@k9-sak-web/backend/k9sak/kodeverk/AksjonspunktCodes.js'; +import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web/behandling-felles'; + +class NødvendigOpplæringPanelDef extends ProsessStegPanelDef { + overstyringDef = new ProsessStegOverstyringPanelDef(this); + + getId = () => 'NØDVENDIG_OPPLÆRING'; + + getTekstKode = () => 'Opplaering.NødvendigOpplæring'; + + getKomponent = props => this.overstyringDef.getKomponent(props); + + getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_OPPLÆRING]; + + getVilkarKoder = () => []; + + getData = ({ + overstyrteAksjonspunktKoder, + prosessStegTekstKode, + overrideReadOnly, + kanOverstyreAccess, + toggleOverstyring, + }): any => ({ + erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), + panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, + overrideReadOnly, + kanOverstyreAccess, + toggleOverstyring, + }); +} + +export default NødvendigOpplæringPanelDef; diff --git a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperiode-vurderingsdetaljer/BeredskapsperiodeVurderingsdetaljer.tsx b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperiode-vurderingsdetaljer/BeredskapsperiodeVurderingsdetaljer.tsx index 835a58cf1d..c22528c557 100644 --- a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperiode-vurderingsdetaljer/BeredskapsperiodeVurderingsdetaljer.tsx +++ b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperiode-vurderingsdetaljer/BeredskapsperiodeVurderingsdetaljer.tsx @@ -1,5 +1,5 @@ import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box, Button } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { type JSX } from 'react'; diff --git a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperioderoversikt/Beredskapsperiodeoversikt.tsx b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperioderoversikt/Beredskapsperiodeoversikt.tsx index ca81dda22e..6e45aa0843 100644 --- a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperioderoversikt/Beredskapsperiodeoversikt.tsx +++ b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/beredskapsperioderoversikt/Beredskapsperiodeoversikt.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useEffect } from 'react'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import BeredskapType from '../../../../types/BeredskapType'; import Vurderingsperiode from '../../../../types/Vurderingsperiode'; import Periodenavigasjon from '../../periodenavigasjon/Periodenavigasjon'; diff --git a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/vurdering-av-beredskapsperioder-form/VurderingAvBeredskapsperioderForm.tsx b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/vurdering-av-beredskapsperioder-form/VurderingAvBeredskapsperioderForm.tsx index c7c1aba33d..eb9f08ac31 100644 --- a/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/vurdering-av-beredskapsperioder-form/VurderingAvBeredskapsperioderForm.tsx +++ b/packages/fakta-etablert-tilsyn/src/ui/components/beredskap/vurdering-av-beredskapsperioder-form/VurderingAvBeredskapsperioderForm.tsx @@ -2,7 +2,7 @@ import { PeriodpickerListRHF, RadioGroupPanelRHF, TextAreaRHF } from '@fpsak-fro import { Period } from '@fpsak-frontend/utils'; import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; import { FormWithButtons } from '@k9-sak-web/gui/shared/formWithButtons/FormWithButtons.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Alert, Box } from '@navikt/ds-react'; import React, { type JSX } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; diff --git a/packages/fakta-etablert-tilsyn/src/ui/components/beskrivelser-for-perioden/BeskrivelserForPerioden.tsx b/packages/fakta-etablert-tilsyn/src/ui/components/beskrivelser-for-perioden/BeskrivelserForPerioden.tsx index 4353ef5867..caaf645ab1 100644 --- a/packages/fakta-etablert-tilsyn/src/ui/components/beskrivelser-for-perioden/BeskrivelserForPerioden.tsx +++ b/packages/fakta-etablert-tilsyn/src/ui/components/beskrivelser-for-perioden/BeskrivelserForPerioden.tsx @@ -1,5 +1,5 @@ import { sortPeriodsByFomDate } from '@fpsak-frontend/utils'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { MinusIcon, PlusCircleIcon } from '@navikt/aksel-icons'; import { Box, Button } from '@navikt/ds-react'; import { ContentWithTooltip, OnePersonIconGray, OnePersonOutlineGray } from '@navikt/ft-plattform-komponenter'; diff --git "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiode-vurderingsdetaljer/Nattev\303\245ksperiodeVurderingsdetaljer.tsx" "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiode-vurderingsdetaljer/Nattev\303\245ksperiodeVurderingsdetaljer.tsx" index 4bb17d2e04..fdc742ebd5 100644 --- "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiode-vurderingsdetaljer/Nattev\303\245ksperiodeVurderingsdetaljer.tsx" +++ "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiode-vurderingsdetaljer/Nattev\303\245ksperiodeVurderingsdetaljer.tsx" @@ -1,5 +1,5 @@ import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box, Button } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import Beskrivelse from '../../../../types/Beskrivelse'; diff --git "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiodeoversikt/Nattev\303\245ksperiodeoversikt.tsx" "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiodeoversikt/Nattev\303\245ksperiodeoversikt.tsx" index f7aed886b5..4de8d0b149 100644 --- "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiodeoversikt/Nattev\303\245ksperiodeoversikt.tsx" +++ "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/nattev\303\245ksperiodeoversikt/Nattev\303\245ksperiodeoversikt.tsx" @@ -1,4 +1,4 @@ -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import * as React from 'react'; import { useEffect } from 'react'; import NattevåkType from '../../../../types/NattevåkType'; diff --git "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/vurdering-av-nattev\303\245ksperioder-form/VurderingAvNattev\303\245ksperioderForm.tsx" "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/vurdering-av-nattev\303\245ksperioder-form/VurderingAvNattev\303\245ksperioderForm.tsx" index b1c364395b..12f5bf607b 100644 --- "a/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/vurdering-av-nattev\303\245ksperioder-form/VurderingAvNattev\303\245ksperioderForm.tsx" +++ "b/packages/fakta-etablert-tilsyn/src/ui/components/nattev\303\245k/vurdering-av-nattev\303\245ksperioder-form/VurderingAvNattev\303\245ksperioderForm.tsx" @@ -2,7 +2,7 @@ import { PeriodpickerListRHF, RadioGroupPanelRHF, TextAreaRHF } from '@fpsak-fro import { Period } from '@fpsak-frontend/utils'; import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; import { FormWithButtons } from '@k9-sak-web/gui/shared/formWithButtons/FormWithButtons.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Alert, Box } from '@navikt/ds-react'; import React, { type JSX } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; diff --git a/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingAvslag.tsx b/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingAvslag.tsx index eb878eeb25..ac52442eaf 100644 --- a/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingAvslag.tsx +++ b/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingAvslag.tsx @@ -1,4 +1,4 @@ -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Edit } from '@navikt/ds-icons'; import { Alert, Button } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; diff --git a/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingInfo.tsx b/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingInfo.tsx index 93396aa34e..5dfb9d98fc 100644 --- a/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingInfo.tsx +++ b/packages/fakta-inntektsmelding/src/ui/components/period-list/FortsettUtenInntektsmeldingInfo.tsx @@ -1,4 +1,4 @@ -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Edit } from '@navikt/ds-icons'; import { Alert, Button } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; diff --git a/packages/fakta-institusjon/index.ts b/packages/fakta-institusjon/index.ts deleted file mode 100644 index b631608a29..0000000000 --- a/packages/fakta-institusjon/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './src/FaktaInstitusjonIndex'; diff --git a/packages/fakta-institusjon/package.json b/packages/fakta-institusjon/package.json deleted file mode 100644 index f4424786ea..0000000000 --- a/packages/fakta-institusjon/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@k9-sak-web/fakta-institusjon", - "version": "1.0.0", - "module": "index.ts", - "license": "MIT", - "private": true, - "dependencies": { - "@fpsak-frontend/form": "*", - "@k9-sak-web/types": "*", - "@navikt/ft-plattform-komponenter": "^7.2.13", - "formik": "2.4.6" - } -} diff --git a/packages/fakta-institusjon/src/FaktaInstitusjonIndex.tsx b/packages/fakta-institusjon/src/FaktaInstitusjonIndex.tsx deleted file mode 100644 index 5ad2c62234..0000000000 --- a/packages/fakta-institusjon/src/FaktaInstitusjonIndex.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import { InstitusjonPeriode, InstitusjonVurdering } from '@k9-sak-web/types'; -import InstitusjonOversikt from './InstitusjonOversikt'; - -interface OwnProps { - perioder: InstitusjonPeriode[]; - vurderinger: InstitusjonVurdering[]; - readOnly: boolean; - løsAksjonspunkt: (payload: any) => void; -} - -const FaktaInstitusjonIndex = ({ perioder, vurderinger, readOnly, løsAksjonspunkt }: OwnProps) => ( -
- -
-); - -export default FaktaInstitusjonIndex; diff --git a/packages/fakta-institusjon/src/InstitusjonDetails.tsx b/packages/fakta-institusjon/src/InstitusjonDetails.tsx deleted file mode 100644 index a4c5cfc4ef..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonDetails.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { useState } from 'react'; -import { InstitusjonVurderingMedPerioder, Vurderingsresultat } from '@k9-sak-web/types'; -import InstitusjonFerdigVisning from './InstitusjonFerdigVisning'; -import InstitusjonForm from './InstitusjonForm'; - -interface OwnProps { - vurdering: InstitusjonVurderingMedPerioder; - readOnly: boolean; - løsAksjonspunkt: (payload: any) => void; -} - -const InstitusjonDetails = ({ vurdering, readOnly, løsAksjonspunkt }: OwnProps) => { - const [redigering, setRedigering] = useState(false); - if (vurdering.resultat !== Vurderingsresultat.MÅ_VURDERES && !redigering) { - return setRedigering(true)} />; - } - return ( - setRedigering(false)} - erRedigering={redigering} - /> - ); -}; - -export default InstitusjonDetails; diff --git a/packages/fakta-institusjon/src/InstitusjonFerdigVisning.tsx b/packages/fakta-institusjon/src/InstitusjonFerdigVisning.tsx deleted file mode 100644 index 507433c6ab..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonFerdigVisning.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { InstitusjonVurderingMedPerioder, Vurderingsresultat } from '@k9-sak-web/types'; -import { Calender } from '@navikt/ds-icons'; -import { Box, Button } from '@navikt/ds-react'; -import { AssessedBy } from '@navikt/ft-plattform-komponenter'; -import styles from './institusjonFerdigVisning.module.css'; - -interface OwnProps { - vurdering: InstitusjonVurderingMedPerioder; - readOnly: boolean; - rediger: () => void; -} - -const InstitusjonFerdigVisning = ({ vurdering, readOnly, rediger }: OwnProps) => { - const visEndreLink = !readOnly && vurdering.resultat !== Vurderingsresultat.GODKJENT_AUTOMATISK; - - return ( - - visEndreLink ? ( - - ) : null - } - > - {vurdering.perioder.map(periode => ( -
- {periode.prettifyPeriod()} -
- ))} - - - - - {vurdering.begrunnelse}} - indentContent - /> - - - - - -
- ); -}; - -export default InstitusjonFerdigVisning; diff --git a/packages/fakta-institusjon/src/InstitusjonForm.tsx b/packages/fakta-institusjon/src/InstitusjonForm.tsx deleted file mode 100644 index da9175b87a..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonForm.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import { TextAreaFormik } from '@fpsak-frontend/form'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { Calender } from '@navikt/ds-icons'; - -import RadioGroupFormik from '@fpsak-frontend/form/src/RadioGroupFormik'; -import { required } from '@fpsak-frontend/utils'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { InstitusjonVurderingMedPerioder, Vurderingsresultat } from '@k9-sak-web/types'; -import { Box, Button } from '@navikt/ds-react'; -import { Formik } from 'formik'; -import { type JSX } from 'react'; - -enum fieldname { - BEGRUNNELSE = 'BEGRUNNELSE', - GODKJENT_INSTITUSJON = 'GODKJENT_INSTITUSJON', -} - -enum RadioOptions { - JA = 'ja', - NEI = 'nei', -} - -interface VurderingAvBeredskapsperioderFormProps { - vurdering: InstitusjonVurderingMedPerioder; - avbrytRedigering: () => void; - readOnly: boolean; - løsAksjonspunkt: (payload: any) => void; - erRedigering: boolean; -} - -interface FormState { - [fieldname.BEGRUNNELSE]: string; - [fieldname.GODKJENT_INSTITUSJON]: string; -} - -const InstitusjonForm = ({ - vurdering, - avbrytRedigering, - readOnly, - løsAksjonspunkt, - erRedigering, -}: VurderingAvBeredskapsperioderFormProps): JSX.Element => { - const godkjentInstitusjonInitialValue = () => { - if ([Vurderingsresultat.GODKJENT_AUTOMATISK, Vurderingsresultat.GODKJENT_MANUELT].includes(vurdering.resultat)) { - return RadioOptions.JA; - } - if ( - [Vurderingsresultat.IKKE_GODKJENT_AUTOMATISK, Vurderingsresultat.IKKE_GODKJENT_MANUELT].includes( - vurdering.resultat, - ) - ) { - return RadioOptions.NEI; - } - return null; - }; - - const initialValues = { - [fieldname.BEGRUNNELSE]: vurdering.begrunnelse || '', - [fieldname.GODKJENT_INSTITUSJON]: godkjentInstitusjonInitialValue(), - }; - - const mapValuesTilAksjonspunktPayload = (values: FormState) => ({ - godkjent: values[fieldname.GODKJENT_INSTITUSJON] === 'ja', - begrunnelse: values[fieldname.BEGRUNNELSE], - journalpostId: vurdering.journalpostId, - }); - return ( - - løsAksjonspunkt(mapValuesTilAksjonspunktPayload(values))} - > - {({ handleSubmit, isSubmitting }) => ( - <> - {vurdering.perioder.map(periode => ( -
- {periode.prettifyPeriod()} -
- ))} - - - - - - - - - - - - {erRedigering && ( - - )} - - - )} -
-
- ); -}; - -export default InstitusjonForm; diff --git a/packages/fakta-institusjon/src/InstitusjonNavigation.module.css b/packages/fakta-institusjon/src/InstitusjonNavigation.module.css deleted file mode 100644 index 713bc4625f..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonNavigation.module.css +++ /dev/null @@ -1,23 +0,0 @@ -.institusjon-oversikt { - width: 25rem; -} - -.institusjon-oversikt .heading { - margin: 1.3125rem 0 1.5rem 0.9375rem; -} - -.institusjon-oversikt .marginLeft { - margin-left: 0.9375rem; -} - -.institusjon-oversikt .periodColumns { - display: flex; -} - -.institusjon-oversikt .periodColumns > div { - margin-right: 1rem; -} - -.institusjon-oversikt .periodColumns > div:last-of-type { - margin-left: 7.75rem; -} diff --git a/packages/fakta-institusjon/src/InstitusjonNavigation.tsx b/packages/fakta-institusjon/src/InstitusjonNavigation.tsx deleted file mode 100644 index f53981f4f3..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonNavigation.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { InstitusjonPerioderMedResultat } from '@k9-sak-web/types'; -import { Heading } from '@navikt/ds-react'; -import { InteractiveList } from '@navikt/ft-plattform-komponenter'; -import React, { useEffect } from 'react'; -import styles from './InstitusjonNavigation.module.css'; -import PeriodeRad from './PeriodeRad'; -import institusjonStatus from './konstanter'; - -interface OwnProps { - perioder: InstitusjonPerioderMedResultat[]; - setValgtPeriode: React.Dispatch>; -} - -const InstitusjonNavigation = ({ perioder, setValgtPeriode }: OwnProps) => { - const perioderTilVurdering = perioder.filter(periode => periode.resultat === institusjonStatus.MÅ_VURDERES); - const [activeIndex, setActiveIndex] = React.useState(perioderTilVurdering.length ? 0 : -1); - useEffect(() => { - if (activeIndex > -1) setValgtPeriode(perioderTilVurdering[activeIndex]); - }, []); - const perioderSomErVurdert = perioder.filter(periode => periode.resultat !== institusjonStatus.MÅ_VURDERES); - const allePerioder = [...perioderTilVurdering, ...perioderSomErVurdert]; - const elements = [ - ...perioderTilVurdering.map(periode => ), - ...perioderSomErVurdert.map(periode => ), - ]; - const antallPerioder = elements.length; - return ( -
- - Alle perioder - -
-
Status
-
Periode
-
Part
-
- {antallPerioder === 0 &&

Ingen vurderinger å vise

} - {antallPerioder > 0 && ( -
- ({ - content: element, - active: activeIndex === currentIndex, - key: `${currentIndex}`, - onClick: () => { - setActiveIndex(currentIndex); - const periodeIndex = elements.indexOf(element); - setValgtPeriode(allePerioder[periodeIndex]); - }, - }))} - /> -
- )} -
- ); -}; - -export default InstitusjonNavigation; diff --git a/packages/fakta-institusjon/src/InstitusjonOversikt.tsx b/packages/fakta-institusjon/src/InstitusjonOversikt.tsx deleted file mode 100644 index 4441047188..0000000000 --- a/packages/fakta-institusjon/src/InstitusjonOversikt.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { Period } from '@fpsak-frontend/utils'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; -import { InstitusjonPeriode, InstitusjonPerioderMedResultat, InstitusjonVurdering } from '@k9-sak-web/types'; -import { Heading } from '@navikt/ds-react'; -import * as React from 'react'; -import InstitusjonDetails from './InstitusjonDetails'; -import InstitusjonNavigation from './InstitusjonNavigation'; - -interface OwnProps { - perioder: InstitusjonPeriode[]; - vurderinger: InstitusjonVurdering[]; - readOnly: boolean; - løsAksjonspunkt: (payload: any) => void; -} - -const reducer = (accumulator, currentValue) => { - const perioderMedMatchendeJournalpostId = accumulator.find( - periode => periode.journalpostId.journalpostId === currentValue.journalpostId.journalpostId, - ); - if (perioderMedMatchendeJournalpostId) { - const arrayUtenPeriodeneSomSkalLeggesInn = accumulator.filter( - periode => periode.journalpostId.journalpostId !== currentValue.journalpostId.journalpostId, - ); - return [ - ...arrayUtenPeriodeneSomSkalLeggesInn, - { - institusjon: perioderMedMatchendeJournalpostId.institusjon, - journalpostId: perioderMedMatchendeJournalpostId.journalpostId, - resultat: perioderMedMatchendeJournalpostId.resultat, - perioder: [...perioderMedMatchendeJournalpostId.perioder, currentValue.periode], - }, - ]; - } - return [ - ...accumulator, - { - institusjon: currentValue.institusjon, - journalpostId: currentValue.journalpostId, - resultat: currentValue.resultat, - perioder: [currentValue.periode], - }, - ]; -}; - -const InstitusjonOversikt = ({ perioder, vurderinger, readOnly, løsAksjonspunkt }: OwnProps) => { - const [valgtPeriode, setValgtPeriode] = React.useState(null); - - const perioderMappet = perioder - .map(periode => { - const vurderingForPeriode = vurderinger.find( - vurdering => vurdering.journalpostId.journalpostId === periode.journalpostId.journalpostId, - ); - return { - ...periode, - periode: new Period(periode.periode.fom, periode.periode.tom), - resultat: vurderingForPeriode?.resultat, - }; - }) - .reduce(reducer, []); - - const vurderingerMappet = vurderinger.map(vurdering => { - const periodeForVurdering = perioder.find( - periode => periode.journalpostId.journalpostId === vurdering.journalpostId.journalpostId, - ); - return { - ...vurdering, - perioder: vurdering.perioder.map(v => new Period(v.fom, v.tom)), - institusjon: periodeForVurdering.institusjon, - }; - }); - - const valgtVurdering = vurderingerMappet.find( - vurdering => vurdering.journalpostId.journalpostId === valgtPeriode?.journalpostId?.journalpostId, - ); - - return ( -
- - Institusjon - - } - showDetailSection - detailSection={() => - valgtVurdering ? ( - - ) : null - } - /> -
- ); -}; - -export default InstitusjonOversikt; diff --git a/packages/fakta-institusjon/src/PeriodeRad.tsx b/packages/fakta-institusjon/src/PeriodeRad.tsx deleted file mode 100644 index 73fcf81d15..0000000000 --- a/packages/fakta-institusjon/src/PeriodeRad.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { Period } from '@fpsak-frontend/utils'; -import { OverlayedIcons } from '@k9-sak-web/gui/shared/indicatorWithOverlay/IndicatorWithOverlay.js'; -import { Vurderingsresultat } from '@k9-sak-web/types'; -import { - ContentWithTooltip, - GreenCheckIconFilled, - InstitutionIcon, - RedCrossIconFilled, - WarningIcon, -} from '@navikt/ft-plattform-komponenter'; -import { type JSX } from 'react'; -import styles from './periodeRad.module.css'; - -interface OwnProps { - perioder: Period[]; - resultat: string; -} - -const renderStatusIcon = (resultat: string) => { - if (resultat === Vurderingsresultat.MÅ_VURDERES) { - return ( - - - - ); - } - - if (resultat === Vurderingsresultat.GODKJENT_AUTOMATISK) { - return ( - - } - overlayRenderer={() => } - /> - - ); - } - - if (resultat === Vurderingsresultat.IKKE_GODKJENT_AUTOMATISK) { - return ( - - } overlayRenderer={() => } /> - - ); - } - if (resultat === Vurderingsresultat.GODKJENT_MANUELT) { - return ( - - - - ); - } - if (resultat === Vurderingsresultat.IKKE_GODKJENT_MANUELT) { - return ( - - - - ); - } - return null; -}; - -const PeriodeRad = ({ perioder, resultat }: OwnProps): JSX.Element => ( -
-
- Type - {renderStatusIcon(resultat)} -
-
-
- {perioder.map(v => ( -
- Perioder - {v.prettifyPeriod()} -
- ))} -
-
-
-); - -export default PeriodeRad; diff --git a/packages/fakta-institusjon/src/institusjonFerdigVisning.module.css b/packages/fakta-institusjon/src/institusjonFerdigVisning.module.css deleted file mode 100644 index 174988729a..0000000000 --- a/packages/fakta-institusjon/src/institusjonFerdigVisning.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.endreLink { - margin-left: 0.5rem; -} diff --git a/packages/fakta-institusjon/src/konstanter.ts b/packages/fakta-institusjon/src/konstanter.ts deleted file mode 100644 index 59180a18e6..0000000000 --- a/packages/fakta-institusjon/src/konstanter.ts +++ /dev/null @@ -1,9 +0,0 @@ -const institusjonStatus = { - MÅ_VURDERES: 'MÅ_VURDERES', - AUTOMATISK_GODKJENT: 'AUTOMATISK_GODKJENT', - AUTOMATISK_AVSLAG: 'AUTOMATISK_AVSLAG', - MANUELT_GODKJENT: 'MANUELT_GODKJENT', - MANUELT_AVSLAG: 'MANUELT_AVSLAG', -}; - -export default institusjonStatus; diff --git a/packages/fakta-institusjon/src/periodeRad.module.css b/packages/fakta-institusjon/src/periodeRad.module.css deleted file mode 100644 index af91b4e876..0000000000 --- a/packages/fakta-institusjon/src/periodeRad.module.css +++ /dev/null @@ -1,45 +0,0 @@ -.vurderingsperiodeElement { - display: flex; - cursor: pointer; -} - -.vurderingsperiodeElement > * { - align-self: center; -} - -.vurderingsperiodeElement__texts { - display: flex; - align-items: center; - margin-left: 1.625rem; -} - -.vurderingsperiodeElement__texts__period { - display: inline-block; - margin: 0; - color: var(--a-blue-500); - text-decoration: underline; - min-width: 10.125rem; -} - -.vurderingsperiodeElement__texts__resultat { - display: inline-block; - margin: 0 0 0 1.375rem; -} - -.vurderingsperiodeElement__texts__kildeIcon { - display: inline-block; - vertical-align: top; - margin-top: -0.125rem; - margin-left: 1.75rem; -} - -.vurderingsperiodeElement .visuallyHidden { - position: absolute; - overflow: hidden; - clip: rect(0 0 0 0); - height: 1px; - width: 1px; - margin: -1px; - padding: 0; - border: 0; -} diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekode-modal/DiagnosekodeModal.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekode-modal/DiagnosekodeModal.tsx" index 80e312c36b..6109731fff 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekode-modal/DiagnosekodeModal.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekode-modal/DiagnosekodeModal.tsx" @@ -1,6 +1,6 @@ import { Box, Button, Modal } from '@navikt/ds-react'; import React, { useEffect, type JSX } from 'react'; -import type { DiagnosekodeSearcherPromise } from '../../../util/diagnosekodeSearcher'; +import type { ICD10DiagnosekodeSearcher } from '@k9-sak-web/gui/shared/diagnosekodeVelger/diagnosekodeSearcher.js'; import DiagnosekodeSelector from '../../form/pure/PureDiagnosekodeSelector'; import styles from '../diagnosekodeoversikt/diagnosekodeoversikt.module.css'; @@ -8,15 +8,10 @@ interface DiagnosekodeModalProps { isOpen: boolean; onRequestClose: () => void; onSaveClick: (diagnosekoder: string[]) => Promise; - searcherPromise: DiagnosekodeSearcherPromise; + searcher: ICD10DiagnosekodeSearcher; } -const DiagnosekodeModal = ({ - isOpen, - onRequestClose, - onSaveClick, - searcherPromise, -}: DiagnosekodeModalProps): JSX.Element => { +const DiagnosekodeModal = ({ isOpen, onRequestClose, onSaveClick, searcher }: DiagnosekodeModalProps): JSX.Element => { const [selectedDiagnosekoder, setSelectedDiagnosekoder] = React.useState([]); const [isSubmitting, setIsSubmitting] = React.useState(false); const [renderDiagnosekodeSelektor, setRenderDiagnosekodeSelektor] = React.useState(false); @@ -61,7 +56,7 @@ const DiagnosekodeModal = ({ label="Diagnosekode" selectedDiagnosekoder={selectedDiagnosekoder} hideLabel - searcherPromise={searcherPromise} + searcher={searcher} /> )} diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekodeoversikt/Diagnosekodeoversikt.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekodeoversikt/Diagnosekodeoversikt.tsx" index 82729d31af..7836bd2f94 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekodeoversikt/Diagnosekodeoversikt.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/diagnosekodeoversikt/Diagnosekodeoversikt.tsx" @@ -6,21 +6,21 @@ import React, { type JSX } from 'react'; import LinkRel from '../../../constants/LinkRel'; import Diagnosekode from '../../../types/Diagnosekode'; import { DiagnosekodeResponse } from '../../../types/DiagnosekodeResponse'; -import initDiagnosekodeSearcher, { toLegacyDiagnosekode } from '../../../util/diagnosekodeSearcher'; +import { toLegacyDiagnosekode } from '../../../util/toLegacyDiagnosekode.js'; import { findLinkByRel } from '../../../util/linkUtils'; import ContainerContext from '../../context/ContainerContext'; import AddButton from '../add-button/AddButton'; import DiagnosekodeModal from '../diagnosekode-modal/DiagnosekodeModal'; import Diagnosekodeliste from '../diagnosekodeliste/Diagnosekodeliste'; import WriteAccessBoundContent from '../write-access-bound-content/WriteAccessBoundContent'; +import { initDiagnosekodeSearcher } from '@k9-sak-web/gui/shared/diagnosekodeVelger/diagnosekodeSearcher.js'; -// Start initializing diagnosekode searcher instance, with pagesize 8, so that it can be used both here and in the DiagnosekodeModal. +// initialize diagnosekode searcher instance, with pagesize 8, so that it can be used both here and in the DiagnosekodeModal. // This reuse is possible since we don't use the paging functionality in the instance anyways. -const diagnosekodeSearcherPromise = initDiagnosekodeSearcher(8); +const diagnosekodeSearcher = initDiagnosekodeSearcher(8); const fetchDiagnosekoderByQuery = async (queryString: string): Promise => { - const searcher = await diagnosekodeSearcherPromise; - const searchResult = searcher.search(queryString, 1); + const searchResult = diagnosekodeSearcher.search(queryString, 1); // This function only returns the found diagnosecode if there is exactly one diagnosecode found. if (searchResult.diagnosekoder.length === 1 && !searchResult.hasMore) { return toLegacyDiagnosekode(searchResult.diagnosekoder[0]); @@ -60,7 +60,7 @@ const Diagnosekodeoversikt = ({ onDiagnosekoderUpdated }: DiagnosekodeoversiktPr })), combine: results => { return { - diagnosekodeObjekter: results.map(r => r.data), + diagnosekodeObjekter: results.map(r => r.data).filter(d => d != null), diagnosekodeObjekterLaster: results.some(r => r.isPending), }; }, @@ -153,7 +153,7 @@ const Diagnosekodeoversikt = ({ onDiagnosekoderUpdated }: DiagnosekodeoversiktPr isOpen={modalIsOpen} onSaveClick={lagreDiagnosekodeMutation.mutateAsync} onRequestClose={() => setModalIsOpen(false)} - searcherPromise={diagnosekodeSearcherPromise} + searcher={diagnosekodeSearcher} /> ); diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturering-av-dokumentasjon/StruktureringAvDokumentasjon.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturering-av-dokumentasjon/StruktureringAvDokumentasjon.tsx" index 8e0e0000c0..6a29d8d221 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturering-av-dokumentasjon/StruktureringAvDokumentasjon.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturering-av-dokumentasjon/StruktureringAvDokumentasjon.tsx" @@ -3,7 +3,7 @@ import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtel import axios from 'axios'; import React, { useMemo, type JSX } from 'react'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import { PageContainer } from '@k9-sak-web/gui/shared/pageContainer/PageContainer.js'; import { Box } from '@navikt/ds-react'; import Dokument from '../../../types/Dokument'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturert-dokument-detaljer/StrukturertDokumentDetaljer.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturert-dokument-detaljer/StrukturertDokumentDetaljer.tsx" index f77e2c14fa..438537d424 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturert-dokument-detaljer/StrukturertDokumentDetaljer.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/strukturert-dokument-detaljer/StrukturertDokumentDetaljer.tsx" @@ -4,7 +4,7 @@ import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; import { Alert, Box, Button, Link } from '@navikt/ds-react'; import React, { type JSX } from 'react'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import LinkRel from '../../../constants/LinkRel'; import Dokument, { dokumentLabel, Dokumenttype } from '../../../types/Dokument'; import { findLinkByRel } from '../../../util/linkUtils'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilkarsvurdering-av-livets-sluttfase/VilkarsvurderingAvLivetsSluttfase.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilkarsvurdering-av-livets-sluttfase/VilkarsvurderingAvLivetsSluttfase.tsx" index b77bb4fafb..3f52fd3de4 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilkarsvurdering-av-livets-sluttfase/VilkarsvurderingAvLivetsSluttfase.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilkarsvurdering-av-livets-sluttfase/VilkarsvurderingAvLivetsSluttfase.tsx" @@ -12,7 +12,7 @@ import ActionType from './actionTypes'; import vilkårsvurderingReducer from './reducer'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import { PageContainer } from '@k9-sak-web/gui/shared/pageContainer/PageContainer.js'; import { Box } from '@navikt/ds-react'; import BehandlingType from '../../../constants/BehandlingType'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-tilsyn-og-pleie/Vilk\303\245rsvurderingAvTilsynOgPleie.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-tilsyn-og-pleie/Vilk\303\245rsvurderingAvTilsynOgPleie.tsx" index 2554382649..0ce87d7e23 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-tilsyn-og-pleie/Vilk\303\245rsvurderingAvTilsynOgPleie.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-tilsyn-og-pleie/Vilk\303\245rsvurderingAvTilsynOgPleie.tsx" @@ -1,5 +1,5 @@ import { get, Period } from '@fpsak-frontend/utils'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import { PageContainer } from '@k9-sak-web/gui/shared/pageContainer/PageContainer.js'; import { Box } from '@navikt/ds-react'; import React, { useMemo, type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-to-omsorgspersoner/Vilk\303\245rsvurderingAvToOmsorgspersoner.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-to-omsorgspersoner/Vilk\303\245rsvurderingAvToOmsorgspersoner.tsx" index dfb8feb707..4ae4f87cdd 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-to-omsorgspersoner/Vilk\303\245rsvurderingAvToOmsorgspersoner.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-av-to-omsorgspersoner/Vilk\303\245rsvurderingAvToOmsorgspersoner.tsx" @@ -1,5 +1,5 @@ import { httpUtils, Period } from '@fpsak-frontend/utils'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import { PageContainer } from '@k9-sak-web/gui/shared/pageContainer/PageContainer.js'; import { Box } from '@navikt/ds-react'; import React, { useMemo, type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-langvarig-sykdom/VilkarsvurderingLangvarigSykdom.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-langvarig-sykdom/VilkarsvurderingLangvarigSykdom.tsx" index bcc481a806..02431412a4 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-langvarig-sykdom/VilkarsvurderingLangvarigSykdom.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vilk\303\245rsvurdering-langvarig-sykdom/VilkarsvurderingLangvarigSykdom.tsx" @@ -12,7 +12,7 @@ import ActionType from './actionTypes'; import vilkårsvurderingReducer from './reducer'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import { PageContainer } from '@k9-sak-web/gui/shared/pageContainer/PageContainer.js'; import { Box } from '@navikt/ds-react'; import BehandlingType from '../../../constants/BehandlingType'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-kontinuerlig-tilsyn-og-pleie/VurderingsoppsummeringForKontinuerligTilsynOgPleie.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-kontinuerlig-tilsyn-og-pleie/VurderingsoppsummeringForKontinuerligTilsynOgPleie.tsx" index dd1a183acb..62bade764d 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-kontinuerlig-tilsyn-og-pleie/VurderingsoppsummeringForKontinuerligTilsynOgPleie.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-kontinuerlig-tilsyn-og-pleie/VurderingsoppsummeringForKontinuerligTilsynOgPleie.tsx" @@ -1,5 +1,5 @@ import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-langvarig-sykdom/VurderingsoppsummeringLangvarigSykdom.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-langvarig-sykdom/VurderingsoppsummeringLangvarigSykdom.tsx" index 7a6e41d000..57bda5827f 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-langvarig-sykdom/VurderingsoppsummeringLangvarigSykdom.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-langvarig-sykdom/VurderingsoppsummeringLangvarigSykdom.tsx" @@ -1,5 +1,5 @@ import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-livets-sluttfase/VurderingsoppsummeringForSluttfase.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-livets-sluttfase/VurderingsoppsummeringForSluttfase.tsx" index 410097e03e..08f0c09e83 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-livets-sluttfase/VurderingsoppsummeringForSluttfase.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-livets-sluttfase/VurderingsoppsummeringForSluttfase.tsx" @@ -1,5 +1,5 @@ import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-to-omsorgspersoner/VurderingsoppsummeringForToOmsorgspersoner.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-to-omsorgspersoner/VurderingsoppsummeringForToOmsorgspersoner.tsx" index accfc826a6..d0822902b8 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-to-omsorgspersoner/VurderingsoppsummeringForToOmsorgspersoner.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/components/vurderingsoppsummering-for-to-omsorgspersoner/VurderingsoppsummeringForToOmsorgspersoner.tsx" @@ -1,5 +1,5 @@ import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { type JSX } from 'react'; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/form/pure/PureDiagnosekodeSelector.tsx" "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/form/pure/PureDiagnosekodeSelector.tsx" index 6c71dbcc55..c67cb8a594 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/ui/form/pure/PureDiagnosekodeSelector.tsx" +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/ui/form/pure/PureDiagnosekodeSelector.tsx" @@ -2,9 +2,10 @@ import { BodyShort, ErrorMessage, Label } from '@navikt/ds-react'; import { Autocomplete } from '@navikt/ft-plattform-komponenter'; import * as React from 'react'; import Diagnosekode from '../../../types/Diagnosekode'; -import { type DiagnosekodeSearcherPromise, toLegacyDiagnosekode } from '../../../util/diagnosekodeSearcher'; import DeleteButton from '../../components/delete-button/DeleteButton'; import styles from './diagnosekodeSelector.module.css'; +import { type ICD10DiagnosekodeSearcher } from '@k9-sak-web/gui/shared/diagnosekodeVelger/diagnosekodeSearcher.js'; +import { toLegacyDiagnosekode } from '../../../util/toLegacyDiagnosekode.js'; import type { JSX } from 'react'; @@ -21,7 +22,7 @@ interface DiagnosekodeSelectorProps { initialDiagnosekodeValue: string; hideLabel?: boolean; selectedDiagnosekoder: string[]; - searcherPromise: DiagnosekodeSearcherPromise; + searcher: ICD10DiagnosekodeSearcher; } const PureDiagnosekodeSelector = ({ @@ -32,9 +33,9 @@ const PureDiagnosekodeSelector = ({ initialDiagnosekodeValue, hideLabel, selectedDiagnosekoder, - searcherPromise, + searcher, }: DiagnosekodeSelectorProps): JSX.Element => { - const [suggestions, setSuggestions] = React.useState([]); + const [suggestions, setSuggestions] = React.useState([]); const [inputValue, setInputValue] = React.useState(''); const [isLoading, setIsLoading] = React.useState(false); const [selectedDiagnosekoderFullName, setSelectedDiagnosekoderFullName] = React.useState([]); @@ -42,7 +43,6 @@ const PureDiagnosekodeSelector = ({ const getUpdatedSuggestions = async (queryString: string) => { if (queryString.length >= 3) { setIsLoading(true); - const searcher = await searcherPromise; const diagnosekoder: Diagnosekode[] = (await searcher.search(queryString, 1)).diagnosekoder.map( toLegacyDiagnosekode, ); diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/util/diagnosekodeSearcher.ts" "b/packages/fakta-medisinsk-vilk\303\245r/src/util/diagnosekodeSearcher.ts" deleted file mode 100644 index d0c563591f..0000000000 --- "a/packages/fakta-medisinsk-vilk\303\245r/src/util/diagnosekodeSearcher.ts" +++ /dev/null @@ -1,23 +0,0 @@ -// This module is here to load and initialize a DiagnosekodeSearcher instance the replaces the external diagnosekode-api service. -// Instead of querying the external service we load all diagnose codes into a searcher class instance from the @navikt/diagnosekoder -// package, and do the lookup of diagnose codes agains this instance directly. -// -// This import is a 1.3MB package, so we import it asynchronously as a separate bundle. -// Should then not impact loading time too much since it will be cached and only reloaded on first load, or once a year. - -import type { DiagnosekodeSearcher, ICD10Diagnosekode } from '@navikt/diagnosekoder'; -import Diagnosekode from '../types/Diagnosekode'; - -export type DiagnosekodeSearcherPromise = Promise>; - -const initDiagnosekodeSearcher = async (pageSize: number): DiagnosekodeSearcherPromise => - import('@navikt/diagnosekoder').then( - diagnosekodeModule => new diagnosekodeModule.DiagnosekodeSearcher(diagnosekodeModule.ICD10, pageSize), - ); - -export const toLegacyDiagnosekode = (icd10Code: ICD10Diagnosekode): Diagnosekode => ({ - kode: icd10Code.code, - beskrivelse: icd10Code.text, -}); - -export default initDiagnosekodeSearcher; diff --git "a/packages/fakta-medisinsk-vilk\303\245r/src/util/toLegacyDiagnosekode.ts" "b/packages/fakta-medisinsk-vilk\303\245r/src/util/toLegacyDiagnosekode.ts" new file mode 100644 index 0000000000..d00cf1ad6d --- /dev/null +++ "b/packages/fakta-medisinsk-vilk\303\245r/src/util/toLegacyDiagnosekode.ts" @@ -0,0 +1,7 @@ +import type { ICD10Diagnosekode } from '@navikt/diagnosekoder'; +import type Diagnosekode from '../types/Diagnosekode'; + +export const toLegacyDiagnosekode = (icd10Code: ICD10Diagnosekode): Diagnosekode => ({ + kode: icd10Code.code, + beskrivelse: icd10Code.text, +}); diff --git "a/packages/fakta-om-barnet/src/ui/rett-ved-d\303\270d/rett-ved-d\303\270d-vurderingsdetaljer/RettVedD\303\270dVurderingsdetaljer.tsx" "b/packages/fakta-om-barnet/src/ui/rett-ved-d\303\270d/rett-ved-d\303\270d-vurderingsdetaljer/RettVedD\303\270dVurderingsdetaljer.tsx" index b26189ee1a..7397834b60 100644 --- "a/packages/fakta-om-barnet/src/ui/rett-ved-d\303\270d/rett-ved-d\303\270d-vurderingsdetaljer/RettVedD\303\270dVurderingsdetaljer.tsx" +++ "b/packages/fakta-om-barnet/src/ui/rett-ved-d\303\270d/rett-ved-d\303\270d-vurderingsdetaljer/RettVedD\303\270dVurderingsdetaljer.tsx" @@ -2,7 +2,7 @@ import { AssessedBy, GreenCheckIcon } from '@navikt/ft-plattform-komponenter'; import { RettVedDød } from '../../../types/RettVedDød'; import RettVedDødUtfallType from '../../../types/RettVedDødType'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import type { JSX } from 'react'; interface RettVedDødVurderingsdetaljerProps { diff --git a/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiode-vurderingsdetaljer/OmsorgsperiodeVurderingsdetaljer.tsx b/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiode-vurderingsdetaljer/OmsorgsperiodeVurderingsdetaljer.tsx index e1f7357a78..50ec42cc2f 100644 --- a/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiode-vurderingsdetaljer/OmsorgsperiodeVurderingsdetaljer.tsx +++ b/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiode-vurderingsdetaljer/OmsorgsperiodeVurderingsdetaljer.tsx @@ -1,6 +1,6 @@ import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import { Box, Button } from '@navikt/ds-react'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import { useContext, type JSX } from 'react'; diff --git a/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiodeoversikt/Omsorgsperiodeoversikt.tsx b/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiodeoversikt/Omsorgsperiodeoversikt.tsx index c887732a5c..b97d20ef30 100644 --- a/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiodeoversikt/Omsorgsperiodeoversikt.tsx +++ b/packages/fakta-omsorgen-for/src/ui/components/omsorgsperiodeoversikt/Omsorgsperiodeoversikt.tsx @@ -1,5 +1,5 @@ import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; +import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigation-with-detail-view/NavigationWithDetailView.js'; import hash from 'object-hash'; import React, { useContext, useEffect, type JSX } from 'react'; import Omsorgsperiode from '../../../types/Omsorgsperiode'; diff --git a/packages/fakta-omsorgen-for/src/ui/components/vurdering-av-omsorgsperioder-form/VurderingAvOmsorgsperioderForm.tsx b/packages/fakta-omsorgen-for/src/ui/components/vurdering-av-omsorgsperioder-form/VurderingAvOmsorgsperioderForm.tsx index a892d9763a..4894300deb 100644 --- a/packages/fakta-omsorgen-for/src/ui/components/vurdering-av-omsorgsperioder-form/VurderingAvOmsorgsperioderForm.tsx +++ b/packages/fakta-omsorgen-for/src/ui/components/vurdering-av-omsorgsperioder-form/VurderingAvOmsorgsperioderForm.tsx @@ -9,7 +9,7 @@ import { Alert, Box, Label } from '@navikt/ds-react'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { FormWithButtons } from '@k9-sak-web/gui/shared/formWithButtons/FormWithButtons.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; +import { LabelledContent } from '@k9-sak-web/gui/shared/labelled-content/LabelledContent.js'; import Omsorgsperiode from '../../../types/Omsorgsperiode'; import Relasjon from '../../../types/Relasjon'; import Vurderingsresultat from '../../../types/Vurderingsresultat'; diff --git a/packages/fakta-opplaering/index.ts b/packages/fakta-opplaering/index.ts deleted file mode 100644 index 7ae6311f7f..0000000000 --- a/packages/fakta-opplaering/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './src/OpplaeringContainer'; diff --git a/packages/fakta-opplaering/package.json b/packages/fakta-opplaering/package.json deleted file mode 100644 index 939e53fd33..0000000000 --- a/packages/fakta-opplaering/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@k9-sak-web/fakta-opplaering", - "version": "1.0.0", - "module": "index.ts", - "license": "MIT", - "private": true, - "dependencies": { - "@fpsak-frontend/form": "*", - "@fpsak-frontend/utils": "*", - "@k9-sak-web/types": "*", - "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "7.18.0", - "@navikt/ft-plattform-komponenter": "^7.2.13", - "classnames": "2.5.1", - "dayjs": "1.11.13", - "formik": "2.4.6", - "react-intl": "7.1.10", - "react-outside-click-handler": "1.3.0", - "uuid": "11.1.0", - "yup": "1.6.1" - } -} diff --git a/packages/fakta-opplaering/src/OpplaeringContainer.tsx b/packages/fakta-opplaering/src/OpplaeringContainer.tsx deleted file mode 100644 index e5ede00120..0000000000 --- a/packages/fakta-opplaering/src/OpplaeringContainer.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { NestedIntlProvider } from '@fpsak-frontend/shared-components'; -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { Aksjonspunkt } from '@k9-sak-web/types'; -import { Tabs as DSTabs } from '@navikt/ds-react'; -import { WarningIcon } from '@navikt/ft-plattform-komponenter'; -import classnames from 'classnames'; -import React, { useContext } from 'react'; -import Tabs from './Tabs'; -import GjennomgaaOpplaeringOversikt from './gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt'; -import messages from './i18n/nb_NO.json'; -import NoedvendighetOversikt from './noedvendighet/NoedvendighetOversikt'; -import styles from './opplaeringContainer.module.css'; -import ReisetidOversikt from './reisetid/ReisetidOversikt'; - -interface TabItemProps { - label: string; - showWarningIcon: boolean; -} - -const findInitialTab = (aktivtAksjonspunkt: Aksjonspunkt) => { - const initialTab = Object.values(Tabs).find(tab => tab.aksjonspunkt === aktivtAksjonspunkt?.definisjon?.kode); - return initialTab ? initialTab.label : Tabs.GJENNOMGÅ_OPPLÆRING.label; -}; - -const TabItem = ({ label, showWarningIcon }: TabItemProps) => { - const cls = classnames(styles.medisinskVilkårTabItem, { - [styles.medisinskVilkårTabItemExtended]: showWarningIcon, - }); - return ( -
- {label} - {showWarningIcon && } -
- ); -}; - -const OpplaeringContainer = () => { - const { aksjonspunkter } = useContext(FaktaOpplaeringContext); - - const aktivtAksjonspunkt = aksjonspunkter - .sort((a, b) => a.definisjon.kode.localeCompare(b.definisjon.kode)) - .find(aksjonspunkt => aksjonspunkt.status.kode === 'OPPR'); - return ( - - - - {Object.values(Tabs).map(tab => ( - - } - /> - ))} - - - - - - - - - - - - - ); -}; - -export default OpplaeringContainer; diff --git a/packages/fakta-opplaering/src/Tabs.ts b/packages/fakta-opplaering/src/Tabs.ts deleted file mode 100644 index 008be69948..0000000000 --- a/packages/fakta-opplaering/src/Tabs.ts +++ /dev/null @@ -1,18 +0,0 @@ -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; - -const Tabs = { - GJENNOMGÅ_OPPLÆRING: { - aksjonspunkt: aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING, - label: 'Gjennomgå opplæring', - }, - REISETID: { - aksjonspunkt: aksjonspunktCodes.VURDER_REISETID, - label: 'Reisetid', - }, - NØDVENDIGHET: { - aksjonspunkt: aksjonspunktCodes.VURDER_NØDVENDIGHET, - label: 'Nødvendighet', - }, -}; - -export default Tabs; diff --git a/packages/fakta-opplaering/src/components/DokumentLink.tsx b/packages/fakta-opplaering/src/components/DokumentLink.tsx deleted file mode 100644 index a4f04cc347..0000000000 --- a/packages/fakta-opplaering/src/components/DokumentLink.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import Dokument, { dokumentLabel } from '@k9-sak-web/types/src/sykdom/Dokument'; -import { Link } from '@navikt/ds-react'; -import { DocumentIcon } from '@navikt/ft-plattform-komponenter'; -import { prettifyDateString } from '@fpsak-frontend/utils'; -import React, { type JSX } from 'react'; -import styles from './dokumentLink.module.css'; - -interface DokumentLinkProps { - dokument: Dokument & { benyttet: boolean }; - etikett?: React.ReactNode; - visDokumentIkon?: boolean; -} - -const DokumentLink = ({ dokument, etikett, visDokumentIkon }: DokumentLinkProps): JSX.Element => { - const { type, datert, links } = dokument; - const href = links.find(link => link.rel === 'sykdom-dokument-innhold')?.href; - return ( - - {visDokumentIkon && } - {dokumentLabel[type]} {prettifyDateString(datert)} - {etikett &&
{etikett}
} - - ); -}; - -export default DokumentLink; diff --git a/packages/fakta-opplaering/src/components/DokumenterIVurderingen.tsx b/packages/fakta-opplaering/src/components/DokumenterIVurderingen.tsx deleted file mode 100644 index 00883125a1..0000000000 --- a/packages/fakta-opplaering/src/components/DokumenterIVurderingen.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { XMarkIcon } from '@navikt/aksel-icons'; -import { Button, Checkbox, CheckboxGroup } from '@navikt/ds-react'; -import React, { useState } from 'react'; - -import DokumentLink from './DokumentLink'; -import styles from './dokumenterIVurderingen.module.css'; -import FilterList from './filter-list/FilterList'; - -const DokumenterIVurderingen = ({ dokumenter, onChange, onBlur, error, valgteDokumenter }) => { - const [visAlleDokumenter, setVisAlleDokumenter] = useState(false); - const [dokumentFilter, setDokumentFilter] = useState([]); - - const getDokumenterSomSkalVises = () => { - const filtrerteDokumenter = dokumenter.filter(dokument => { - if (!dokumentFilter.length) { - return true; - } - return dokumentFilter.some(filter => dokument[filter] === true); - }); - - return filtrerteDokumenter.filter((dokument, index) => { - if (dokumentFilter.length === 0) { - if (dokumenter.length < 6) { - return true; - } - if (!visAlleDokumenter && index > 4) { - return false; - } - } - return true; - }); - }; - - const vurderingDokumentfilterOptions = [ - { label: 'Tidligere brukte dokumenter', attributtNavn: 'bruktTilMinstEnVurdering' }, - { label: 'Dokument fra annen part', attributtNavn: 'annenPartErKilde' }, - ]; - - const updateDokumentFilter = valgtFilter => { - if (dokumentFilter.includes(valgtFilter)) { - if (dokumentFilter.length === 1) { - setVisAlleDokumenter(false); - } - setDokumentFilter(dokumentFilter.filter(v => v !== valgtFilter)); - } else { - setDokumentFilter(dokumentFilter.concat([valgtFilter])); - setVisAlleDokumenter(true); - } - }; - - const visFlereDokumenterKnapp = () => { - if (dokumentFilter.length > 0) { - return false; - } - if (dokumenter.length < 6) { - return false; - } - return true; - }; - return ( - -
- -
- {dokumentFilter.length > 0 && ( -
- {dokumentFilter.map(filter => { - const { label } = vurderingDokumentfilterOptions.find(option => option.attributtNavn === filter); - return ( - - ); - })} -
- )} - {getDokumenterSomSkalVises().map(dokument => ( - - - - ))} - {visFlereDokumenterKnapp() && ( - - )} -
- ); -}; - -export default DokumenterIVurderingen; diff --git a/packages/fakta-opplaering/src/components/PeriodeRad.tsx b/packages/fakta-opplaering/src/components/PeriodeRad.tsx deleted file mode 100644 index 4a849e4a4d..0000000000 --- a/packages/fakta-opplaering/src/components/PeriodeRad.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { Vurderingsresultat } from '@k9-sak-web/types'; -import { - ContentWithTooltip, - GreenCheckIconFilled, - RedCrossIconFilled, - WarningIcon, -} from '@navikt/ft-plattform-komponenter'; -import { Period } from '@fpsak-frontend/utils'; -import React, { type JSX } from 'react'; -import styles from './periodeRad.module.css'; - -interface OwnProps { - periode?: Period; - perioder?: Period[]; - resultat: string; -} - -const renderStatusIcon = (resultat: string) => { - if (resultat === Vurderingsresultat.MÅ_VURDERES) { - return ( - - - - ); - } - - if (resultat === Vurderingsresultat.GODKJENT) { - return ( - - - - ); - } - if (resultat === Vurderingsresultat.IKKE_GODKJENT) { - return ( - - - - ); - } - return null; -}; - -const PeriodeRad = ({ periode, perioder, resultat }: OwnProps): JSX.Element => ( -
-
- Type - {renderStatusIcon(resultat)} -
-
-
-
- Perioder - {periode && periode.prettifyPeriod()} - {!!perioder?.length && perioder.map(v => v.prettifyPeriod())} -
-
-
-
-); - -export default PeriodeRad; diff --git a/packages/fakta-opplaering/src/components/add-button/AddButton.tsx b/packages/fakta-opplaering/src/components/add-button/AddButton.tsx deleted file mode 100644 index 4b2a35041a..0000000000 --- a/packages/fakta-opplaering/src/components/add-button/AddButton.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { PlusCircleIcon } from '@navikt/aksel-icons'; -import { forwardRef, Ref, type JSX } from 'react'; -import styles from './addButton.module.css'; - -interface AddButtonProps { - onClick: () => void; - label: string; - id?: string; - className?: string; - noIcon?: boolean; - ariaLabel?: string; -} - -const AddButton = forwardRef( - ({ className, label, onClick, id, noIcon, ariaLabel }: AddButtonProps, ref?: Ref): JSX.Element => ( - - ), -); - -export default AddButton; diff --git a/packages/fakta-opplaering/src/components/add-button/addButton.module.css b/packages/fakta-opplaering/src/components/add-button/addButton.module.css deleted file mode 100644 index f482a10c7e..0000000000 --- a/packages/fakta-opplaering/src/components/add-button/addButton.module.css +++ /dev/null @@ -1,16 +0,0 @@ -.addButton { - display: flex; - padding: 0; - color: var(--a-blue-500); - border: none; - background: none; - height: 23px; - position: relative; - cursor: pointer; - align-items: center; - font-size: 1rem; -} - -.addButton__text { - margin-left: 0.5rem; -} diff --git a/packages/fakta-opplaering/src/components/delete-button/DeleteButton.tsx b/packages/fakta-opplaering/src/components/delete-button/DeleteButton.tsx deleted file mode 100644 index 36e7a2a0df..0000000000 --- a/packages/fakta-opplaering/src/components/delete-button/DeleteButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import styles from './deleteButton.module.css'; - -import { TrashIcon } from '@navikt/aksel-icons'; -import type { JSX } from 'react'; - -interface DeleteButtonProps { - onClick: () => void; -} - -const DeleteButton = ({ onClick }: DeleteButtonProps): JSX.Element => ( -
- -
-); - -export default DeleteButton; diff --git a/packages/fakta-opplaering/src/components/delete-button/deleteButton.module.css b/packages/fakta-opplaering/src/components/delete-button/deleteButton.module.css deleted file mode 100644 index f59c3cd6f1..0000000000 --- a/packages/fakta-opplaering/src/components/delete-button/deleteButton.module.css +++ /dev/null @@ -1,14 +0,0 @@ -.deleteButton__container { - margin-left: 1rem; - margin-bottom: -0.1rem; - align-self: flex-end; -} - -.deleteButton__button { - padding: 0; - border: none; - background: none; - height: 24px; - cursor: pointer; - color: var(--a-nav-red); -} diff --git a/packages/fakta-opplaering/src/components/dokumentLink.module.css b/packages/fakta-opplaering/src/components/dokumentLink.module.css deleted file mode 100644 index 5eee39702c..0000000000 --- a/packages/fakta-opplaering/src/components/dokumentLink.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.dokumentLink { - display: flex; -} - -.dokumentLink:hover { - text-decoration: none; -} - -.dokumentLink__etikett { - margin-left: 1rem; -} - -svg.dokumentLink__dokumentikon { - margin-right: 0.5rem; - width: 1.125rem; - height: 1.375rem; - stroke: none; -} diff --git a/packages/fakta-opplaering/src/components/dokumenterIVurderingen.module.css b/packages/fakta-opplaering/src/components/dokumenterIVurderingen.module.css deleted file mode 100644 index 26d847f8ae..0000000000 --- a/packages/fakta-opplaering/src/components/dokumenterIVurderingen.module.css +++ /dev/null @@ -1,62 +0,0 @@ -.begrunnelsesfelt__labeltekst { - font-weight: 400; - margin-bottom: 0; -} - -.begrunnelsesfelt__liste { - margin-top: 0; - padding-left: 1rem; - font-weight: 400; -} - -.visDokumenterKnapp { - margin-top: 0.75rem; - color: var(--a-blue-500); - background: none; - text-decoration: underline; - cursor: pointer; - border: none; - padding: 0; -} - -.checkboxGroupWrapper { - margin-top: 1rem; -} - -.checkboxGroupWrapper legend { - position: absolute; - overflow: hidden; - clip: rect(0 0 0 0); - height: 1px; - width: 1px; - margin: -1px; - padding: 0; - border: 0; -} - -.fjernFilterKnapp { - align-items: center; - background: #c9c9c9; - border: none; - cursor: pointer; - margin-right: 0.5rem; - padding: 0.3125rem 0.5625rem; -} - -.filterKnappContainer { - display: flex; - margin: 1.25rem 0 1.5rem; -} - -.filterContainer { - position: relative; - margin-top: 0.75rem; -} - -.dokumentEtiketter { - display: flex; -} - -.dokumentEtiketter :global .contentWithTooltip { - margin-right: 0.5rem; -} diff --git a/packages/fakta-opplaering/src/components/filter-list/FilterList.tsx b/packages/fakta-opplaering/src/components/filter-list/FilterList.tsx deleted file mode 100644 index 6ca55df809..0000000000 --- a/packages/fakta-opplaering/src/components/filter-list/FilterList.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { ChevronDownIcon, ChevronUpIcon } from '@navikt/aksel-icons'; -import { FilterFilled } from '@navikt/ds-icons'; -import { Button, Checkbox } from '@navikt/ds-react'; -import classNames from 'classnames'; -import React, { useState, type JSX } from 'react'; -import OutsideClickHandler from 'react-outside-click-handler'; -import styles from './filterList.module.css'; - -interface ChevronWithTextProps { - chevronDirection: 'opp' | 'ned'; - onClick: () => void; - text: string; -} -interface FilterListProps { - text: string; - activeFilters: string[]; - filterOptions: { - label: string; - attributtNavn: string; - }[]; - onFilterChange: (value: string) => void; -} - -const ChevronWithText = ({ chevronDirection, onClick, text }: ChevronWithTextProps): JSX.Element => ( - -); - -const FilterList = ({ text, activeFilters, onFilterChange, filterOptions }: FilterListProps): JSX.Element => { - const [open, setOpen] = useState(false); - const chevronDirection = open ? 'opp' : 'ned'; - const filterListe = filterOptions; - const listeErFiltrert = activeFilters.length > 0; - return ( -
- - setOpen(!open)} text={text} /> - - - {open && ( - setOpen(false)}> -
- - setOpen(!open)} text={text} /> - -
- {filterListe.map(({ label, attributtNavn }) => ( - onFilterChange(attributtNavn)} - > - {label} - - ))} -
-
-
-
- )} -
- ); -}; - -export default FilterList; diff --git a/packages/fakta-opplaering/src/components/filter-list/filterList.module.css b/packages/fakta-opplaering/src/components/filter-list/filterList.module.css deleted file mode 100644 index b22e65aa23..0000000000 --- a/packages/fakta-opplaering/src/components/filter-list/filterList.module.css +++ /dev/null @@ -1,19 +0,0 @@ -.vurderingDokumentfilter { - margin-right: -2.25rem; -} - -.chevronDropdown__dropdown { - position: absolute; - top: -0.875rem; - left: -1.3125rem; - border: 1px solid black; - border-radius: 0.1875rem; - padding: 0.8125rem 0.8125rem 0.8125rem 1rem; - margin-left: 0.25rem; - z-index: 1; - background-color: white; -} - -.chevronDropdown__dropdown__checkbox div { - margin: 0.625rem 0; -} diff --git a/packages/fakta-opplaering/src/components/periodeRad.module.css b/packages/fakta-opplaering/src/components/periodeRad.module.css deleted file mode 100644 index af91b4e876..0000000000 --- a/packages/fakta-opplaering/src/components/periodeRad.module.css +++ /dev/null @@ -1,45 +0,0 @@ -.vurderingsperiodeElement { - display: flex; - cursor: pointer; -} - -.vurderingsperiodeElement > * { - align-self: center; -} - -.vurderingsperiodeElement__texts { - display: flex; - align-items: center; - margin-left: 1.625rem; -} - -.vurderingsperiodeElement__texts__period { - display: inline-block; - margin: 0; - color: var(--a-blue-500); - text-decoration: underline; - min-width: 10.125rem; -} - -.vurderingsperiodeElement__texts__resultat { - display: inline-block; - margin: 0 0 0 1.375rem; -} - -.vurderingsperiodeElement__texts__kildeIcon { - display: inline-block; - vertical-align: top; - margin-top: -0.125rem; - margin-left: 1.75rem; -} - -.vurderingsperiodeElement .visuallyHidden { - position: absolute; - overflow: hidden; - clip: rect(0 0 0 0); - height: 1px; - width: 1px; - margin: -1px; - padding: 0; - border: 0; -} diff --git a/packages/fakta-opplaering/src/components/rangeDatepicker/RangeDatepicker.tsx b/packages/fakta-opplaering/src/components/rangeDatepicker/RangeDatepicker.tsx deleted file mode 100644 index cc0a142554..0000000000 --- a/packages/fakta-opplaering/src/components/rangeDatepicker/RangeDatepicker.tsx +++ /dev/null @@ -1,89 +0,0 @@ -/* eslint-disable */ -import { useField } from 'formik'; -import React from 'react'; - -import { DatePicker, DatePickerProps, DateValidationT, RangeValidationT, useRangeDatepicker } from '@navikt/ds-react'; -import dayjs from 'dayjs'; -import styles from './rangeDatepicker.module.css'; - -type OwnProps = { - name: string; - onRangeChange: any; - placeholder?: string; -} & DatePickerProps; - -const fieldValidaton = ( - date: DateValidationT & { - isBeforeFrom?: boolean; - }, - setError: (v: string) => void, - fromDate: Date, - toDate: Date, -) => { - if (date.isBefore) { - return setError(`Datoen kan ikke være før ${dayjs(fromDate).format('DD.MM.YYYY')}`); - } - if (date.isAfter) { - return setError(`Datoen kan ikke være etter ${dayjs(toDate).format('DD.MM.YYYY')}`); - } - if (date.isEmpty) { - return setError('Datoen er påkrevd.'); - } - - if (date.isInvalid) { - return setError('Datoen er ugyldig.'); - } - - if (date.isBeforeFrom) { - return setError('Til-dato kan ikke være før fra-dato'); - } - - setError(undefined); -}; - -const RangeDatepicker = ({ name, fromDate, toDate, onRangeChange, placeholder, defaultSelected }: OwnProps) => { - const [fieldFom, metaFom, fomHelpers] = useField({ - name: `${name}.fom`, - }); - const [fieldTom, metaTom, tomHelpers] = useField({ - name: `${name}.tom`, - }); - const { datepickerProps, toInputProps, fromInputProps } = useRangeDatepicker({ - // @ts-ignore - defaultSelected, - fromDate, - toDate, - onRangeChange, - onValidate: ({ from, to }: RangeValidationT) => { - fieldValidaton(from, fomHelpers.setError, fromDate, toDate); - fieldValidaton(to, tomHelpers.setError, fromDate, toDate); - }, - }); - - return ( -
- -
- fomHelpers.setTouched(true, false)} - error={metaFom.touched && metaFom.error} - placeholder={placeholder} - size="small" - label="Fra" - /> - tomHelpers.setTouched(true, false)} - error={metaTom.touched && metaTom.error} - placeholder={placeholder} - size="small" - label="Til" - /> -
-
-
- ); -}; - -export default RangeDatepicker; diff --git a/packages/fakta-opplaering/src/components/rangeDatepicker/rangeDatepicker.module.css b/packages/fakta-opplaering/src/components/rangeDatepicker/rangeDatepicker.module.css deleted file mode 100644 index acaa363488..0000000000 --- a/packages/fakta-opplaering/src/components/rangeDatepicker/rangeDatepicker.module.css +++ /dev/null @@ -1,14 +0,0 @@ -.rangepicker-row { - display: flex; - flex-wrap: wrap; - column-gap: 1rem; - margin: 0.6875rem 0; -} - -.rangepicker-row :global(.navds-form-field) { - display: block !important; -} - -.rangepicker-row :global(.navds-form-field) label { - display: block !important; -} diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringDetails.tsx b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringDetails.tsx deleted file mode 100644 index ad46f706ca..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringDetails.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React, { useState } from 'react'; -import { GjennomgaaOpplaeringVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import GjennomgaaOpplaeringFerdigVisning from './GjennomgaaOpplaeringFerdigVisning'; -import GjennomgaaOpplaeringForm from './GjennomgaaOpplaeringForm'; - -interface OwnProps { - vurdering: GjennomgaaOpplaeringVurdering; -} - -const GjennomgaaOpplaeringDetails = ({ vurdering }: OwnProps) => { - const [redigering, setRedigering] = useState(false); - - if (vurdering.resultat !== Vurderingsresultat.MÅ_VURDERES && !redigering) { - return setRedigering(true)} />; - } - return ( - setRedigering(false)} - erRedigering={redigering} - /> - ); -}; - -export default GjennomgaaOpplaeringDetails; diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.module.css b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.module.css deleted file mode 100644 index 174988729a..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.endreLink { - margin-left: 0.5rem; -} diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.tsx b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.tsx deleted file mode 100644 index 5e36023278..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringFerdigVisning.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { - FaktaOpplaeringContext, - FaktaOpplaeringContextTypes, -} from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { GjennomgaaOpplaeringVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import { Calender } from '@navikt/ds-icons'; -import { Box, Button } from '@navikt/ds-react'; -import { AssessedBy } from '@navikt/ft-plattform-komponenter'; -import { useContext } from 'react'; -import { useIntl } from 'react-intl'; -import DokumentLink from '../components/DokumentLink'; -import styles from './GjennomgaaOpplaeringFerdigVisning.module.css'; - -interface OwnProps { - vurdering: GjennomgaaOpplaeringVurdering; - rediger: () => void; -} - -const GjennomgaaOpplaeringFerdigVisning = ({ vurdering, rediger }: OwnProps) => { - const { readOnly, opplaeringDokumenter } = useContext(FaktaOpplaeringContext); - const intl = useIntl(); - - return ( - - !readOnly ? ( - - ) : null - } - > -
- - {vurdering.opplæring.prettifyPeriod()} -
- - - ({ ...dokument, benyttet: vurdering?.tilknyttedeDokumenter?.includes(dokument.id) })) - .filter(({ benyttet }) => benyttet) - .map(dokument => ( - - ))} - /> - - } - /> - - - {vurdering.begrunnelse}} - indentContent - /> - - - - - - - - -
- ); -}; - -export default GjennomgaaOpplaeringFerdigVisning; diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringForm.tsx b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringForm.tsx deleted file mode 100644 index 8c7ce4d889..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringForm.tsx +++ /dev/null @@ -1,310 +0,0 @@ -import { TextAreaFormik } from '@fpsak-frontend/form'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { Calender } from '@navikt/ds-icons'; -import dayjs from 'dayjs'; -import { useContext, useEffect, type JSX } from 'react'; -import { useIntl } from 'react-intl'; -import { v4 } from 'uuid'; -import * as yup from 'yup'; - -import RadioGroupFormik from '@fpsak-frontend/form/src/RadioGroupFormik'; -import { getPeriodDifference, Period, required } from '@fpsak-frontend/utils'; -import { - FaktaOpplaeringContext, - FaktaOpplaeringContextTypes, -} from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { GjennomgaaOpplaeringVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import { Alert, Box, Button, ErrorMessage, Label } from '@navikt/ds-react'; -import { Field, FieldArray, Formik } from 'formik'; -import AddButton from '../components/add-button/AddButton'; -import DeleteButton from '../components/delete-button/DeleteButton'; -import DokumenterIVurderingen from '../components/DokumenterIVurderingen'; -import RangeDatepicker from '../components/rangeDatepicker/RangeDatepicker'; - -enum fieldname { - BEGRUNNELSE = 'BEGRUNNELSE', - GODKJENT_OPPLAERING = 'GODKJENT_OPPLAERING', - PERIODER = 'PERIODER', - DOKUMENTER = 'DOKUMENTER', -} - -enum RadioOptions { - JA = 'ja', - DELVIS = 'delvis', - NEI = 'nei', -} - -const schema = yup.object().shape({ - [fieldname.DOKUMENTER]: yup - .array() - .of(yup.string()) - .min(1, 'Du må ha brukt ett eller flere dokumenter i vurderingen') - .required(), - [fieldname.PERIODER]: yup.array().of( - yup.object().shape({ - id: yup.string(), - periode: yup - .object() - .shape({ - fom: yup.string().required().label('Fra'), - tom: yup.string().required().label('Til'), - }) - .test( - 'overlapp', - ({ value }: { value: Period }) => `${value.prettifyPeriod()} overlapper med en annen periode`, - (periode: Period, testParams) => { - const [, , values] = testParams.from; - const andrePerioder = values.value[fieldname.PERIODER] - .filter(v => v.periode !== periode) - .map(v => v.periode) as Period[]; - return !periode.overlapsWithSomePeriodInList(andrePerioder); - }, - ), - }), - ), -}); - -interface OwnProps { - vurdering: GjennomgaaOpplaeringVurdering; - avbrytRedigering: () => void; - erRedigering: boolean; -} - -interface FormState { - [fieldname.BEGRUNNELSE]: string; - [fieldname.GODKJENT_OPPLAERING]: string; -} - -const GjennomgaaOpplaeringForm = ({ vurdering, avbrytRedigering, erRedigering }: OwnProps): JSX.Element => { - const { readOnly, løsAksjonspunktGjennomgåOpplæring, opplaeringDokumenter } = - useContext(FaktaOpplaeringContext); - const intl = useIntl(); - - useEffect( - () => () => { - avbrytRedigering(); - }, - [vurdering], - ); - - const godkjentGjennomgaaOpplaeringInitialValue = () => { - if ([Vurderingsresultat.GODKJENT_AUTOMATISK, Vurderingsresultat.GODKJENT_MANUELT].includes(vurdering.resultat)) { - return RadioOptions.JA; - } - if ( - [Vurderingsresultat.IKKE_GODKJENT_AUTOMATISK, Vurderingsresultat.IKKE_GODKJENT_MANUELT].includes( - vurdering.resultat, - ) - ) { - return RadioOptions.NEI; - } - return null; - }; - - const finnResterendePerioder = (perioderFraForm: Period[], periodeTilVurdering: Period): Period[] => { - const resterendePerioder = - perioderFraForm.length > 0 && getPeriodDifference([periodeTilVurdering], perioderFraForm as Period[]); - - return resterendePerioder; - }; - - const initialValues = { - [fieldname.BEGRUNNELSE]: vurdering.begrunnelse || '', - [fieldname.GODKJENT_OPPLAERING]: godkjentGjennomgaaOpplaeringInitialValue(), - [fieldname.PERIODER]: [{ id: v4(), periode: vurdering.opplæring }], - [fieldname.DOKUMENTER]: vurdering.tilknyttedeDokumenter || [], - }; - - const mapValuesTilAksjonspunktPayload = (values: FormState) => { - const perioderSomSkalAvslås = finnResterendePerioder( - values[fieldname.PERIODER].map(v => v.periode), - vurdering.opplæring, - ).map(periode => ({ - tilknyttedeDokumenter: values[fieldname.DOKUMENTER], - gjennomførtOpplæring: false, - begrunnelse: values[fieldname.BEGRUNNELSE], - periode, - })); - return values[fieldname.PERIODER] - .map(obj => obj.periode) - .map(periode => ({ - tilknyttedeDokumenter: values[fieldname.DOKUMENTER], - gjennomførtOpplæring: - values[fieldname.GODKJENT_OPPLAERING] === RadioOptions.JA || - values[fieldname.GODKJENT_OPPLAERING] === RadioOptions.DELVIS, - begrunnelse: values[fieldname.BEGRUNNELSE], - periode, - })) - .concat(perioderSomSkalAvslås); - }; - return ( - - løsAksjonspunktGjennomgåOpplæring(mapValuesTilAksjonspunktPayload(values))} - validationSchema={schema} - > - {({ handleSubmit, isSubmitting, values, setFieldValue, setFieldTouched, errors }) => ( - <> -
- {vurdering.opplæring.prettifyPeriod()} -
- - - {({ - field, // { name, value, onChange, onBlur } - meta, - }) => ( - { - await setFieldValue(field.name, value); - }} - onBlur={() => setFieldTouched(field.name, true)} - /> - )} - - - - - - - { - if (v === RadioOptions.JA || RadioOptions.NEI) { - await setFieldValue(fieldname.PERIODER, initialValues[fieldname.PERIODER]); - } - await setFieldValue(fieldname.GODKJENT_OPPLAERING, v); - }} - validate={[required]} - name={fieldname.GODKJENT_OPPLAERING} - disabled={readOnly} - /> - - {values[fieldname.GODKJENT_OPPLAERING] === RadioOptions.DELVIS && ( - - - ( - <> - {values[fieldname.PERIODER].map((periode, index, array) => ( - <> -
- { - arrayHelpers.replace(index, { - id: periode.id, - periode: new Period( - dateRange?.from ? dayjs(dateRange?.from).format('YYYY-MM-DD') : '', - dateRange?.to ? dayjs(dateRange?.to).format('YYYY-MM-DD') : '', - ), - }); - }} - mode="range" - /> - {array.length > 1 && arrayHelpers.remove(index)} />} -
-
- { - // @ts-expect-error Migrert frå ts-ignore, uvisst kvifor denne trengs - typeof errors[fieldname.PERIODER]?.[index]?.periode === 'string' && ( - // @ts-expect-error Migrert frå ts-ignore, uvisst kvifor denne trengs - {errors[fieldname.PERIODER]?.[index]?.periode} - ) - } -
- - ))} - { - arrayHelpers.push({ - id: v4(), - periode: new Period('', ''), - }); - }} - label="Legg til ny periode" - /> - - )} - /> -
- )} - {finnResterendePerioder( - values[fieldname.PERIODER].map(v => v.periode), - vurdering.opplæring, - ).length > 0 && ( - - - v.periode), - vurdering.opplæring, - ).map(periode => ( -

- {periode.prettifyPeriod()} -

- ))} - /> -
-
- )} - - - {erRedigering && ( - - )} - - - )} -
-
- ); -}; - -export default GjennomgaaOpplaeringForm; diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringNavigation.tsx b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringNavigation.tsx deleted file mode 100644 index 8c35f75b05..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringNavigation.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { GjennomgaaOpplaeringPeriode } from '@k9-sak-web/types'; -import { Heading } from '@navikt/ds-react'; -import { InteractiveList } from '@navikt/ft-plattform-komponenter'; -import React, { useEffect } from 'react'; -import PeriodeRad from '../components/PeriodeRad'; -import styles from './gjennomgaaOpplaeringNavigation.module.css'; -import GjennomgaaOpplaeringStatus from './konstanter'; - -interface OwnProps { - perioder: GjennomgaaOpplaeringPeriode[]; - setValgtPeriode: React.Dispatch>; -} - -const GjennomgaaOpplaeringNavigation = ({ perioder, setValgtPeriode }: OwnProps) => { - const perioderTilVurdering = perioder.filter(periode => periode.resultat === GjennomgaaOpplaeringStatus.IKKE_VURDERT); - const [activeIndex, setActiveIndex] = React.useState(perioderTilVurdering.length ? 0 : -1); - useEffect(() => { - if (activeIndex > -1) setValgtPeriode(perioderTilVurdering[activeIndex]); - }, []); - const perioderSomErVurdert = perioder - .filter(periode => periode.resultat !== GjennomgaaOpplaeringStatus.IKKE_VURDERT) - .sort((a, b) => new Date(b.opplæring.fom).valueOf() - new Date(a.opplæring.fom).valueOf()); - const allePerioder = [...perioderTilVurdering, ...perioderSomErVurdert]; - const elements = [ - ...perioderTilVurdering.map(periode => ), - ...perioderSomErVurdert.map(periode => ), - ]; - const antallPerioder = elements.length; - return ( -
- - Alle perioder - -
-
Status
-
Periode
-
- {antallPerioder === 0 &&

Ingen vurderinger å vise

} - {antallPerioder > 0 && ( -
- ({ - content: element, - active: activeIndex === currentIndex, - key: `${currentIndex}`, - onClick: () => { - setActiveIndex(currentIndex); - const periodeIndex = elements.indexOf(element); - setValgtPeriode(allePerioder[periodeIndex]); - }, - }))} - /> -
- )} -
- ); -}; - -export default GjennomgaaOpplaeringNavigation; diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt.tsx b/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt.tsx deleted file mode 100644 index b320e7ca6d..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { GjennomgaaOpplaeringPeriode, GjennomgaaOpplaeringVurdering } from '@k9-sak-web/types'; -import React, { useContext } from 'react'; - -import { Period } from '@fpsak-frontend/utils'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; -import GjennomgaaOpplaeringDetails from './GjennomgaaOpplaeringDetails'; -import GjennomgaaOpplaeringNavigation from './GjennomgaaOpplaeringNavigation'; - -const GjennomgaaOpplaeringOversikt = () => { - const { gjennomgåttOpplæring } = useContext(FaktaOpplaeringContext); - const { vurderinger } = gjennomgåttOpplæring; - - const [valgtPeriode, setValgtPeriode] = React.useState(null); - - const vurderingerMappet = vurderinger.map(vurdering => ({ - ...vurdering, - opplæring: new Period(vurdering.opplæring.fom, vurdering.opplæring.tom), - })) as GjennomgaaOpplaeringVurdering[]; - - const valgtVurdering = vurderingerMappet.find( - vurdering => vurdering.opplæring.prettifyPeriod() === valgtPeriode?.opplæring?.prettifyPeriod(), - ); - - return ( -
- ( - - )} - showDetailSection - detailSection={() => (valgtVurdering ? : null)} - /> -
- ); -}; - -export default GjennomgaaOpplaeringOversikt; diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/gjennomgaaOpplaeringNavigation.module.css b/packages/fakta-opplaering/src/gjennomgaaOpplaering/gjennomgaaOpplaeringNavigation.module.css deleted file mode 100644 index 58f025cbe0..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/gjennomgaaOpplaeringNavigation.module.css +++ /dev/null @@ -1,23 +0,0 @@ -.GjennomgaaOpplaering-oversikt { - width: 25rem; -} - -.GjennomgaaOpplaering-oversikt .heading { - margin: 1.3125rem 0 1.5rem 0.9375rem; -} - -.GjennomgaaOpplaering-oversikt .marginLeft { - margin-left: 0.9375rem; -} - -.GjennomgaaOpplaering-oversikt .periodColumns { - display: flex; -} - -.GjennomgaaOpplaering-oversikt .periodColumns > div { - margin-right: 1rem; -} - -.GjennomgaaOpplaering-oversikt .periodColumns > div:last-of-type { - margin-left: 1.7rem; -} diff --git a/packages/fakta-opplaering/src/gjennomgaaOpplaering/konstanter.ts b/packages/fakta-opplaering/src/gjennomgaaOpplaering/konstanter.ts deleted file mode 100644 index 0d747214f7..0000000000 --- a/packages/fakta-opplaering/src/gjennomgaaOpplaering/konstanter.ts +++ /dev/null @@ -1,9 +0,0 @@ -const GjennomgaaOpplaeringStatus = { - IKKE_VURDERT: 'MÅ_VURDERES', - AUTOMATISK_GODKJENT: 'AUTOMATISK_GODKJENT', - AUTOMATISK_AVSLAG: 'AUTOMATISK_AVSLAG', - MANUELT_GODKJENT: 'MANUELT_GODKJENT', - MANUELT_AVSLAG: 'MANUELT_AVSLAG', -}; - -export default GjennomgaaOpplaeringStatus; diff --git a/packages/fakta-opplaering/src/i18n/nb_NO.json b/packages/fakta-opplaering/src/i18n/nb_NO.json deleted file mode 100644 index 15e8edfdee..0000000000 --- a/packages/fakta-opplaering/src/i18n/nb_NO.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "allePerioder": "Alle perioder", - "status": "Status", - "periode": "Periode", - "part": "Part", - "ingenVurderinger": "Ingen vurderinger å vise", - "opplaering.vurdering.label": "Gjør en vurdering av om det er opplæring i perioden etter § 9-14.", - "opplaering.gjennomfoertOpplaering.label": "Er det opplæring i perioden?", - "opplaering.perioder.label": "I hvilken periode er det opplæring?", - "opplaering.resterendePerioder.label": "Resterende perioder søkeren ikke har opplæring", - "opplaering.dokumenter.label": "Hvilke dokumenter er brukt i vurderingen av opplæringen?", - "noedvendighet.dokumenter.label": "Hvilke dokumenter er brukt i vurderingen av nødvendighet?", - "noedvendighet.vurdering.label": "Gjør en vurdering av om opplæringen er nødvendig for at søker skal kunne ta seg av og behandle barnet etter § 9-14.", - "noedvendighet.noedvendigOpplaering.label": "Er opplæringen nødvendig for å kunne ta seg av og behandle barnet?", - "reisetid.foersteDag": "Første dag med opplæring:", - "reisetid.sisteDag": "Siste dag med opplæring:", - "reisetid.hjemkomstdato": "Hjemkomstdato:", - "reisetid.avreisedato": "Avreisedato:", - "reisetid.periode.innvilget": "I hvilken periode innvilges reisetid?", - "reisetid.periode.avslått": "I hvilken periode avslås reisetid?", - "reisetid.begrunnelse": "Begrunnelse", - "reisetid.beskrivelseFraSoeker": "Beskrivelse fra søker for reisetid i perioden" -} diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetDetails.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetDetails.tsx deleted file mode 100644 index 58ce001707..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetDetails.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React, { useState } from 'react'; -import { NoedvendighetVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import NoedvendighetFerdigVisning from './NoedvendighetFerdigVisning'; -import NoedvendighetForm from './NoedvendighetForm'; - -interface OwnProps { - vurdering: NoedvendighetVurdering; -} - -const NoedvendighetDetails = ({ vurdering }: OwnProps) => { - const [redigering, setRedigering] = useState(false); - if (vurdering.resultat !== Vurderingsresultat.MÅ_VURDERES && !redigering) { - return setRedigering(true)} />; - } - return ( - setRedigering(false)} erRedigering={redigering} /> - ); -}; - -export default NoedvendighetDetails; diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetFerdigVisning.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetFerdigVisning.tsx deleted file mode 100644 index a0dfe5abb4..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetFerdigVisning.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { NoedvendighetVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import { Calender } from '@navikt/ds-icons'; -import { AssessedBy } from '@navikt/ft-plattform-komponenter'; -import { useContext } from 'react'; - -import { BasicList } from '@k9-sak-web/gui/shared/basicList/BasicList.js'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { Box, Button } from '@navikt/ds-react'; -import { useIntl } from 'react-intl'; -import DokumentLink from '../components/DokumentLink'; -import styles from './noedvendighetFerdigVisning.module.css'; - -interface OwnProps { - vurdering: NoedvendighetVurdering; - rediger: () => void; -} - -const NoedvendighetFerdigVisning = ({ vurdering, rediger }: OwnProps) => { - const { readOnly, opplaeringDokumenter } = useContext(FaktaOpplaeringContext); - const intl = useIntl(); - - return ( - - !readOnly ? ( - - ) : null - } - > - {vurdering.perioder.map(periode => ( -
- {periode.prettifyPeriod()} -
- ))} - - - ({ ...dokument, benyttet: vurdering.tilknyttedeDokumenter.includes(dokument.id) })) - .filter(({ benyttet }) => benyttet) - .map(dokument => ( - - ))} - /> - - } - /> - - - {vurdering.begrunnelse}} - indentContent - /> - - - - - -
- ); -}; - -export default NoedvendighetFerdigVisning; diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetForm.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetForm.tsx deleted file mode 100644 index 2b0b16dc69..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetForm.tsx +++ /dev/null @@ -1,159 +0,0 @@ -import { TextAreaFormik } from '@fpsak-frontend/form'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { Calender } from '@navikt/ds-icons'; - -import RadioGroupFormik from '@fpsak-frontend/form/src/RadioGroupFormik'; -import { required } from '@fpsak-frontend/utils'; -import { - FaktaOpplaeringContext, - FaktaOpplaeringContextTypes, -} from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { NoedvendighetVurdering, Vurderingsresultat } from '@k9-sak-web/types'; -import { Box, Button } from '@navikt/ds-react'; -import { Field, Formik } from 'formik'; -import { useContext, useEffect, type JSX } from 'react'; -import { useIntl } from 'react-intl'; -import DokumenterIVurderingen from '../components/DokumenterIVurderingen'; - -enum fieldname { - BEGRUNNELSE = 'BEGRUNNELSE', - NOEDVENDIG_OPPLAERING = 'NOEDVENDIG_OPPLAERING', - DOKUMENTER = 'DOKUMENTER', -} - -enum RadioOptions { - JA = 'ja', - NEI = 'nei', -} - -interface VurderingAvBeredskapsperioderFormProps { - vurdering: NoedvendighetVurdering; - avbrytRedigering: () => void; - erRedigering: boolean; -} - -interface FormState { - [fieldname.BEGRUNNELSE]: string; - [fieldname.NOEDVENDIG_OPPLAERING]: string; - [fieldname.DOKUMENTER]: string[]; -} - -const NoedvendighetForm = ({ - vurdering, - avbrytRedigering, - erRedigering, -}: VurderingAvBeredskapsperioderFormProps): JSX.Element => { - const { readOnly, løsAksjonspunktNødvendighet, opplaeringDokumenter } = - useContext(FaktaOpplaeringContext); - const intl = useIntl(); - - useEffect( - () => () => { - avbrytRedigering(); - }, - [], - ); - - const godkjentNoedvendighetInitialValue = () => { - if ([Vurderingsresultat.GODKJENT].includes(vurdering.resultat)) { - return RadioOptions.JA; - } - if ([Vurderingsresultat.IKKE_GODKJENT].includes(vurdering.resultat)) { - return RadioOptions.NEI; - } - return null; - }; - - const initialValues = { - [fieldname.BEGRUNNELSE]: vurdering.begrunnelse || '', - [fieldname.NOEDVENDIG_OPPLAERING]: godkjentNoedvendighetInitialValue(), - [fieldname.DOKUMENTER]: vurdering.tilknyttedeDokumenter || [], - }; - - const mapValuesTilAksjonspunktPayload = (values: FormState) => ({ - nødvendigOpplæring: values[fieldname.NOEDVENDIG_OPPLAERING] === 'ja', - begrunnelse: values[fieldname.BEGRUNNELSE], - journalpostId: vurdering.journalpostId, - tilknyttedeDokumenter: values[fieldname.DOKUMENTER], - }); - return ( - - løsAksjonspunktNødvendighet(mapValuesTilAksjonspunktPayload(values))} - > - {({ handleSubmit, isSubmitting, setFieldValue, setFieldTouched }) => ( - <> - {vurdering.perioder.map(periode => ( -
- {periode.prettifyPeriod()} -
- ))} - - - {({ field, meta }) => ( - { - await setFieldValue(field.name, value); - }} - onBlur={() => setFieldTouched(field.name, true)} - /> - )} - - - - - - - - - - - {erRedigering && ( - - )} - - - )} -
-
- ); -}; - -export default NoedvendighetForm; diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetNavigation.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetNavigation.tsx deleted file mode 100644 index e96e71c36e..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetNavigation.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import { NoedvendighetVurdering } from '@k9-sak-web/types'; -import { Heading } from '@navikt/ds-react'; -import { InteractiveList } from '@navikt/ft-plattform-komponenter'; -import React, { useEffect } from 'react'; -import PeriodeRad from '../components/PeriodeRad'; -import noedvendighetStatus from './konstanter'; -import styles from './noedvendighetNavigation.module.css'; - -interface OwnProps { - perioder: NoedvendighetVurdering[]; - setValgtPeriode: React.Dispatch>; -} - -const NoedvendighetNavigation = ({ perioder, setValgtPeriode }: OwnProps) => { - const perioderTilVurdering = perioder.filter(periode => periode.resultat === noedvendighetStatus.IKKE_VURDERT); - const [activeIndex, setActiveIndex] = React.useState(perioderTilVurdering.length ? 0 : -1); - useEffect(() => { - if (activeIndex > -1) setValgtPeriode(perioderTilVurdering[activeIndex]); - }, []); - const perioderSomErVurdert = perioder.filter(periode => periode.resultat !== noedvendighetStatus.IKKE_VURDERT); - const allePerioder = [...perioderTilVurdering, ...perioderSomErVurdert]; - const elements = [ - ...perioderTilVurdering.map(periode => ), - ...perioderSomErVurdert.map(periode => ), - ]; - const antallPerioder = elements.length; - return ( -
- - Alle perioder - -
-
Status
-
Periode
-
- {antallPerioder === 0 &&

Ingen vurderinger å vise

} - {antallPerioder > 0 && ( -
- ({ - content: element, - active: activeIndex === currentIndex, - key: `${currentIndex}`, - onClick: () => { - setActiveIndex(currentIndex); - const periodeIndex = elements.indexOf(element); - setValgtPeriode(allePerioder[periodeIndex]); - }, - }))} - /> -
- )} -
- ); -}; - -export default NoedvendighetNavigation; diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx deleted file mode 100644 index d1e70b2a96..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import { Period } from '@fpsak-frontend/utils'; -import { - FaktaOpplaeringContext, - FaktaOpplaeringContextTypes, -} from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; -import { NoedvendighetVurdering } from '@k9-sak-web/types'; -import { Alert } from '@navikt/ds-react'; -import React, { useContext } from 'react'; -import NoedvendighetDetails from './NoedvendighetDetails'; -import NoedvendighetNavigation from './NoedvendighetNavigation'; - -const reducer = (accumulator, currentValue) => { - const perioderMedMatchendeJournalpostId = accumulator.find( - periode => periode.journalpostId.journalpostId === currentValue.journalpostId.journalpostId, - ); - if (perioderMedMatchendeJournalpostId) { - const arrayUtenPeriodeneSomSkalLeggesInn = accumulator.filter( - periode => periode.journalpostId.journalpostId !== currentValue.journalpostId.journalpostId, - ); - return [ - ...arrayUtenPeriodeneSomSkalLeggesInn, - { - noedvendighet: perioderMedMatchendeJournalpostId.noedvendighet, - journalpostId: perioderMedMatchendeJournalpostId.journalpostId, - resultat: perioderMedMatchendeJournalpostId.resultat, - perioder: [...perioderMedMatchendeJournalpostId.perioder, currentValue.periode], - }, - ]; - } - return [ - ...accumulator, - { - noedvendighet: currentValue.noedvendighet, - journalpostId: currentValue.journalpostId, - resultat: currentValue.resultat, - perioder: [currentValue.periode], - }, - ]; -}; - -const NoedvendighetOversikt = () => { - const { nødvendigOpplæring, aksjonspunkter } = useContext(FaktaOpplaeringContext); - const { vurderinger, perioder } = nødvendigOpplæring; - const [valgtPeriode, setValgtPeriode] = React.useState(null); - const perioderMappet = perioder - .map(periode => { - const vurderingForPeriode = vurderinger.find( - vurdering => vurdering.journalpostId.journalpostId === periode.journalpostId.journalpostId, - ); - return { - ...periode, - periode: new Period(periode.periode.fom, periode.periode.tom), - resultat: vurderingForPeriode?.resultat, - }; - }) - .reduce(reducer, []); - - const vurderingerMappet = vurderinger.map(vurdering => { - const periodeForVurdering = perioder.find( - periode => periode.journalpostId.journalpostId === vurdering.journalpostId.journalpostId, - ); - return { - ...vurdering, - perioder: vurdering.perioder.map(v => new Period(v.fom, v.tom)), - noedvendighet: periodeForVurdering.noedvendighet, - }; - }); - - const valgtVurdering = vurderingerMappet.find( - vurdering => vurdering.journalpostId.journalpostId === valgtPeriode?.journalpostId?.journalpostId, - ); - - const andreAksjonspunkterIOpplæring = aksjonspunkter - .filter(aksjonspunkt => aksjonspunkt.definisjon.kode !== aksjonspunktCodes.VURDER_NØDVENDIGHET) - .map(aksjonspunkt => { - if (aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING) { - return 'Opplæring'; - } - - if (aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_REISETID) { - return 'Reisetid'; - } - return aksjonspunkt; - }) - .filter(v => typeof v === 'string'); - - if (!aksjonspunkter.find(aksjonspunkt => aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_NØDVENDIGHET)) { - return ( - - {`${andreAksjonspunkterIOpplæring.join(' og ')} må vurderes før Nødvendighet kan vurderes.`} - - ); - } - return ( -
- ( - - )} - showDetailSection - detailSection={() => (valgtVurdering ? : null)} - /> -
- ); -}; - -export default NoedvendighetOversikt; diff --git a/packages/fakta-opplaering/src/noedvendighet/konstanter.ts b/packages/fakta-opplaering/src/noedvendighet/konstanter.ts deleted file mode 100644 index 0b1339f0a3..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/konstanter.ts +++ /dev/null @@ -1,9 +0,0 @@ -const noedvendighetStatus = { - IKKE_VURDERT: 'IKKE_VURDERT', - AUTOMATISK_GODKJENT: 'AUTOMATISK_GODKJENT', - AUTOMATISK_AVSLAG: 'AUTOMATISK_AVSLAG', - MANUELT_GODKJENT: 'MANUELT_GODKJENT', - MANUELT_AVSLAG: 'MANUELT_AVSLAG', -}; - -export default noedvendighetStatus; diff --git a/packages/fakta-opplaering/src/noedvendighet/noedvendighetFerdigVisning.module.css b/packages/fakta-opplaering/src/noedvendighet/noedvendighetFerdigVisning.module.css deleted file mode 100644 index 174988729a..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/noedvendighetFerdigVisning.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.endreLink { - margin-left: 0.5rem; -} diff --git a/packages/fakta-opplaering/src/noedvendighet/noedvendighetNavigation.module.css b/packages/fakta-opplaering/src/noedvendighet/noedvendighetNavigation.module.css deleted file mode 100644 index a190462306..0000000000 --- a/packages/fakta-opplaering/src/noedvendighet/noedvendighetNavigation.module.css +++ /dev/null @@ -1,23 +0,0 @@ -.noedvendighet-oversikt { - width: 25rem; -} - -.noedvendighet-oversikt .heading { - margin: 1.3125rem 0 1.5rem 0.9375rem; -} - -.noedvendighet-oversikt .marginLeft { - margin-left: 0.9375rem; -} - -.noedvendighet-oversikt .periodColumns { - display: flex; -} - -.noedvendighet-oversikt .periodColumns > div { - margin-right: 1rem; -} - -.noedvendighet-oversikt .periodColumns > div:last-of-type { - margin-left: 1.7rem; -} diff --git a/packages/fakta-opplaering/src/opplaeringContainer.module.css b/packages/fakta-opplaering/src/opplaeringContainer.module.css deleted file mode 100644 index 8aa6010622..0000000000 --- a/packages/fakta-opplaering/src/opplaeringContainer.module.css +++ /dev/null @@ -1,50 +0,0 @@ -.medisinskVilkår { - color: #262626; -} - -.medisinskVilkår__vilkårContentContainer { - margin-top: 1.5rem; -} - -@media screen and (width >= 1350px) { - .medisinskVilkår__vilkårContentContainer { - min-height: 1250px; - } -} - -.medisinskVilkår :global .alertstripe { - padding-top: 0.4375rem; - padding-bottom: 0.4375rem; -} - -.medisinskVilkår :global .alertstripe__tekst { - max-width: 47rem; -} - -.medisinskVilkår :global .navigationWithDetailView__navigationSection { - flex-shrink: 0; - min-width: 25.3125rem; -} - -.medisinskVilkår :global .navigationWithDetailView__detailSection { - padding-bottom: 9.375rem; -} - -.medisinskVilkårTabItem { - position: relative; -} - -.medisinskVilkårTabItemExtended { - align-items: center; - display: flex; - gap: 0.5rem; -} - -.infostripe__diagnosekode__tittel { - margin-left: 1.75rem; -} - -.infostripe__diagnosekode { - margin-left: 0.5rem; - font-weight: bold; -} diff --git a/packages/fakta-opplaering/src/reisetid/BeskrivelseFraSoeker.tsx b/packages/fakta-opplaering/src/reisetid/BeskrivelseFraSoeker.tsx deleted file mode 100644 index 1111f96ddc..0000000000 --- a/packages/fakta-opplaering/src/reisetid/BeskrivelseFraSoeker.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { PeopleFilled } from '@navikt/ds-icons'; - -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { Box } from '@navikt/ds-react'; -import { ReisetidVurdering } from './ReisetidTypes'; -import styles from './beskrivelseFraSoeker.module.css'; - -interface OwnProps { - vurdering: ReisetidVurdering; -} - -const BeskrivelseFraSoeker = ({ vurdering }: OwnProps) => { - if (!vurdering.perioderFraSoeknad.beskrivelseFraSoeker) { - return null; - } - return ( - -
-
- -
- {vurdering.perioderFraSoeknad.beskrivelseFraSoeker}} - /> -
-
- ); -}; - -export default BeskrivelseFraSoeker; diff --git a/packages/fakta-opplaering/src/reisetid/FraSoeknad.tsx b/packages/fakta-opplaering/src/reisetid/FraSoeknad.tsx deleted file mode 100644 index 638531c939..0000000000 --- a/packages/fakta-opplaering/src/reisetid/FraSoeknad.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { Tag } from '@navikt/ds-react'; - -interface OwnProps { - children: React.ReactNode; -} - -const FraSoeknad = ({ children }: OwnProps) => ( -
- {children} - - Fra søknad - -
-); - -export default FraSoeknad; diff --git a/packages/fakta-opplaering/src/reisetid/PeriodeRad.tsx b/packages/fakta-opplaering/src/reisetid/PeriodeRad.tsx deleted file mode 100644 index 7c359507c5..0000000000 --- a/packages/fakta-opplaering/src/reisetid/PeriodeRad.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { Vurderingsresultat } from '@k9-sak-web/types'; -import { - ContentWithTooltip, - GreenCheckIconFilled, - RedCrossIconFilled, - WarningIcon, -} from '@navikt/ft-plattform-komponenter'; -import { Period } from '@fpsak-frontend/utils'; -import React, { type JSX } from 'react'; -import styles from './periodeRad.module.css'; - -interface OwnProps { - periode?: Period; - perioder?: Period[]; - resultat: string; -} - -const renderStatusIcon = (resultat: string) => { - if (resultat === Vurderingsresultat.MÅ_VURDERES) { - return ( - - - - ); - } - - if (resultat === Vurderingsresultat.GODKJENT_AUTOMATISK) { - return ( - - - - ); - } - - if (resultat === Vurderingsresultat.IKKE_GODKJENT_AUTOMATISK) { - return ( - - - - ); - } - if (resultat === Vurderingsresultat.GODKJENT) { - return ( - - - - ); - } - if (resultat === Vurderingsresultat.IKKE_GODKJENT) { - return ( - - - - ); - } - return null; -}; - -const PeriodeRad = ({ periode, perioder, resultat }: OwnProps): JSX.Element => ( -
-
- Type -
{renderStatusIcon(resultat)}
-
-
-
-
- Perioder - {periode && periode.prettifyPeriod()} - {!!perioder?.length && perioder.map(v => v.prettifyPeriod())} -
-
-
-
-); - -export default PeriodeRad; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidDetails.tsx b/packages/fakta-opplaering/src/reisetid/ReisetidDetails.tsx deleted file mode 100644 index 327c6d57bd..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidDetails.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React, { useState } from 'react'; -import { Vurderingsresultat } from '@k9-sak-web/types'; -import { ReisetidVurdering } from './ReisetidTypes'; -import ReisetidFerdigVisning from './ReisetidFerdigVisning'; -import ReisetidForm from './ReisetidForm'; - -interface OwnProps { - vurdering: ReisetidVurdering; -} - -const ReisetidDetails = ({ vurdering }: OwnProps) => { - const [redigering, setRedigering] = useState(false); - - if (vurdering.resultat !== Vurderingsresultat.MÅ_VURDERES && !redigering) { - return setRedigering(true)} />; - } - return setRedigering(false)} erRedigering={redigering} />; -}; - -export default ReisetidDetails; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidFerdigVisning.tsx b/packages/fakta-opplaering/src/reisetid/ReisetidFerdigVisning.tsx deleted file mode 100644 index 220d47dde7..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidFerdigVisning.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import { AssessedBy } from '@navikt/ft-plattform-komponenter'; -import dayjs from 'dayjs'; -import { useContext } from 'react'; -import { useIntl } from 'react-intl'; - -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; - -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { DDMMYYYY_DATE_FORMAT } from '@k9-sak-web/lib/dateUtils/formats.js'; -import { Vurderingsresultat } from '@k9-sak-web/types'; -import { Box, Button } from '@navikt/ds-react'; -import BeskrivelseFraSoeker from './BeskrivelseFraSoeker'; -import FraSoeknad from './FraSoeknad'; -import { ReisetidVurdering } from './ReisetidTypes'; -import styles from './reisetidFerdigVisning.module.css'; - -interface OwnProps { - vurdering: ReisetidVurdering; - rediger: () => void; -} - -const ReisetidFerdigVisning = ({ vurdering, rediger }: OwnProps) => { - const { readOnly } = useContext(FaktaOpplaeringContext); - const intl = useIntl(); - return ( - - !readOnly ? ( - - ) : null - } - > - - - {vurdering.til ? ( - - {dayjs(vurdering.perioderFraSoeknad.opplæringPeriode.fom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - ) : ( - - {dayjs(vurdering.perioderFraSoeknad.opplæringPeriode.tom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - )} - - - {vurdering.til ? ( - - {dayjs(vurdering.perioderFraSoeknad.reisetidTil.fom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - ) : ( - - {dayjs(vurdering.perioderFraSoeknad.reisetidHjem.tom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - )} - - - - - {vurdering.begrunnelse && ( - - {vurdering.begrunnelse}} - indentContent - /> - - - )} - - ); -}; - -export default ReisetidFerdigVisning; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidForm.tsx b/packages/fakta-opplaering/src/reisetid/ReisetidForm.tsx deleted file mode 100644 index bc94f4f690..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidForm.tsx +++ /dev/null @@ -1,205 +0,0 @@ -import { TextAreaFormik } from '@fpsak-frontend/form'; -import dayjs from 'dayjs'; -import { useContext, useEffect, type JSX } from 'react'; -import { useIntl } from 'react-intl'; -import * as yup from 'yup'; - -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; - -import { Period, getPeriodDifference, required } from '@fpsak-frontend/utils'; -import { DetailView } from '@k9-sak-web/gui/shared/detailView/DetailView.js'; -import { LabelledContent } from '@k9-sak-web/gui/shared/labelledContent/LabelledContent.js'; -import { DDMMYYYY_DATE_FORMAT } from '@k9-sak-web/lib/dateUtils/formats.js'; -import { Alert, Box, Button } from '@navikt/ds-react'; -import { Formik } from 'formik'; -import RangeDatepicker from '../components/rangeDatepicker/RangeDatepicker'; -import BeskrivelseFraSoeker from './BeskrivelseFraSoeker'; -import FraSoeknad from './FraSoeknad'; -import { ReisetidVurdering } from './ReisetidTypes'; - -enum fieldname { - BEGRUNNELSE = 'BEGRUNNELSE', - PERIODE = 'PERIODE', -} - -interface OwnProps { - vurdering: ReisetidVurdering; - avbrytRedigering: () => void; - erRedigering: boolean; -} - -interface FormState { - [fieldname.BEGRUNNELSE]: string; - [fieldname.PERIODE]: Period; -} - -const reisetidSchema = yup.object().shape({ - [fieldname.PERIODE]: yup.object().shape({ - fom: yup.string().required().label('Fra'), - tom: yup.string().required().label('Til'), - }), -}); - -const ReisetidForm = ({ vurdering, avbrytRedigering, erRedigering }: OwnProps): JSX.Element => { - const { readOnly, løsAksjonspunktReisetid } = useContext(FaktaOpplaeringContext); - const intl = useIntl(); - - useEffect( - () => () => { - avbrytRedigering(); - }, - [vurdering], - ); - - const initialValues = { - [fieldname.BEGRUNNELSE]: vurdering.begrunnelse || '', - [fieldname.PERIODE]: vurdering.periode, - }; - - const mapValuesTilAksjonspunktPayload = (values: FormState) => { - const periodeSomSkalAvslås = { - godkjent: false, - begrunnelse: values[fieldname.BEGRUNNELSE], - periode: getPeriodDifference([vurdering.periode], [values[fieldname.PERIODE]])[0], - }; - - const periodeSomSkalGodkjennes = { - godkjent: true, - begrunnelse: values[fieldname.BEGRUNNELSE], - periode: values[fieldname.PERIODE], - }; - - if (values[fieldname.PERIODE].covers(vurdering.periode)) { - return { reisetid: [periodeSomSkalGodkjennes] }; - } - - return { reisetid: [periodeSomSkalAvslås, periodeSomSkalGodkjennes] }; - }; - - return ( - - løsAksjonspunktReisetid(mapValuesTilAksjonspunktPayload(values))} - validationSchema={reisetidSchema} - > - {({ handleSubmit, isSubmitting, values, setFieldValue }) => ( - <> - - - {vurdering.til ? ( - - {dayjs(vurdering.perioderFraSoeknad.opplæringPeriode.fom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - ) : ( - - {dayjs(vurdering.perioderFraSoeknad.opplæringPeriode.tom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - )} - - - {vurdering.til ? ( - - {dayjs(vurdering.perioderFraSoeknad.reisetidTil.fom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - ) : ( - - {dayjs(vurdering.perioderFraSoeknad.reisetidHjem.tom).format(DDMMYYYY_DATE_FORMAT)} - - } - /> - )} - - { - await setFieldValue( - fieldname.PERIODE, - new Period( - dateRange?.from ? dayjs(dateRange?.from).format('YYYY-MM-DD') : '', - dateRange?.to ? dayjs(dateRange?.to).format('YYYY-MM-DD') : '', - ), - false, - ); - }} - mode="range" - /> - - - - {getPeriodDifference([vurdering.periode], [values[fieldname.PERIODE]]).length > 0 && ( - - - ( -

- {periode.prettifyPeriod()} -

- ))} - /> -
-
- )} - - - {erRedigering && ( - - )} - - - )} -
-
- ); -}; - -export default ReisetidForm; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidNavigation.tsx b/packages/fakta-opplaering/src/reisetid/ReisetidNavigation.tsx deleted file mode 100644 index 01d98739c3..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidNavigation.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { Heading } from '@navikt/ds-react'; -import { InteractiveList } from '@navikt/ft-plattform-komponenter'; -import React, { useEffect } from 'react'; -import PeriodeRad from './PeriodeRad'; -import { ReisetidVurdering } from './ReisetidTypes'; -import ReisetidStatus from './konstanter'; -import styles from './reisetidNavigation.module.css'; - -interface OwnProps { - perioder: ReisetidVurdering[]; - setValgtPeriode: React.Dispatch>; -} - -const ReisetidNavigation = ({ perioder, setValgtPeriode }: OwnProps) => { - const perioderTilVurdering = perioder.filter(periode => periode.resultat === ReisetidStatus.IKKE_VURDERT); - const [activeIndex, setActiveIndex] = React.useState(perioderTilVurdering.length ? 0 : -1); - useEffect(() => { - if (activeIndex > -1) setValgtPeriode(perioderTilVurdering[activeIndex]); - }, []); - const perioderSomErVurdert = perioder - .filter(periode => periode.resultat !== ReisetidStatus.IKKE_VURDERT) - // @ts-expect-error Migrert frå ts-ignore, uvisst kvifor denne trengs - .sort((a, b) => new Date(b.periode.fom) - new Date(a.periode.fom)); - const allePerioder = [...perioderTilVurdering, ...perioderSomErVurdert]; - const elements = [ - ...perioderTilVurdering.map(periode => ), - ...perioderSomErVurdert.map(periode => ), - ]; - const antallPerioder = elements.length; - return ( -
- - Alle perioder - -
-
Status
-
Periode
-
- {antallPerioder === 0 &&

Ingen vurderinger å vise

} - {antallPerioder > 0 && ( -
- ({ - content: element, - active: activeIndex === currentIndex, - key: `${currentIndex}`, - onClick: () => { - setActiveIndex(currentIndex); - const periodeIndex = elements.indexOf(element); - setValgtPeriode(allePerioder[periodeIndex]); - }, - }))} - /> -
- )} -
- ); -}; - -export default ReisetidNavigation; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidOversikt.tsx b/packages/fakta-opplaering/src/reisetid/ReisetidOversikt.tsx deleted file mode 100644 index eb76b174ee..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidOversikt.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import dayjs from 'dayjs'; -import React, { useContext } from 'react'; - -import { Period } from '@fpsak-frontend/utils'; -import { NavigationWithDetailView } from '@k9-sak-web/gui/shared/navigationWithDetailView/NavigationWithDetailView.js'; -import ReisetidDetails from './ReisetidDetails'; -import ReisetidNavigation from './ReisetidNavigation'; -import { ReisetidVurdering } from './ReisetidTypes'; - -const mapVurdering = (vurdering, reisetidObj, perioder) => { - const perioderFraSoeknad = perioder.find( - periode => - periode.opplæringPeriode.fom === vurdering.opplæringPeriode.fom && - periode.opplæringPeriode.tom === vurdering.opplæringPeriode.tom, - ); - return { - begrunnelse: reisetidObj.begrunnelse, - resultat: reisetidObj.resultat, - perioderFraSoeknad, - periode: new Period(reisetidObj.periode.fom, reisetidObj.periode.tom), - til: dayjs(reisetidObj.periode.fom).isSameOrBefore(dayjs(vurdering.opplæringPeriode.fom)), - }; -}; - -const ReisetidOversikt = () => { - const { reisetid } = useContext(FaktaOpplaeringContext); - const { vurderinger, perioder } = reisetid; - - const [valgtPeriode, setValgtPeriode] = React.useState(null); - - const reducer = (acc, current) => { - const mapFunc = reisetidPeriode => mapVurdering(current, reisetidPeriode, perioder); - return [...acc, ...current.reisetidHjem.map(mapFunc), ...current.reisetidTil.map(mapFunc)]; - }; - - const vurderingerMappet = vurderinger.reduce(reducer, []) as ReisetidVurdering[]; - - const valgtVurdering = vurderingerMappet.find( - vurdering => vurdering.periode.prettifyPeriod() === valgtPeriode?.periode?.prettifyPeriod(), - ); - - return ( -
- } - showDetailSection - detailSection={() => (valgtVurdering ? : null)} - /> -
- ); -}; - -export default ReisetidOversikt; diff --git a/packages/fakta-opplaering/src/reisetid/ReisetidTypes.ts b/packages/fakta-opplaering/src/reisetid/ReisetidTypes.ts deleted file mode 100644 index 56024930f5..0000000000 --- a/packages/fakta-opplaering/src/reisetid/ReisetidTypes.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Period } from '@fpsak-frontend/utils'; - -import { Vurderingsresultat } from '@k9-sak-web/types'; - -export interface ReisetidPeriode { - opplæringPeriode: Period; - reisetidHjem: Period; - reisetidTil: Period; - beskrivelseFraSoeker?: string; -} - -export interface ReisetidVurdering { - begrunnelse: string; - resultat: Vurderingsresultat; - perioderFraSoeknad: ReisetidPeriode; - periode: Period; - til: boolean; - vurdertAv?: string; - vurdertTidspunkt?: string; -} diff --git a/packages/fakta-opplaering/src/reisetid/beskrivelseFraSoeker.module.css b/packages/fakta-opplaering/src/reisetid/beskrivelseFraSoeker.module.css deleted file mode 100644 index 955dc89073..0000000000 --- a/packages/fakta-opplaering/src/reisetid/beskrivelseFraSoeker.module.css +++ /dev/null @@ -1,4 +0,0 @@ -.container { - display: flex; - gap: 5px; -} diff --git a/packages/fakta-opplaering/src/reisetid/konstanter.ts b/packages/fakta-opplaering/src/reisetid/konstanter.ts deleted file mode 100644 index e5dc3c11c4..0000000000 --- a/packages/fakta-opplaering/src/reisetid/konstanter.ts +++ /dev/null @@ -1,9 +0,0 @@ -const ReisetidStatus = { - IKKE_VURDERT: 'MÅ_VURDERES', - AUTOMATISK_GODKJENT: 'AUTOMATISK_GODKJENT', - AUTOMATISK_AVSLAG: 'AUTOMATISK_AVSLAG', - MANUELT_GODKJENT: 'MANUELT_GODKJENT', - MANUELT_AVSLAG: 'MANUELT_AVSLAG', -}; - -export default ReisetidStatus; diff --git a/packages/fakta-opplaering/src/reisetid/periodeRad.module.css b/packages/fakta-opplaering/src/reisetid/periodeRad.module.css deleted file mode 100644 index 67a3560574..0000000000 --- a/packages/fakta-opplaering/src/reisetid/periodeRad.module.css +++ /dev/null @@ -1,49 +0,0 @@ -.vurderingsperiodeElement { - display: flex; - cursor: pointer; -} - -.vurderingsperiodeElement > * { - align-self: center; -} - -.vurderingsperiodeElement__icon { - min-width: 3.125rem; -} - -.vurderingsperiodeElement__texts { - display: flex; - align-items: center; - margin-left: 1.625rem; -} - -.vurderingsperiodeElement__texts__period { - display: inline-block; - margin: 0; - color: var(--a-blue-500); - text-decoration: underline; - min-width: 10.125rem; -} - -.vurderingsperiodeElement__texts__resultat { - display: inline-block; - margin: 0 0 0 1.375rem; -} - -.vurderingsperiodeElement__texts__kildeIcon { - display: inline-block; - vertical-align: top; - margin-top: -0.125rem; - margin-left: 1.75rem; -} - -.vurderingsperiodeElement .visuallyHidden { - position: absolute; - overflow: hidden; - clip: rect(0 0 0 0); - height: 1px; - width: 1px; - margin: -1px; - padding: 0; - border: 0; -} diff --git a/packages/fakta-opplaering/src/reisetid/reisetidFerdigVisning.module.css b/packages/fakta-opplaering/src/reisetid/reisetidFerdigVisning.module.css deleted file mode 100644 index 174988729a..0000000000 --- a/packages/fakta-opplaering/src/reisetid/reisetidFerdigVisning.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.endreLink { - margin-left: 0.5rem; -} diff --git a/packages/fakta-opplaering/src/reisetid/reisetidNavigation.module.css b/packages/fakta-opplaering/src/reisetid/reisetidNavigation.module.css deleted file mode 100644 index 00ecdc379f..0000000000 --- a/packages/fakta-opplaering/src/reisetid/reisetidNavigation.module.css +++ /dev/null @@ -1,23 +0,0 @@ -.Reisetid-oversikt { - width: 25rem; -} - -.Reisetid-oversikt .heading { - margin: 1.3125rem 0 1.5rem 0.9375rem; -} - -.Reisetid-oversikt .marginLeft { - margin-left: 0.9375rem; -} - -.Reisetid-oversikt .periodColumns { - display: flex; -} - -.Reisetid-oversikt .periodColumns > div { - margin-right: 1rem; -} - -.Reisetid-oversikt .periodColumns > div:last-of-type { - margin-left: 1.7rem; -} diff --git a/packages/kodeverk/src/aksjonspunktCodes.ts b/packages/kodeverk/src/aksjonspunktCodes.ts index 1e57776f7d..6f9d8f88f8 100644 --- a/packages/kodeverk/src/aksjonspunktCodes.ts +++ b/packages/kodeverk/src/aksjonspunktCodes.ts @@ -93,8 +93,8 @@ const aksjonspunktCodes = { VURDER_RETT_ETTER_PLEIETRENGENDES_DØD: '9202', VENT_ANNEN_PSB_SAK: '9290', VURDER_INSTITUSJON: '9300', - VURDER_NØDVENDIGHET: '9301', - VURDER_GJENNOMGÅTT_OPPLÆRING: '9302', + VURDER_LANGVARIG_SYK: '9301', + VURDER_OPPLÆRING: '9302', VURDER_REISETID: '9303', VURDER_DATO_NY_REGEL_UTTAK: '9291', VURDER_NYOPPSTARTET: '9016', diff --git a/packages/kodeverk/src/vilkarType.ts b/packages/kodeverk/src/vilkarType.ts index 06aa3ac16c..974fa33984 100644 --- a/packages/kodeverk/src/vilkarType.ts +++ b/packages/kodeverk/src/vilkarType.ts @@ -16,7 +16,6 @@ const vilkarType = { LANGVARIG_SYKDOM: 'K9_VK_17', NØDVENDIG_OPPLÆRING: 'K9_VK_20', GODKJENT_OPPLÆRINGSINSTITUSJON: 'K9_VK_21', - GJENNOMGÅ_OPPLÆRING: 'K9_VK_22', UNGDOMSPROGRAMVILKARET: 'UNG_VK_XXX', }; diff --git a/packages/konstanter/src/faktaPanelCodes.ts b/packages/konstanter/src/faktaPanelCodes.ts index 9c6eba106c..37e819120b 100644 --- a/packages/konstanter/src/faktaPanelCodes.ts +++ b/packages/konstanter/src/faktaPanelCodes.ts @@ -35,6 +35,7 @@ const faktaPanelCodes = { INSTITUSJON: 'institusjon', OPPLAERING: 'opplaering', NYOPPSTARTET: 'nyoppstartet', + SYKDOM_OG_OPPLAERING: 'sykdom-og-opplaering', }; export default faktaPanelCodes; diff --git a/packages/prosess-vilkar-sykdom/i18n/nb_NO.json b/packages/prosess-vilkar-sykdom/i18n/nb_NO.json index b2c29e67ee..6871febb0d 100644 --- a/packages/prosess-vilkar-sykdom/i18n/nb_NO.json +++ b/packages/prosess-vilkar-sykdom/i18n/nb_NO.json @@ -1,6 +1,7 @@ { "Behandlingspunkt.MedisinskVilkar": "Sykdom", "Behandlingspunkt.LivetsSluttfase": "Livets sluttfase", + "Behandlingspunkt.SykdomOgOpplaering": "Sykdom og opplæring", "VilkarresultatMedOverstyringForm.ErOppfylt": "Vilkåret er oppfylt", "VilkarresultatMedOverstyringForm.ErIkkeOppfylt": "Vilkåret er avslått", "VilkarresultatMedOverstyringForm.IkkeBehandlet": "Ikke behandlet", diff --git a/packages/v2/backend/package.json b/packages/v2/backend/package.json index 3b5045baab..da326dd045 100644 --- a/packages/v2/backend/package.json +++ b/packages/v2/backend/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@navikt/k9-klage-typescript-client": "2.0.20250218125133", - "@navikt/k9-sak-typescript-client": "2.0.20250320132234", + "@navikt/k9-sak-typescript-client": "2.0.20250401102942", "@navikt/ung-sak-typescript-client": "0.2.20250407193643" }, "devDependencies": { diff --git a/packages/v2/backend/src/k9sak/kodeverk/AksjonspunktkodeDefinisjon.ts b/packages/v2/backend/src/k9sak/kodeverk/AksjonspunktkodeDefinisjon.ts index aa56068909..4c3cb1400f 100644 --- a/packages/v2/backend/src/k9sak/kodeverk/AksjonspunktkodeDefinisjon.ts +++ b/packages/v2/backend/src/k9sak/kodeverk/AksjonspunktkodeDefinisjon.ts @@ -76,8 +76,8 @@ type AksjonspunktkodeDefinisjonKeys = | 'VURDER_RETT_ETTER_PLEIETRENGENDES_DØD' | 'VENT_ANNEN_PSB_SAK' | 'VURDER_INSTITUSJON' - | 'VURDER_NØDVENDIGHET' - | 'VURDER_GJENNOMGÅTT_OPPLÆRING' + | 'VURDER_LANGVARIG_SYK' + | 'VURDER_OPPLÆRING' | 'VURDER_REISETID' | 'VURDER_DATO_NY_REGEL_UTTAK'; @@ -157,8 +157,8 @@ export const aksjonspunktkodeDefinisjonType: Readonly< VURDER_RETT_ETTER_PLEIETRENGENDES_DØD: '9202', VENT_ANNEN_PSB_SAK: '9290', VURDER_INSTITUSJON: '9300', - VURDER_NØDVENDIGHET: '9301', - VURDER_GJENNOMGÅTT_OPPLÆRING: '9302', + VURDER_LANGVARIG_SYK: '9301', + VURDER_OPPLÆRING: '9302', VURDER_REISETID: '9303', VURDER_DATO_NY_REGEL_UTTAK: '9291', }; diff --git a/packages/v2/gui/package.json b/packages/v2/gui/package.json index 3429efdd62..8883da5637 100644 --- a/packages/v2/gui/package.json +++ b/packages/v2/gui/package.json @@ -20,6 +20,7 @@ "@hookform/resolvers": "^4.1.3", "@k9-sak-web/backend": "workspace:^", "@k9-sak-web/lib": "1.0.0", + "@navikt/diagnosekoder": "^1.2025.0", "@navikt/ft-form-hooks": "^6.2.9", "@navikt/ft-form-validators": "^3.1.11", "@navikt/ft-utils": "^3.3.1", diff --git a/packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.stories.tsx b/packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.stories.tsx deleted file mode 100644 index d1d367277f..0000000000 --- a/packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.stories.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; -import { expect, fn, userEvent } from '@storybook/test'; -import { Period } from '@navikt/ft-utils'; -import FaktaInstitusjonIndex from './FaktaInstitusjonIndex'; -import type { InstitusjonVurderingDtoMedPerioder } from './types/InstitusjonVurderingDtoMedPerioder'; -import type { InstitusjonPeriodeDto } from '@k9-sak-web/backend/k9sak/generated'; -import { InstitusjonVurderingDtoResultat } from '@k9-sak-web/backend/k9sak/generated'; - -const meta = { - title: 'gui/fakta/institusjon', - component: FaktaInstitusjonIndex, -} satisfies Meta; - -export default meta; - -type Story = StoryObj; - -const mockPerioder: InstitusjonPeriodeDto[] = [ - { - periode: { - fom: '2023-01-01', - tom: '2023-03-31', - }, - institusjon: 'Oslo Universitetssykehus', - journalpostId: { journalpostId: '123456789' }, - }, -]; - -const mockVurderinger: InstitusjonVurderingDtoMedPerioder[] = [ - { - journalpostId: { journalpostId: '123456789' }, - perioder: [new Period('2023-01-01', '2023-03-31')], - resultat: InstitusjonVurderingDtoResultat.GODKJENT_MANUELT, - begrunnelse: 'Pasienten har behov for kontinuerlig oppfølging', - institusjon: 'Oslo Universitetssykehus', - vurdertAv: 'Saksbehandler', - vurdertTidspunkt: '2023-03-31T12:00:00.000Z', - }, -]; - -export const Default: Story = { - args: { - perioder: mockPerioder, - vurderinger: mockVurderinger, - readOnly: false, - løsAksjonspunkt: fn(), - }, - play: async ({ canvas, args, step }) => { - await step('Sjekk existing vurdering', async () => { - await userEvent.click(canvas.getByRole('button', { name: /01.01.2023 - 31.03.2023/i })); - - await expect(canvas.getByTestId('Periode')).toHaveTextContent('01.01.2023 - 31.03.2023'); - await expect(canvas.getByText('Oslo Universitetssykehus')).toBeInTheDocument(); - await expect(canvas.getByText('Pasienten har behov for kontinuerlig oppfølging')).toBeInTheDocument(); - }); - - await step('Endre vurdering', async () => { - await userEvent.click(canvas.getByRole('button', { name: 'Endre vurdering' })); - - await userEvent.type(canvas.getByTestId('begrunnelse'), 'Test vurdering'); - await userEvent.click(canvas.getByText('Ja')); - await userEvent.click(canvas.getByText('Bekreft og fortsett')); - - await expect(args.løsAksjonspunkt).toHaveBeenCalledTimes(1); - await expect(args.løsAksjonspunkt).toHaveBeenCalledWith({ - begrunnelse: 'Test vurdering', - godkjent: true, - journalpostId: { - journalpostId: '123456789', - }, - }); - }); - }, -}; - -export const ReadOnly: Story = { - args: { - ...Default.args, - readOnly: true, - }, - play: async ({ canvas, step }) => { - await step('Sjekk detaljer har ikke endre vurdering knapp', async () => { - await userEvent.click(canvas.getByRole('button', { name: /01.01.2023 - 31.03.2023/i })); - await expect(canvas.queryByRole('button', { name: 'Endre vurdering' })).toBeNull(); - }); - }, -}; - -export const DetailsWithNotApprovedVurdering: Story = { - args: { - perioder: [mockPerioder[0]!], - vurderinger: [ - { - ...mockVurderinger[0]!, - resultat: InstitusjonVurderingDtoResultat.IKKE_GODKJENT_MANUELT, - begrunnelse: 'Institusjonen er ikke godkjent for denne type opplæring', - }, - ], - readOnly: false, - løsAksjonspunkt: fn(), - }, - play: async ({ canvas, step }) => { - await step('Sjekk vurdering ikke godkjent', async () => { - await userEvent.click(canvas.getByRole('button', { name: /01.01.2023 - 31.03.2023/i })); - await expect(canvas.getByText('Nei')).toBeInTheDocument(); - await expect(canvas.getByText('Institusjonen er ikke godkjent for denne type opplæring')).toBeInTheDocument(); - }); - }, -}; - -export const IngenPerioder: Story = { - args: { - perioder: [], - vurderinger: [], - readOnly: false, - løsAksjonspunkt: fn(), - }, - play: async ({ canvas, step }) => { - await step('Sjekk ingen perioder', async () => { - await expect(canvas.getByText('Ingen vurderinger å vise')).toBeInTheDocument(); - }); - }, -}; diff --git a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.css b/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.css deleted file mode 100644 index c4d3f61fa0..0000000000 --- a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.css +++ /dev/null @@ -1,19 +0,0 @@ -.institusjonOversikt { - width: 25rem; -} - -.institusjonOversikt .heading { - margin: 1.3125rem 0 1.5rem 0.9375rem; -} - -.institusjonOversikt .marginLeft { - margin-left: 0.9375rem; -} - -.institusjonOversikt .periodColumns { - display: flex; -} - -.institusjonOversikt .periodColumns > div { - margin-right: 1rem; -} diff --git a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.d.css.ts b/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.d.css.ts deleted file mode 100644 index 3dd743147c..0000000000 --- a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.module.d.css.ts +++ /dev/null @@ -1,8 +0,0 @@ -declare const styles: { - readonly "heading": string; - readonly "institusjonOversikt": string; - readonly "marginLeft": string; - readonly "periodColumns": string; -}; -export = styles; - diff --git a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.tsx b/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.tsx deleted file mode 100644 index ee18d8e331..0000000000 --- a/packages/v2/gui/src/fakta/institusjon/components/institusjonNavigation/InstitusjonNavigation.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React, { useState, useMemo, useEffect } from 'react'; - -import { Heading } from '@navikt/ds-react'; -import { InteractiveList } from '@navikt/ft-plattform-komponenter'; -import { InstitusjonVurderingDtoResultat } from '@k9-sak-web/backend/k9sak/generated'; - -import type { InstitusjonPerioderDtoMedResultat } from '../../types/InstitusjonPerioderDtoMedResultat.js'; -import PeriodeRad from '../periodeRad/PeriodeRad.js'; - -import styles from './InstitusjonNavigation.module.css'; - -interface OwnProps { - perioder: InstitusjonPerioderDtoMedResultat[]; - setValgtPeriode: React.Dispatch>; -} - -const InstitusjonNavigation = ({ perioder, setValgtPeriode }: OwnProps) => { - const perioderTilVurdering = useMemo( - () => perioder.filter(periode => periode.resultat === InstitusjonVurderingDtoResultat.MÅ_VURDERES), - [perioder], - ); - - const [activeIndex, setActiveIndex] = useState(perioderTilVurdering.length ? 0 : -1); - - useEffect(() => { - const firstPeriode = perioderTilVurdering[0]; - if (firstPeriode) { - setValgtPeriode(firstPeriode); - } else { - setValgtPeriode(null); - } - }, [perioderTilVurdering, setValgtPeriode]); - - const perioderSomErVurdert = useMemo( - () => perioder.filter(periode => periode.resultat !== InstitusjonVurderingDtoResultat.MÅ_VURDERES), - [perioder], - ); - - const allePerioder = [...perioderTilVurdering, ...perioderSomErVurdert]; - - const elements = allePerioder.map(periode => ( - p.prettifyPeriod()).join('-')} - perioder={periode.perioder} - resultat={periode.resultat} - /> - )); - - const handlePeriodeClick = (currentIndex: number, element: React.ReactElement) => { - setActiveIndex(currentIndex); - const periodeIndex = elements.indexOf(element); - const periode = allePerioder[periodeIndex]; - if (periode) setValgtPeriode(periode); - }; - - return ( -
- - Alle perioder - - -
-
Status
-
Periode
-
- - {elements.length === 0 &&

Ingen vurderinger å vise

} - - {elements.length > 0 && ( -
- ({ - content: element, - active: activeIndex === currentIndex, - key: `${currentIndex}`, - onClick: () => handlePeriodeClick(currentIndex, element), - }))} - /> -
- )} -
- ); -}; - -export default InstitusjonNavigation; diff --git a/packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.tsx "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/FaktaInstitusjonIndex.tsx" similarity index 56% rename from packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.tsx rename to "packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/FaktaInstitusjonIndex.tsx" index 64fcb990ed..32d56aae03 100644 --- a/packages/v2/gui/src/fakta/institusjon/FaktaInstitusjonIndex.tsx +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/FaktaInstitusjonIndex.tsx" @@ -1,29 +1,30 @@ +import { useState, useMemo, useContext } from 'react'; +import { Period } from '@navikt/ft-utils'; import { InstitusjonVurderingDtoResultat, type InstitusjonPeriodeDto, type InstitusjonVurderingDto, } from '@k9-sak-web/backend/k9sak/generated'; -import { Heading } from '@navikt/ds-react'; -import { Period } from '@navikt/ft-utils'; -import { useMemo, useState } from 'react'; -import { NavigationWithDetailView } from '../../shared/navigationWithDetailView/NavigationWithDetailView.js'; -import InstitusjonDetails from './components/institusjonDetails/InstitusjonDetails.js'; -import type { SubmitValues } from './components/institusjonDetails/InstitusjonForm.js'; -import InstitusjonNavigation from './components/institusjonNavigation/InstitusjonNavigation.js'; +import InstitusjonDetails from './components/InstitusjonDetails.js'; +import { NavigationWithDetailView } from '../../../shared/navigation-with-detail-view/NavigationWithDetailView.js'; import type { InstitusjonPerioderDtoMedResultat } from './types/InstitusjonPerioderDtoMedResultat.js'; import type { InstitusjonVurderingDtoMedPerioder } from './types/InstitusjonVurderingDtoMedPerioder.js'; +import { useInstitusjonInfo } from '../SykdomOgOpplæringQueries.js'; +import { SykdomOgOpplæringContext } from '../FaktaSykdomOgOpplæringIndex.js'; +import VurderingsperiodeNavigasjon from '../../../shared/vurderingsperiode-navigasjon/VurderingsperiodeNavigasjon.js'; -interface OwnProps { +export interface FaktaInstitusjonProps { perioder: InstitusjonPeriodeDto[]; vurderinger: InstitusjonVurderingDto[]; readOnly: boolean; - løsAksjonspunkt: (payload: SubmitValues) => void; } -const FaktaInstitusjonIndex = ({ perioder, vurderinger, readOnly, løsAksjonspunkt }: OwnProps) => { +const FaktaInstitusjonIndex = () => { + const { behandlingUuid, readOnly } = useContext(SykdomOgOpplæringContext); + const { data: institusjonData, isLoading } = useInstitusjonInfo(behandlingUuid); + const { perioder = [], vurderinger = [] } = institusjonData ?? {}; const [valgtPeriode, setValgtPeriode] = useState(null); - const vurderingMap = useMemo(() => new Map(vurderinger.map(v => [v.journalpostId.journalpostId, v])), [vurderinger]); const perioderMappet = useMemo(() => { @@ -65,20 +66,31 @@ const FaktaInstitusjonIndex = ({ perioder, vurderinger, readOnly, løsAksjonspun perioder: vurdering.perioder.map(p => new Period(p.fom ?? '', p.tom ?? '')), }; })(); + const perioderTilVurdering = useMemo( + () => perioderMappet.filter(periode => periode.resultat === InstitusjonVurderingDtoResultat.MÅ_VURDERES), + [perioderMappet], + ); + const vurdertePerioder = useMemo( + () => perioderMappet.filter(periode => periode.resultat !== InstitusjonVurderingDtoResultat.MÅ_VURDERES), + [perioderMappet], + ); - return ( -
-
- Institusjon -
+ if (isLoading) { + return
Laster institusjon...
; + } + return ( +
} - showDetailSection + navigationSection={() => ( + + perioderTilVurdering={perioderTilVurdering} + vurdertePerioder={vurdertePerioder} + onPeriodeClick={setValgtPeriode} + /> + )} detailSection={() => - valgtVurdering ? ( - - ) : null + valgtVurdering ? : null } />
diff --git a/packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonDetails.tsx "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonDetails.tsx" similarity index 54% rename from packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonDetails.tsx rename to "packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonDetails.tsx" index ead7b2bf25..bb82b77628 100644 --- a/packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonDetails.tsx +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonDetails.tsx" @@ -1,44 +1,53 @@ -import { InstitusjonVurderingDtoResultat } from '@k9-sak-web/backend/k9sak/generated'; -import { Calender } from '@navikt/ds-icons'; -import { Box, Button } from '@navikt/ds-react'; import { useState } from 'react'; +import { Box, Button, BodyShort } from '@navikt/ds-react'; +import { InstitusjonVurderingDtoResultat } from '@k9-sak-web/backend/k9sak/generated'; -import { DetailView } from '../../../../shared/detailView/DetailView.js'; -import { LabelledContent } from '../../../../shared/labelledContent/LabelledContent.js'; -import type { InstitusjonVurderingDtoMedPerioder } from '../../types/InstitusjonVurderingDtoMedPerioder.js'; +import type { InstitusjonVurderingDtoMedPerioder } from '../types/InstitusjonVurderingDtoMedPerioder.js'; import InstitusjonFerdigVisning from './InstitusjonFerdigVisning.js'; -import InstitusjonForm, { type SubmitValues } from './InstitusjonForm.js'; +import InstitusjonForm from './InstitusjonForm.js'; +import DetailView from '../../../../shared/detailView/DetailView.js'; +import { PencilIcon, CalendarIcon } from '@navikt/aksel-icons'; +import { LabelledContent } from '../../../../shared/labelled-content/LabelledContent.js'; interface OwnProps { vurdering: InstitusjonVurderingDtoMedPerioder; readOnly: boolean; - løsAksjonspunkt: (payload: SubmitValues) => void; } -const InstitusjonDetails = ({ vurdering, readOnly, løsAksjonspunkt }: OwnProps) => { +const InstitusjonDetails = ({ vurdering, readOnly }: OwnProps) => { const [redigering, setRedigering] = useState(false); - const visEndreLink = !readOnly && vurdering.resultat !== InstitusjonVurderingDtoResultat.GODKJENT_AUTOMATISK; + const erManueltVurdert = + vurdering.resultat === InstitusjonVurderingDtoResultat.IKKE_GODKJENT_MANUELT || + vurdering.resultat === InstitusjonVurderingDtoResultat.GODKJENT_MANUELT; + const visEndreLink = !readOnly && erManueltVurdert; return ( visEndreLink && !redigering ? ( - ) : null } > {vurdering.perioder.map(periode => (
- {periode.prettifyPeriod()} + {periode.prettifyPeriod()}
))} @@ -49,7 +58,6 @@ const InstitusjonDetails = ({ vurdering, readOnly, løsAksjonspunkt }: OwnProps) setRedigering(false)} erRedigering={redigering} /> diff --git a/packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonFerdigVisning.tsx "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonFerdigVisning.tsx" similarity index 61% rename from packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonFerdigVisning.tsx rename to "packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonFerdigVisning.tsx" index 7f320f01a5..78a14cc45d 100644 --- a/packages/v2/gui/src/fakta/institusjon/components/institusjonDetails/InstitusjonFerdigVisning.tsx +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/InstitusjonFerdigVisning.tsx" @@ -1,9 +1,8 @@ +import { BodyShort, Box } from '@navikt/ds-react'; import { InstitusjonVurderingDtoResultat } from '@k9-sak-web/backend/k9sak/generated'; -import { Box } from '@navikt/ds-react'; -import { AssessedBy } from '@navikt/ft-plattform-komponenter'; - -import { LabelledContent } from '../../../../shared/labelledContent/LabelledContent.js'; -import type { InstitusjonVurderingDtoMedPerioder } from '../../types/InstitusjonVurderingDtoMedPerioder.js'; +import { LabelledContent } from '../../../../shared/labelled-content/LabelledContent.js'; +import { VurdertAv } from '../../../../shared/vurdert-av/VurdertAv.js'; +import type { InstitusjonVurderingDtoMedPerioder } from '../types/InstitusjonVurderingDtoMedPerioder.js'; interface OwnProps { vurdering: InstitusjonVurderingDtoMedPerioder; @@ -14,15 +13,21 @@ const InstitusjonFerdigVisning = ({ vurdering }: OwnProps) => ( {vurdering.begrunnelse}} indentContent + size="small" + content={ + + {vurdering.begrunnelse} + + } /> - + void; avbrytRedigering: () => void; } -const InstitusjonForm = ({ vurdering, readOnly, erRedigering, avbrytRedigering, løsAksjonspunkt }: OwnProps) => { +const InstitusjonForm = ({ vurdering, readOnly, erRedigering, avbrytRedigering }: OwnProps) => { + const { løsAksjonspunkt9300 } = useContext(SykdomOgOpplæringContext); + const formMethods = useForm({ defaultValues: { begrunnelse: '', - godkjentInstitusjon: false, + godkjentInstitusjon: '', }, }); const handleSubmit = (values: InstitusjonFormValues) => { - løsAksjonspunkt({ - godkjent: values[InstitusjonFormFields.GODKJENT_INSTITUSJON], + løsAksjonspunkt9300({ + godkjent: values[InstitusjonFormFields.GODKJENT_INSTITUSJON] === 'ja', begrunnelse: values[InstitusjonFormFields.BEGRUNNELSE], journalpostId: vurdering.journalpostId, }); @@ -63,10 +66,9 @@ const InstitusjonForm = ({ vurdering, readOnly, erRedigering, avbrytRedigering, - - + {!readOnly && ( + + - {erRedigering && ( -
- -
- )} -
+ {erRedigering && ( +
+ +
+ )} +
+ )} ); }; diff --git "a/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/Institusjonsnavn.tsx" "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/Institusjonsnavn.tsx" new file mode 100644 index 0000000000..1adbcb1b4f --- /dev/null +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/components/Institusjonsnavn.tsx" @@ -0,0 +1,20 @@ +import { Tag } from '@navikt/ds-react'; +import { LabelledContent } from '../../../../shared/labelled-content/LabelledContent'; + +const Institusjonsnavn = ({ institusjon }: { institusjon: string }) => { + return ( + + {institusjon} + + Fra søknad + +
+ } + /> + ); +}; + +export default Institusjonsnavn; diff --git a/packages/v2/gui/src/fakta/institusjon/types/InstitusjonPerioderDtoMedResultat.ts "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/types/InstitusjonPerioderDtoMedResultat.ts" similarity index 100% rename from packages/v2/gui/src/fakta/institusjon/types/InstitusjonPerioderDtoMedResultat.ts rename to "packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/types/InstitusjonPerioderDtoMedResultat.ts" diff --git a/packages/v2/gui/src/fakta/institusjon/types/InstitusjonVurderingDtoMedPerioder.ts "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/types/InstitusjonVurderingDtoMedPerioder.ts" similarity index 100% rename from packages/v2/gui/src/fakta/institusjon/types/InstitusjonVurderingDtoMedPerioder.ts rename to "packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/1-institusjon/types/InstitusjonVurderingDtoMedPerioder.ts" diff --git "a/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertFerdigvisning.tsx" "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertFerdigvisning.tsx" new file mode 100644 index 0000000000..0077eeea27 --- /dev/null +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertFerdigvisning.tsx" @@ -0,0 +1,53 @@ +import { BodyLong, BodyShort, Tag } from '@navikt/ds-react'; +import { LabelledContent } from '../../../shared/labelled-content/LabelledContent'; +import type { UperiodisertSykdom } from './SykdomUperiodisertForm'; +import { VurdertAv } from '../../../shared/vurdert-av/VurdertAv'; +import { ICD10 } from '@navikt/diagnosekoder'; + +const SykdomUperiodisertFerdigvisning = ({ vurdering }: { vurdering: UperiodisertSykdom }) => { + return ( +
+ + {vurdering.begrunnelse} + + } + /> + + {vurdering.godkjent ? 'Ja' : 'Nei'}} + /> + } + /> +
+ ); +}; + +const Diagnoser = ({ diagnosekoder = [] }: { diagnosekoder?: string[] }) => { + if (diagnosekoder.length === 0) { + return null; + } + return ( +
+ {diagnosekoder.map(diagnose => { + const diagnosekode = ICD10.find(d => d.code === diagnose); + return ( + + {diagnosekode?.code} - {diagnosekode?.text} + + ); + })} +
+ ); +}; + +export default SykdomUperiodisertFerdigvisning; diff --git "a/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertForm.tsx" "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertForm.tsx" new file mode 100644 index 0000000000..e0a5fd2095 --- /dev/null +++ "b/packages/v2/gui/src/fakta/sykdom-og-oppl\303\246ring/2-sykdom/SykdomUperiodisertForm.tsx" @@ -0,0 +1,164 @@ +import { + type LangvarigSykdomVurderingDto, + LangvarigSykdomVurderingDtoAvslagsårsak, +} from '@k9-sak-web/backend/k9sak/generated'; +import { Form } from '@navikt/ft-form-hooks'; +import { Controller, useForm } from 'react-hook-form'; +import { Alert, Button, Label, Radio, RadioGroup, Textarea } from '@navikt/ds-react'; +import { Lovreferanse } from '../../../shared/lovreferanse/Lovreferanse'; +import DiagnosekodeVelger from '../../../shared/diagnosekodeVelger/DiagnosekodeVelger'; +import { useContext, useEffect } from 'react'; +import { useOppdaterSykdomsvurdering, useOpprettSykdomsvurdering } from '../SykdomOgOpplæringQueries'; +import { SykdomOgOpplæringContext } from '../FaktaSykdomOgOpplæringIndex'; +import { useQueryClient } from '@tanstack/react-query'; +import { SykdomUperiodisertContext } from './SykdomUperiodisertIndex'; + +export type UperiodisertSykdom = Pick & + Pick, 'uuid' | 'behandlingUuid' | 'vurdertTidspunkt' | 'vurdertAv'> & { + godkjent: 'ja' | 'nei' | 'mangler_dokumentasjon' | ''; + }; + +const finnAvslagsårsak = (godkjent: string) => { + if (godkjent === 'mangler_dokumentasjon') { + return LangvarigSykdomVurderingDtoAvslagsårsak.MANGLENDE_DOKUMENTASJON; + } + if (godkjent === 'nei') { + return LangvarigSykdomVurderingDtoAvslagsårsak.IKKE_LANGVARIG_SYK; + } + return undefined; +}; + +const SykdomUperiodisertForm = ({ + vurdering, + setRedigering, + redigering, +}: { + vurdering: UperiodisertSykdom; + setRedigering: (redigering: boolean) => void; + redigering: boolean; +}) => { + const { behandlingUuid } = useContext(SykdomOgOpplæringContext); + const { setNyVurdering } = useContext(SykdomUperiodisertContext); + const queryClient = useQueryClient(); + const { mutate: opprettSykdomsvurdering } = useOpprettSykdomsvurdering({ + onSuccess: async () => { + await queryClient.refetchQueries({ queryKey: ['langvarigSykVurderingerFagsak', behandlingUuid] }); + setNyVurdering(false); + }, + }); + const { mutate: oppdaterSykdomsvurdering } = useOppdaterSykdomsvurdering({ + onSuccess: async () => { + await queryClient.refetchQueries({ queryKey: ['langvarigSykVurderingerFagsak', behandlingUuid] }); + setRedigering(false); + }, + }); + const formMethods = useForm({ + defaultValues: { + diagnosekoder: vurdering.diagnosekoder || [], + begrunnelse: vurdering.begrunnelse || '', + godkjent: vurdering.godkjent || '', + }, + }); + + useEffect(() => { + formMethods.setValue('diagnosekoder', vurdering.diagnosekoder || []); + formMethods.setValue('begrunnelse', vurdering.begrunnelse); + formMethods.setValue('godkjent', vurdering.godkjent); + }, [vurdering, formMethods]); + + const godkjent = formMethods.watch('godkjent'); + useEffect(() => { + if (godkjent === 'mangler_dokumentasjon') { + formMethods.setValue('diagnosekoder', []); + } + }, [godkjent, formMethods]); + + if (!vurdering) { + return null; + } + + return ( +
{ + return vurdering.uuid + ? oppdaterSykdomsvurdering({ + behandlingUuid, + diagnoser: data.diagnosekoder, + begrunnelse: data.begrunnelse, + godkjent: data.godkjent === 'ja', + uuid: vurdering.uuid, + avslagsårsak: data.godkjent !== 'ja' ? finnAvslagsårsak(data.godkjent) : undefined, + }) + : opprettSykdomsvurdering({ + behandlingUuid, + diagnoser: data.diagnosekoder, + begrunnelse: data.begrunnelse, + godkjent: data.godkjent === 'ja', + avslagsårsak: data.godkjent !== 'ja' ? finnAvslagsårsak(data.godkjent) : undefined, + }); + }} + > +
+
+ +