Om funksjonen
Formål
Bruk native <dialog> til åpning og lukking; denne funksjonen gjør bare JS-delen som gjenstår og nullstiller et tilhørende skjema når dialogen lukkes, også ved Escape eller programmatisk lukking. Den er generisk for skjema-i-dialog-mønstre.
Egner seg for
- Dialoger med skjema som skal nullstilles hver gang de lukkes, enten det skjer via knapp, Escape eller kode.
Egner seg ikke for
- Ikke for åpning, fokusstyring eller annen dialoglogikk. Hvert kall legger bare til én
close-lytter, så gjentatte kall gir flere lyttere.
Signatur(er)
wireDialog({dialog, form}: {dialog: HTMLDialogElement, form?: HTMLFormElement}) => HTMLDialogElement
| Parameter | Type | Beskrivelse |
|---|---|---|
{dialog, form} | {dialog: HTMLDialogElement, form?: HTMLFormElement} | Dialog-elementet som skal wires, og eventuelt skjemaet som skal nullstilles når dialogen lukkes. |
Returnerer: Samme dialog-element, uendret, for eventuell kjeding.
import {wireDialog} from "/designsystem/funksjoner/dom/dialog/dialog.js";
wireDialog({
dialog: document.getElementById("ny-tur-dialog"),
form: document.getElementById("ny-tur-form"),
});
Tilgjengelighet
Funksjonen nullstiller bare skjemaet. Tilgjengeligheten kommer fra korrekt bruk av native <dialog> og HTML-en rundt.
Referanser
Se også:
../../oppslag/populer-tidssone-valg/index.html - Begge er små DOM-hjelpere som typisk kobles til skjemaer i modaler og andre editorflater.../../../komponenter/tilbakemelding/confirm-dialog/index.html - Komponenten er et naturlig UI-lag oppå samme native dialog-mekanisme.
Brukes av:
turer/js/features/receipts/receipts.jsturer/js/features/flights/flights.jsturer/js/features/hotels/hotels.jsturer/js/features/stops/stops.jsturer/js/features/album/album.jsturer/js/features/header/header.jsturer/js/pages/dashboard.js
Avhengigheter: Ingen