sprocket/html/events
Types
pub type KeyEvent {
KeyEvent(
key: String,
code: String,
ctrl_key: Bool,
shift_key: Bool,
alt_key: Bool,
meta_key: Bool,
)
}
Constructors
-
KeyEvent( key: String, code: String, ctrl_key: Bool, shift_key: Bool, alt_key: Bool, meta_key: Bool, )
pub type MouseEvent {
MouseEvent(
x: Int,
y: Int,
ctrl_key: Bool,
shift_key: Bool,
alt_key: Bool,
meta_key: Bool,
)
}
Constructors
-
MouseEvent( x: Int, y: Int, ctrl_key: Bool, shift_key: Bool, alt_key: Bool, meta_key: Bool, )
Values
pub fn decode_form_data(
event: dynamic.Dynamic,
) -> Result(dict.Dict(String, String), List(decode.DecodeError))
Decode the form data from a form submit event.
pub fn decode_key_event(
event: dynamic.Dynamic,
) -> Result(KeyEvent, List(decode.DecodeError))
pub fn decode_keypress(
event: dynamic.Dynamic,
) -> Result(String, List(decode.DecodeError))
Decode the key from a key press event.
pub fn decode_mouse_event(
event: dynamic.Dynamic,
) -> Result(MouseEvent, List(decode.DecodeError))
Decode a mouse event that includes position clientX and clientY and modifier keys.
pub fn decode_target_checked(
event: dynamic.Dynamic,
) -> Result(Bool, List(decode.DecodeError))
pub fn decode_target_value(
event: dynamic.Dynamic,
) -> Result(String, List(decode.DecodeError))
Decode the value from an event event.target.value.
pub fn event(
name: String,
cb: fn(dynamic.Dynamic) -> Nil,
) -> //internal
pub fn event_dispatcher(
dispatch: fn(msg) -> Nil,
cb: fn(
fn(fn(dynamic.Dynamic) -> msg) -> fn(dynamic.Dynamic) -> Nil,
) -> #(//internal, //internal),
) -> #(//internal, //internal)
Creates a helper function that allows us to directly dispatch a message from an event handler without needing to create a separate function for each event.
Example:
use dispatch_event <- event_dispatcher(dispatch)
...
button([events.on_click(dispatch_event(UserClickedButton))], [])
pub fn on_blur(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_change(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_check(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_click(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dblclick(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_drag(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dragend(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dragenter(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dragleave(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dragover(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_dragstart(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_drop(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_focus(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_focusin(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_focusout(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_input(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_keydown(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_keyup(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_mousedown(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_mouseenter(
cb: fn(dynamic.Dynamic) -> Nil,
) -> //internal
pub fn on_mouseleave(
cb: fn(dynamic.Dynamic) -> Nil,
) -> //internal
pub fn on_mousemove(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_mouseout(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_mouseover(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_mouseup(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_scroll(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_submit(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_touchcancel(
cb: fn(dynamic.Dynamic) -> Nil,
) -> //internal
pub fn on_touchend(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_touchmove(cb: fn(dynamic.Dynamic) -> Nil) -> //internal
pub fn on_touchstart(
cb: fn(dynamic.Dynamic) -> Nil,
) -> //internal
pub fn on_wheel(cb: fn(dynamic.Dynamic) -> Nil) -> //internal