diff options
author | Hayleigh Thompson <me@hayleigh.dev> | 2023-07-23 19:08:07 +0100 |
---|---|---|
committer | Hayleigh Thompson <me@hayleigh.dev> | 2023-07-23 19:08:07 +0100 |
commit | 973d721a032bb5db96f8f3736ac84386a9456540 (patch) | |
tree | 7829bb4e5b4b0577698f651cb83115e613e60357 | |
parent | 6dbc78d1fb36ef6c4107bf70972ac7bae06f6fc4 (diff) | |
download | lustre-973d721a032bb5db96f8f3736ac84386a9456540.tar.gz lustre-973d721a032bb5db96f8f3736ac84386a9456540.zip |
:sparkles: Add functions for prevent_default and stop_propagation on events.
-rw-r--r-- | src/lustre.ffi.mjs | 5 | ||||
-rw-r--r-- | src/lustre/event.gleam | 10 |
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 |