Skip to content

Commit

Permalink
La til mulighet for å åpne "Nytt samarbeid" fra status-dropdown.
Browse files Browse the repository at this point in the history
  • Loading branch information
sstensby committed Nov 5, 2024
1 parent c709aca commit 5388ea5
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 34 deletions.
12 changes: 2 additions & 10 deletions client/src/Pages/Virksomhet/Samarbeid/SamarbeidsDropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import React, { useState } from "react";
import { SamarbeidsRad } from "./SamarbeidsRad";
import { SamarbeidsDropdownFooter } from "./SamarbeidsDropdownFooter";
import { useHentBrukerinformasjon } from "../../../api/lydia-api/bruker";
import { NyttSamarbeidModal } from "./NyttSamarbeidModal";
import { EndreSamarbeidModal } from "./EndreSamarbeidModal";
import { IaSakProsess } from "../../../domenetyper/iaSakProsess";
import styled from "styled-components";
Expand Down Expand Up @@ -34,11 +33,13 @@ const DropdownMenuListItemStyled = styled(Dropdown.Menu.List.Item)``;
interface SamarbeidsDropdown2Props {
iaSak: IASak | undefined;
virksomhet: Virksomhet;
setNyttSamarbeidModalÅpen: React.Dispatch<React.SetStateAction<boolean>>;
}

