function fancyboxInit(data, explorer) { $('[data-fancybox="exposition"], [data-fancybox="exposition-list"]').fancybox( { selector: '.gallery a', infobar: false, toolbar: true, smallBtn: false, buttons: ["arrowLeft", "arrowRight", "close"], arrows: false, transitionEffect: "fade", baseClass: 'fancybox-custom-layout', mobile: { preventCaptionOverlap: true, }, caption: function(instance, item) { var idx = 0; // search the index of the painting of filtered data for (i = 0; i < data.length; i++) { if (data[i].number == item.opts.fancyboxIndex) idx = i; } function generateCartel() { cartel = '
'; cartel += 'ℹ︎'; cartel += '' + data[idx].title + ''; if (data[idx].month != '—') cartel += data[idx].month + ' '; if (data[idx].year != '—') cartel += data[idx].year; cartel += ' ' + data[idx].paint + ' sur ' + data[idx].support.toLowerCase(); if (data[idx].dimension != '—') cartel += ' (' + data[idx].dimension + ')'; cartel += ''; if (data[idx].comment != '—') cartel += '' + data[idx].comment + ''; cartel += '
'; return cartel; } return generateCartel(); }, beforeShow : function(instance, current) { if (current.opts.fancyboxIndex > previousArray[previousArray.length - 1]) $('#pagination').pagination('next'); if (current.opts.fancyboxIndex < previousArray[0]) $('#pagination').pagination('previous'); }, afterClose : function(instance) { // after closing, changing the URL again. I guess there's no better way except by changing fancybox code... // (apparently fancybox changes back to the original url it had when starting) if (explorer) { urlParams = new URLSearchParams(window.location.search) trimSearch = window.location.search.substr(0, window.location.search.lastIndexOf('&')); window.history.replaceState('', '', window.location.pathname + trimSearch + '&page=' + currentPage + window.location.hash); } else window.history.replaceState('', '', window.location.pathname + '?page=' + currentPage + window.location.hash); } }); }