{# core/ui/templates/content.html Basisvorlage für alle Module. Stellt die Karten-Hülle bereit. CRUD-Module ohne eigenes content.html nutzen den Default-Block (list_wrapper_inner.html). Custom-Module überschreiben {% block inner %}. #} {% import 'partials/components/ui_macros.html' as ui %} {%- set _mod_obj = (module_obj(module) if module_obj is defined else none) -%} {%- set _ui_header = _mod_obj.ui_header if _mod_obj else none -%} {%- set _ui_content = _mod_obj.ui_content if _mod_obj else none -%}
{{ module_label(module) }}
{% if _ui_header and _ui_header.controls %} {% for ctrl in _ui_header.controls %}{{ ui.header_control(ctrl, module, container_id, loading_id | default('')) }}{% endfor %} {% else %} {% if filter_defs %} {% for f in filter_defs %} {% endfor %} {% endif %} {% if extra_buttons %}{% for _btn in extra_buttons %}{{ ui.action_button(**_btn) }}{% endfor %}{% endif %} {% if extra_page_actions_template %}{% include extra_page_actions_template ignore missing %}{% endif %} {% block header_actions %}{% endblock %} {% if has_create | default(True) %}{{ ui.add_button(module=module, container_id=container_id, loading_id=loading_id | default('')) }}{% endif %} {% if module_has_settings(module) %}{{ ui.settings_button(module=module) }}{% endif %} {% endif %}
{% block inner %} {%- if _ui_content and _ui_content.type == 'custom' and _ui_content.template -%} {% include _ui_content.template %} {%- elif _ui_content and _ui_content.type == 'columns' -%} {% include "partials/content_columns.html" %} {%- else -%} {% include "partials/list_wrapper_inner.html" %} {%- endif -%} {% endblock %}