Skip to content

Commit

Permalink
Lar brukere sette startdato etter sluttdato i plan. Sluttdato blir da…
Browse files Browse the repository at this point in the history
… start+1mnd.
  • Loading branch information
sstensby committed Oct 30, 2024
1 parent ca9f3b6 commit 232d9f2
Showing 1 changed file with 43 additions and 14 deletions.
57 changes: 43 additions & 14 deletions client/src/Pages/Virksomhet/Plan/InnholdOppsett.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,29 @@ function StartOgSluttVelger({
innhold,
setNyStartDato,
setNySluttDato,
setNyStartOgSluttDato,
}: {
innhold: PlanInnhold;
setNyStartDato: (date: Date) => void;
setNySluttDato: (date: Date) => void;
setNyStartOgSluttDato: (startDato: Date, sluttDato: Date) => void;
}) {
const datepickerFrom = useDatepicker({
defaultSelected: innhold.startDato ?? undefined,
required: true,
fromDate: new Date(FIRST_VALID_DATE),
toDate: new Date(innhold.sluttDato ?? LAST_VALID_DATE),
toDate: new Date(LAST_VALID_DATE),
onDateChange: (date) => {
if (date) {
setNyStartDato(date);
if (innhold.sluttDato && date > innhold.sluttDato) {
const nySluttdato = new Date(date);
nySluttdato.setMonth(nySluttdato.getMonth() + 1);

setNyStartOgSluttDato(date, nySluttdato);
} else {
setNyStartDato(date);
}

}
},
});
Expand Down Expand Up @@ -125,19 +135,19 @@ export default function InnholdOppsett({
valgteInnhold.map((innhold) =>
innholdIder.includes(innhold.id)
? {
...innhold,
inkludert: true,
status: "PLANLAGT",
startDato: innhold.startDato ?? defaultStartDate,
sluttDato: innhold.sluttDato ?? defaultEndDate,
}
...innhold,
inkludert: true,
status: "PLANLAGT",
startDato: innhold.startDato ?? defaultStartDate,
sluttDato: innhold.sluttDato ?? defaultEndDate,
}
: {
...innhold,
inkludert: false,
startDato: null,
sluttDato: null,
status: null,
},
...innhold,
inkludert: false,
startDato: null,
sluttDato: null,
status: null,
},
),
);
};
Expand Down Expand Up @@ -174,6 +184,22 @@ export default function InnholdOppsett({
);
};

const setNyStartOgSluttDato = (innholdId: number, startDato: Date, sluttDato: Date) => {
const innholdNavn = valgteInnhold.find(
(innhold) => innhold.id === innholdId,
)?.navn;
if (innholdNavn) {
loggEndringAvPlan(temaNavn, innholdNavn, "til");
}
velgInnhold(
valgteInnhold.map((innhold) =>
innhold.id === innholdId
? { ...innhold, sluttDato, startDato }
: { ...innhold },
),
);
};

return (
<CheckboxGroup
legend={"Velg innhold og varighet"}
Expand Down Expand Up @@ -206,6 +232,9 @@ export default function InnholdOppsett({
setNySluttDato={(date) =>
setNySluttDato(innhold.id, date)
}
setNyStartOgSluttDato={(startDato, sluttDato) =>
setNyStartOgSluttDato(innhold.id, startDato, sluttDato)
}
/>
) : undefined}
</InnholdsRad>
Expand Down

0 comments on commit 232d9f2

Please sign in to comment.