Module Bonsai_web.Start
Start
handles the entire lifecycle of web-based Bonsai application.
Put another way, Start
is like Core
.Command for Bonsai_web apps.
module Handle : sig ... end
module App_input : sig ... end
The input of an application-level component is a value of type
('input, 'outgoing) App_input.t
.
module App_result : sig ... end
The result of an application-level component is a value of type
'incoming App_result.t
. This value contains the view of the app, and also an inject function: a way for the holder of theHandle.t
to send events into the application component.
Start functions
val start_standalone : initial_input:'input -> bind_to_element_with_id:string -> ('input, Bonsai_web__.Import.Vdom.Node.t) Bonsai_web__.Import.Bonsai.t -> ('input, unit, Core_kernel.Nothing.t, Core_kernel.Nothing.t) Handle.t
Start an application, receiving a handle that can't schedule any actions.
The outermost
Bonsai.t
's result type parameter should be aVdom.Node.t
, which will be bound to the DOM element with idbind_to_element_with_id
.
val start : initial_input:'input -> bind_to_element_with_id:string -> (('input, 'outgoing) App_input.t, ('extra, 'incoming) App_result.t) Bonsai_web__.Import.Bonsai.t -> ('input, 'extra, 'incoming, 'outgoing) Handle.t
Start an application, receiving a handle that can schedule actions of a user-defined type.
The outermost
Bonsai.t
's result type parameter should be a pair consisting of:- a
Vdom.Node.t
, which will be bound to the DOM element with idbind_to_element_with_id
; and - an
inject
function that accepts external actions and returnsVdom.Event.t
s.
- a