Skip to content

Commit 237f42e

Browse files
authored
Merge pull request #3825 from navikt/feature/tenorsoek-nye-felter
Feature/tenorsoek nye felter
2 parents b3b1af9 + cf12226 commit 237f42e

File tree

7 files changed

+153
-28
lines changed

7 files changed

+153
-28
lines changed

apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/checbox/Checkbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export const FormCheckbox = ({
7676
vis && (
7777
<DollyCheckbox
7878
size={size}
79-
checked={value}
79+
checked={value || false}
8080
onChange={handleChange}
8181
checkboxMargin={checkboxMargin}
8282
{...props}

apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/textInput/TextInput.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,14 @@ export const TextInput = ({
108108
}
109109
}, [input])
110110

111+
useEffect(() => {
112+
setFieldValue(watch(name))
113+
}, [watch(name)])
114+
111115
return (
112116
<>
113117
<input
114-
value={fieldValue}
118+
value={fieldValue || ''}
115119
autoFocus={autoFocus}
116120
disabled={isDisabled}
117121
type={props.type || 'text'}

apps/dolly-frontend/src/main/js/src/pages/organisasjoner/OrganisasjonTenorSoek/resultatVisning/OrganisasjonArbeidsforholdVisning.tsx

+20-24
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { TabsVisning } from '@/pages/tenorSoek/resultatVisning/TabsVisning'
33
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
44
import React from 'react'
55
import SubOverskriftExpandable from '@/components/ui/subOverskrift/SubOverskriftExpandable'
6-
import { formatTenorDate, oversettBoolean } from '@/utils/DataFormatter'
6+
import { formatStringDates, formatTenorDate } from '@/utils/DataFormatter'
77

88
export const OrganisasjonArbeidsforholdVisning = ({ data }: any) => {
99
if (!data || data.length < 1) {
@@ -21,42 +21,38 @@ export const OrganisasjonArbeidsforholdVisning = ({ data }: any) => {
2121
{(arbeidsforhold: any) => {
2222
return (
2323
<TabsVisning kildedata={arbeidsforhold.tenorMetadata?.kildedata}>
24+
<TitleValue title="Arbeidstaker" value={arbeidsforhold.arbeidstaker} />
2425
<TitleValue title="Arbeidssted" value={arbeidsforhold.arbeidssted} />
2526
<TitleValue title="Opplysningspliktig" value={arbeidsforhold.opplysningspliktig} />
2627
<TitleValue
27-
title="Ansettelsesform beskrivelse"
28-
value={arbeidsforhold.ansettelsesformBeskrivelse}
29-
/>
30-
<TitleValue title="Permisjoner" value={arbeidsforhold.permisjoner} />
31-
<TitleValue
32-
title="Arbeidsforholdtype beskrivelse"
33-
value={arbeidsforhold.arbeidsforholdtypeBeskrivelse}
34-
/>
35-
<TitleValue title="Timer med timeloenn" value={arbeidsforhold.timerMedTimeloenn} />
36-
<TitleValue title="Permitteringer" value={arbeidsforhold.permitteringer} />
37-
<TitleValue
38-
title="Har permisjoner"
39-
value={oversettBoolean(arbeidsforhold.harPermisjoner)}
28+
title="Startdato"
29+
value={
30+
formatTenorDate(arbeidsforhold.startDato) ||
31+
formatStringDates(arbeidsforhold.startDato)
32+
}
4033
/>
4134
<TitleValue
42-
title="Har permitteringer"
43-
value={oversettBoolean(arbeidsforhold.harPermitteringer)}
35+
title="Sluttdato"
36+
value={
37+
formatTenorDate(arbeidsforhold.sluttDato) ||
38+
formatStringDates(arbeidsforhold.sluttDato)
39+
}
4440
/>
4541
<TitleValue
46-
title="Har historikk"
47-
value={oversettBoolean(arbeidsforhold.harHistorikk)}
42+
title="Arbeidsforholdtype"
43+
value={arbeidsforhold.arbeidsforholdtypeBeskrivelse}
4844
/>
49-
<TitleValue title="Arbeidstaker" value={arbeidsforhold.arbeidstaker} />
45+
<TitleValue title="Stillingsprosent" value={arbeidsforhold.stillingsprosent} />
5046
<TitleValue title="Timer per uke" value={arbeidsforhold.timerPerUke} />
5147
<TitleValue
52-
title="Har utenlandsopphold"
53-
value={oversettBoolean(arbeidsforhold.harUtenlandsopphold)}
48+
title="Ansettelsesform"
49+
value={arbeidsforhold.ansettelsesformBeskrivelse}
5450
/>
55-
<TitleValue title="Stillingsprosent" value={arbeidsforhold.stillingsprosent} />
51+
<TitleValue title="Permisjoner" value={arbeidsforhold.permisjoner} />
52+
<TitleValue title="Permitteringer" value={arbeidsforhold.permitteringer} />
53+
<TitleValue title="Timer med timeloenn" value={arbeidsforhold.timerMedTimeloenn} />
5654
<TitleValue title="Utenlandsopphold" value={arbeidsforhold.utenlandsopphold} />
57-
<TitleValue title="Start dato" value={formatTenorDate(arbeidsforhold.startDato)} />
5855
<TitleValue title="Historikk" value={arbeidsforhold.historikk} />
59-
<TitleValue title="Slutt dato" value={arbeidsforhold.sluttDato} />
6056
</TabsVisning>
6157
)
6258
}}

apps/dolly-frontend/src/main/js/src/pages/tenorSoek/SoekForm.tsx

+30
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { Skattemelding } from '@/pages/tenorSoek/soekFormPartials/Skattemelding'
1717
import { InntektAordningen } from '@/pages/tenorSoek/soekFormPartials/InntektAordningen'
1818
import DisplayFormState from '@/utils/DisplayFormState'
1919
import { erDollyAdmin } from '@/utils/DollyAdmin'
20+
import { Arbeidsforhold } from '@/pages/tenorSoek/soekFormPartials/Arbeidsforhold'
2021

2122
const SoekefeltWrapper = styled.div`
2223
display: flex;
@@ -289,6 +290,35 @@ export const SoekForm = ({ setRequest, setMarkertePersoner, mutate }: any) => {
289290
/>
290291
</Accordion.Content>
291292
</Accordion.Item>
293+
<Accordion.Item>
294+
<Accordion.Header>
295+
<Header
296+
title="Arbeidsforhold"
297+
paths={[
298+
'arbeidsforhold.startDatoPeriode.fraOgMed',
299+
'arbeidsforhold.startDatoPeriode.tilOgMed',
300+
'arbeidsforhold.sluttDatoPeriode.fraOgMed',
301+
'arbeidsforhold.sluttDatoPeriode.tilOgMed',
302+
'arbeidsforhold.harPermisjoner',
303+
'arbeidsforhold.harPermitteringer',
304+
'arbeidsforhold.harArbeidsgiver',
305+
'arbeidsforhold.harTimerMedTimeloenn',
306+
'arbeidsforhold.harUtenlandsopphold',
307+
'arbeidsforhold.harHistorikk',
308+
'arbeidsforhold.arbeidsforholdstype',
309+
]}
310+
getValues={getValues}
311+
emptyCategory={emptyCategory}
312+
/>
313+
</Accordion.Header>
314+
<Accordion.Content style={{ paddingRight: '0' }}>
315+
<Arbeidsforhold
316+
handleChange={handleChange}
317+
handleChangeList={handleChangeList}
318+
getValue={watch}
319+
/>
320+
</Accordion.Content>
321+
</Accordion.Item>
292322
</Accordion>
293323
</Form>
294324
{(devEnabled || erDollyAdmin()) && <DisplayFormState />}

apps/dolly-frontend/src/main/js/src/pages/tenorSoek/resultatVisning/PersonVisning.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { NavigerTilPerson } from '@/pages/tenorSoek/resultatVisning/NavigerTilPe
1010
import { ImporterValgtePersoner } from '@/pages/tenorSoek/resultatVisning/ImporterValgtePersoner'
1111
import { TjenestepensjonsavtaleVisning } from '@/pages/tenorSoek/resultatVisning/TjenestepensjonsavtaleVisning'
1212
import { SkattemeldingVisning } from '@/pages/tenorSoek/resultatVisning/SkattemeldingVisning'
13+
import { OrganisasjonArbeidsforholdVisning } from '@/pages/organisasjoner/OrganisasjonTenorSoek/resultatVisning/OrganisasjonArbeidsforholdVisning'
1314

1415
type PersonVisningProps = {
1516
person: any
@@ -83,6 +84,7 @@ export const PersonVisning = ({
8384
/>
8485
<SkattemeldingVisning data={personData?.tenorRelasjoner?.skattemelding} />
8586
<InntektVisning data={personData?.tenorRelasjoner?.inntekt} />
87+
<OrganisasjonArbeidsforholdVisning data={personData?.tenorRelasjoner?.arbeidsforhold} />
8688
</Box>
8789
</PersonVisningWrapper>
8890
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
import { useTenorDomain } from '@/utils/hooks/useTenorSoek'
2+
import { SoekKategori } from '@/components/ui/soekForm/SoekForm'
3+
import { FormSelect } from '@/components/ui/form/inputs/select/Select'
4+
import { createOptions } from '@/pages/tenorSoek/utils'
5+
import React, { SyntheticEvent } from 'react'
6+
import { FormDatepicker } from '@/components/ui/form/inputs/datepicker/Datepicker'
7+
import { FormCheckbox } from '@/components/ui/form/inputs/checbox/Checkbox'
8+
9+
export const Arbeidsforhold = ({ handleChange, handleChangeList, getValue }: any) => {
10+
const { domain: arbeidsforholdstypeOptions } = useTenorDomain('Arbeidsforholdstype')
11+
12+
return (
13+
<SoekKategori>
14+
<FormSelect
15+
name="arbeidsforhold.arbeidsforholdstype"
16+
options={createOptions(arbeidsforholdstypeOptions?.data)}
17+
size="xlarge"
18+
label="Arbeidsforholdstype"
19+
onChange={(val: SyntheticEvent) =>
20+
handleChange(val?.value || null, 'arbeidsforhold.arbeidsforholdstype')
21+
}
22+
/>
23+
<div className="flexbox--flex-wrap">
24+
<FormDatepicker
25+
name="arbeidsforhold.startDatoPeriode.fraOgMed"
26+
label="Startdato f.o.m."
27+
onChange={(val: SyntheticEvent) =>
28+
handleChange(val || null, 'arbeidsforhold.startDatoPeriode.fraOgMed')
29+
}
30+
visHvisAvhuket={false}
31+
/>
32+
<FormDatepicker
33+
name="arbeidsforhold.startDatoPeriode.tilOgMed"
34+
label="Startdato t.o.m."
35+
onChange={(val: SyntheticEvent) =>
36+
handleChange(val || null, 'arbeidsforhold.startDatoPeriode.tilOgMed')
37+
}
38+
visHvisAvhuket={false}
39+
/>
40+
<FormDatepicker
41+
name="arbeidsforhold.sluttDatoPeriode.fraOgMed"
42+
label="Sluttdato f.o.m."
43+
onChange={(val: SyntheticEvent) =>
44+
handleChange(val || null, 'arbeidsforhold.sluttDatoPeriode.fraOgMed')
45+
}
46+
visHvisAvhuket={false}
47+
/>
48+
<FormDatepicker
49+
name="arbeidsforhold.sluttDatoPeriode.tilOgMed"
50+
label="Sluttdato t.o.m."
51+
onChange={(val: SyntheticEvent) =>
52+
handleChange(val || null, 'arbeidsforhold.sluttDatoPeriode.tilOgMed')
53+
}
54+
visHvisAvhuket={false}
55+
/>
56+
</div>
57+
<FormCheckbox
58+
name="arbeidsforhold.harPermisjoner"
59+
label="Har permisjoner"
60+
onChange={(val: any) =>
61+
handleChange(val?.target?.checked || undefined, 'arbeidsforhold.harPermisjoner')
62+
}
63+
/>
64+
<FormCheckbox
65+
name="arbeidsforhold.harPermitteringer"
66+
label="Har permitteringer"
67+
onChange={(val: any) =>
68+
handleChange(val?.target?.checked || undefined, 'arbeidsforhold.harPermitteringer')
69+
}
70+
/>
71+
<FormCheckbox
72+
name="arbeidsforhold.harTimerMedTimeloenn"
73+
label="Har timer med timelønn"
74+
onChange={(val: any) =>
75+
handleChange(val?.target?.checked || undefined, 'arbeidsforhold.harTimerMedTimeloenn')
76+
}
77+
/>
78+
<FormCheckbox
79+
name="arbeidsforhold.harUtenlandsopphold"
80+
label="Har utenlandsopphold"
81+
onChange={(val: any) =>
82+
handleChange(val?.target?.checked || undefined, 'arbeidsforhold.harUtenlandsopphold')
83+
}
84+
/>
85+
<FormCheckbox
86+
name="arbeidsforhold.harHistorikk"
87+
label="Har historikk"
88+
onChange={(val: any) =>
89+
handleChange(val?.target?.checked || undefined, 'arbeidsforhold.harHistorikk')
90+
}
91+
/>
92+
</SoekKategori>
93+
)
94+
}

apps/dolly-frontend/src/main/js/src/utils/DataFormatter.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ export const formatTenorDate = (dateString: any, formatString?: string) => {
5353
const month = dateString.substring(4, 6)
5454
const day = dateString.substring(6, 8)
5555
const date = new Date(year, month - 1, day)
56-
57-
return format(date, formatString || defaultDateFormat)
56+
return Date.parse(date) ? format(date, formatString || defaultDateFormat) : null
5857
}
5958

6059
export const formatDateToYear = (date) => {

0 commit comments

Comments
 (0)