Module type Rest.VIEW

The VIEW interface needs to be implemented by a module that renders HTML.

type t

t is the type of the resource.

val skip_index_fetch : bool

skip_index_fetch can be set to true if you want to take care of fetching the collection yourself. This is useful when the search function of the service is not powerful enough and you need to implement your own collection fetching.

val index : Rock.Request.t -> string -> (t list * int) -> query -> [> Html_types.html ] Tyxml.Html.elt Lwt.t

index request csrf resources returns a list of resource instances as HTML.

You can access the original request directly if needed.

The csrf token has to be included as hidden input element in the form.

val new' : Rock.Request.t -> string -> form -> [> Html_types.html ] Tyxml.Html.elt Lwt.t

new' request csrf form returns a form to create new instances of the resource as HTML.

You can access the original request directly if needed.

csrf token has to be included as hidden input element in the form.

form is the decoded and validated form from a previous request. It contains input names, submitted values and error messages. This is useful to display error messages on input elements or to populate the form with invalid input from the failed create request, so the user can fix it.

val show : Rock.Request.t -> t -> [> Html_types.html ] Tyxml.Html.elt Lwt.t

show request resource returns the resource instance as HTML. This is the detail view of an instance of the resource.

val edit : Rock.Request.t -> string -> form -> t -> [> Html_types.html ] Tyxml.Html.elt Lwt.t

edit request csrf form returns a form to edit an instance of the resource instance as HTML.

You can access the original request directly if needed.

csrf token has to be included as hidden input element in the form.

form is the decoded and validated form from a previous request. It contains input names, submitted values and error messages. This is useful to display error messages on input elements or to populate the form with invalid input from the failed create request, so the user can fix it.