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

feat(datepicker): add innerRef to Datepicker #1775

Merged
merged 2 commits into from
Feb 22, 2024
Merged

Conversation

tuva-odegard
Copy link
Contributor

Beskrivelse

Datepicker har fått en innerRef man kan sende inn for å bruke ref på komponenten utenifra.
innerRef er optional og komponenten skal fungere som før ellers. Det er lagt til eksempel på bruk i Datepicker.jsx.

Om koden:
Fra før av brukte datepicker this.dateInputRef som ref, og det er litt uklart om denne fortsatt må være der for at denne endringen skal fungere. Alternativt ville jeg skrevet ref = { innerRef } på linje 352 i stedet for funksjonen, men da er det mulig mer må endres. Åpen for tilbakemeldinger med bedre måter å gjøre det på, men gitt at det er en gammel komponent føles det som den tryggeste måten å gjøre det på.

Motivasjon og kontekst

Team kjøretøy bruker ref.focus() for å kunne lenke til feil i skjemaer, og Datepicker har ikke kunne blitt referert til via ref. Denne endringen er laget for å kunne bruke ref.focus() på inputfeltet til Datepicker utenifra, via useRef().

Motivasjonen bak oppgaven har blandt annet vært denne kodesnutten, hvor vi ønsker å fjerne den øverste delen:
onClick={() => { if ("deliveryDate" === key) { const deliveryDate = document.getElementById( "datepicker-wrapper-deliveryDate" ); deliveryDate.getElementsByTagName("input")[0].focus(); } else { const errorRef: Ref = get(errors, key).ref; if (errorRef.focus) { errorRef.focus(); } } }}

Testing

Testet ved å lage en knapp som brukte innerRef.current.focus() i Datepicker.jsx, som beviste at innerRef referer til input-elementet. Ellers var det vanskelig å teste for de spesifikke tilfellene Team Kjøretøy trenger det til.

Har ikke skrevet eller oppdatert noen tester. Gjorde et forsøk, men klarte ikke å finne en god test på om input-feltet får en ref fra innerRef.

@tuva-odegard tuva-odegard self-assigned this Feb 6, 2024
@tuva-odegard tuva-odegard requested a review from a team as a code owner February 6, 2024 09:10
Copy link

github-actions bot commented Feb 6, 2024

Azure Static Web Apps: Your stage site is ready! Visit it here: https://black-beach-0d62d0d03-1775.westeurope.2.azurestaticapps.net

Copy link
Contributor

@antidecaf antidecaf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Takk for bidraget! Jeg var visst litt rask med å approve denne. 😄

Commit-meldingen må samsvare med pakkenavnet for at Lerna skal kunne publisere endringene til npm på riktig måte. feat(datepicker): må med andre ord endres til feat(ffe-datepicker-react):.

component-overview er en egen pakke, så endringene i denne mappen må ha en egen commit med melding som prefixes med type og pakkenavn på samme måte, f.eks docs(component-overview):

@tuva-odegard
Copy link
Contributor Author

@antidecaf Ah, takk for at du sa i fra! 😃 Må det også legges til som to forskjellige pull-requests?

@antidecaf
Copy link
Contributor

@antidecaf Ah, takk for at du sa i fra! 😃 Må det også legges til som to forskjellige pull-requests?

Nei, det holder med to separate commits i samme pull request ☺️

Copy link

github-actions bot commented Feb 9, 2024

Azure Static Web Apps: Your stage site is ready! Visit it here: https://black-beach-0d62d0d03-1775.westeurope.2.azurestaticapps.net

@tuva-odegard
Copy link
Contributor Author

@antidecaf Ble det riktig nå? 😃

@kwltrs kwltrs requested a review from antidecaf February 14, 2024 09:09
@antidecaf
Copy link
Contributor

@antidecaf Ble det riktig nå? 😃

Ser sånn ut 😄

@antidecaf antidecaf merged commit 8b63eb1 into develop Feb 22, 2024
4 checks passed
@antidecaf antidecaf deleted the datepicker-ref branch February 22, 2024 10:01
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.

2 participants