-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/ey 4673 pins tidslinje #6528
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/AktivitetspliktService.kt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nå har jeg bare sett på frontenden biten av dette. Men er en del inkonsistens når det kommer til navngivning og hvordan skjema håndteres fra de standarene som ble satt i sommer på slikt. Hvis du er usikker kan du se hvordan det er løst i trydgetids-bildet.
Også når frontend endringer gjøres er det fint å legge til et bilde med litt beksrivelse av hva som er gjort. Vannskelig å forstå hva som faktisk har blitt endret utifra ren kode
export const AktivitetspliktTidslinje = ({ behandling, doedsdato, sakId }: Props) => { | ||
const [hentet, hent] = useApiCall(hentAktiviteterForBehandling) | ||
const [hentetForSak, hentForSak] = useApiCall(hentAktiviteterForSak) | ||
const [hentet, hent] = useApiCall(hentAktiviteterOgHendelserForBehandling) | ||
const [hentetForSak, hentForSak] = useApiCall(hentAktiviteterOgHendelserForSak) | ||
const [slettet, slett] = useApiCall(slettAktivitet) | ||
const [slettetHendelse, slettHendelse] = useApiCall(slettAktivitetHendelse) | ||
const [slettetForSak, slettForSak] = useApiCall(slettAktivitetForSak) | ||
const [slettetHendelseForSak, slettHendelseForSak] = useApiCall(slettAktivitetHendelseForSak) | ||
const seksMndEtterDoedsfall = addMonths(doedsdato, 6) | ||
const tolvMndEtterDoedsfall = addMonths(doedsdato, 12) | ||
|
||
const [aktiviteter, setAktiviteter] = useState<IAktivitet[]>([]) | ||
const [rediger, setRediger] = useState<IAktivitet | undefined>(undefined) | ||
const [aktiviteter, setAktiviteter] = useState<IAktivitetPeriode[]>([]) | ||
const [hendelser, setHendelser] = useState<IAktivitetHendelse[]>([]) | ||
const [rediger, setRediger] = useState<IAktivitetPeriode | undefined>(undefined) | ||
const [redigerHendelse, setRedigerHendelse] = useState<IAktivitetHendelse | undefined>(undefined) | ||
const [aktivitetsTypeProps, setAktivitetsTypeProps] = useState<AktivitetstypeProps[]>([]) | ||
const [sluttdato, setSluttdato] = useState<Date>(addYears(doedsdato, 3)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Her er det veldig mye state. Samtidig som veldig mye av det har også lite beskrivende navn for hva som som holdes i staten.
Her luktes det som at ting kan splittes opp i mer hensiksmessige komponenter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API state følger også ikke navngivning som resten av koden til Gjenny har
hent({ behandlingId: behandling.id }, (aktiviteter) => { | ||
oppdaterAktiviteter(aktiviteter) | ||
oppdaterAktiviteter(aktiviteter.perioder) | ||
setHendelser(aktiviteter.hendelser) | ||
}) | ||
} else if (sakId) { | ||
} else { | ||
hentForSak({ sakId: sakId }, (aktiviteter) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hva er forskjellen på hent
og hentSak
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Endret navn for å tydeliggjøre at det er henting i sakskontekst vs henting i behandlingskontekst
<> | ||
{visForm === 'AKTIVITET' && ( | ||
<NyAktivitet | ||
oppdaterAktiviteter={oppdaterAktiviteterOgSkjema} | ||
redigerAktivitet={redigerAktivitet} | ||
sakId={sakId} | ||
avbryt={avbryt} | ||
behandling={behandling} | ||
></NyAktivitet> | ||
)} | ||
{visForm === 'HENDELSE' && ( | ||
<NyHendelse | ||
redigerHendelse={redigerHendelse} | ||
sakId={sakId} | ||
avbryt={avbryt} | ||
oppdaterHendelser={oppdaterHendelser} | ||
behandling={behandling} | ||
/> | ||
)} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nå vil man vel ikke kunne vise skjemaer for både ny hendelse og ny aktivitet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kunne ikke knappene for å legge til aktivitet/hendelse ligge i samme komponent som skjemaet, så blir det ala det som er gjort i TrydgetidPeroder
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tanken her er at man kan legge til flere perioder/hendelser i tidslinjen, men at det er unaturlig å forsøke å legge inn en av hver type samtidig. Man legger inn en, og lagrer denne, før man evt velger å legge inn enda en
@@ -89,7 +113,50 @@ export const AktivitetspliktTidslinje = ({ behandling, doedsdato, sakId }: Props | |||
<Timeline.Pin date={tolvMndEtterDoedsfall}> | |||
<BodyShort>12 måneder etter dødsfall: {formaterDato(tolvMndEtterDoedsfall)}</BodyShort> | |||
</Timeline.Pin> | |||
|
|||
{hendelser.map((hendelse) => ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kan man ikke heller her bare bruke mapResult
? Så slipper man å sette alle hendelser i state
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Da slipper man å ha isPending
og isFailureHandler
som det er videre nedover
</HStack> | ||
<HStack> | ||
<Textarea | ||
style={{ width: '630px' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Det eksisterer allerede en HStack
for å putty styling inn i. Bruk heller den. Bruker heller også relative enhet for størrelser, ikke pixler
function dtoTilSkjema(periode: IAktivitetPeriode): AktivitetSkjemaValue { | ||
return { | ||
id: periode.id, | ||
type: periode.type, | ||
datoFom: periode.fom ? new Date(periode.fom) : undefined, | ||
datoTom: periode.tom ? new Date(periode.tom) : null, | ||
behandlingId: periode.behandlingId, | ||
sakId: periode.sakId, | ||
beskrivelse: periode.beskrivelse, | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Er eneste forskjellen mellom IAktivitetsPerode
og AktivitetSkjemaValue
at fom
og tom
er gjort om til date?
Tror ControlledDatePicker
skal tåle både Date og string
datoTom?: Date | null | ||
sakId: number | ||
behandlingId?: string | ||
beskrivelse?: string | ||
} | ||
|
||
export const NyAktivitet = ({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Er ikke NyAktivitetPerode
et mer passende navn? Er jo det som blir sendt til backend
} | ||
} | ||
|
||
export const NyHendelse = ({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Burde det heller ikke hete NyAktivitetHendelse
? Veldig fort å mikse det med en person sine hendelser
@@ -32,6 +47,13 @@ export interface IOpprettAktivitet { | |||
beskrivelse: string | |||
} | |||
|
|||
export interface IOpprettHendelse { | |||
id: string | undefined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trenger man id
i frontend når man skal opprette en hendelse
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Samme skjema brukes også til redigering, så kanskje noe som SkrivHendelse
eller lignende passer bedre
} = useForm<AktivitetDefaultValue>({ | ||
defaultValues: aktivitetDefaultValue, | ||
} = useForm<AktivitetSkjemaValue>({ | ||
defaultValues: redigerAktivitet ? dtoTilSkjema(redigerAktivitet) : defaultValue, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
redigerAktivitet
høres ut som en boolean, ikke et faktisk objekt som inneholder en aktivitet
Lagt til funksjonalitet for å kunne legge hendelse-pins på tidslinjen til aktivitet