68 lines
2.9 KiB
JavaScript
68 lines
2.9 KiB
JavaScript
|
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 = item.opts.fancyboxIndex - 1; // painting number
|
||
|
if (item.opts.fancyboxIndex >= 1000)
|
||
|
idx = item.opts.fancyboxIndex - 1000 + 383 - 1; // inédit: index starts at 1000 // 383: total number of paintings except inédit
|
||
|
|
||
|
function generateCartel()
|
||
|
{
|
||
|
cartel = '<div id="info"><span class="info">';
|
||
|
cartel += '<a href="painting.html?number=' + data[idx].number + '">ℹ︎</span></a></span>';
|
||
|
cartel += '<span class="title">' + data[idx].title + '</span><span class="year">';
|
||
|
if (data[idx].month != '—')
|
||
|
cartel += data[idx].month + ' ';
|
||
|
if (data[idx].year != '—')
|
||
|
cartel += data[idx].year;
|
||
|
cartel += ' </span><span class="format">' + data[idx].paint + ' sur ' + data[idx].support.toLowerCase();
|
||
|
if (data[idx].dimension != '—')
|
||
|
cartel += ' (' + data[idx].dimension + ')';
|
||
|
cartel += '</span>';
|
||
|
if (data[idx].comment != '—')
|
||
|
cartel += '<span class="comment">' + data[idx].comment + '</span>';
|
||
|
cartel += '</div>';
|
||
|
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);
|
||
|
}
|
||
|
});
|
||
|
}
|