Skip to content

Commit d794029

Browse files
authored
Merge pull request #213 from navikt/vise-ferieperioder
Viser ferieperiodene i stedet for antall feriedager
2 parents 3e75caa + 9e74a75 commit d794029

File tree

6 files changed

+80
-15
lines changed

6 files changed

+80
-15
lines changed

__mock-data__/behandlinger_mapped.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
"antallKalenderdager": 31,
8888
"arbeidsgiverperiodeKalenderdager": 16,
8989
"antallVirkedager": 23,
90-
"antallFeriedager": 0,
90+
"ferieperioder": [],
9191
"antallUtbetalingsdager": 23,
9292
"sykmeldingsgrad": 100
9393
},

src/components/pages/Periode/Periode.jsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,21 @@ import { Panel } from 'nav-frontend-paneler';
77
import { Element, Undertittel } from 'nav-frontend-typografi';
88
import { withBehandlingContext } from '../../../context/BehandlingerContext';
99
import { periodetekster, tekster } from '../../../tekster';
10+
import { toDate } from '../../../utils/date';
11+
import FormRowWithListValues from '../../widgets/rows/FormRowWithListValues';
1012

1113
const Periode = withBehandlingContext(({ behandling }) => {
1214
const {
1315
antallKalenderdager,
1416
arbeidsgiverperiodeKalenderdager,
1517
antallVirkedager,
16-
antallFeriedager,
18+
ferieperioder,
1719
antallUtbetalingsdager,
1820
sykmeldingsgrad
1921
} = behandling.periode;
20-
22+
const ferieperioderAsString = ferieperioder.map(
23+
periode => `${toDate(periode.fom)} - ${toDate(periode.tom)}`
24+
);
2125
return (
2226
<Panel className="Periode" border>
2327
<Undertittel className="panel-tittel">
@@ -35,7 +39,10 @@ const Periode = withBehandlingContext(({ behandling }) => {
3539
label={periodetekster('virkedager')}
3640
value={antallVirkedager}
3741
/>
38-
<FormRow label={periodetekster('ferie')} value={antallFeriedager} />
42+
<FormRowWithListValues
43+
label={periodetekster('ferie')}
44+
items={ferieperioderAsString}
45+
/>
3946
<FormRow
4047
label={periodetekster('antall_utbetalingsdager')}
4148
value={antallUtbetalingsdager}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import React from 'react';
2+
import PropTypes from 'prop-types';
3+
import Uenigboks from '../Uenigboks';
4+
import { Normaltekst } from 'nav-frontend-typografi';
5+
import './FormRowWithListValues.less';
6+
7+
const FormRowWithListValues = ({ label, items, bold, showRightSide }) => {
8+
const className = bold ? 'bold' : '';
9+
const itemsForFeedback =
10+
items.length !== 0 ? [{ label, items: items.join(', ') }] : [];
11+
return (
12+
<span className="FormRowWithListValues">
13+
<span>
14+
<Normaltekst className={className}>{label}</Normaltekst>
15+
{items.length > 0 ? (
16+
<span className="FormRow__List">
17+
{items.map(item => (
18+
<Normaltekst>{item}</Normaltekst>
19+
))}
20+
</span>
21+
) : (
22+
<Normaltekst>-</Normaltekst>
23+
)}
24+
</span>
25+
{showRightSide ? (
26+
<Uenigboks label={label} itemsForFeedback={itemsForFeedback} />
27+
) : (
28+
<div className="FormRow__padder" />
29+
)}
30+
</span>
31+
);
32+
};
33+
34+
FormRowWithListValues.propTypes = {
35+
label: PropTypes.string.isRequired,
36+
items: PropTypes.arrayOf(PropTypes.string).isRequired,
37+
bold: PropTypes.bool,
38+
showRightSide: PropTypes.bool
39+
};
40+
41+
FormRowWithListValues.defaultProps = {
42+
bold: false,
43+
showRightSide: true
44+
};
45+
46+
export default FormRowWithListValues;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@import './FormRow.less';
2+
3+
.FormRowWithListValues {
4+
&:extend(.FormRow all);
5+
> span {
6+
7+
.typo-normal:last-child {
8+
padding: unset;
9+
}
10+
}
11+
.FormRow__List {
12+
display: flex;
13+
flex-direction: column;
14+
flex: 1;
15+
padding: 0 1rem;
16+
}
17+
}

src/server/behandlinger/mapping.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ const periode = behandling => ({
173173
antallKalenderdager: selectors.antallKalenderdager(behandling),
174174
arbeidsgiverperiodeKalenderdager: 16,
175175
antallVirkedager: selectors.antallVirkedager(behandling),
176-
antallFeriedager: selectors.antallFeriedager(behandling),
176+
ferieperioder: selectors.ferieperioder(behandling),
177177
antallUtbetalingsdager: selectors.antallUtbetalingsdager(behandling),
178178
sykmeldingsgrad: selectors.sykmeldingsgrad(behandling)
179179
});

src/server/behandlinger/selectors.js

+5-10
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,10 @@ const utbetalingsbeløp = behandling =>
2222
0
2323
);
2424

25-
const antallFeriedager = behandling => {
26-
const fravarAccumulator = (acc, fravar) => {
27-
return fravar.type.toLowerCase() === 'ferie'
28-
? acc + calendarDaysBetween(toDate(fravar.fom), toDate(fravar.tom))
29-
: acc + 0;
30-
};
31-
return behandling.originalSøknad.fravar.length === 0
32-
? 0
33-
: behandling.originalSøknad.fravar.reduce(fravarAccumulator, 0);
25+
const ferieperioder = behandling => {
26+
return behandling.originalSøknad.fravar.filter(
27+
periode => periode.type.toLowerCase() === 'ferie'
28+
);
3429
};
3530

3631
const antallKalenderdager = behandling => {
@@ -120,7 +115,7 @@ const maxAntallSykepengedager = behandling => {
120115
module.exports = {
121116
antallVirkedager,
122117
antallUtbetalingsdager,
123-
antallFeriedager,
118+
ferieperioder,
124119
antallKalenderdager,
125120
dagsats,
126121
utbetalingsbeløp,

0 commit comments

Comments
 (0)