package bonsai

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Unlike the rest of the API which operates on values of type Form.t value values, they operate on Form.t Value.t, and typically return Computation.t.

Unlike the rest of the API which operates on values of type Form.t value values, they operate on Form.t Value.t, and typically return Computation.t.

val with_default : 'a Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Computation.t
val error_hint : 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Computation.t

Adds a clickable error hint for this form

val collapsible_group : ?starts_open:bool -> string Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Computation.t

Adds a group that is clickable. Visibility for sub-forms is initially determined by starts_open but is toggled by clicking on the label.

val on_change : ?on_error:(Core.Error.t -> unit Ui_effect.t) Bonsai_web.Value.t -> (module Bonsai_web.Bonsai.Model with type t = 'a) -> f:('a -> unit Ui_effect.t) Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Value.t -> unit Bonsai_web.Computation.t

Adds a on_change handler to a Form.t.

The function f is called when 1. the (successfully validated) value of the form changes. 2. the form transitions from producing an Error to producing a value. 3. the form initializes with a value

on_error is called when 1. the error message changes 2. the form transitions from producing a value to an error 3. the form initializes with an error

val validate_via_effect : (module Bonsai_web.Bonsai.Model with type t = 'a) -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Value.t -> f:('a -> unit Core.Or_error.t Bonsai_web.Effect.t) Bonsai_web.Value.t -> 'a Bonsai_web_ui_form__.Form.t Bonsai_web.Computation.t

Unlike validate which requires the validation function to be available locally (and synchronous), validate_via_effect runs an effectful computation. The asynchrony makes this function interesting: When a value is in the midst of validated, the resultant form is resolved to an Error.

module Record_builder : sig ... end