telegram_bots/static/js/examples/examples.mediagallery.js
2019-01-11 22:16:02 +03:00

144 lines
3.4 KiB
JavaScript

(function($) {
/*
Thumbnail: Select
*/
$('.mg-option input[type=checkbox]').on('change', function( ev ) {
var wrapper = $(this).parents('.thumbnail');
if($(this).is(':checked')) {
wrapper.addClass('thumbnail-selected');
} else {
wrapper.removeClass('thumbnail-selected');
}
});
$('.mg-option input[type=checkbox]:checked').trigger('change');
/*
Toolbar: Select All
*/
$('#mgSelectAll').on('click', function( ev ) {
ev.preventDefault();
var $this = $(this),
$label = $this.find('> span');
$checks = $('.mg-option input[type=checkbox]');
if($this.attr('data-all-selected')) {
$this.removeAttr('data-all-selected');
$checks.prop('checked', false).trigger('change');
$label.html($label.data('all-text'));
} else {
$this.attr('data-all-selected', 'true');
$checks.prop('checked', true).trigger('change');
$label.html($label.data('none-text'));
}
});
/*
Image Preview: Lightbox
*/
$('.thumb-preview > a[href]').magnificPopup({
type: 'image',
closeOnContentClick: true,
mainClass: 'mfp-img-mobile',
image: {
verticalFit: true
}
});
$('.thumb-preview .mg-zoom').on('click.lightbox', function( ev ) {
ev.preventDefault();
$(this).closest('.thumb-preview').find('a.thumb-image').triggerHandler('click');
});
/*
Thumnail: Dropdown Options
*/
$('.thumbnail .mg-toggle').parent()
.on('show.bs.dropdown', function( ev ) {
$(this).closest('.mg-thumb-options').css('overflow', 'visible');
})
.on('hidden.bs.dropdown', function( ev ) {
$(this).closest('.mg-thumb-options').css('overflow', '');
});
$('.thumbnail').on('mouseenter', function() {
var toggle = $(this).find('.mg-toggle');
if ( toggle.parent().hasClass('open') ) {
toggle.dropdown('toggle');
}
});
/*
Isotope: Sort Thumbnails
*/
$("[data-sort-source]").each(function() {
var source = $(this);
var destination = $("[data-sort-destination][data-sort-id=" + $(this).attr("data-sort-id") + "]");
if(destination.get(0)) {
$(window).on('load', function() {
destination.isotope({
itemSelector: ".isotope-item",
layoutMode: 'fitRows'
});
$(window).on('sidebar-left-toggle inner-menu-toggle', function() {
destination.isotope();
});
source.find("a[data-option-value]").click(function(e) {
e.preventDefault();
var $this = $(this),
filter = $this.attr("data-option-value");
source.find(".active").removeClass("active");
$this.closest("li").addClass("active");
destination.isotope({
filter: filter
});
if(window.location.hash != "" || filter.replace(".","") != "*") {
window.location.hash = filter.replace(".","");
}
return false;
});
$(window).bind("hashchange", function(e) {
var hashFilter = "." + location.hash.replace("#",""),
hash = (hashFilter == "." || hashFilter == ".*" ? "*" : hashFilter);
source.find(".active").removeClass("active");
source.find("[data-option-value='" + hash + "']").closest("li").addClass("active");
destination.isotope({
filter: hash
});
});
var hashFilter = "." + (location.hash.replace("#","") || "*");
var initFilterEl = source.find("a[data-option-value='" + hashFilter + "']");
if(initFilterEl.get(0)) {
source.find("[data-option-value='" + hashFilter + "']").click();
} else {
source.find(".active a").click();
}
});
}
});
}(jQuery));