+}
+
+export type Utdanning = {
+ institution: string
+ field: string
+ nuskode: string
+ startDate: string | null
+ endDate: string | null
+ description: string
+ ongoing: boolean
+}
+
+export type Fagbrev = {
+ title: string
+ type: string
+}
+
+export type Arbeidserfaring = {
+ employer: string
+ jobTitle: string
+ alternativeJobTitle: string
+ location: string
+ description: string
+ fromDate: string | null
+ toDate: string | null
+ ongoing: boolean
+ styrkkode: string
+}
+
+export type AnnenErfaring = {
+ description: string
+ role: string
+ fromDate: string | null
+ toDate: string | null
+ ongoing: boolean
+}
+
+export type Kompetanser = {
+ title: string
+}
+
+export type OffentligeGodkjenninger = {
+ title: string
+ issuer: string
+ fromDate: string | null
+ toDate: string | null
+}
+
+export type AndreGodkjenninger = {
+ certificateName: string
+ issuer: string
+ fromDate: string | null
+ toDate: string | null
+}
+
+export type Spraak = {
+ language: string
+ oralProficiency: string
+ writtenProficiency: string
+}
+
+export type Foererkort = {
+ type: string
+ acquiredDate: string | null
+ expiryDate: string | null
+}
+
+export type Kurs = {
+ title: string
+ issuer: string
+ duration: number
+ durationUnit: string
+ date: string | null
+}
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/bestilling/Arbeidsplassen.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/bestilling/Arbeidsplassen.tsx
new file mode 100644
index 00000000000..793a0d6ce29
--- /dev/null
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/bestilling/Arbeidsplassen.tsx
@@ -0,0 +1,272 @@
+import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils'
+import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
+import React from 'react'
+import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata'
+import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
+import { TitleValue } from '@/components/ui/titleValue/TitleValue'
+import { arrayToString, formatDate, oversettBoolean, showLabel } from '@/utils/DataFormatter'
+import {
+ AndreGodkjenninger,
+ AnnenErfaring,
+ Arbeidserfaring,
+ ArbeidsplassenTypes,
+ Fagbrev,
+ Foererkort,
+ Kompetanser,
+ Kurs,
+ OffentligeGodkjenninger,
+ Spraak,
+ Utdanning,
+} from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
+
+type ArbeidsplassenCVTypes = {
+ arbeidsplassenCV: ArbeidsplassenTypes
+}
+
+export const Arbeidsplassen = ({ arbeidsplassenCV }: ArbeidsplassenCVTypes) => {
+ if (!arbeidsplassenCV || isEmpty(arbeidsplassenCV)) {
+ return null
+ }
+
+ const jobboensker = arbeidsplassenCV?.jobboensker
+ const utdanningListe = arbeidsplassenCV?.utdanning
+ const fagbrevListe = arbeidsplassenCV?.fagbrev
+ const arbeidserfaringListe = arbeidsplassenCV?.arbeidserfaring
+ const annenErfaringListe = arbeidsplassenCV?.annenErfaring
+ const kompetanserListe = arbeidsplassenCV?.kompetanser
+ const offentligeGodkjenningerListe = arbeidsplassenCV?.offentligeGodkjenninger
+ const andreGodkjenningerListe = arbeidsplassenCV?.andreGodkjenninger
+ const spraakListe = arbeidsplassenCV?.spraak
+ const foererkortListe = arbeidsplassenCV?.foererkort
+ const kursListe = arbeidsplassenCV?.kurs
+ const sammendrag = arbeidsplassenCV?.sammendrag
+ const harHjemmel = arbeidsplassenCV?.harHjemmel
+
+ return (
+
+
+ Arbeidsplassen (CV)
+ {jobboensker && (
+ <>
+ Jobbønsker
+
+ jobb?.title))}
+ />
+ omraade?.location))}
+ />
+ showLabel('arbeidsmengde', type)),
+ )}
+ />
+ showLabel('arbeidstid', type)),
+ )}
+ />
+ showLabel('ansettelsestype', type)),
+ )}
+ />
+
+
+ >
+ )}
+ {utdanningListe && utdanningListe?.length > 0 && (
+
+ {(utdanning: Utdanning, idx: number) => {
+ return (
+
+
+
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {fagbrevListe && fagbrevListe?.length > 0 && (
+
+ {(fagbrev: Fagbrev, idx: number) => {
+ return (
+
+
+
+ )
+ }}
+
+ )}
+ {arbeidserfaringListe && arbeidserfaringListe?.length > 0 && (
+
+ {(arbeidsforhold: Arbeidserfaring, idx: number) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {annenErfaringListe && annenErfaringListe?.length > 0 && (
+
+ {(annenErfaring: AnnenErfaring, idx: number) => {
+ return (
+
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {kompetanserListe && kompetanserListe?.length > 0 && (
+
+ {(kompetanse: Kompetanser, idx: number) => {
+ return (
+
+
+
+ )
+ }}
+
+ )}
+ {offentligeGodkjenningerListe && offentligeGodkjenningerListe?.length > 0 && (
+
+ {(offentligGodkjenning: OffentligeGodkjenninger, idx: number) => {
+ return (
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {andreGodkjenningerListe && andreGodkjenningerListe?.length > 0 && (
+
+ {(annenGodkjenning: AndreGodkjenninger, idx: number) => {
+ return (
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {spraakListe && spraakListe?.length > 0 && (
+
+ {(spraak: Spraak, idx: number) => {
+ return (
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {foererkortListe && foererkortListe?.length > 0 && (
+
+ {(foererkort: Foererkort, idx: number) => {
+ return (
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {kursListe && kursListe?.length > 0 && (
+
+ {(kurs: Kurs, idx: number) => {
+ return (
+
+
+
+
+
+
+
+ )
+ }}
+
+ )}
+ {sammendrag && (
+ <>
+ Sammendrag
+
+ >
+ )}
+ <>
+ Hjemmel
+
+ >
+
+
+ )
+}
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/Visning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/Visning.tsx
index c15515a3240..22fe7f2c6e3 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/Visning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/Visning.tsx
@@ -18,6 +18,14 @@ import { HjemmelVisning } from '@/components/fagsystem/arbeidsplassen/visning/pa
import styled from 'styled-components'
import { PadlockLockedFillIcon } from '@navikt/aksel-icons'
import { BodyLong } from '@navikt/ds-react'
+import { ArbeidsplassenTypes } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
+
+type ArbeidsplassenVisningProps = {
+ data: ArbeidsplassenTypes
+ loading: boolean
+ error: any
+ hjemmel: boolean
+}
const StyledCVVisning = styled.div`
margin-bottom: 20px;
@@ -34,7 +42,12 @@ const ForbiddenVisning = styled.div`
}
`
-export const ArbeidsplassenVisning = ({ data, loading, error, hjemmel }) => {
+export const ArbeidsplassenVisning = ({
+ data,
+ loading,
+ error,
+ hjemmel,
+}: ArbeidsplassenVisningProps) => {
if (loading && !data && !error) return
if (error?.status === 403)
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/AndreGodkjenningerVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/AndreGodkjenningerVisning.tsx
index 480691501e6..5c4cfb7820e 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/AndreGodkjenningerVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/AndreGodkjenningerVisning.tsx
@@ -3,8 +3,13 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, showLabel } from '@/utils/DataFormatter'
+import { AndreGodkjenninger } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const AndreGodkjenningerVisning = ({ data }) => {
+type AndreGodkjenningerVisningProps = {
+ data?: Array
+}
+
+export const AndreGodkjenningerVisning = ({ data }: AndreGodkjenningerVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const AndreGodkjenningerVisning = ({ data }) => {
- {(annenGodkjenning) => (
+ {(annenGodkjenning: AndreGodkjenninger) => (
<>
{
+type AnnenErfaringVisningProps = {
+ data?: Array
+}
+
+export const AnnenErfaringVisning = ({ data }: AnnenErfaringVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const AnnenErfaringVisning = ({ data }) => {
- {(annenErfaring) => (
+ {(annenErfaring: AnnenErfaring) => (
<>
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/ArbeidserfaringVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/ArbeidserfaringVisning.tsx
index 586950c5e79..380fcc6b846 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/ArbeidserfaringVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/ArbeidserfaringVisning.tsx
@@ -3,8 +3,13 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, oversettBoolean, showLabel } from '@/utils/DataFormatter'
+import { Arbeidserfaring } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const ArbeidserfaringVisning = ({ data }) => {
+type ArbeidserfaringVisningProps = {
+ data?: Array
+}
+
+export const ArbeidserfaringVisning = ({ data }: ArbeidserfaringVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const ArbeidserfaringVisning = ({ data }) => {
- {(arbeidserfaring) => (
+ {(arbeidserfaring: Arbeidserfaring) => (
<>
{
+type FagbrevVisningProps = {
+ data?: Array
+}
+
+export const FagbrevVisning = ({ data }: FagbrevVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const FagbrevVisning = ({ data }) => {
- {(fagbrev) => (
+ {(fagbrev: Fagbrev) => (
<>
{
+type FoererkortVisningProps = {
+ data?: Array
+}
+
+export const FoererkortVisning = ({ data }: FoererkortVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const FoererkortVisning = ({ data }) => {
- {(foererkort) => (
+ {(foererkort: Foererkort) => (
<>
{
+type HjemmelVisningProps = {
+ hjemmel: boolean
+}
+
+export const HjemmelVisning = ({ hjemmel }: HjemmelVisningProps) => {
return (
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/JobboenskerVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/JobboenskerVisning.tsx
index c6db4ba0c2b..21545ca3be5 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/JobboenskerVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/JobboenskerVisning.tsx
@@ -2,8 +2,13 @@ import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { arrayToString, showLabel } from '@/utils/DataFormatter'
+import { Jobboensker } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const JobboenskerVisning = ({ data }) => {
+type JobboenskerVisningProps = {
+ data?: Jobboensker
+}
+
+export const JobboenskerVisning = ({ data }: JobboenskerVisningProps) => {
if (
!data ||
((!data.occupations || data.occupations.length < 1) &&
@@ -33,19 +38,19 @@ export const JobboenskerVisning = ({ data }) => {
showLabel('arbeidsmengde', type))
+ data.workLoadTypes?.map((type) => showLabel('arbeidsmengde', type)),
)}
/>
showLabel('arbeidstid', type))
+ data.workScheduleTypes?.map((type) => showLabel('arbeidstid', type)),
)}
/>
showLabel('ansettelsestype', type))
+ data.occupationTypes?.map((type) => showLabel('ansettelsestype', type)),
)}
/>
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/KompetanserVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/KompetanserVisning.tsx
index 18e80585f2a..ce93570d341 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/KompetanserVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/KompetanserVisning.tsx
@@ -3,8 +3,13 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { showLabel } from '@/utils/DataFormatter'
+import { Kompetanser } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const KompetanserVisning = ({ data }) => {
+type KompetanserVisningProps = {
+ data?: Array
+}
+
+export const KompetanserVisning = ({ data }: KompetanserVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const KompetanserVisning = ({ data }) => {
- {(kompetanse) => (
+ {(kompetanse: Kompetanser) => (
<>
{
+type KursVisningProps = {
+ data?: Array
+}
+
+export const KursVisning = ({ data }: KursVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const KursVisning = ({ data }) => {
- {(kurs) => (
+ {(kurs: Kurs) => (
<>
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/OffentligeGodkjenningerVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/OffentligeGodkjenningerVisning.tsx
index 286285f04e5..71803c375e9 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/OffentligeGodkjenningerVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/OffentligeGodkjenningerVisning.tsx
@@ -3,8 +3,13 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, showLabel } from '@/utils/DataFormatter'
+import { OffentligeGodkjenninger } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const OffentligeGodkjenningerVisning = ({ data }) => {
+type OffentligeGodkjenningerVisningProps = {
+ data?: Array
+}
+
+export const OffentligeGodkjenningerVisning = ({ data }: OffentligeGodkjenningerVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const OffentligeGodkjenningerVisning = ({ data }) => {
- {(offentligGodkjenning) => (
+ {(offentligGodkjenning: OffentligeGodkjenninger) => (
<>
{
+type SammendragVisningProps = {
+ data?: string
+}
+
+export const SammendragVisning = ({ data }: SammendragVisningProps) => {
if (!data || data.length < 1) {
return null
}
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/SpraakVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/SpraakVisning.tsx
index c18aaa486cb..7194151c297 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/SpraakVisning.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arbeidsplassen/visning/partials/SpraakVisning.tsx
@@ -3,8 +3,13 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { showLabel } from '@/utils/DataFormatter'
+import { Spraak } from '@/components/fagsystem/arbeidsplassen/ArbeidsplassenTypes'
-export const SpraakVisning = ({ data }) => {
+type SpraakVisningProps = {
+ data?: Array
+}
+
+export const SpraakVisning = ({ data }: SpraakVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const SpraakVisning = ({ data }) => {
- {(spraak) => (
+ {(spraak: Spraak) => (
<>
{
+type UtdanningVisningProps = {
+ data?: Array
+}
+
+export const UtdanningVisning = ({ data }: UtdanningVisningProps) => {
if (!data || data.length < 1) {
return null
}
@@ -13,7 +18,7 @@ export const UtdanningVisning = ({ data }) => {
- {(utdanning) => (
+ {(utdanning: Utdanning) => (
<>