From ec3b1f53cbfbf748506dd37544c04082667c94d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solga=CC=8Ard?= Date: Tue, 5 Nov 2024 13:23:34 +0100 Subject: [PATCH] IS-2649: Show content of oppfolgingsoppgave in oversikt --- src/api/types/personoversiktTypes.ts | 29 +++++ .../{FristColumn.tsx => FristDataCell.tsx} | 106 ++++++++++-------- src/components/HendelseFilterPanel.tsx | 4 +- src/components/NewOversiktTable.tsx | 36 +++--- src/components/OppfolgingsoppgaveModal.tsx | 55 +++++++++ src/components/Sokeresultat.tsx | 6 +- .../toolbar/AssignVeileder/TildelVeileder.tsx | 4 +- src/components/toolbar/Toolbar.tsx | 4 +- src/containers/Oversikt.tsx | 4 +- src/context/tab/TabTypeContext.tsx | 6 +- test/components/FristColumnTest.tsx | 29 ++--- test/components/HendelseTypeFilter.test.tsx | 2 +- 12 files changed, 192 insertions(+), 93 deletions(-) rename src/components/{FristColumn.tsx => FristDataCell.tsx} (64%) create mode 100644 src/components/OppfolgingsoppgaveModal.tsx diff --git a/src/api/types/personoversiktTypes.ts b/src/api/types/personoversiktTypes.ts index 53625d82..21280a52 100644 --- a/src/api/types/personoversiktTypes.ts +++ b/src/api/types/personoversiktTypes.ts @@ -107,3 +107,32 @@ export enum Oppfolgingsgrunn { VURDER_ANNEN_YTELSE = 'VURDER_ANNEN_YTELSE', ANNET = 'ANNET', } + +export function oppfolgingsgrunnToString( + oppfolgingsgrunn: Oppfolgingsgrunn +): string { + switch (oppfolgingsgrunn) { + case Oppfolgingsgrunn.TA_KONTAKT_SYKEMELDT: + return 'Ta kontakt med den sykmeldte'; + case Oppfolgingsgrunn.TA_KONTAKT_ARBEIDSGIVER: + return 'Ta kontakt med arbeidsgiver'; + case Oppfolgingsgrunn.TA_KONTAKT_BEHANDLER: + return 'Ta kontakt med behandler'; + case Oppfolgingsgrunn.VURDER_DIALOGMOTE_SENERE: + return 'Vurder behov for dialogmøte'; + case Oppfolgingsgrunn.FOLG_OPP_ETTER_NESTE_SYKMELDING: + return 'Følg opp etter neste sykmelding'; + case Oppfolgingsgrunn.VURDER_TILTAK_BEHOV: + return 'Vurder behov for tiltak'; + case Oppfolgingsgrunn.VURDER_ARBEIDSUFORHET: + return 'Vurder §8-4 - Arbeidsuførhet'; + case Oppfolgingsgrunn.FRISKMELDING_TIL_ARBEIDSFORMIDLING: + return 'Vurder §8-5 - Friskmelding til arbeidsformidling'; + case Oppfolgingsgrunn.VURDER_14A: + return 'Vurder §14a'; + case Oppfolgingsgrunn.VURDER_ANNEN_YTELSE: + return 'Vurder annen ytelse'; + case Oppfolgingsgrunn.ANNET: + return 'Annet'; + } +} diff --git a/src/components/FristColumn.tsx b/src/components/FristDataCell.tsx similarity index 64% rename from src/components/FristColumn.tsx rename to src/components/FristDataCell.tsx index de7348fd..11cdd897 100644 --- a/src/components/FristColumn.tsx +++ b/src/components/FristDataCell.tsx @@ -5,12 +5,16 @@ import { FileTextIcon, HourglassTopFilledIcon, } from '@navikt/aksel-icons'; -import React, { ReactElement } from 'react'; +import React, { ReactElement, useState } from 'react'; import { AktivitetskravStatus, - Oppfolgingsgrunn, + oppfolgingsgrunnToString, } from '@/api/types/personoversiktTypes'; -import { Tooltip } from '@navikt/ds-react'; +import { Button, Table, Tooltip } from '@navikt/ds-react'; +import OppfolgingsoppgaveModal from '@/components/OppfolgingsoppgaveModal'; +import * as Amplitude from '@/utils/amplitude'; +import { useTabType } from '@/context/tab/TabTypeContext'; +import { OverviewTabType } from '@/konstanter'; const texts = { tooltipAvventer: 'Avventer til', @@ -21,8 +25,14 @@ const texts = { aktivitetskravvarselFrist: 'Aktivitetskrav: Svarfrist forhåndsvarsel', }; -interface FristColumnProps { - personData: PersonData; +function logOppfolgingsOppgaveModalOpenEvent() { + Amplitude.logEvent({ + type: Amplitude.EventType.ButtonClick, + data: { + url: window.location.href, + tekst: 'Åpnet oppfølgingsoppgave modal', + }, + }); } type Frist = { @@ -31,49 +41,21 @@ type Frist = { tooltip: string; }; -const byFristAsc = (fristA: Frist, fristB: Frist) => { +function byFristAsc(fristA: Frist, fristB: Frist) { return fristA.date > fristB.date ? 1 : -1; -}; - -const oppfolgingsgrunnTekster = ( - oppfolgingsgrunn: Oppfolgingsgrunn -): string => { - switch (oppfolgingsgrunn) { - case Oppfolgingsgrunn.TA_KONTAKT_SYKEMELDT: - return 'Ta kontakt med den sykmeldte'; - case Oppfolgingsgrunn.TA_KONTAKT_ARBEIDSGIVER: - return 'Ta kontakt med arbeidsgiver'; - case Oppfolgingsgrunn.TA_KONTAKT_BEHANDLER: - return 'Ta kontakt med behandler'; - case Oppfolgingsgrunn.VURDER_DIALOGMOTE_SENERE: - return 'Vurder behov for dialogmøte'; - case Oppfolgingsgrunn.FOLG_OPP_ETTER_NESTE_SYKMELDING: - return 'Følg opp etter neste sykmelding'; - case Oppfolgingsgrunn.VURDER_TILTAK_BEHOV: - return 'Vurder behov for tiltak'; - case Oppfolgingsgrunn.VURDER_ARBEIDSUFORHET: - return 'Vurder §8-4 - Arbeidsuførhet'; - case Oppfolgingsgrunn.FRISKMELDING_TIL_ARBEIDSFORMIDLING: - return 'Vurder §8-5 - Friskmelding til arbeidsformidling'; - case Oppfolgingsgrunn.VURDER_14A: - return 'Vurder §14a'; - case Oppfolgingsgrunn.VURDER_ANNEN_YTELSE: - return 'Vurder annen ytelse'; - case Oppfolgingsgrunn.ANNET: - return 'Annet'; - default: - return 'Ukjent oppfølgingsgrunn'; - } -}; +} -export const FristColumn = ({ personData }: FristColumnProps) => { - const { +function fristerInfo( + { oppfolgingsoppgave, friskmeldingTilArbeidsformidlingFom, arbeidsuforhetvurdering, aktivitetskravvurdering, manglendeMedvirkning, - } = personData; + }: PersonData, + setIsModalOpen: (open: boolean) => void, + selectedTab: OverviewTabType +): Frist[] { const frister: Frist[] = []; const aktivitetskravStatus = aktivitetskravvurdering?.status; const aktivitetskravVurderingFrist = @@ -108,9 +90,22 @@ export const FristColumn = ({ personData }: FristColumnProps) => { } if (oppfolgingsoppgave?.frist) { frister.push({ - icon: () => , + icon: () => + selectedTab === OverviewTabType.MY_OVERVIEW ? ( +