export const SamarbeidsDropdown = ({
iaSak,
virksomhet,
setNyttSamarbeidModalÅpen,
}: SamarbeidsDropdown2Props) => {
const { data: alleSamarbeid, mutate: hentSamarbeidPåNytt } =
useHentSamarbeid(iaSak?.orgnr, iaSak?.saksnummer);
Expand All @@ -53,7 +54,6 @@ export const SamarbeidsDropdown = ({
const [valgtSamarbeid, setValgtSamarbeid] = useState<IaSakProsess | null>(
null,
);
const [nyttSamarbeidModalÅpen, setNyttSamarbeidModalÅpen] = useState(false);
return (
<>
<Dropdown>
Expand Down Expand Up @@ -144,14 +144,6 @@ export const SamarbeidsDropdown = ({
setOpen={setEndreSamarbeidModalÅpen}
/>
)}

{iaSak && brukerErEierAvSak && (
<NyttSamarbeidModal
iaSak={iaSak}
åpen={nyttSamarbeidModalÅpen}
setÅpen={setNyttSamarbeidModalÅpen}
/>
)}
</>
);
};
31 changes: 13 additions & 18 deletions client/src/Pages/Virksomhet/Samarbeid/SamarbeidsDropdownFooter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ import { BodyShort, Button } from "@navikt/ds-react";
import React from "react";
import { IAProsessStatusType } from "../../../domenetyper/domenetyper";
import { PlusIcon } from "@navikt/aksel-icons";
import styled from "styled-components";

const OpprettSamarbeidKnapp = styled.div``;

interface SamarbeidsDropdownFooterProps {
setÅpen: React.Dispatch<React.SetStateAction<boolean>>;
Expand Down Expand Up @@ -69,20 +66,18 @@ export const SamarbeidsDropdownFooter = ({
};

return (
<OpprettSamarbeidKnapp>
{visOpprettSamarbeidKnapp ? (
<Button
icon={<PlusIcon fontSize={"1.5rem"} />}
variant="primary"
onClick={() => setÅpen(true)}
size={"small"}
title={"Opprett samarbeid"}
>
Opprett samarbeid
</Button>
) : (
<BodyShort>{kravTilOppretteSamarbeid()}</BodyShort>
)}
</OpprettSamarbeidKnapp>
visOpprettSamarbeidKnapp ? (
<Button
icon={<PlusIcon fontSize={"1.5rem"} />}
variant="primary"
onClick={() => setÅpen(true)}
size={"small"}
title={"Opprett samarbeid"}
>
Opprett samarbeid
</Button>
) : (
<BodyShort>{kravTilOppretteSamarbeid()}</BodyShort>
)
);
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Button, ButtonProps, Detail } from "@navikt/ds-react";
import { Button, ButtonProps } from "@navikt/ds-react";
import React from "react";
import {
GyldigNesteHendelse,
Expand All @@ -12,7 +12,7 @@ import {
import { nyHendelsePåSak } from "../../../../../api/lydia-api/sak";
import { loggStatusendringPåSak } from "../../../../../util/amplitude-klient";
import { StatusHendelseSteg } from "./Statusknapper";
import { ChevronLeftIcon, ChevronRightIcon } from "@navikt/aksel-icons";
import { ChevronLeftIcon, ChevronRightIcon, PlusIcon } from "@navikt/aksel-icons";
import { penskrivIASakshendelsestype } from "./penskrivIASakshendelsestype";
import { useTrengerÅFullføreBehovsvurderingerFørst } from "./useTrengerÅFullføreBehovsvurderingerFørst";
import { useHentSamarbeid } from "../../../../../api/lydia-api/spørreundersøkelse";
Expand All @@ -25,6 +25,7 @@ export default function KnappForHendelse({
variant = "secondary",
onStatusEndret,
loading,
setNyttSamarbeidModalÅpen,
}: {
hendelse: GyldigNesteHendelse;
sak: IASak;
Expand All @@ -36,6 +37,7 @@ export default function KnappForHendelse({
variant?: ButtonProps["variant"];
onStatusEndret: (status: IASak["status"]) => void;
loading?: ButtonProps["loading"];
setNyttSamarbeidModalÅpen: React.Dispatch<React.SetStateAction<boolean>>;
}) {
const disabled = nesteSteg !== null;

Expand Down Expand Up @@ -87,6 +89,7 @@ export default function KnappForHendelse({
variant={variant}
onStatusEndret={onStatusEndret}
loading={loading}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
);
case IASakshendelseTypeEnum.enum.ENDRE_PROSESS:
Expand All @@ -102,20 +105,32 @@ function BiståEllerSamarbeidKnapp({
variant,
onStatusEndret,
loading,
setNyttSamarbeidModalÅpen,
}: {
hendelse: GyldigNesteHendelse;
sak: IASak;
variant: ButtonProps["variant"];
onStatusEndret: (status: IASak["status"]) => void;
loading?: ButtonProps["loading"];
setNyttSamarbeidModalÅpen: React.Dispatch<React.SetStateAction<boolean>>;
}) {
const { data: alleSamarbeid } = useHentSamarbeid(sak.orgnr, sak.saksnummer);

if (alleSamarbeid === undefined) {
return <></>;
}
if (alleSamarbeid.length === 0) {
return <Detail>Du må opprette et samarbeid først</Detail>;
return (
<Button
icon={<PlusIcon fontSize={"1.5rem"} />}
variant="primary"
onClick={() => setNyttSamarbeidModalÅpen(true)}
size={"small"}
title={"Opprett samarbeid"}
>
Opprett samarbeid
</Button>
);
}

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ interface StatusknapperProps {
onStatusEndret: () => void;
redusertPadding?: boolean;
loading?: boolean;
setNyttSamarbeidModalÅpen: React.Dispatch<React.SetStateAction<boolean>>;
}

export function Statusknapper({
Expand All @@ -73,6 +74,7 @@ export function Statusknapper({
onStatusEndret,
redusertPadding = false,
loading: eksternLoading,
setNyttSamarbeidModalÅpen,
}: StatusknapperProps) {
const { data: brukerInformasjon } = useHentBrukerinformasjon();
const [loading, setLoading] = React.useState(false);
Expand Down Expand Up @@ -109,9 +111,9 @@ export function Statusknapper({
const hendelser: GyldigNesteHendelse[] = iaSak.gyldigeNesteHendelser.filter(
(hendelse) =>
hendelse.saksHendelsestype !==
IASakshendelseTypeEnum.Enum.ENDRE_PROSESS &&
IASakshendelseTypeEnum.Enum.ENDRE_PROSESS &&
hendelse.saksHendelsestype !==
IASakshendelseTypeEnum.Enum.NY_PROSESS,
IASakshendelseTypeEnum.Enum.NY_PROSESS,
);
const destruktiveHendelser = hendelser.filter((hendelse) =>
erHendelsenDestruktiv(hendelse.saksHendelsestype),
Expand All @@ -135,6 +137,7 @@ export function Statusknapper({
variant={"danger"}
onStatusEndret={onStatusEndret}
loading={loading || eksternLoading}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
))}
<Innerknappecontainer>
Expand All @@ -152,6 +155,7 @@ export function Statusknapper({
}
onStatusEndret={onStatusEndret}
loading={loading || eksternLoading}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
))}
</Innerknappecontainer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,12 @@ export function SaksgangDropdown({
virksomhet,
iaSak,
setVisKonfetti,
setNyttSamarbeidModalÅpen,
}: {
virksomhet: Virksomhet;
iaSak?: IASak;
setVisKonfetti?: (visKonfetti: boolean) => void;
setNyttSamarbeidModalÅpen: React.Dispatch<React.SetStateAction<boolean>>;
}) {
const [open, setOpen] = React.useState(false);

Expand Down Expand Up @@ -97,6 +99,7 @@ export function SaksgangDropdown({
setNesteSteg={setNesteSteg}
redusertPadding
loading={lasterEllerRevaliderer}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
</Dropdown.Menu>
</Dropdown>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ import {
IaSakProsess,
} from "../../../../domenetyper/iaSakProsess";
import { loggÅpnetVirksomhetsinfo } from "../../../../util/amplitude-klient";
import { useHentBrukerinformasjon } from "../../../../api/lydia-api/bruker";
import { NyttSamarbeidModal } from "../../Samarbeid/NyttSamarbeidModal";

const Container = styled.div`
display: flex;
Expand All @@ -38,15 +40,18 @@ const VirksomhetsInfoIkon = styled(InformationSquareIcon)`
export default function VirksomhetOgSamarbeidsHeader({
virksomhet,
iaSak,
gjeldendeSamarbeid,
gjeldendeSamarbeid
}: {
virksomhet: Virksomhet;
iaSak?: IASak;
gjeldendeSamarbeid?: IaSakProsess;
}) {
const buttonRef = useRef<SVGSVGElement>(null);
const [openState, setOpenState] = useState(false);
const [nyttSamarbeidModalÅpen, setNyttSamarbeidModalÅpen] = useState(false);
const { data: brukerInformasjon } = useHentBrukerinformasjon();
const { data: salesforceInfo } = useHentSalesforceUrl(virksomhet.orgnr);
const brukerErEierAvSak = iaSak?.eidAv === brukerInformasjon?.ident;

return (
<Container>
Expand All @@ -56,10 +61,12 @@ export default function VirksomhetOgSamarbeidsHeader({
<SamarbeidsDropdown
iaSak={iaSak}
virksomhet={virksomhet}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
<SaksgangDropdown
virksomhet={virksomhet}
iaSak={iaSak}
setNyttSamarbeidModalÅpen={setNyttSamarbeidModalÅpen}
/>
<EierskapKnapp iaSak={iaSak} />
</HStack>
Expand Down Expand Up @@ -122,6 +129,13 @@ export default function VirksomhetOgSamarbeidsHeader({
</Popover>
</HStack>
</VStack>
{iaSak && brukerErEierAvSak && (
<NyttSamarbeidModal
iaSak={iaSak}
åpen={nyttSamarbeidModalÅpen}
setÅpen={setNyttSamarbeidModalÅpen}
/>
)}
</Container>
);
}

0 comments on commit 5388ea5

Please sign in to comment.