{# Workspace drawer for grouped, persistent filter controls. The data remains the standard GridViewFilters schema; sections only choose a visual grouping. #} {% macro render_option(filter, option, selected, depth=0, parent='') -%} {% for child in option.children %}{{ render_option(filter, child, selected, depth + 1, option.value) }}{% endfor %} {%- endmacro %} {% macro render_filter(filter, section) -%} {% set selected = fb.state.values.get(filter.param, ()) if fb.state else () %} {% if filter.drawer_control in ('checklist', 'tree') or filter.type in ('multiselect', 'set') %}