package eliom

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

Type-safe custom data for HTML5. See the <<a_manual chapter="clientserver-html" fragment="custom_data"|examples in the manual>> .

type 'a t

Custom data with values of type 'a.

val create : name:string -> ?default:'a -> to_string:('a -> string) -> of_string:(string -> 'a) -> unit -> 'a t

Create a custom data field by providing string conversion functions. If the default is provided, calls to <<a_api project="eliom" subproject="client" | val Eliom_content.Html.Custom_data.get_dom>> return that instead of throwing an exception Not_found.

val create_json : name:string -> ?default:'a -> 'a Deriving_Json.t -> 'a t

Create a custom data from a Json-deriving type.

val attrib : 'a t -> 'a -> [> `User_data ] attrib

attrib my_data value creates a HTML5 attribute for the custom-data type my_data with value value for injecting it into an a HTML5 tree ( <<a_api | type Eliom_content.Html.elt >> ).

get_dom element custom_data gets the custom_data from a JavaScript element ( <<a_api project="js_of_ocaml"|class type Js_of_ocaml.Dom_html.element>> ).

  • returns

    The value encoded in the respective custom data attribute of element, or the default value, if any.

  • raises Not_found

    if the element does not contain the respective custom data attribute and the custom_data was created without default.

val set_dom : Js_of_ocaml.Dom_html.element Js_of_ocaml.Js.t -> 'a t -> 'a -> unit

set_dom element custom_data value sets the custom data attribute for custom_data of an JavaScript element ( <<a_api project="js_of_ocaml"|class type Js_of_ocaml.Dom_html.element>> ) to value.