1
1
import * as React from 'react'
2
2
import { Select } from '@navikt/ds-react'
3
- import { useTeamkatalogenQuery } from '../../lib/schema/graphql'
4
3
import LoaderSpinner from './spinner'
5
4
import { Dispatch , SetStateAction } from 'react'
5
+ import { useSearchTeamKatalogen } from '../../lib/rest/teamkatalogen'
6
6
7
7
type TeamkatalogenSelectorProps = {
8
8
gcpGroups ?: string [ ]
@@ -21,32 +21,28 @@ export interface Team {
21
21
}
22
22
23
23
const useBuildTeamList = ( gcpGroups : string [ ] | undefined ) => {
24
- const allTeamResult = useTeamkatalogenQuery ( {
25
- variables : { q : '' } ,
26
- } )
24
+ const { searchResult : relevantTeamResult , loading : loadingRelevant , error : errorRelevant } =
25
+ useSearchTeamKatalogen ( gcpGroups ?. map ( it => it . split ( '@' ) [ 0 ] ) || [ ] )
26
+ const { searchResult : allTeamsResult , loading : loadingAllTeams , error : errorAllTeams } =
27
+ useSearchTeamKatalogen ( )
27
28
28
- const relevantTeamResult = useTeamkatalogenQuery ( {
29
- variables : { q : gcpGroups ?. map ( it => it . split ( '@' ) [ 0 ] ) || [ ] } ,
30
- } )
31
-
32
- if ( allTeamResult . error || relevantTeamResult . error ) {
29
+ if ( errorAllTeams || errorRelevant ) {
33
30
return {
34
31
error : true ,
35
32
}
36
33
}
37
34
38
- const relevantTeams = gcpGroups ? relevantTeamResult . data ?. teamkatalogen : undefined
39
- const allTeams = allTeamResult . data ?. teamkatalogen
40
- const otherTeams = allTeamResult . data ?. teamkatalogen . filter (
41
- ( it ) => ! relevantTeams || ! relevantTeams . find ( ( t ) => t . teamID == it . teamID )
35
+ const relevantTeams = gcpGroups ? relevantTeamResult : undefined
36
+ const otherTeams = allTeamsResult ?. filter (
37
+ ( it : any ) => ! relevantTeams || ! relevantTeams . find ( ( t : any ) => t . teamID == it . teamID )
42
38
)
43
39
44
- otherTeams ?. sort ( ( a , b ) => a . name . localeCompare ( b . name ) )
40
+ otherTeams ?. sort ( ( a : any , b : any ) => a . name . localeCompare ( b . name ) )
45
41
46
42
return {
47
43
relevantTeams : relevantTeams ,
48
44
otherTeams : otherTeams ,
49
- allTeams : allTeams ,
45
+ allTeams : allTeamsResult ,
50
46
}
51
47
}
52
48
@@ -64,7 +60,7 @@ export const TeamkatalogenSelector = ({
64
60
const teamkatalogenURL = watch ( 'teamkatalogenURL' )
65
61
66
62
const updateTeamkatalogInfo = ( url : string ) => {
67
- const team = allTeams ?. find ( ( it ) => it . url == url )
63
+ const team = allTeams ?. find ( ( it : any ) => it . url == url )
68
64
setProductAreaID ?.( team ? team . productAreaID : '' )
69
65
setTeamID ?.( team ? team . teamID : '' )
70
66
}
@@ -92,12 +88,12 @@ export const TeamkatalogenSelector = ({
92
88
Ingen team
93
89
</ option >
94
90
) }
95
- { relevantTeams ?. map ( ( team ) => (
91
+ { relevantTeams ?. map ( ( team : any ) => (
96
92
< option value = { team . url } key = { team . name } >
97
93
{ team . name }
98
94
</ option >
99
95
) ) }
100
- { otherTeams ?. map ( ( team ) => (
96
+ { otherTeams ?. map ( ( team : any ) => (
101
97
< option value = { team . url } key = { team . name } >
102
98
{ team . name }
103
99
</ option >
0 commit comments