50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
|
{%- include scripts/utils/imagesLoad.js -%}
|
||
|
(function () {
|
||
|
var SOURCES = window.TEXT_VARIABLES.sources;
|
||
|
window.Lazyload.js(SOURCES.jquery, function() {
|
||
|
var $pageGalleryModal = $('.js-page-gallery-modal');
|
||
|
var $images = $('.page__content').find('img:not(.lightbox-ignore)');
|
||
|
window.imagesLoad($images).then(function() {
|
||
|
/* global Gallery */
|
||
|
var pageGalleryModal = $pageGalleryModal.modal({ onChange: handleModalChange });
|
||
|
var gallery = null;
|
||
|
var modalVisible = false;
|
||
|
var i, items = [], image, item;
|
||
|
if($images && $images.length > 0) {
|
||
|
for (i = 0; i < $images.length; i++) {
|
||
|
image = $images.eq(i);
|
||
|
if (image.get(0).naturalWidth > 800) {
|
||
|
items.push({ src: image.attr('src'), w: image.get(0).naturalWidth, h: image.get(0).naturalHeight, $el: image});
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(items.length > 0) {
|
||
|
gallery = new Gallery('.gallery', items);
|
||
|
gallery.setOptions({ disabled: !modalVisible });
|
||
|
gallery.init();
|
||
|
for (i = 0; i < items.length; i++) {
|
||
|
item = items[i];
|
||
|
item.$el && (item.$el.addClass('popup-image'), item.$el.on('click', (function() {
|
||
|
var index = i;
|
||
|
return function() {
|
||
|
pageGalleryModal.show();
|
||
|
gallery.setOptions({ initialSlide: index });
|
||
|
gallery.refresh(true, { animation: false });
|
||
|
};
|
||
|
})()));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function handleModalChange(visible) {
|
||
|
modalVisible = visible;
|
||
|
gallery && gallery.setOptions({ disabled: !modalVisible });
|
||
|
}
|
||
|
|
||
|
$pageGalleryModal.on('click', function() {
|
||
|
pageGalleryModal.hide();
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
})();
|