Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module type Xform.Xform

module type Xform = sig..end

type 'a monad
type (+'html, +'o) t
val id : ('a, 'b) t -> string
val string_input : 
  ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
  string ->
  ([> Html5_types.input ] Eliom_content.Html5.F.elt, string)
  t
val string_opt_input : 
  ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
  string option ->
  ([> Html5_types.input ] Eliom_content.Html5.F.elt, string option)
  t

Maps the empty list to None, and all the others lists to Some

val int_input : 
  ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
  ?format:(int -> string) ->
  int ->
  ([> `Input | `Span ] Eliom_content.Html5.F.elt, int) t
val bounded_int_input : 
  ?format:(int -> string) ->
  int ->
  int ->
  int ->
  ([> `Input | `Span ] Eliom_content.Html5.F.elt, int) t
val bool_checkbox : 
  ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
  bool ->
  ([> Html5_types.input ] Eliom_content.Html5.F.elt, bool) t
val text_area : 
  ?a:Html5_types.textarea_attrib Eliom_content.Html5.F.attrib list ->
  string ->
  ([> Html5_types.textarea ] Eliom_content.Html5.F.elt, string)
  t
val submit_button : 
  string ->
  ([> Html5_types.input ] Eliom_content.Html5.F.elt, bool) t
val select_single : 
  (string * string) list ->
  string ->
  ([> Html5_types.select ] Eliom_content.Html5.F.elt, string)
  t
val list : 
  'i list ->
  ('i ->
   ([< Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o)
   t) ->
  ([> Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o list)
  t
val list' : 
  int ->
  ([< Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o)
  t ->
  ([> Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o list)
  t
val extensible_list : 
  string ->
  'i ->
  'i list ->
  ('i ->
   ([< Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o)
   t) ->
  ([> Html5_types.form_content ] Eliom_content.Html5.F.elt, 'o list)
  t
val opt_input : 
  input:('a ->
   (([> Html5_types.input ] as 'c) Eliom_content.Html5.F.elt, 'b)
   t) ->
  default:'a ->
  'a option -> ('c Eliom_content.Html5.F.elt, 'b option) t
module Ops : sig..end
val wrap : 
  ('html1 list -> 'html2 list) ->
  ('html1, 'o) t -> ('html2, 'o) t
val check : 
  (([> Html5_types.span ] as 'b) Eliom_content.Html5.F.elt, 'a)
  t ->
  ('a -> string option) ->
  ('b Eliom_content.Html5.F.elt, 'a) t
val convert : 
  (([> Html5_types.span ] as 'c) Eliom_content.Html5.F.elt, 'a)
  t ->
  ('a -> 'b Xform.convert monad) ->
  ('c Eliom_content.Html5.F.elt, 'b) t
val hour_input : 
  int ->
  int ->
  ([> `Input | `PCDATA | `Span ] Eliom_content.Html5.F.elt, int * int)
  t
val day_input : 
  int ->
  int ->
  int ->
  ([> `Input | `PCDATA | `Span ] Eliom_content.Html5.F.elt,
   int * int * int)
  t
val date_input : 
  CalendarLib.Calendar.t ->
  ([> `Input | `PCDATA | `Span ] Eliom_content.Html5.F.elt,
   CalendarLib.Calendar.t)
  t
val text : string -> [> Html5_types.pcdata ] Eliom_content.Html5.F.elt list
val strong : 
  [< Html5_types.strong_content_fun ] Eliom_content.Html5.F.elt list ->
  [> Html5_types.strong ] Eliom_content.Html5.F.elt
val p : 
  ([< Html5_types.p_content_fun ] Eliom_content.Html5.F.elt, 'b)
  t ->
  ([> Html5_types.p ] Eliom_content.Html5.F.elt, 'b) t
val table : 
  ([< Html5_types.table_content_fun ] Eliom_content.Html5.F.elt, 'b)
  t ->
  ([> Html5_types.table ] Eliom_content.Html5.F.elt, 'b) t
val tr : 
  ([< Html5_types.tr_content_fun ] Eliom_content.Html5.F.elt, 'b)
  t ->
  ([> Html5_types.tr ] Eliom_content.Html5.F.elt, 'b) t
val td : 
  ([< Html5_types.td_content_fun ] Eliom_content.Html5.F.elt, 'b)
  t ->
  ([> Html5_types.td ] Eliom_content.Html5.F.elt, 'b) t
val label_input_tr : 
  label:string ->
  ?description:string ->
  ([< Html5_types.td_content_fun ] Eliom_content.Html5.F.elt, 'b)
  t ->
  (Html5_types.tr Eliom_content.Html5.F.elt, 'b) t
val fieldset : 
  ?legend:[ `Legend ] Eliom_content.Html5.F.elt ->
  ([< Html5_types.flow5 ] Eliom_content.Html5.F.elt, 'b) t ->
  ([> Html5_types.fieldset ] Eliom_content.Html5.F.elt, 'b)
  t
val form : 
  fallback:('a, unit, [ `Get ], Eliom_service.attached_kind,
   [< `AttachedCoservice | `Service ], [< Eliom_service.suff ],
   'b, unit, [< `Registrable ],
   Eliom_registration.http_service)
   Eliom_service.service ->
  get_args:'a ->
  page:('a ->
   Xform.error ->
   [> Html5_types.form ] Eliom_content.Html5.F.elt ->
   Eliom_content.Html5.F.html Lwt.t) ->
  ?err_handler:(exn -> string option) ->
  (Html5_types.form_content Eliom_content.Html5.F.elt,
   unit -> Eliom_registration.Html5.page Lwt.t)
  t ->
  [> Html5_types.form ] Eliom_content.Html5.F.elt monad