package bonsai

  1. Overview
  2. Docs
A library for building dynamic webapps, using Js_of_ocaml

Install

Dune Dependency

Authors

Maintainers

Sources

bonsai-v0.15.0.tar.gz
sha256=24c4c3149280abd639034ce3acf60e475a772202099e965be8bd8902524573ef

doc/bonsai.web_ui_form/Bonsai_web_ui_form/Dynamic/index.html

Module Bonsai_web_ui_form.Dynamic

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
OCaml

Innovation. Community. Security.