aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lustre.ffi.mjs5
-rw-r--r--src/lustre/event.gleam10
2 files changed, 15 insertions, 0 deletions
diff --git a/src/lustre.ffi.mjs b/src/lustre.ffi.mjs
index 38b3a95..2ebb0a9 100644
--- a/src/lustre.ffi.mjs
+++ b/src/lustre.ffi.mjs
@@ -127,6 +127,11 @@ export const emit = (name, data) =>
emit(name, data);
});
+// HTML EVENTS -----------------------------------------------------------------
+
+export const prevent_default = (e) => e.preventDefault?.();
+export const stop_propagation = (e) => e.stopPropagation?.();
+
// CUSTOM ELEMENTS -------------------------------------------------------------
export const setup_component = (
diff --git a/src/lustre/event.gleam b/src/lustre/event.gleam
index e8a2590..8ee2f4f 100644
--- a/src/lustre/event.gleam
+++ b/src/lustre/event.gleam
@@ -172,3 +172,13 @@ pub fn mouse_position(event: Dynamic) -> Decoded(#(Float, Float)) {
Ok(#(x, y))
}
+
+// UTILS -----------------------------------------------------------------------
+
+@target(javascript)
+@external(javascript, "../lustre.ffi.mjs", "prevent_default")
+pub fn prevent_default(event: Dynamic) -> Nil
+
+@target(javascript)
+@external(javascript, "../lustre.ffi.mjs", "stop_propagation")
+pub fn stop_propagation(event: Dynamic) -> Nil