{# :: Sidebar create a stacked sidebar menu It brings the whole navigation to sidebar It can be used with along with navbar to only show just the active menu set :: #} {# :: Show only the active menu set :: #} {% macro active_menu(panel="default", class_="") %} {{ menu(use_active=True, panel=panel, class_=class_) }} {% endmacro %} {# :: Show menu with a set key name :: #} {% macro key_menu(key, panel="default", class_="") %} {{ menu(key=key, panel=panel, class_=class_) }} {% endmacro %} {# :: MENU general @params key: str - The key name of the menu, to display only this set @param use_active: bool - When True, it will select the active menu and buil the menu on it @param panel: str - with bootstrap 3, it can be use to change the panel @param class_: str - A class name to add to the menu :: #} {% macro menu(key=None, use_active=False, panel="default", class_="") %}
{% if use_active %} {% for nav in __g.NAV_MENU %} {% set nav_name = nav[1] %} {% set nav_items = nav[2] %} {% set nav_kwargs = nav[3] %} {% if nav_kwargs["__active"] %} {% if nav_items %} {{ _sub_menu(nav) }} {% endif %} {% endif %} {% endfor %} {% elif key %} {% for nav in __g.NAV_MENU %} {% set nav_name = nav[1] %} {% set nav_items = nav[2] %} {% set nav_kwargs = nav[3] %} {% if nav_kwargs["key"] == key %} {% if nav_items %} {{ _sub_menu(nav) }} {% endif %} {% endif %} {% endfor %} {% else %} {% for nav in __g.NAV_MENU %} {% set nav_name = nav[1] %} {% set nav_items = nav[2] %} {% set nav_kwargs = nav[3] %} {% if nav_items %} {{ _sub_menu(nav) }} {% endif %} {% endfor %} {% endif %}
{% endmacro %} {% macro _sub_menu(nav) %} {% set nav_name = nav[1] %} {% set nav_items = nav[2] %} {% set nav_kwargs = nav[3] %} {% endmacro %} {% macro _listgroup(nav_items) %} {% endmacro %}