{# http://getbootstrap.com/javascript/#tabs #} {% macro bs_tabs(tabs=None, tabs_attrs=None, content_attrs=None, component_attrs=None) -%} {% if tabs is none -%} {% set tabs = [] -%} {% endif -%} {% if tabs_attrs is none -%} {% set tabs_attrs = {} -%} {% endif -%} {% if content_attrs is none -%} {% set content_attrs = {} -%} {% endif -%} {% if component_attrs is none -%} {% set component_attrs = {} -%} {% endif -%} {% set _tabs_attrs = { 'role': 'tablist', } -%} {% do _tabs_attrs.update(tabs_attrs) -%} {% do tpl.prepend_css_classes_to_dict(_tabs_attrs, 'nav nav-tabs') -%} {% set _content_attrs = {} %} {% do _content_attrs.update(content_attrs) -%} {% do tpl.prepend_css_classes_to_dict(_content_attrs, 'tab-content') -%} {% set _component_attrs = {} -%} {% do _component_attrs.update(component_attrs) -%} {% do tpl.prepend_css_classes_to_dict(_component_attrs, 'component') -%} {% if caller -%} {{ caller() }} {% endif -%}
{% for tab in tabs -%} {% set div_atts = { 'role': 'tabpanel', 'class': 'tab-pane', 'id': tab.id } -%} {% if tab.is_active -%} {% do tpl.add_css_classes_to_dict(div_atts, 'active') -%} {% endif -%}
{% if tab.html -%} {{ tab.html|safe }} {% else -%}
{% endif -%}
{% endfor -%}
{% endmacro -%} {% if _render_ -%} {% if not isinstance(_render_, dict) -%} {% set _render_ = { 'tabs': tabs or None, 'tabs_attrs': tabs_attrs or None, 'content_attrs': content_attrs or None, } -%} {% endif -%} {{ bs_tabs(**_render_) }} {% endif -%}