UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

26 lines (25 loc) 820 B
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */ import { makeGenericController } from "@arcgis/lumina/controllers"; const useFormTrigger = (options) => makeGenericController((component) => { function submitHandler(event) { const { form } = component.elementInternals; if (event.defaultPrevented || component.disabled || options?.disabled?.() || !form) { return; } if (component.type === "submit") { form.requestSubmit(); } else if (component.type === "reset") { form.reset(); } } component.listen("luminaFormAssociatedCallback", ({ detail: [form] }) => { if (form) { component.el.addEventListener("click", submitHandler); } else { component.el.removeEventListener("click", submitHandler); } }); }); export { useFormTrigger as u };