From 83c9be49e872bee7a53a6acb16d4ece2330172ef Mon Sep 17 00:00:00 2001 From: Sindre Moldeklev Date: Tue, 10 Dec 2024 13:53:31 +0100 Subject: [PATCH] Handlinger for tilsagn --- frontend/mr-admin-flate/src/App.tsx | 4 +- .../tilsagn/OpprettTilsagnContainer.tsx | 8 +-- .../TiltaksgjennomforingKnapperad.tsx | 43 +++----------- .../TilsagnForGjennomforingContainer.tsx | 59 ++++++++++++++++++- 4 files changed, 71 insertions(+), 43 deletions(-) diff --git a/frontend/mr-admin-flate/src/App.tsx b/frontend/mr-admin-flate/src/App.tsx index f26dd2e077..650b9e6a08 100644 --- a/frontend/mr-admin-flate/src/App.tsx +++ b/frontend/mr-admin-flate/src/App.tsx @@ -211,7 +211,7 @@ const router = () => loader: tiltaksgjennomforingLoader, }, { - path: "avtaler/:avtaleId/tiltaksgjennomforinger/:tiltaksgjennomforingId/opprett-tilsagn", + path: "avtaler/:avtaleId/tiltaksgjennomforinger/:tiltaksgjennomforingId/tilsagn/opprett-tilsagn", element: , errorElement: , loader: tilsagnLoader, @@ -241,7 +241,7 @@ const router = () => loader: tiltaksgjennomforingLoader, }, { - path: "tiltaksgjennomforinger/:tiltaksgjennomforingId/opprett-tilsagn", + path: "tiltaksgjennomforinger/:tiltaksgjennomforingId/tilsagn/opprett-tilsagn", element: , errorElement: , loader: tilsagnLoader, diff --git a/frontend/mr-admin-flate/src/components/tilsagn/OpprettTilsagnContainer.tsx b/frontend/mr-admin-flate/src/components/tilsagn/OpprettTilsagnContainer.tsx index d5cc88280e..d33ac41ff7 100644 --- a/frontend/mr-admin-flate/src/components/tilsagn/OpprettTilsagnContainer.tsx +++ b/frontend/mr-admin-flate/src/components/tilsagn/OpprettTilsagnContainer.tsx @@ -28,12 +28,12 @@ export function OpprettTilsagnContainer({ tiltaksgjennomforing, tilsagn }: Props }; mutation.mutate(request, { - onSuccess: navigerTilGjennomforing, + onSuccess: navigerTilTilsagn, }); }; - function navigerTilGjennomforing() { - navigate(`/tiltaksgjennomforinger/${tiltaksgjennomforing.id}`); + function navigerTilTilsagn() { + navigate(`/tiltaksgjennomforinger/${tiltaksgjennomforing.id}/tilsagn`); } function prismodell(tiltaksgjennomforing: TiltaksgjennomforingDto): "AFT" | "FRI" { @@ -51,7 +51,7 @@ export function OpprettTilsagnContainer({ tiltaksgjennomforing, tilsagn }: Props tilsagn={tilsagn} onSubmit={postData} mutation={mutation} - onAvbryt={navigerTilGjennomforing} + onAvbryt={navigerTilTilsagn} prismodell={prismodell(tiltaksgjennomforing)} /> diff --git a/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/TiltaksgjennomforingKnapperad.tsx b/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/TiltaksgjennomforingKnapperad.tsx index 1d141e0e34..d4df5c488f 100644 --- a/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/TiltaksgjennomforingKnapperad.tsx +++ b/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/TiltaksgjennomforingKnapperad.tsx @@ -1,18 +1,17 @@ -import React, { useRef } from "react"; -import { BodyShort, Button, Dropdown, Switch } from "@navikt/ds-react"; import { useMutatePublisert } from "@/api/tiltaksgjennomforing/useMutatePublisert"; -import { NavAnsatt, TiltaksgjennomforingDto, Toggles } from "@mr/api-client"; import { useTiltaksgjennomforingEndringshistorikk } from "@/api/tiltaksgjennomforing/useTiltaksgjennomforingEndringshistorikk"; +import { HarSkrivetilgang } from "@/components/authActions/HarSkrivetilgang"; import { EndringshistorikkPopover } from "@/components/endringshistorikk/EndringshistorikkPopover"; import { ViewEndringshistorikk } from "@/components/endringshistorikk/ViewEndringshistorikk"; -import { useNavigate, useRevalidator } from "react-router-dom"; -import { HarSkrivetilgang } from "@/components/authActions/HarSkrivetilgang"; -import { VarselModal } from "@mr/frontend-common/components/varsel/VarselModal"; -import { gjennomforingIsAktiv } from "@mr/frontend-common/utils/utils"; import { AvbrytGjennomforingModal } from "@/components/modal/AvbrytGjennomforingModal"; -import { KnapperadContainer } from "@/pages/KnapperadContainer"; -import { useFeatureToggle } from "@/api/features/useFeatureToggle"; import { SetApentForPameldingModal } from "@/components/tiltaksgjennomforinger/SetApentForPameldingModal"; +import { KnapperadContainer } from "@/pages/KnapperadContainer"; +import { NavAnsatt, TiltaksgjennomforingDto } from "@mr/api-client"; +import { VarselModal } from "@mr/frontend-common/components/varsel/VarselModal"; +import { gjennomforingIsAktiv } from "@mr/frontend-common/utils/utils"; +import { BodyShort, Button, Dropdown, Switch } from "@navikt/ds-react"; +import React, { useRef } from "react"; +import { useNavigate, useRevalidator } from "react-router-dom"; interface Props { ansatt: NavAnsatt; @@ -26,9 +25,6 @@ export function TiltaksgjennomforingKnapperad({ ansatt, tiltaksgjennomforing }: const advarselModal = useRef(null); const avbrytModalRef = useRef(null); const apentForPameldingModalRef = useRef(null); - const { data: enableOpprettTilsagn } = useFeatureToggle( - Toggles.MULIGHETSROMMET_ADMIN_FLATE_OPPRETT_TILSAGN, - ); function handleClick(e: React.MouseEvent) { mutate( @@ -90,28 +86,7 @@ export function TiltaksgjennomforingKnapperad({ ansatt, tiltaksgjennomforing }: : "Åpne for påmelding"} )} - {enableOpprettTilsagn && gjennomforingIsAktiv(tiltaksgjennomforing.status.status) ? ( - { - navigate("opprett-tilsagn"); - }} - > - Opprett tilsagn - - ) : null} - {enableOpprettTilsagn && gjennomforingIsAktiv(tiltaksgjennomforing.status.status) ? ( - { - navigate("opprett-tilsagn", { - state: { - ekstratilsagn: true, - }, - }); - }} - > - Opprett ekstratilsagn - - ) : null} + {gjennomforingIsAktiv(tiltaksgjennomforing.status.status) && ( avbrytModalRef.current?.showModal()}> Avbryt gjennomføring diff --git a/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/tilsagn/TilsagnForGjennomforingContainer.tsx b/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/tilsagn/TilsagnForGjennomforingContainer.tsx index 31388e8fb0..15c958ba14 100644 --- a/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/tilsagn/TilsagnForGjennomforingContainer.tsx +++ b/frontend/mr-admin-flate/src/pages/tiltaksgjennomforinger/tilsagn/TilsagnForGjennomforingContainer.tsx @@ -1,17 +1,32 @@ -import { Alert } from "@navikt/ds-react"; -import { Link } from "react-router-dom"; +import { Alert, Button, Dropdown } from "@navikt/ds-react"; +import { Link, useNavigate } from "react-router-dom"; import { useHentTilsagnForTiltaksgjennomforing } from "../../../api/tilsagn/useHentTilsagnForTiltaksgjennomforing"; import { Laster } from "../../../components/laster/Laster"; import { InfoContainer } from "../../../components/skjema/InfoContainer"; import { useGetTiltaksgjennomforingIdFromUrl } from "../../../hooks/useGetTiltaksgjennomforingIdFromUrl"; import { Tilsagnstabell } from "./Tilsagnstabell"; +import { KnapperadContainer } from "../../KnapperadContainer"; +import { Toggles } from "@mr/api-client"; +import { gjennomforingIsAktiv } from "@mr/frontend-common/utils/utils"; +import { useFeatureToggle } from "../../../api/features/useFeatureToggle"; +import { HarSkrivetilgang } from "../../../components/authActions/HarSkrivetilgang"; +import { useTiltaksgjennomforingById } from "../../../api/tiltaksgjennomforing/useTiltaksgjennomforingById"; export function TilsagnForGjennomforingContainer() { const tiltaksgjennomforingId = useGetTiltaksgjennomforingIdFromUrl(); + const { data: tiltaksgjennomforing } = useTiltaksgjennomforingById(); const { data: tilsagn, isLoading } = useHentTilsagnForTiltaksgjennomforing(tiltaksgjennomforingId); + const { data: enableOpprettTilsagn } = useFeatureToggle( + Toggles.MULIGHETSROMMET_ADMIN_FLATE_OPPRETT_TILSAGN, + ); + const navigate = useNavigate(); + + if (!enableOpprettTilsagn) { + return null; + } - if (!tilsagn && isLoading) { + if (!tiltaksgjennomforing || !tilsagn || isLoading) { return ; } @@ -29,6 +44,44 @@ export function TilsagnForGjennomforingContainer() { return ( <> + + + + + + + {gjennomforingIsAktiv(tiltaksgjennomforing.status.status) ? ( + { + navigate("opprett-tilsagn"); + }} + > + Opprett tilsagn + + ) : null} + {gjennomforingIsAktiv(tiltaksgjennomforing.status.status) ? ( + { + navigate("opprett-tilsagn", { + state: { + ekstratilsagn: true, + }, + }); + }} + > + Opprett ekstratilsagn + + ) : null} + + + + + {tilsagn.length > 0 ? ( ) : (