1
1
import { ChevronDownIcon } from '@navikt/aksel-icons'
2
2
import { Alert , Button , Checkbox , CheckboxGroup , Dropdown , Select , Textarea , VStack } from '@navikt/ds-react'
3
- import { useState } from 'react'
3
+ import { useEffect , useState } from 'react'
4
4
5
5
import { postHenleggelse } from '../io/http.ts'
6
6
import { useSaksregler } from '../saksregler/useSaksregler.ts'
@@ -79,25 +79,36 @@ const henleggSakÅrsaker = ['Duplikat sak']
79
79
80
80
function OverførTilSaksbehandlerModal ( props : { sakId : string ; open : boolean ; onClose ( ) : void } ) {
81
81
const { sakId, open, onClose } = props
82
- const { behandlere, mutate : mutateBehandlere } = useOppgavebehandlere ( )
82
+ const { behandlere, mutate : mutateBehandlere , isValidating : behandlereIsValidating } = useOppgavebehandlere ( )
83
83
const { endreOppgavetildeling } = useOppgaveService ( )
84
84
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
+
87
95
return (
88
96
< BekreftelseModal
89
97
open = { open }
90
- loading = { loading }
98
+ loading = { loading || behandlereIsValidating }
91
99
heading = "Overfør sak til annen saksbehandler"
92
100
bekreftButtonLabel = "Overfør sak"
93
101
onBekreft = { async ( ) => {
94
102
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
+ } )
96
108
await mutateSak ( sakId )
97
- await mutateBehandlere ( )
98
109
setLoading ( false )
99
- setValgtSaksbehandler ( null )
100
- setMelding ( null )
110
+ setValgtSaksbehandler ( '' )
111
+ setMelding ( '' )
101
112
return onClose ( )
102
113
} }
103
114
onClose = { onClose }
@@ -108,11 +119,12 @@ function OverførTilSaksbehandlerModal(props: { sakId: string; open: boolean; on
108
119
< Select
109
120
label = "Navn"
110
121
size = "small"
122
+ value = { valgtSaksbehandler }
111
123
onChange = { ( event ) => {
112
124
setValgtSaksbehandler ( event . target . value )
113
125
} }
114
126
>
115
- < option > Velg saksbehandler</ option >
127
+ < option value = "" > Velg saksbehandler</ option >
116
128
{ behandlere . map ( ( behandler ) => (
117
129
< option key = { behandler . id } value = { behandler . id } >
118
130
{ behandler . navn }
@@ -124,6 +136,7 @@ function OverførTilSaksbehandlerModal(props: { sakId: string; open: boolean; on
124
136
maxRows = { 5 }
125
137
label = "Melding"
126
138
size = "small"
139
+ value = { melding }
127
140
onChange = { ( event ) => {
128
141
setMelding ( event . target . value )
129
142
} }
0 commit comments