Skip to content

Commit 7d2c037

Browse files
TSFF-284 - tar bort nav-datovelger (#5887)
* TSFF-284 - tar bort nav-datovelger * La på sjekk * Bruker datovelger fra shared-components de fleste steder
1 parent 99d459d commit 7d2c037

File tree

33 files changed

+157
-727
lines changed

33 files changed

+157
-727
lines changed

Diff for: .storybook/preview.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import '@fpsak-frontend/assets/styles/global.css';
2-
import '@navikt/ds-css';
32
import '@navikt/ft-plattform-komponenter/dist/style.css';
43
import { Preview } from '@storybook/react';
54
import { initialize, mswLoader } from 'msw-storybook-addon';

Diff for: package.json

-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@
140140
"[email protected]": "patch:nav-frontend-skjema@npm%3A4.0.6#./.yarn/patches/nav-frontend-skjema-npm-4.0.6-34e6189688.patch",
141141
"[email protected]": "patch:nav-frontend-tabs@npm%3A2.0.3#./.yarn/patches/nav-frontend-tabs-npm-2.0.3-3d1b6739cc.patch",
142142
"[email protected]": "patch:nav-frontend-typografi@npm%3A4.0.2#./.yarn/patches/nav-frontend-typografi-npm-4.0.2-67ec896090.patch",
143-
"[email protected]": "patch:nav-datovelger@npm%3A12.6.0#./.yarn/patches/nav-datovelger-npm-12.6.0-36eb0faa79.patch",
144143
"@editorjs/editorjs": "2.27.2"
145144
},
146145
"msw": {

Diff for: packages/fakta-arbeidsforhold/src/components/BekreftOgFortsettKnapp.spec.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { BekreftOgForsettKnapp } from './BekreftOgForsettKnapp';
77
describe('<BekreftOgForsettKnapp>', () => {
88
it('Skal vise en enablet hovedknapp hvis readOnly og isSubmitting er false', () => {
99
renderWithIntl(<BekreftOgForsettKnapp readOnly={false} isSubmitting={false} />, { messages });
10-
screen.debug();
1110
expect(screen.getByRole('button', { name: 'Bekreft og fortsett' })).not.toBeDisabled();
1211
});
1312
it('Skal vise en disablet hovedknapp hvis readOnly er true', () => {

Diff for: packages/fakta-medisinsk-vilkår/src/ui/components/strukturer-dokument-form/StrukturerDokumentForm.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ const StrukturerDokumentForm = ({
8989
label="Hvilken dato er dokumentet datert?"
9090
defaultValue=""
9191
validators={{ required, dateIsNotInTheFuture }}
92-
limitations={{ maxDate: dateConstants.today.toISOString() }}
92+
toDate={dateConstants.today.toDate()}
9393
inputId="datertField"
9494
/>
9595
</Box>

Diff for: packages/fakta-medisinsk-vilkår/src/ui/components/strukturer-dokument-opplaeringspenger-form/StrukturerDokumentOpplaeringspengerForm.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ const StrukturerDokumentOpplaeringspengerForm = ({
8888
label="Hvilken dato er dokumentet datert?"
8989
defaultValue=""
9090
validators={{ required, dateIsNotInTheFuture }}
91-
limitations={{ maxDate: dateConstants.today.toISOString() }}
91+
toDate={dateConstants.today.toDate()}
9292
inputId="datertField"
9393
/>
9494
</Box>

Diff for: packages/fakta-medisinsk-vilkår/src/ui/components/strukturer-dokument-sluttfase-form/StrukturerDokumentSluttfaseForm.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ const StrukturerDokumentSluttfaseForm = ({
8080
label="Hvilken dato er dokumentet datert?"
8181
defaultValue=""
8282
validators={{ required, dateIsNotInTheFuture }}
83-
limitations={{ maxDate: dateConstants.today.toISOString() }}
83+
toDate={dateConstants.today.toDate()}
8484
inputId="datertField"
8585
/>
8686
</Box>

Diff for: packages/fakta-overstyr-beregning/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"@navikt/ds-react": "6.5.0",
1313
"date-fns": "2.30.0",
1414
"formik": "2.4.6",
15-
"nav-datovelger": "12.6.0",
1615
"nav-frontend-core": "6.0.1",
1716
"nav-frontend-lenker": "2.0.2",
1817
"nav-frontend-lenker-style": "2.0.2",

Diff for: packages/fakta-overstyr-beregning/src/components/OverstyrBeregningAktivitetForm.tsx

+25-31
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { Datepicker } from '@fpsak-frontend/shared-components';
12
import { parseCurrencyInput } from '@fpsak-frontend/utils';
23
import { Table, TextField } from '@navikt/ds-react';
34
import { Field, useFormikContext } from 'formik';
4-
import { Datepicker } from 'nav-datovelger';
55
import React from 'react';
66
import { WrappedComponentProps, injectIntl } from 'react-intl';
77
import { OverstyrInputForBeregningDto } from '../types/OverstyrInputForBeregningDto';
@@ -48,6 +48,7 @@ const OverstyrBeregningAktivitetForm: React.FC<Props & WrappedComponentProps> =
4848
value={parseCurrencyInput(field.value)}
4949
error={meta.touched && meta.error ? meta.error : false}
5050
disabled={readOnly}
51+
hideLabel
5152
/>
5253
)}
5354
</Field>
@@ -74,28 +75,25 @@ const OverstyrBeregningAktivitetForm: React.FC<Props & WrappedComponentProps> =
7475
value={parseCurrencyInput(field.value)}
7576
error={meta.touched && meta.error ? meta.error : false}
7677
disabled={readOnly || !skalKunneEndreRefusjon}
78+
hideLabel
7779
/>
7880
)}
7981
</Field>
8082
</Table.DataCell>
8183
<Table.DataCell>
8284
<Field name={`perioder.${periodeIndex}.aktivitetliste.${aktivitetIndex}.startdatoRefusjon`}>
8385
{({ field, meta }) => (
84-
<>
85-
<Datepicker
86-
inputProps={{
87-
placeholder: intl.formatMessage({ id: 'OverstyrInputForm.StartdatoRefusjonPlaceholder' }),
88-
'aria-invalid': !!(meta.touched && meta.error),
89-
}}
90-
value={field.value}
91-
onChange={value => {
92-
setFieldTouched(field.name, true);
93-
setFieldValue(field.name, value);
94-
}}
95-
disabled={readOnly}
96-
/>
97-
{meta.touched && meta.error && <p className={styles.errorText}>{meta.error}</p>}
98-
</>
86+
<Datepicker
87+
label={intl.formatMessage({ id: 'OverstyrInputForm.StartdatoRefusjonPlaceholder' })}
88+
hideLabel
89+
error={meta.touched && meta.error ? meta.error : ''}
90+
value={field.value}
91+
onChange={value => {
92+
setFieldTouched(field.name, true);
93+
setFieldValue(field.name, value);
94+
}}
95+
disabled={readOnly}
96+
/>
9997
)}
10098
</Field>
10199
</Table.DataCell>
@@ -104,21 +102,17 @@ const OverstyrBeregningAktivitetForm: React.FC<Props & WrappedComponentProps> =
104102
{({ field, meta }) => {
105103
const tallverdi = values.perioder[periodeIndex].aktivitetliste[aktivitetIndex].refusjonPrAar;
106104
return (
107-
<>
108-
<Datepicker
109-
inputProps={{
110-
placeholder: intl.formatMessage({ id: 'OverstyrInputForm.OpphorRefusjonPlaceholder' }),
111-
'aria-invalid': !!(meta.touched && meta.error),
112-
}}
113-
value={field.value}
114-
onChange={value => {
115-
setFieldTouched(field.name, true);
116-
setFieldValue(field.name, value);
117-
}}
118-
disabled={(Number(tallverdi) || 0) <= 0 || !Number(tallverdi) || readOnly || !skalKunneEndreRefusjon}
119-
/>
120-
{meta.touched && meta.error && <p className={styles.errorText}>{meta.error}</p>}
121-
</>
105+
<Datepicker
106+
label={intl.formatMessage({ id: 'OverstyrInputForm.OpphorRefusjonPlaceholder' })}
107+
hideLabel
108+
error={meta.touched && meta.error ? meta.error : ''}
109+
value={field.value}
110+
onChange={value => {
111+
setFieldTouched(field.name, true);
112+
setFieldValue(field.name, value);
113+
}}
114+
disabled={(Number(tallverdi) || 0) <= 0 || !Number(tallverdi) || readOnly || !skalKunneEndreRefusjon}
115+
/>
122116
);
123117
}}
124118
</Field>

Diff for: packages/form/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export { default as CheckboxField } from './src/CheckboxField';
22
export { default as DatepickerField } from './src/DatepickerField';
3+
export {default as PureDatepicker} from './src/PureDatepicker'
34
export { default as DecimalField } from './src/DecimalField';
45
export { default as InputField } from './src/InputField';
56
export { default as ReadOnlyField } from './src/ReadOnlyField';

Diff for: packages/form/index.tsx

-38
This file was deleted.

Diff for: packages/form/src/DatepickerField.spec.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import DatepickerField from './DatepickerField';
66

77
describe('<DatepickerField>', () => {
88
it('skal formatere fra ISO-format til norsk datoformat', () => {
9-
renderWithIntlAndReduxForm(<DatepickerField name="testDato" />, {
9+
renderWithIntlAndReduxForm(<DatepickerField name="testDato" label="test" />, {
1010
messages,
1111
initialValues: { testDato: '2017-02-01' },
1212
});
1313

1414
expect(screen.getByRole('textbox')).toBeInTheDocument();
15-
expect(screen.getByPlaceholderText('dd.mm.åååå')).toBeInTheDocument();
15+
expect(screen.getByRole('textbox', { name: 'test' })).toBeInTheDocument();
1616
expect(screen.getByDisplayValue('01.02.2017')).toBeInTheDocument();
1717
});
1818
});

Diff for: packages/form/src/DatepickerField.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { ACCEPTED_DATE_INPUT_FORMATS, DDMMYYYY_DATE_FORMAT, ISO_DATE_FORMAT } fr
33
import moment from 'moment';
44
import React from 'react';
55
import { Field } from 'redux-form';
6+
import LabelType from './LabelType';
67
import ReadOnlyField from './ReadOnlyField';
78
import renderNavField from './renderNavField';
8-
import LabelType from './LabelType';
99

1010
interface DatepickerFieldProps {
1111
name: string;
12-
label?: LabelType;
12+
label: LabelType;
1313
readOnly?: boolean;
1414
format?: (value: string) => string;
1515
parse?: (value: string) => string;
@@ -25,6 +25,7 @@ interface DatepickerFieldProps {
2525
after: Date;
2626
};
2727
dataId?: string;
28+
hideLabel?: boolean;
2829
}
2930

3031
const isoToDdMmYyyy = (string: string): string => {
@@ -62,7 +63,6 @@ const DatepickerField = ({ name, label, readOnly, format, parse, isEdited, ...ot
6263
);
6364

6465
DatepickerField.defaultProps = {
65-
label: '',
6666
readOnly: false,
6767
isEdited: false,
6868
format: value => value,

Diff for: packages/form/src/hook-form/pure/PureDatepicker.tsx renamed to packages/form/src/PureDatepicker.tsx

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* eslint-disable react/jsx-props-no-spreading */
22
/* eslint-disable camelcase */
33
/* eslint-disable react/jsx-pascal-case */
4+
import { DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils';
45
import { DatePicker, useDatepicker } from '@navikt/ds-react';
56
import dayjs from 'dayjs';
67
import customParseFormat from 'dayjs/plugin/customParseFormat';
@@ -54,14 +55,15 @@ const PureDatepicker = ({
5455
ariaLabel,
5556
hideLabel,
5657
}: PureDatepickerProps): JSX.Element => {
57-
const stringToDate = (date: string | Date): Date => new Date(date);
58+
const stringToDate = (date: string | Date): Date =>
59+
dayjs(date, [ISO_DATE_FORMAT, DDMMYYYY_DATE_FORMAT, 'YYYY.MM.DD'], true).toDate();
5860
const [ugyldigDatoError, setUgyldigDatoError] = React.useState(false);
5961

6062
const { datepickerProps, inputProps } = useDatepicker({
6163
fromDate: limitations && limitations.minDate ? new Date(limitations.minDate) : fromDate,
6264
toDate: limitations && limitations.maxDate ? new Date(limitations.maxDate) : toDate,
6365
defaultMonth: initialMonth ? new Date(initialMonth) : undefined,
64-
defaultSelected: value ? stringToDate(stringToDate(value)) : undefined,
66+
defaultSelected: value ? stringToDate(value) : undefined,
6567
disabled:
6668
limitations && limitations.invalidDateRanges
6769
? limitations.invalidDateRanges.map(range => ({

Diff for: packages/form/src/hook-form/Datepicker.tsx

+4-21
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,33 @@
1+
import { Datepicker as SharedDatepicker } from '@fpsak-frontend/shared-components';
12
import React from 'react';
23
import { Controller, useFormContext } from 'react-hook-form';
3-
import { DatepickerLimitations } from './pure/DatepickerLimitations';
4-
import PureDatepicker from './pure/PureDatepicker';
54

65
export interface DatepickerProps {
76
label?: string;
87
name: string;
98
validators?: { [key: string]: (v: any) => string | boolean | undefined };
10-
ariaLabel?: string;
119
defaultValue?: string;
1210
fromDate?: Date;
1311
toDate?: Date;
14-
/**
15-
* @deprecated Bruk disabledDays, fromDate og toDate istedet.
16-
*/
17-
limitations?: DatepickerLimitations;
1812
error?: string;
1913
inputId?: string;
2014
disabled?: boolean;
21-
disabledDays?: {
22-
from: Date;
23-
to?: Date;
24-
}[];
2515
}
2616

2717
const Datepicker = ({
2818
name,
2919
validators,
30-
limitations,
3120
label,
32-
ariaLabel,
3321
defaultValue,
3422
error,
3523
inputId,
3624
disabled,
3725
fromDate,
3826
toDate,
39-
disabledDays,
4027
}: DatepickerProps): JSX.Element => {
4128
const { control, formState } = useFormContext();
4229
const { errors } = formState;
43-
30+
const disabledDays = { before: fromDate, after: toDate };
4431
return (
4532
<Controller
4633
control={control}
@@ -54,17 +41,13 @@ const Datepicker = ({
5441
render={({ field }) => {
5542
const { onChange, value } = field;
5643
return (
57-
<PureDatepicker
44+
<SharedDatepicker
5845
label={label}
5946
onChange={onChange}
6047
value={value}
61-
errorMessage={error || (errors[name]?.message as string)}
62-
limitations={limitations}
63-
ariaLabel={ariaLabel}
48+
error={error || (errors[name]?.message as string)}
6449
inputId={inputId}
6550
disabled={disabled}
66-
fromDate={fromDate}
67-
toDate={toDate}
6851
disabledDays={disabledDays}
6952
/>
7053
);

Diff for: packages/form/src/hook-form/PeriodpickerList.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/* eslint-disable react/jsx-props-no-spreading */
2+
import { Period } from '@fpsak-frontend/utils';
23
import { ErrorMessage } from '@navikt/ds-react';
34
import { Box, Margin } from '@navikt/ft-plattform-komponenter';
4-
import { Period } from '@fpsak-frontend/utils';
55
import React from 'react';
66
import { Controller, useFieldArray, useFormContext } from 'react-hook-form';
7-
import { DatepickerLimitations } from './pure/DatepickerLimitations';
8-
import PureDatepicker from './pure/PureDatepicker';
7+
import { DatepickerLimitations } from '../DatepickerLimitations';
8+
import PureDatepicker from '../PureDatepicker';
99
import styles from './periodpickerList.module.css';
1010

1111
interface DatepickerProps {

Diff for: packages/form/src/renderNavField.tsx

-6
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,6 @@ const renderNavField = WrappedNavFieldComponent => {
5050
);
5151
};
5252

53-
// FieldComponent.defaultProps = {
54-
// readOnly: false,
55-
// readOnlyHideEmpty: false,
56-
// isEdited: false,
57-
// };
58-
5953
return FieldComponent;
6054
};
6155

Diff for: packages/modal-sett-pa-vent/src/components/SettPaVentModal.spec.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('<SettPaVentModal>', () => {
2929

3030
expect(screen.getByRole('dialog')).toBeInTheDocument();
3131
expect(screen.getAllByRole('button', { name: 'Lukk' }).length).toBe(2);
32-
expect(screen.getByText('Behandlingen er satt på vent med frist:')).toBeInTheDocument();
32+
expect(screen.getAllByText('Behandlingen er satt på vent med frist:')).toHaveLength(2);
3333
});
3434

3535
it('skal ikke disable knapp for lagring når frist er en gyldig fremtidig dato', () => {
@@ -153,7 +153,7 @@ describe('<SettPaVentModal>', () => {
153153
{ messages },
154154
);
155155

156-
expect(screen.getByPlaceholderText('dd.mm.åååå')).toBeInTheDocument();
156+
expect(screen.getByRole('textbox', { name: 'Behandlingen settes på vent med frist' })).toBeInTheDocument();
157157
});
158158

159159
it('skal vise årsak-input som readonly når behandling automatisk er satt på vent', () => {

Diff for: packages/modal-sett-pa-vent/src/components/SettPaVentModal.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ export const SettPaVentModal = ({
217217
name="frist"
218218
validate={[required, hasValidDate, dateAfterOrEqualToToday]}
219219
data-testid="datofelt"
220+
label={getPaVentText(originalVentearsak, hasManualPaVent, frist, originalFrist, showEndreFrist)}
221+
hideLabel
220222
/>
221223
</div>
222224
)}

0 commit comments

Comments
 (0)