/*
* Name : sub.js
* Version : 1.0.0
* Product : prime05
* Author : 1px studio
* Date : 2024.04.04
* Desc : -
---------------------------------------------------
*/
$(function() {
// script break in main page
if (document.getElementById("isIndex")!=null) { return; }
// global variables
// init
navigation_init();
zoom_gallery_init();
masonry_init();
youtube_gallery_init();
// navigation active
function navigation_init() {
const currentURL = window.location.href;
if ( !$('.breadcrumb-navbar .navbar-wrapper').length ) return false;
$('.breadcrumb-navbar .navbar-wrapper > li').each(function() {
let $this = $(this);
if ( currentURL.indexOf($this.find('>a').attr('href')) > -1 ) {
$this.find('>a').addClass('active');
}
});
if (!$('.breadcrumb-navbar .navdepth-wrapper').length ) return false;
$('.breadcrumb-navbar .navbar-wrapper > li').each(function() {
let $this = $(this);
if ( currentURL.indexOf($this.find('>a').attr('href')) > -1 ) {
let a = $this.find('>a');
$('.breadcrumb-navbar .navdepth-wrapper').append('
'+a[0].innerText+'');
}
});
}
function zoom_gallery_init() {
$('.zoom-gallery').magnificPopup({
delegate: 'a',
type: 'image',
closeOnContentClick: false,
closeBtnInside: false,
mainClass: 'mfp-with-zoom mfp-img-mobile',
image: {
verticalFit: true,
},
gallery: {
enabled: true
},
zoom: {
enabled: true,
duration: 300, // don't foget to change the duration also in CSS
opener: function(element) {
return element.find('img');
}
}
});
}
function masonry_init() {
if ( $('.masonry-group').length ) {
const masonryGroup = $('.masonry-group');
masonryGroup.imagesLoaded(function() {
masonryGroup.isotope({
itemSelector: '.gallery-item',
columnWidth: '.grid-sizer',
masonry: {
gutter: 20
}
});
});
$('.category-button-wrapper .button-filter').on('click', (e) => {
e.preventDefault();
let $this = $(e.currentTarget);
let filterValue = $this.data('filter');
$('.category-button-wrapper .button-filter').removeClass('active');
$this.addClass('active');
masonryGroup.isotope({ filter: filterValue });
});
}
}
function youtube_gallery_init() {
const modal = $('#youtubeModal');
const videoFrame = modal.find('.youtube-wrapper>iframe');
const videoString = 'https://www.youtube.com/embed/';
$('.play-youtube').on('click', (e) => {
e.preventDefault();
let $this = $(e.currentTarget);
let videoID = $this.attr('href').split('v=')[1];
modal.modal('show');
videoFrame.attr('src', videoString + videoID);
});
modal.on('hidden.bs.modal', () => {
videoFrame.attr('src', '');
});
}
});