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

Modal: Fiks lukking ved slipp av museknapp på backdrop #2752

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

cskrov
Copy link
Contributor

@cskrov cskrov commented Feb 21, 2024

Description

Forslag til fiks for #2751.

Change summary

  • Legger til sjekk på hvor click-eventen startet.

Copy link

changeset-bot bot commented Feb 21, 2024

🦋 Changeset detected

Latest commit: 412a276

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 7 packages
Name Type
@navikt/ds-react Patch
@navikt/ds-css Patch
@navikt/ds-tokens Patch
@navikt/ds-tailwind Patch
@navikt/aksel-icons Patch
@navikt/aksel Patch
@navikt/aksel-stylelint Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

github-actions bot commented Feb 21, 2024

Storybook demo

cdc4b6855 | 57 komponenter | 221 stories

@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from fc93429 to a469a23 Compare February 21, 2024 14:23
@cskrov cskrov requested a review from KenAJoh February 21, 2024 14:24
@cskrov cskrov marked this pull request as ready for review February 22, 2024 09:50
@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from a469a23 to 84deff7 Compare February 22, 2024 09:57
@HalvorHaugan
Copy link
Contributor

Takk for bugrapport og løsningsforslag 🤩

Jeg tok meg friheten til å bygge videre på forslaget ditt, og gjorde følgende justeringer:

  • La til sjekk av event.clientX/Y slik at vi også unngår det motsatte (klikker utenfor og slipper inni).
  • Flyttet onBeforeClose() helt til slutt, slik at den ikke kalles unødvendig.
  • Fjernet useCallback, da jeg ikke tror det gir noen fordeler i dette tilfellet.

@cskrov
Copy link
Contributor Author

cskrov commented Feb 22, 2024

Bare hyggelig :D

La til sjekk av event.clientX/Y slik at vi også unngår det motsatte (klikker utenfor og slipper inni).

Jeg lot være å implementere utenfra-og-inn tilfellet, siden jeg ikke kunne være sikker på bruker sin intensjon.
Personlig er jeg enig i endringen din :)

Flyttet onBeforeClose() helt til slutt, slik at den ikke kalles unødvendig.

Grunnen til at jeg ikke flyttet denne var at getBoundingClientRect er relativt dyrt å kjøre. Mest sannsynlig betydelig dyrere enn onBeforeClose.

@cskrov
Copy link
Contributor Author

cskrov commented Feb 22, 2024

Jeg pushet en endring nå som bruker clientX/Y i stedet for pageX/Y når startposisjonen settes.
Det er mer korrekt å sammenligne med returverdien fra getBoundingClientRect.

@cskrov
Copy link
Contributor Author

cskrov commented Feb 22, 2024

Pushet en optimalisering av handleModalClick.

  • Kjører ikke getBoundingClientRect før den absolutt må kjøres.
  • Oppretter ikke const end = { x: event.clientX, y: event.clientY }; uten behov.
  • Unngår ett nivå med nøsting.

Tenker det er lurt å ikke kjøre getBoundingClientRect unødig, men om dette strider med et prinsipp om at onBeforeClose aldri skal kjøres med mindre den "har siste ord", så endrer jeg gjerne rekkefølgen igjen :)

@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from 322f59d to fb671f5 Compare February 22, 2024 12:54
@HalvorHaugan
Copy link
Contributor

onBeforeClose brukes gjerne for å spørre brukeren om bekreftelse før modalen lukkes, så den "har siste ord", ja 😄 Du kan teste dette i Storybook i den første storyen "With useRef" ved å klikke på "Secondary"-knappen i den første modalen. Da får du opp en ny modal som implementerer dette.

@cskrov
Copy link
Contributor Author

cskrov commented Feb 23, 2024

Skjønner, takk for forklaring, det gir mening :)
Har flyttet onBeforeClose til å være siste sjekk i handleModalClick.

@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from 4aad3b6 to 068ee75 Compare February 23, 2024 09:20
@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch 3 times, most recently from 42c81c4 to 6f921ee Compare February 26, 2024 12:30
@cskrov
Copy link
Contributor Author

cskrov commented Feb 26, 2024

Ønsker dere at PRer blir redusert til få eller én commit før de merges, @HalvorHaugan?

@HalvorHaugan
Copy link
Contributor

Ønsker dere at PRer blir redusert til få eller én commit før de merges, @HalvorHaugan?

Vi pleier å squashe til én. Tror ikke det er mulig å velge noe annet her uansett (?)

@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from 6f921ee to 7e6923d Compare February 26, 2024 15:13
@cskrov
Copy link
Contributor Author

cskrov commented Feb 26, 2024

Ønsker dere at PRer blir redusert til få eller én commit før de merges, @HalvorHaugan?

Vi pleier å squashe til én. Tror ikke det er mulig å velge noe annet her uansett (?)

Ok, da er historikken ryddet opp til å være én commit i PRen.

Har fortsatt den fulle historikken lokalt det ikke var dette du mente.

Er det noe mer utestående før vi merger denne?

@HalvorHaugan
Copy link
Contributor

Ok, da er historikken ryddet opp til å være én commit i PRen.

Har fortsatt den fulle historikken lokalt det ikke var dette du mente.

Det var ikke nødvendig, da det skjer automatisk ved merge, men det gjør ikke noe 😊

Er det noe mer utestående før vi merger denne?

Skal bare få noen andre på teamet til å se igjennom og godkjenne 👍

Copy link
Contributor

@it-vegard it-vegard left a comment

Choose a reason for hiding this comment

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

👍 🎉

Copy link
Collaborator

@KenAJoh KenAJoh left a comment

Choose a reason for hiding this comment

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

👏👏👏

@cskrov cskrov force-pushed the prevent-modal-close-on-drag-outside branch from 7e6923d to 412a276 Compare February 27, 2024 08:49
@cskrov
Copy link
Contributor Author

cskrov commented Feb 27, 2024

Jeg har ikke rettigheter til å merge denne selv. Trykker en av dere på knappen? 🙂

@HalvorHaugan HalvorHaugan merged commit 356119e into main Feb 27, 2024
2 checks passed
@HalvorHaugan HalvorHaugan deleted the prevent-modal-close-on-drag-outside branch February 27, 2024 14:02
@github-actions github-actions bot mentioned this pull request Feb 27, 2024
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.

4 participants