{% if tag is not defined %}
{% set tag = null %}
{% endif %}
{% if itemsRouteParams is not defined %}
{% set itemsRouteParams = {} %}
{% endif %}
{% if tag %}
{% set itemsRouteParams = {tag: tag, ...itemsRouteParams} %}
{% endif %}
<script>
function initView() {
$('#pagination a').click(function () {
let page = $(this).attr('data-page');
let href = '{{ path(itemsRouteName, itemsRouteParams) }}';
let query = '';
if (page > 1) {
if (query) {
query += '&';
}
query += 'page=' + page;
}
if (query) {
query = '?' + query;
}
location.href = href + query;
return false;
});
initShowMore();
}
initView();
var busy = false;
var page = {{ pagination.current }};
function initShowMore() {
$('#showMore button').click(function () {
if (busy) {
return false;
}
busy = true;
if (!page) {
page = 1;
}
page++;
$(this).html('Загрузка...');
$.ajax({
type: "POST",
url: '{{ path(itemsRouteName ~ '-show-more', itemsRouteParams) }}',
data: {page: page},
success: function (data) {
$('#items').html($('#items').html() + data.html);
$('#pagination').html(data.paginationHtml);
initView();
prepareProductBlockCount($('#items'));
},
dataType: 'json'
}).fail(function () {
alert('Error');
}).always(function () {
busy = false;
});
return false;
});
}
</script>