{% set aParams = aParams is defined ? aParams : {} %}
{% if aParams.results_template is not defined %}
{% set aParams = aParams|merge({'results_template': 'ContentBlock/results.html.twig'}) %}
{% endif %}
{% if aParams.pagination_template is not defined %}
{% set aParams = aParams|merge({'pagination_template': 'ContentBlock/pagination.html.twig'}) %}
{% endif %}
{% if aParams.preloader_template is not defined %}
{% set aParams = aParams|merge({'preloader_template': 'ContentBlock/preloaders/dots.html.twig'}) %}
{% endif %}
{% if aParams.page is not defined %}
{% set aParams = aParams|merge({'page': 1}) %}
{% endif %}
{% if aParams.container_id is not defined %}
{% set aParams = aParams|merge({'container_id': random()}) %}
{% endif %}
{% if aParams.ajax_pagination_callback is not defined %}
{% set aParams = aParams|merge({'ajax_pagination_callback': false}) %}
{% endif %}
{% if aParams.initial_load is not defined %}
{% set aParams = aParams|merge({'initial_load': true}) %}
{% endif %}
{% if aParams.reverse_results is not defined %}
{% set aParams = aParams|merge({'reverse_results': false}) %}
{% endif %}
{% if aParams.infinite_scroll is not defined %}
{% set aParams = aParams|merge({'infinite_scroll': false}) %}
{% endif %}
{% if aParams.infinite_scroll %}
{% set aParams = aParams|merge({'ajax_pagination': true}) %}
{% set aParams = aParams|merge({'show_pagination': true}) %}
{% if aParams.auto_scroll_top is defined %}
{% set aParams = aParams|merge({'auto_scroll_top': aParams.auto_scroll_top}) %}
{% else %}
{% set aParams = aParams|merge({'auto_scroll_top': false}) %}
{% endif %}
{% else %}
{% if aParams.ajax_pagination is defined %}
{% set aParams = aParams|merge({'show_pagination': true}) %}
{# 'auto_scroll_top': can be FALSE or the amount of pixels to add to the offset #}
{% if aParams.auto_scroll_top is defined %}
{% set aParams = aParams|merge({'auto_scroll_top': aParams.auto_scroll_top}) %}
{% else %}
{% set aParams = aParams|merge({'auto_scroll_top': 100}) %}
{% endif %}
{% endif %}
{% endif %}
{% set aParams = aParams.container_id is defined ? aParams|merge({'container_id': aParams.container_id}) : aParams|merge({'container_id': random()}) %}
{% set data_pagination = {
'ajax_pagination': aParams.ajax_pagination is defined and aParams.ajax_pagination ? true : false,
'auto_scroll_top': aParams.auto_scroll_top is defined ? aParams.auto_scroll_top : false,
'ajax_pagination_callback': aParams.ajax_pagination_callback
} %}
<div class="_xlabs_results_wrapper {{ aParams.infinite_scroll ? '_iscroll' : '' }} {{ aParams.initial_load ? '_iload' : '' }} {{ aParams.results_wrapper_class is defined ? aParams.results_wrapper_class : '' }}" data-container-id="{{ aParams.container_id }}" data-ajax-path="{{ path('results_pagination') }}" data-ajax-params="{{ aParams|json_encode() }}" data-original-params="{{ aParams|json_encode() }}" data-pagination="{{ data_pagination|json_encode() }}">
<div class="_xlabs_results">
{% if aParams.initial_load %}
{{ render(controller('App\\Controller\\ContentBlockController::renderResults', {
'aParams': aParams
})) }}
{% endif %}
</div>
<div class="preloader text-center my-4 d-none">{% include aParams.preloader_template %}</div>
<div class="_goTop btn btn-primary position-fixed bottom-0 end-0 m-3 d-none"><i class="fas fa-arrow-up"></i></div>
</div>
<script>
{% if aParams.ajax_pagination is defined and aParams.ajax_pagination %}
// Pagination buttons
{#
$(document).on('click', '[data-container-id="{{ aParams.container_id }}"] ._xlabs_results .pageBtn', function(e){
e.preventDefault();
let btn = $(this);
let aParams_container = $('[data-container-id="{{ aParams.container_id }}"]');
let results = aParams_container.resultsContainer();
results.setParam('page', btn.attr('data-page'));
results.reload(false, function(){
{% if aParams.auto_scroll_top %}
//$('[data-container-id="{{ aParams.container_id }}"] ._xlabs_results').get(0).scrollIntoView();
$('html, body').animate({scrollTop: $('[data-container-id="{{ aParams.container_id }}"] ._xlabs_results').offset().top - {{ aParams.auto_scroll_top }}}, 100);
{% endif %}
{% if aParams.ajax_pagination_callback %}
if(typeof {{ aParams.ajax_pagination_callback }} === 'function')
{
{{ aParams.ajax_pagination_callback }}();
}
{% endif %}
});
});
#}
/*function findContent()
{
// create form and submit it to send post parameters
let aParams_container = $('[data-container-id="{{ aParams.container_id }}"]');
let aParams = JSON.parse(aParams_container.attr('data-ajax-params'));
let form = $('<form />');
//if(!href)
//{
// href = getCleanURI();
// if(aParams.search_terms)
// {
// href += '?s=' + aParams.search_terms;
// }
//}
form.attr({
action: href,
method: 'post',
enctype: 'multipart/form-data'
}).css('display', 'none');
$('body').append(form);
//let form_data = new FormData(form.get(0));
//form_data.append('aParams', JSON.stringify(aParams));
form.append($('<input/>', {
type: 'hidden',
name: 'aParams',
value: JSON.stringify(aParams)
}));
form.submit();
}*/
{% endif %}
</script>