Module Eliomtools


module Eliomtools: sig .. end
Predefined boxes for Eliom


Menus


type ('a, 'b) one_page = (unit, unit, 'a, [ `WithoutSuffix ], unit, unit, 'b) Eliomservices.service 
val menu : ?classe:XHTML.M.nmtoken list ->
([< Eliomservices.get_service_kind ], [< Eliomservices.registrable ])
one_page * Xhtmltypes.a_content XHTML.M.elt list ->
(([< Eliomservices.get_service_kind ], [< Eliomservices.registrable ])
one_page * Xhtmltypes.a_content XHTML.M.elt list)
list ->
service:([< Eliomservices.get_service_kind ], [< Eliomservices.registrable ])
one_page ->
sp:Eliomsessions.server_params -> [> `Ul ] XHTML.M.elt
Creates a menu

Example:

menu ~classe:["mainmenu"] [ (home, <:xmllist< Home >>); (infos, <:xmllist< More infos >>) ] current sp


Hierchical sites



type ('a, 'b, 'c) hierarchical_site_item =
| Disabled
| Site_tree of ('a, 'b, 'c) hierarchical_site

type ('a, 'b, 'c) main_page =
| Main_page of ('a, 'b) one_page
| Default_page of ('a, 'b) one_page
| Not_clickable
type ('a, 'b, 'c) hierarchical_site = ('a, 'b, 'c) main_page *
('c XHTML.M.elt list * ('a, 'b, 'c) hierarchical_site_item) list
The type of hierarchical sites. A hierarchical site is a pair (main page, subpages).

The difference between Main_page, Default_page and Not_clickable is a bit subtle:

Each subpage is defined by the text to be displayed in menus and a hierarchical_site_item. If the latter is Disabled, the menu entry is disabled.
val hierarchical_menu_depth_first : ?classe:XHTML.M.nmtoken list ->
?whole_tree:bool ->
([< Eliomservices.get_service_kind ] as 'a,
[< Eliomservices.registrable ] as 'b, Xhtmltypes.a_content)
hierarchical_site ->
service:('a, 'b) one_page ->
sp:Eliomsessions.server_params -> [> `Ul ] XHTML.M.elt list
hierarchical_menu_depth_first menu constructs a function taking as parameters a service and ~sp (server parameters) and displaying a hierarchical menu for this service.

The menu is constructed by exploring the tree using a depth-first algorithm. It means that the first menu item will be displayed, followed by the whole sub-menu for this item, then the second menu item with its sub-menu, and so on. By default, only the sub-menus corresponding to the current page are displayed. If you want all the sub-menus to be displayed, specify ?whole_tree=true.

val hierarchical_menu_breadth_first : ?classe:XHTML.M.nmtoken list ->
([< Eliomservices.get_service_kind ] as 'a,
[< Eliomservices.registrable ] as 'b, Xhtmltypes.a_content)
hierarchical_site ->
service:('a, 'b) one_page ->
sp:Eliomsessions.server_params -> [> `Ul ] XHTML.M.elt list
hierarchical_menu_breadth_first menu constructs a function taking as parameters a service and ~sp (server parameters) and displaying a hierarchical menu for this service.

The menu is constructed by exploring the tree using a breadth_first algorithm. It means that the whole menu for one level will be displayed, followed by all sub-menus. Only the sub-menu corresponding to the current page is displayed.

val structure_links : ([< Eliomservices.get_service_kind ] as 'a,
[< Eliomservices.registrable ] as 'b, Xhtmltypes.a_content)
hierarchical_site ->
service:('a, 'b) one_page ->
sp:Eliomsessions.server_params -> [> `Link ] XHTML.M.elt list
Returns the tags <link rel="subsection" ...> and <link rev="subsection" ...> for the given hierarchical site.