Skip to content
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

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Conversation

jorgesti
Copy link
Contributor

@jorgesti jorgesti commented Dec 2, 2024

Lagt til funksjonalitet for å kunne legge hendelse-pins på tidslinjen til aktivitet

@jorgesti jorgesti requested a review from a team as a code owner December 2, 2024 13:28
@jorgesti jorgesti requested a review from oyvindsh December 2, 2024 13:28
Copy link
Contributor

@perkynades perkynades left a 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

Comment on lines 37 to 51
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))
Copy link
Contributor

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

Copy link
Contributor

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

Comment on lines 55 to 60
hent({ behandlingId: behandling.id }, (aktiviteter) => {
oppdaterAktiviteter(aktiviteter)
oppdaterAktiviteter(aktiviteter.perioder)
setHendelser(aktiviteter.hendelser)
})
} else if (sakId) {
} else {
hentForSak({ sakId: sakId }, (aktiviteter) => {
Copy link
Contributor

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?

Copy link
Contributor Author

@jorgesti jorgesti Dec 4, 2024

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

Comment on lines +60 to +78
<>
{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}
/>
)}
Copy link
Contributor

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.

Copy link
Contributor

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

Copy link
Contributor Author

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) => (
Copy link
Contributor

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

Copy link
Contributor

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' }}
Copy link
Contributor

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

Comment on lines +13 to 23
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,
}
}
Copy link
Contributor

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 = ({
Copy link
Contributor

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 = ({
Copy link
Contributor

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
Copy link
Contributor

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

Copy link
Contributor

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,
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants