Skip to content

Commit c313201

Browse files
committed
mutate behandlere når dialog åpnes
1 parent ba5a697 commit c313201

File tree

4 files changed

+33
-27
lines changed

4 files changed

+33
-27
lines changed

client/src/header/Toppmeny.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ export function Toppmeny() {
6969
<Dropdown.Menu.GroupedList>
7070
<Dropdown.Menu.GroupedList.Heading>Enheter</Dropdown.Menu.GroupedList.Heading>
7171
{innloggetAnsatt.enheter
72-
.filter(({ nummer }) => valgtEnhet.nummer !== nummer)
72+
.filter(({ nummer }) => valgtEnhet?.nummer !== nummer)
7373
.map((enhet) => (
7474
<Dropdown.Menu.GroupedList.Item
7575
key={enhet.nummer}
7676
onClick={() => {
77-
setValgtEnhet(enhet.nummer)
77+
return setValgtEnhet(enhet.nummer)
7878
}}
7979
>
8080
{enhet.nummer} - {enhet.navn}

client/src/mocks/handlers/saksbehandler.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,9 @@ import type { InnloggetAnsatt } from '../../tilgang/Ansatt.ts'
55
import { delay } from './response.ts'
66

77
export const saksbehandlerHandlers: StoreHandlersFactory = ({ saksbehandlerStore }) => [
8-
http.get<never, never, InnloggetAnsatt>('/api/saksbehandler', async ({ request }) => {
8+
http.get<never, never, InnloggetAnsatt>('/api/saksbehandler', async () => {
99
await delay(75)
1010
const innloggetSaksbehandler = await saksbehandlerStore.innloggetSaksbehandler()
11-
const valgtEnhet = request.headers.get('x-valgt-enhet')
12-
if (valgtEnhet?.length === 4) {
13-
const enheter = innloggetSaksbehandler.enheter.map((enhet) => ({
14-
...enhet,
15-
gjeldende: enhet.nummer === valgtEnhet,
16-
}))
17-
return HttpResponse.json({
18-
...innloggetSaksbehandler,
19-
enheter,
20-
})
21-
}
2211
return HttpResponse.json(innloggetSaksbehandler)
2312
}),
2413
]

client/src/oppgave/useOppgavebehandlere.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ export interface Oppgavebehandlere {
77
behandlere: Ansatt[]
88
}
99

10-
export function useOppgavebehandlere(): Oppgavebehandlere & { mutate: KeyedMutator<Oppgavebehandlere> } {
10+
export function useOppgavebehandlere(): Oppgavebehandlere & {
11+
mutate: KeyedMutator<Oppgavebehandlere>
12+
isValidating: boolean
13+
} {
1114
const { oppgaveId } = useOppgaveContext()
12-
const { data, error, mutate } = useSwr<Oppgavebehandlere>(
15+
const { data, error, mutate, isValidating } = useSwr<Oppgavebehandlere>(
1316
oppgaveId ? `/api/oppgaver-v2/${oppgaveId}/behandlere` : null
1417
)
1518
if (error) {
16-
return { behandlere: [], mutate }
19+
return { behandlere: [], mutate, isValidating }
1720
}
1821
return {
1922
behandlere: data?.behandlere ?? [],
2023
mutate,
24+
isValidating,
2125
}
2226
}

client/src/saksbilde/Saksmeny.tsx

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ChevronDownIcon } from '@navikt/aksel-icons'
22
import { Alert, Button, Checkbox, CheckboxGroup, Dropdown, Select, Textarea, VStack } from '@navikt/ds-react'
3-
import { useState } from 'react'
3+
import { useEffect, useState } from 'react'
44

55
import { postHenleggelse } from '../io/http.ts'
66
import { useSaksregler } from '../saksregler/useSaksregler.ts'
@@ -79,25 +79,36 @@ const henleggSakÅrsaker = ['Duplikat sak']
7979

8080
function OverførTilSaksbehandlerModal(props: { sakId: string; open: boolean; onClose(): void }) {
8181
const { sakId, open, onClose } = props
82-
const { behandlere, mutate: mutateBehandlere } = useOppgavebehandlere()
82+
const { behandlere, mutate: mutateBehandlere, isValidating: behandlereIsValidating } = useOppgavebehandlere()
8383
const { endreOppgavetildeling } = useOppgaveService()
8484
const [loading, setLoading] = useState(false)
85-
const [valgtSaksbehandler, setValgtSaksbehandler] = useState<NavIdent | null>(null)
86-
const [melding, setMelding] = useState<string | null>(null)
85+
const [valgtSaksbehandler, setValgtSaksbehandler] = useState<NavIdent>('')
86+
const [melding, setMelding] = useState<string>('')
87+
88+
useEffect(() => {
89+
if (open) {
90+
// noinspection JSIgnoredPromiseFromCall
91+
mutateBehandlere()
92+
}
93+
}, [open, mutateBehandlere])
94+
8795
return (
8896
<BekreftelseModal
8997
open={open}
90-
loading={loading}
98+
loading={loading || behandlereIsValidating}
9199
heading="Overfør sak til annen saksbehandler"
92100
bekreftButtonLabel="Overfør sak"
93101
onBekreft={async () => {
94102
setLoading(true)
95-
await endreOppgavetildeling({ saksbehandlerId: valgtSaksbehandler, melding, overtaHvisTildelt: true })
103+
await endreOppgavetildeling({
104+
saksbehandlerId: valgtSaksbehandler || null,
105+
melding: melding || null,
106+
overtaHvisTildelt: true,
107+
})
96108
await mutateSak(sakId)
97-
await mutateBehandlere()
98109
setLoading(false)
99-
setValgtSaksbehandler(null)
100-
setMelding(null)
110+
setValgtSaksbehandler('')
111+
setMelding('')
101112
return onClose()
102113
}}
103114
onClose={onClose}
@@ -108,11 +119,12 @@ function OverførTilSaksbehandlerModal(props: { sakId: string; open: boolean; on
108119
<Select
109120
label="Navn"
110121
size="small"
122+
value={valgtSaksbehandler}
111123
onChange={(event) => {
112124
setValgtSaksbehandler(event.target.value)
113125
}}
114126
>
115-
<option>Velg saksbehandler</option>
127+
<option value="">Velg saksbehandler</option>
116128
{behandlere.map((behandler) => (
117129
<option key={behandler.id} value={behandler.id}>
118130
{behandler.navn}
@@ -124,6 +136,7 @@ function OverførTilSaksbehandlerModal(props: { sakId: string; open: boolean; on
124136
maxRows={5}
125137
label="Melding"
126138
size="small"
139+
value={melding}
127140
onChange={(event) => {
128141
setMelding(event.target.value)
129142
}}

0 commit comments

Comments
 (0)