{% if widget.attrs.is_tabbed %} {# Group of groups renders as tabs — filter to group-type children only #} {% set tablist_id = "grp-" ~ widget.path | replace('.','_') | replace('(','_') | replace(')','_') | replace(':','_') %} {% set tab_children = widget.children | selectattr('type', 'equalto', 'group') | list %}
{% if widget.label %}
{{ widget.label }}
{% endif %}
{% for child in tab_children %} {% set tab_id = tablist_id ~ "-tab-" ~ loop.index0 %} {% set panel_id = widget.path ~ "-tab-" ~ loop.index0 %} {% endfor %}
{% for child in tab_children %} {% set tab_id = tablist_id ~ "-tab-" ~ loop.index0 %} {% set panel_id = widget.path ~ "-tab-" ~ loop.index0 %}
{% for subchild in child.children %} {% set widget = subchild %} {% include "widgets/" + subchild.type + ".html" ignore missing %} {% endfor %}
{% endfor %}
{% else %} {# Regular group renders with border #}
{% if widget.label %} {{ widget.label }} {% endif %}
{% for child in widget.children %} {% set widget = child %} {% include "widgets/" + child.type + ".html" ignore missing %} {% endfor %}
{% endif %}