Skip to content
This repository was archived by the owner on Nov 1, 2024. It is now read-only.

Commit d54ac55

Browse files
authored
Merge pull request #292 from navikt/refactor/ART04-search
Refactor/art04 search: fix teamkatalogen field in search
2 parents 80ccc6f + 9e90d6e commit d54ac55

File tree

2 files changed

+48
-35
lines changed

2 files changed

+48
-35
lines changed

components/productArea/content.tsx

-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { PAItem } from "../../pages/productArea/[id]";
33
import SearchResultLink from "../search/searchResultLink";
44
import { useContext } from "react";
55
import { UserState } from "../../lib/context";
6-
import { useGetProductAreas } from "../../lib/rest/productAreas";
76

87
interface ProductAreaContentProps {
98
currentItem: PAItem
@@ -12,11 +11,8 @@ interface ProductAreaContentProps {
1211
}
1312

1413
const ProductAreaContent = ({ currentItem, currentTab, setCurrentTab }: ProductAreaContentProps) => {
15-
const {productAreas, loading, error} = useGetProductAreas()
1614
const userInfo= useContext(UserState)
1715

18-
if (loading) return <div>Laster...</div>
19-
if (error) return <div>Noe gikk galt</div>
2016
return (
2117
<Tabs
2218
value={currentTab}

components/search/resultList.tsx

+48-31
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import SearchResultLink from './searchResultLink'
1111
import { Tabs } from '@navikt/ds-react'
1212
import React, { useContext, useEffect, useState } from 'react'
1313
import { SearchParam } from '../../pages/search'
14-
import { useRouter } from 'next/router'
1514
import { USER_INFO } from '../../lib/queries/userInfo/userInfo'
1615
import { UserState } from '../../lib/context'
16+
import { useSearchTeamKatalogen } from '../../lib/rest/teamkatalogen'
1717
import { useGetProductAreas } from '../../lib/rest/productAreas'
1818

1919
const Results = ({ children }: { children: React.ReactNode }) => (
@@ -82,18 +82,34 @@ const ResultList = ({
8282
// eslint-disable-next-line react-hooks/exhaustive-deps
8383
}, [search])
8484
const [deleteStoryQuery] = useDeleteStoryMutation()
85-
const userInfo= useContext(UserState)
85+
const userInfo = useContext(UserState)
86+
const { searchResult: teamkatalogen } = useSearchTeamKatalogen()
87+
const { productAreas } = useGetProductAreas()
8688
const deleteStory = (id: string) => deleteStoryQuery({
87-
variables:{
89+
variables: {
8890
id: id
8991
},
90-
refetchQueries:[
92+
refetchQueries: [
9193
{
9294
query: USER_INFO,
9395
}
9496
]
9597
})
9698

99+
const getTeamKatalogenInfo = (item: any) => {
100+
const getTeamID = (url: string) => {
101+
var urlComponents = url?.split("/")
102+
return urlComponents?.[urlComponents.length - 1]
103+
}
104+
const tk = teamkatalogen?.find((it) => getTeamID(it.url) == getTeamID(item?.owner?.teamkatalogenURL))
105+
const po = productAreas?.find((it) => it.id == tk?.productAreaID)
106+
107+
return {
108+
productArea: po?.name,
109+
teamkatalogenTeam: tk?.name || item.group?.group
110+
}
111+
}
112+
97113
if (search && !!searchParam) {
98114
const { data, loading, error } = search
99115

@@ -106,6 +122,7 @@ const ResultList = ({
106122
(d) => d.result.__typename === 'Story'
107123
)
108124

125+
//dataproducts.forEach((d) => console.log(getTeamKatalogenInfo(d.result)?.teamkatalogenTeam))
109126
return (
110127
<Results>
111128
<Tabs
@@ -128,25 +145,25 @@ const ResultList = ({
128145
</Tabs.List>
129146
<Tabs.Panel className="flex flex-col pt-4 gap-4" value="story">
130147
{datastories.map(
131-
(it, idx)=>
148+
(it, idx) =>
132149
(
133-
it.result.__typename ==='Story' && (
134-
<SearchResultLink
135-
key={idx}
136-
name={it.result.name}
137-
type={'story'}
138-
keywords={it.result.keywords}
139-
description={it.excerpt}
140-
link={`/story/${it.result.id}`}
141-
group={{
142-
group: it.result.groupName,
143-
teamkatalogenURL: it.result.teamkatalogenURL,
144-
}}
145-
//TODO: fix teamkatalogen
146-
/>
147-
)
150+
it.result.__typename === 'Story' && (
151+
<SearchResultLink
152+
key={idx}
153+
name={it.result.name}
154+
type={'story'}
155+
keywords={it.result.keywords}
156+
description={it.excerpt}
157+
link={`/story/${it.result.id}`}
158+
group={{
159+
group: it.result.groupName,
160+
teamkatalogenURL: it.result.teamkatalogenURL,
161+
}}
162+
{...getTeamKatalogenInfo(it.result)}
163+
/>
164+
)
148165
)
149-
166+
150167
)}
151168
</Tabs.Panel>
152169
<Tabs.Panel className="flex flex-col gap-4" value="dataproduct">
@@ -161,7 +178,7 @@ const ResultList = ({
161178
description={d.result.description}
162179
link={`/dataproduct/${d.result.id}/${d.result.slug}`}
163180
datasets={d.result.datasets}
164-
//TODO: fix teamkatalogen
181+
{...getTeamKatalogenInfo(d.result)}
165182
/>
166183
)
167184
)}
@@ -181,7 +198,7 @@ const ResultList = ({
181198
name={d.name}
182199
keywords={d.keywords}
183200
link={`/dataproduct/${d.id}/${d.slug}`}
184-
//TODO: fix teamkatalogen
201+
{...getTeamKatalogenInfo(d)}
185202
/>
186203
))}
187204
</Results>
@@ -203,11 +220,11 @@ const ResultList = ({
203220
name={s.name}
204221
resourceType={"datafortelling"}
205222
link={`/story/${s.id}`}
206-
//TODO: fix teamkatalogen
207-
keywords={s.keywords}
208-
editable = {true}
209-
description= {s.description}
210-
deleteResource = {deleteStory}
223+
{...getTeamKatalogenInfo(s)}
224+
keywords={s.keywords}
225+
editable={true}
226+
description={s.description}
227+
deleteResource={deleteStory}
211228
/>
212229
))}
213230
</Results>
@@ -230,10 +247,10 @@ const ResultList = ({
230247
id={p.id}
231248
name={p.name}
232249
link={p.link}
233-
//TODO: fix teamkatalogen
234-
description= {p.description}
250+
{...getTeamKatalogenInfo(p)}
251+
description={p.description}
235252
innsiktsproduktType={p.type}
236-
editable={!!userInfo?.googleGroups?.find(it=> it.email == p.group)}
253+
editable={!!userInfo?.googleGroups?.find(it => it.email == p.group)}
237254
/>
238255
))}
239256
</Results>

0 commit comments

Comments
 (0)