Commit ad8efe02e299a61a4b65f236387b3bda7714dc43

Authored by totoro
1 parent 4d677a68

Add left_menu.anubis widget. For historical reason it's named left_menu but it c…

…an be use to manage menu entry.
Showing 1 changed file with 48 additions and 0 deletions   Show diff stats
web/widgets/left_menu.anubis 0 → 100644
  1 +/*
  2 + * Created by PyramIDE.
  3 + * User: フランスのトトロ
  4 + * Date: 10/01/2016
  5 + * Time: 12:24
  6 + * © Calexium
  7 + */
  8 +
  9 +transmit tools/basis.anubis
  10 +read calexium_lib/web/CXM_making_a_web_site.anubis
  11 +
  12 +
  13 +public type Left_Menu_Entry:
  14 + left_menu_entry(
  15 + String class,
  16 + String action,
  17 + String text,
  18 + List((String, String)) extra),
  19 + title(String class, String text).
  20 +
  21 +public type Left_Menu:
  22 + no_left_menu,
  23 + left_menu(
  24 + List(Left_Menu_Entry) entries,
  25 + String selected).
  26 +
  27 +public define List(HTML_Off_Form)
  28 + make_left_menu
  29 + (
  30 + (String) -> String _T, //translator function
  31 + List(Left_Menu_Entry) entries,
  32 + String selected,
  33 + List(HTML_Off_Form) so_far
  34 + )=
  35 + if entries is
  36 + {
  37 + [] then reverse(so_far), //reverse to be in the right direction
  38 + [h . t] then
  39 + with entry =
  40 + if h is
  41 + {
  42 + left_menu_entry(_class, _action, _text, _extra) then
  43 + (HTML_Off_Form)paragraph([class("item "+_class+"_icon"+if _class=selected then " selected" else "")],actioner(same,same, link(_T(_text)),_action,_extra)),
  44 + title(_class, _text) then
  45 + (HTML_Off_Form)paragraph([class("menu_title"), class("item "+_class+"_icon"+if _class=selected then " selected" else "")], text([],_T(_text)))
  46 + },
  47 + make_left_menu(_T, t, selected, [ entry . so_far])
  48 + }.
... ...