144 lines
3.4 KiB
JavaScript
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));
|