//**
* @file
* Initiate Owl Carousel.
*/
(function($) {
Drupal.behaviors.owlcarousel = {
attach: function(context, settings) {
for (var carousel in settings.owlcarousel) {
// Carousel instance.
var owl = $('.' + carousel);
// lazyLoad support.
if (settings.owlcarousel[carousel].settings.lazyLoad) {
var images = owl.find('img');
$.each(images, function(i, image) {
$(image).attr('data-src', $(image).attr('src'));
});
images.addClass('lazyOwl');
}
// Attach instance settings.
if (!owl.hasClass('disabled')) {
owl.owlCarousel(settings.owlcarousel[carousel].settings);
}
// Set an inline height if custom AJAX pagination is enabled;
// otherwise replacement of carousel element causes scrolling effect.
if (settings.owlcarousel[carousel].views.ajax_pagination) {
var owlnav = $('.' + carousel);
owlnav.parent().css('height', owlnav.height());
var view = owlnav.parent().parent();
var next = $(view).find('.pager-next a', context);
var prev = $(view).find('.pager-previous a', context);
// Attach Owl Carousel behaviors to pager elements.
$(next).once('ajax', function() {
$(next, context).click(function() {
owlnav.trigger('owl.next');
});
});
$(prev).once('ajax', function() {
$(prev, context).click(function() {
owlnav.trigger('owl.prev');
});
});
}
}
}
};
}(jQuery));
;/**/
(function ($) {
"use strict";
var $window = $(window);
// The threshold for how far to the bottom you should reach before reloading.
var scroll_threshold = 200;
var vis_index = 0;
/**
* Insert a views infinite scroll view into the document after AJAX.
*
* @param {object} $new_view The new view coming from the server.
*/
$.fn.infiniteScrollInsertView = function ($new_view) {
var $existing_view = this;
var $existing_content = $existing_view.find('.view-content').children();
$new_view.find('.view-content').prepend($existing_content);
$existing_view.replaceWith($new_view);
$(document).trigger('infiniteScrollComplete', [$new_view, $existing_content]);
};
/**
* Handle the automatic paging based on the scroll amount.
*/
Drupal.behaviors.views_infinite_scroll_automatic = {
attach : function(context, settings) {
var settings = settings.views_infinite_scroll;
var loadingImg = '';
$('.pager--infinite-scroll.pager--infinite-scroll-auto', context).once().each(function() {
var $pager = $(this);
$pager.find('.pager__item').hide();
if ($pager.find('.pager__item a').length) {
$pager.append(loadingImg);
}
$window.bind('scroll.views_infinite_scroll_' + vis_index, function() {
if (window.innerHeight + window.pageYOffset > $pager.offset().top - scroll_threshold) {
$pager.find('.pager__item a').click();
$window.unbind('scroll.views_infinite_scroll_' + vis_index);
}
});
vis_index++;
});
}
};
})(jQuery);
;/**/