{% extends 'areas/filter/editables.html.twig' %}
{% block view %}
{% if editmode %}
Only in Frontend
{% elseif filterDefinition != null %}
<section class="c-filter background-none {{filterMargin}}"
data-filter-definition="{{filterDefinition.getId()}}"
data-filter-output="{{filterDefinition.getRenderingOutput()}}"
data-search-route="/search"
data-filter-route="/filter/restrict"
{% if filterDefinition.getTenant() == 'Magazine' %}
data-object-route="/{{filterDefinition.getTenant()|lower}}/object"
{% else %}
data-object-route="/filter/search"
{% endif %}
data-default-image="{{ defaultImage ? defaultImage.getId() : null }}"
data-document="{{document.getId()}}"
>
{% set filterOrder %}
{% if filterDefinition.getOrderByAsc() %}
{% set orders = filterDefinition.getOrderByAsc() | split(',') %}
<div class="c-filter__order">
<div class="c-filter__order-expand js-order-button" data-active="false">
<p class="js-order-button-text e-small">{{"mvk_doc_fe_filter_order_button" | trans}}</p>
<div class="c-filter__order-options">
{% for order in orders %}
<span data-filter-order="{{order}}" data-filter-order-by="asc" data-active="false">{{('mvk_doc_fe_filter_order_' ~ filterDefinition.getTenant() ~ '_' ~ order) | trans}} {{'mvk_doc_fe_filter_order_button_asc' | trans}}</span>
<span data-filter-order="{{order}}" data-filter-order-by="desc" data-active="false">{{('mvk_doc_fe_filter_order_' ~ filterDefinition.getTenant() ~ '_' ~ order) | trans}} {{'mvk_doc_fe_filter_order_button_desc' | trans}}</span>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% endset %}
{% if filterDefinition != null %}
{% if filterDefinition.filters|length > 0 %}
{% set filterFrontend = null %}
{% set currentSearchFilter = [] %}
{% set searchOnly = false %}
{% for filter in filterDefinition.filters %}
{% if filter is instanceof('\\Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\FilterSearch') and filter.getFieldsToSearch() != null %}
{% set fields = filter.getFieldsToSearch()|split(',') %}
{% for field in fields %}
{% set currentSearchFilter = currentSearchFilter|merge({(field): []}) %}
{% endfor %}
{# Get all options(select, checkboxes, ...) for filter #}
{% set filterFrontend %}
{{ filterService.filterFrontend(filter, objectListing, currentSearchFilter) | raw }}
{% endset %}
{% endif %}
{% if filter is instanceof('\\Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\FilterSearch') and filterDefinition.filters|length == 1 %}
{% set searchOnly = true %}
{% endif %}
{% endfor %}
{% set filterTenantTranslation = ('html.filter.' ~ filterDefinition.getTenant()|lower) %}
{% include 'utils/beam.html.twig' with {'type': 'filter', 'filterFrontend': filterFrontend, 'filterTenant': filterTenantTranslation, 'filterOrder': filterOrder, 'searchOnly': searchOnly } %}
{% set filterFrontend = null %}
{% else %}
{{filterOrder | raw}}
{% endif %}
<div>
{% if filterDefinition.filters|length > 0 %}
<div class="c-filter__panel" data-filter-panel>
<div class="c-filter__panel-wrapper background-primary">
<a href class="c-filter__panel-close" data-filter-close></a>
<div class="c-filter__panel-content">
<div class="c-filter__panel-header e-rte">
<h4>
{{ 'ercas_doc_fe_filter_label_filter' | trans }}
{# <span data-filter-selected>1</span> #}
</h4>
</div>
{% for filter in filterDefinition.filters %}
{% if filter is instanceof('\\Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\FilterNumberInput') or
filter is instanceof('\\Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\FilterNumberRangeFromTo')
%}
{% set fieldFrom = filter.getFieldFrom().getField() %}
{% set fieldTo = filter.getFieldTo().getField() %}
{% set currentFilter = {(fieldFrom): [], (fieldTo): []} %}
{% elseif filter.getField() != null and filter is not instanceof('\\Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\FilterSearch') %}
{% set field = filter.getField().getField() %}
{% set currentFilter = {(field): []} %}
{% endif %}
{# Get all options(select, checkboxes, ...) for filter #}
{% if currentFilter is defined %}
{{ filterService.filterFrontend(filter, objectListing, currentFilter) | raw }}
{% endif %}
{% endfor %}
{# Set reset and submit button #}
{% if filterDefinition.getShowSubmitButton() or filterDefinition.getShowResetButton() %}
{% include 'utils/beam.html.twig' with {'type': 'submit'} %}
{% endif %}
</div>
</div>
</div>
{% endif %}
</div>
{% if filterDefinition.getRenderingOutput() == 'list' %}
{# Output Dummy #}
{% if document.getProperty('isBms') is defined and document.getProperty('isBms') == true %}
{% if filterDefinition.getTenant() == 'Policyholder' %}
{% include 'object/policyholder/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'DamageDeclaration' %}
{% include 'object/damage-declaration/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'InsuranceApplication' %}
{% include 'object/insurance-application/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'InsuranceOffer' %}
{% include 'object/insurance-offer/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'AgentDocument' %}
{% include 'object/agent-document/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'PolicyDocument' %}
{% include 'object/policy-document/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'Contract' %}
{% include 'object/contract/list-bms.html.twig' %}
{% elseif filterDefinition.getTenant() == 'BmsSubAgent' %}
{% include 'object/sub-agent/list-bms.html.twig' %}
{% endif %}
{% else %}
{% if filterDefinition.getTenant() == 'Policyholder' %}
{% include 'object/policyholder/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'DamageDeclaration' %}
{% include 'object/damage-declaration/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'InsuranceApplication' %}
{% include 'object/insurance-application/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'InsuranceOffer' %}
{% include 'object/insurance-offer/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'AgentDocument' %}
{% include 'object/agent-document/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'PolicyDocument' %}
{% include 'object/policy-document/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'Contract' %}
{% include 'object/contract/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'SubAgent' %}
{% include 'object/sub-agent/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'BmsSubAgent' %}
{% include 'object/sub-agent/list-bms.html.twig' %}
{% endif %}
{% endif %}
{% if filterDefinition.getTenant() == 'Job' %}
{% include 'object/job/list.html.twig' %}
{% elseif filterDefinition.getTenant() == 'DamEntry' %}
{% include 'object/downloadlist/list.html.twig' %}
{% endif %}
<div class="e-card__list">
<div class="container" data-output-list>
{# TS (frontend/src/06_xtensions/filter/filter.ts) will create a list of objects here #}
</div>
</div>
{% elseif filterDefinition.getRenderingOutput() == 'card' %}
{# Output Dummy #}
{% if filterDefinition.getTenant() == 'Magazine' %}
{% include 'object/magazine/card.html.twig' with {'highlightElement': highlightElement} %}
{% elseif filterDefinition.getTenant() == 'Contact' %}
{% include 'object/contact/card.html.twig' with {'highlightElement': highlightElement} %}
{% endif %}
<div class="e-card__list">
<div class="container-fluid">
<div class="row gap-4" data-output-list>
{# TS (frontend/src/06_xtensions/filter/filter.ts) will create a list of objects here #}
</div>
</div>
</div>
{% endif %}
{% if filterDefinition.getInfiniteScroll() == true %}
<div class="c-filter__pagination js-filter-pagination e-rte d-none" data-load-type="infiniteScroll">
<span class="c-filter__pagination-information e-light">
<span data-pagination-current>0</span> {{ 'html.filter.load.of' | trans }} <span data-pagination-total>24</span>
</span>
<p>
<a href="" class="e-button--ghost" data-load-more data-next-page="1" data-disabled="false">
{{ 'html.filter.load.more' | trans }}
<span data-is-loading="false"></span>
</a>
</p>
</div>
{% elseif filterDefinition.getPagination() == true %}
<div class="c-filter__pagination js-filter-pagination e-rte d-none" data-load-type="pagination">
<span class="c-filter__pagination-information e-light">
<a href="" class="c-filter__pagination-button" data-load-prev data-prev-page="1" data-disabled="false">
<span data-is-loading="false"></span>
</a>
<div class="c-filter__pagination-information-group">
<input type="number" min="1" max="3" data-pagination-current value="1"> {{ 'ercas_doc_fe_filter_label_of' | trans }} <span data-pagination-page-count> 24</span>
</div>
<a href="" class="c-filter__pagination-button" data-load-next data-next-page="1" data-disabled="false">
<span data-is-loading="false"></span>
</a>
</span>
</div>
{% endif %}
{% endif %}
</section>
{% endif %}
{% endblock %}