{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
{# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #}
{% extends ea.templatePath('layout') %}
{% trans_default_domain ea.i18n.translationDomain %}
{% block body_id 'ea-detail-' ~ entity.name ~ '-' ~ entity.primaryKeyValue %}
{% block body_class 'ea-detail ea-detail-' ~ entity.name %}
{% block content_title %}
{%- apply spaceless -%}
{% set custom_page_title = ea.crud.customPageTitle(pageName, entity ? entity.instance : null) %}
{{ custom_page_title is null
? (ea.crud.defaultPageTitle|trans(ea.i18n.translationParameters, 'EasyAdminBundle'))|raw
: (custom_page_title|trans(ea.i18n.translationParameters))|raw }}
{%- endapply -%}
{% endblock %}
{% block page_actions %}
{% for action in entity.actions %}
{{ include(action.templatePath, { action: action }, with_context = false) }}
{% endfor %}
{% endblock %}
{% block content_footer_wrapper '' %}
{% block main %}
{% block detail_fields %}
{% set form_panel_is_already_open = false %}
{% for field in entity.fields %}
{% set is_form_field_panel = 'field-form_panel' in field.cssClass %}
{% if is_form_field_panel or (loop.first and not is_form_field_panel) %}
{% if form_panel_is_already_open %}
{{ _self.close_form_field_panel() }}
{% set form_panel_is_already_open = false %}
{% endif %}
{{ _self.open_form_field_panel(is_form_field_panel ? field : null) }}
{% set form_panel_is_already_open = true %}
{% endif %}
{% block detail_field %}
{% if not is_form_field_panel %}
{{ _self.render_field(entity, field) }}
{% endif %}
{% endblock %}
{% endfor %}
{{ _self.close_form_field_panel() }}
{% endblock %}
{% block delete_form %}
{{ include('@EasyAdmin/crud/includes/_delete_form.html.twig', { entity_id: entity.primaryKeyValue }, with_context = false) }}
{% endblock delete_form %}
{% endblock %}
{% macro open_form_field_panel(field = null) %}
{% set panel_name = field is null ? null : 'content-' ~ field.uniqueId %}
{% set collapsible = field is null ? false : field.customOption('collapsible') %}
{% set collapsed = field is null ? false : field.customOption('collapsed') %}
{% set panel_icon = field is null ? null : (field.customOptions.get('icon')|default(false)) %}
{% set panel_label = field is null ? null : field.label %}
{% set panel_help = field is null ? null : field.help|default(false)%}
{% set panel_has_header = collapsible or panel_icon or panel_label or panel_help %}
<div class="{{ field.cssClass ?? '' }}">
<div class="form-panel">
{% if panel_has_header %}
<div class="form-panel-header {{ collapsible ? 'collapsible' }} {{ panel_help is not empty ? 'with-help' }}">
<div class="form-panel-title">
<a {% if not collapsible %}
href="#" class="not-collapsible"
{% else %}
href="#{{ panel_name }}" data-bs-toggle="collapse"
class="form-panel-collapse {{ collapsed ? 'collapsed' }}"
aria-expanded="{{ collapsed ? 'false' : 'true' }}" aria-controls="{{ panel_name }}"
{% endif %}
>
{% if collapsible %}
<i class="fas fw fa-chevron-right form-panel-collapse-marker"></i>
{% endif %}
{% if panel_icon %}
<i class="form-panel-icon {{ panel_icon }}"></i>
{% endif %}
{{ panel_label|raw }}
</a>
{% if panel_help %}
<div class="form-panel-help">{{ panel_help|raw }}</div>
{% endif %}
</div>
</div>
{% endif %}
<div {% if panel_name %}id="{{ panel_name }}"{% endif %} class="form-panel-body {{ collapsible ? 'collapse' }} {{ not collapsed ? 'show'}}">
<dl class="datalist">
{% endmacro %}
{% macro close_form_field_panel() %}
</dl>
</div>
</div>
</div>
{% endmacro %}
{% macro render_field(entity, field) %}
<div class="data-row {{ field.cssClass }}">
<dt>
{{ field.label|raw }}
{% if field.help is not empty %}
<span class="data-help">
<i class="far fa-question-circle" data-bs-toggle="tooltip" title="{{ field.help|e('html_attr') }}"></i>
</span>
{% endif %}
</dt>
<dd>
{{ include(field.templatePath, { field: field, entity: entity }, with_context = false) }}
</dd>
</div>
{% endmacro %}