agnostic/platform/opentui/event

TUI event helpers for OpenTUI. These provide event handlers for TUI-specific events that map to @opentui/core event types.

Values

pub fn on_activate(msg: msg) -> vattr.Attribute(msg)

Listen for Enter or Space key presses — useful for “activating” a focused element.

pub fn on_blur(msg: msg) -> vattr.Attribute(msg)

Listen for blur events.

pub fn on_change(
  handler: fn(String) -> msg,
) -> vattr.Attribute(msg)

Listen for select/change events.

pub fn on_click(msg: msg) -> vattr.Attribute(msg)

Listen for click events.

pub fn on_content_change(
  handler: fn(String) -> msg,
) -> vattr.Attribute(msg)

Listen for content change events. The handler receives the current text.

pub fn on_cursor_change(
  handler: fn(Int, Int) -> msg,
) -> vattr.Attribute(msg)

Listen for cursor change events. The handler receives the line and visual column position.

pub fn on_focus(msg: msg) -> vattr.Attribute(msg)

Listen for focus events.

pub fn on_highlight(msg: msg) -> vattr.Attribute(msg)

Listen for highlight events.

pub fn on_input(
  handler: fn(String) -> msg,
) -> vattr.Attribute(msg)

Listen for input value changes. The handler receives the new value.

pub fn on_key_down(
  handler: fn(effect.KeyEvent) -> msg,
) -> vattr.Attribute(msg)

Listen for key down events.

pub fn on_key_press(
  handler: fn(effect.KeyEvent) -> msg,
) -> vattr.Attribute(msg)

Listen for key press events. The handler receives a KeyEvent containing the key name and the state of the shift, ctrl, meta, and option modifiers.

pub fn on_key_up(
  handler: fn(effect.KeyEvent) -> msg,
) -> vattr.Attribute(msg)

Listen for key up events.

pub fn on_mouse_down(msg: msg) -> vattr.Attribute(msg)

Listen for mouse down events.

pub fn on_mouse_drag(msg: msg) -> vattr.Attribute(msg)

Listen for mouse drag events.

pub fn on_mouse_drag_end(msg: msg) -> vattr.Attribute(msg)

Listen for mouse drag end events.

pub fn on_mouse_drop(msg: msg) -> vattr.Attribute(msg)

Listen for mouse drop events.

pub fn on_mouse_move(msg: msg) -> vattr.Attribute(msg)

Listen for mouse move events.

pub fn on_mouse_out(msg: msg) -> vattr.Attribute(msg)

Listen for mouse out events.

pub fn on_mouse_over(msg: msg) -> vattr.Attribute(msg)

Listen for mouse over events.

pub fn on_mouse_up(msg: msg) -> vattr.Attribute(msg)

Listen for mouse up events.

pub fn on_paste(
  handler: fn(String) -> msg,
) -> vattr.Attribute(msg)

Listen for paste events. The handler receives the pasted text.

pub fn on_scroll(msg: msg) -> vattr.Attribute(msg)

Listen for scroll events.

pub fn on_select(handler: fn(Int) -> msg) -> vattr.Attribute(msg)

Listen for item selection events (e.g. Enter in a select list). The handler receives the selected index.

pub fn on_selection_change(
  handler: fn(Int) -> msg,
) -> vattr.Attribute(msg)

Listen for selection change events (e.g. navigating with j/k in a select list). The handler receives the newly highlighted index.

pub fn on_size_change(msg: msg) -> vattr.Attribute(msg)

Listen for size change events.

pub fn on_slider_change(
  handler: fn(Float) -> msg,
) -> vattr.Attribute(msg)

Listen for slider value change events. The handler receives the new value.

pub fn on_submit(
  handler: fn(String) -> msg,
) -> vattr.Attribute(msg)

Listen for submit events (e.g. pressing Enter in an input).

Search Document