(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));