A library for building dynamic webapps, using Js_of_ocaml
Module type
Class type
Library bonsai.web_ui_multi_select
type t = {
view : Bonsai_web.Vdom.Node.t;
view_for_testing : string Core.Lazy.t;
key_handler : Vdom_keyboard.Keyboard_event_handler.t;
inject : Action.t -> unit Bonsai_web.Vdom.Effect.t;(*

selection is the set of all selected items, by key.

selection : Item.Set.t Key.Map.t;
val selection : t -> Item.Set.t Key.Map.t
val inject : t -> Action.t -> unit Bonsai_web.Vdom.Effect.t
val view_for_testing : t -> string Core.Lazy.t
module Fields : sig ... end
val view_with_keydown_handler : t -> Bonsai_web.Vdom.Node.t

A DOM node very similar to t.view, but with a keydown handler attached to deal with keyboard events. We provide both this and view / key_handler separately, as the latter is required when embedding this component into an incr_dom app -- since incr_dom likes to always have the root node be in focus, it is required that one constructs one big overall Keyboard_event_handler.t for the entire page.