1(function($) { 2 "use strict"; 3 var GaviasTheme = { 4 init: function(){ 5 this.handleWindow(); 6 this.initResponsive(); 7 this.initCarousel(); 8 this.menuMobile(); 9 this.postMasonry(); 10 this.scrollTop(); 11 this.stickyMenu(); 12 this.slider(); 13 this.other(); 14 }, 15 16 handleWindow: function(){ 17 var body = document.querySelector('body'); 18 if (window.innerWidth > body.clientWidth + 6) { 19 body.classList.add('has-scrollbar'); 20 body.setAttribute('style', '--scroll-bar: ' + (window.innerWidth - body.clientWidth) + 'px'); 21 } else { 22 body.classList.remove('has-scrollbar'); 23 } 24 25 setTimeout(function(){ 26 if($('body').hasClass('constix-body-loading')){ 27 $('body').removeClass('constix-body-loading'); 28 $('.constix-page-loading').fadeOut(50); 29 } 30 }, 360); 31 }, 32 33 initResponsive: function(){ 34 var _event = $.event, 35 $special, resizeTimeout; 36 $special = _event.special.debouncedresize = { 37 setup: function () { 38 $(this).on("resize", $special.handler); 39 }, 40 teardown: function () { 41 $(this).off("resize", $special.handler); 42 }, 43 handler: function (event, execAsap) { 44 var context = this, 45 args = arguments, 46 dispatch = function () { 47 event.type = "debouncedresize"; 48 _event.dispatch.apply(context, args); 49 }; 50 if (resizeTimeout) { 51 clearTimeout(resizeTimeout); 52 } 53 execAsap ? dispatch() : resizeTimeout = setTimeout(dispatch, $special.threshold); 54 }, 55 threshold: 150 56 }; 57 }, 58 59 initCarousel: function(){ 60 var _default = { 61 items: 3, 62 items_lg: 3, 63 items_md: 2, 64 items_sm: 2, 65 items_xs: 1, 66 items_xx: 1, 67 space_between: 30, 68 effect: 'slide', 69 loop: 1, 70 speed: 600, 71 autoplay: 1, 72 autoplay_delay: 6000, 73 autoplay_hover: 0, 74 navigation: 1, 75 pagination: 1, 76 pagination_type: 'bullets', 77 dynamic_bullets: 0 78 }; 79 80 $('.init-carousel-swiper-theme').each(function(){ 81 var $target = $(this); 82 var settings = $target.data('carousel'); 83 84 settings = $.extend(!0, _default, settings); 85 86 //-- Autoplay 87 var _autoplay = false; 88 if(settings.autoplay){ 89 _autoplay = { 90 delay: settings.autoplay_delay, 91 disableOnInteraction: false, 92 pauseOnMouseEnter: settings.autoplay_hover, 93 } 94 } 95 //-- Pagination 96 var _pagination = false; 97 if(settings.pagination){ 98 _pagination = { 99 el: $target.parent().find('.swiper-pagination')[0], 100 type: settings.pagination_type, 101 clickable: true, 102 dynamicBullets: false 103 } 104 } 105 //-- Navigation 106 var _navigation = false; 107 if(settings.navigation){ 108 _navigation = { 109 nextEl: $target.parents('.swiper-slider-wrapper').find('.swiper-nav-next')[0], 110 prevEl: $target.parents('.swiper-slider-wrapper').find('.swiper-nav-prev')[0], 111 hiddenClass: 'hidden' 112 } 113 } 114 console.log($target[0]); 115 var swiper = new Swiper($target[0], { 116 loop: settings.loop, 117 spaceBetween: 30, 118 autoplay: _autoplay, 119 speed: settings.speed, 120 grabCursor: true, 121 breakpoints: { 122 0: { 123 slidesPerView: 1 124 }, 125 390: { 126 slidesPerView: settings.items_xx 127 }, 128 640: { 129 slidesPerView: settings.items_xs 130 }, 131 768: { 132 slidesPerView: settings.items_sm 133 }, 134 1024: { 135 slidesPerView: settings.items_md 136 }, 137 1200: { // when window width is >= 1200px 138 slidesPerView: settings.items_lg, 139 }, 140 1400: { // when window width is >= 1200px 141 slidesPerView: settings.items, 142 } 143 }, 144 pagination: _pagination, 145 navigation: _navigation, 146 observer: true, 147 observeParents: true, 148 }); 149 150 if(settings.autoplay_hover && settings.autoplay){ 151 $target.hover(function() { 152 swiper.autoplay.stop(); 153 }, function() { 154 swiper.autoplay.start(); 155 }); 156 } 157 }) 158 }, 159 160 menuMobile: function(){ 161 $('.gva-offcanvas-content ul.gva-mobile-menu > li:has(ul)').addClass("has-sub"); 162 $('.gva-offcanvas-content ul.gva-mobile-menu > li:has(ul) > a').after('<span class="caret"></span>'); 163 $( document ).on('click', '.gva-offcanvas-content ul.gva-mobile-menu > li > .caret', function(e){
164 e.preventDefault(); 165 var checkElement = $(this).next(); 166 $('.gva-offcanvas-content ul.gva-mobile-menu > li').removeClass('menu-active'); 167 $(this).closest('li').addClass('menu-active'); 168 169 if((checkElement.is('.submenu-inner')) && (checkElement.is(':visible'))){ 170 $(this).closest('li').removeClass('menu-active'); 171 checkElement.slideUp('normal'); 172 } 173 if((checkElement.is('.submenu-inner')) && (!checkElement.is(':visible'))){ 174 $('.gva-offcanvas-content ul.gva-mobile-menu .submenu-inner:visible').slideUp('normal'); 175 checkElement.slideDown('normal'); 176 } 177 if (checkElement.is('.submenu-inner')){ 178 return false; 179 } else { 180 return true; 181 } 182 }) 183 184 $( document ).on( 'click', '.canvas-menu.gva-offcanvas > a.dropdown-toggle', function(e){ 185 e.preventDefault(); 186 var $style = $(this).data('canvas'); 187 if($('.gva-offcanvas-content' + $style).hasClass('open')){ 188 $('.gva-offcanvas-content' + $style).removeClass('open'); 189 $('#gva-overlay').removeClass('open'); 190 $('#wp-main-content').removeClass('blur'); 191 }else{ 192 $('.gva-offcanvas-content' + $style).addClass('open'); 193 $('#gva-overlay').addClass('open'); 194 $('#wp-main-content').addClass('blur'); 195 } 196 }); 197 198 $( document ).on( 'click', '#gva-overlay, .top-canvas a.control-close-mm', function(e){ 199 e.preventDefault(); 200 $(this).removeClass('open'); 201 $('#gva-overlay').removeClass('open'); 202 $('.gva-offcanvas-content').removeClass('open'); 203 $('#wp-main-content').removeClass('blur'); 204 }) 205 $( document ).on( 'click', '.close-canvas', function(e) { 206 e.preventDefault(); 207 $('.gva-offcanvas-content').removeClass('open'); 208 $('#gva-overlay').removeClass('open'); 209 $('#wp-main-content').removeClass('blur'); 210 }) 211 212 if( ('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.MaxTouchPoints > 0) ) { 213 var link_id = ''; 214 $('.gva-nav-menu .menu-item > a').on('click', function(e) { 215 e.preventDefault(); 216 if ($(this).parent().find('.submenu-inner').length == 0) { 217 window.location.href = $(this).attr('href'); 218 return; 219 } 220 if ($(this).attr('data-link_id') == link_id) { 221 window.location.href = $(this).attr('href'); 222 return; 223 } 224 if($(window).width() < 1024){ 225 $('.gva-offcanvas-content ul.gva-mobile-menu > li').removeClass('menu-active'); 226 $('.gva-offcanvas-content ul.gva-mobile-menu .submenu-inner:visible').slideUp('normal'); 227 $(this).parent().find('> .submenu-inner').slideDown(); 228 $(this).closest('li').addClass('menu-active'); 229 } 230 link_id = $(this).attr('data-link_id'); 231 e.preventDefault(); 232 return; 233 }); 234 } 235 }, 236 237 postMasonry: function(){ 238 var $container = $('.post-masonry-style'); 239 $container.imagesLoaded( function(){ 240 $container.masonry({ 241 itemSelector : '.item-masory', 242 gutterWidth: 0, 243 columnWidth: 1, 244 }); 245 }); 246 }, 247 248 scrollTop: function(){ 249 var offset = 300; 250 var duration = 500; 251 252 jQuery(window).scroll(function() { 253 if (jQuery(this).scrollTop() > offset) { 254 jQuery('.return-top').fadeIn(duration); 255 } else { 256 jQuery('.return-top').fadeOut(duration); 257 } 258 }); 259 260 $( document ).on('click', '.return-top', function(event){ 261 event.preventDefault(); 262 jQuery('html, body').animate({scrollTop: 0}, duration); 263 return false; 264 }); 265 }, 266 267 stickyMenu: function(){ 268 if( $('.gv-sticky-menu').length > 0 ){ 269 $( ".gv-sticky-menu" ).wrap( "<div class='gv-sticky-wrapper'></div>" ); 270 271 var headerHeight = $('.gv-sticky-menu').height(); 272 var menu = $('.gv-sticky-wrapper'); 273 274 $(window).on('scroll', function () { 275 if ($(window).scrollTop() > menu.offset().top) { 276 menu.addClass('is-fixed'); 277 menu.css('height', headerHeight); 278 } else { 279 menu.removeClass('is-fixed'); 280 menu.css('height', 'auto'); 281 } 282 }); 283 } 284 }, 285 286 progress_animation: function(){ 287 $("[data-progress-animation]").each(function() { 288 var $this = $(this); 289 $this.appear(function() {
290 var delay = ($this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1); 291 if(delay > 1) $this.css("animation-delay", delay + "ms"); 292 setTimeout(function() { $this.animate({width: $this.attr("data-progress-animation")}, 800);}, delay); 293 }, {accX: 0, accY: -50}); 294 }); 295 }, 296 297 slider: function(){ 298 if($('.n2-ss-slider').length){ 299 $('.n2-ss-slide').each(function(){ 300 $(this).find('.n2-ss-layer').each(function(){ 301 var layer_wrap = $(this); 302 // var delay = layer.data('delay'); 303 // var duration = layer.data('duration'); 304 // var type = 's-animation s__' + layer.data('animation'); 305 layer_wrap.find('.n2-ss-item-content').each(function(){ 306 var layer = $(this); 307 var type = 's-animation s__fadeInUp'; 308 var delay = '0ms'; 309 var duration = '1000ms'; 310 if(layer_wrap.hasClass('delay-1')) delay = '500ms'; 311 if(layer_wrap.hasClass('delay-2')) delay = '1000ms'; 312 if(layer_wrap.hasClass('delay-3')) delay = '1500ms'; 313 if(layer_wrap.hasClass('delay-4')) delay = '2000ms'; 314 if(layer_wrap.hasClass('delay-5')) delay = '2300ms'; 315 if(layer_wrap.hasClass('delay-6')) delay = '2600ms'; 316 layer.css({ 317 'animation-delay': delay, 318 '-webkit-animation-delay': delay, 319 'animation-duration': duration 320 }); 321 layer.addClass(type).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { 322 layer.removeClass(type); 323 }); 324 }); 325 }); 326 }); 327 328 var sliderID = $('.n2-ss-slider').attr('id'); 329 330 _N2.r('#' + sliderID, function(){ 331 var slider = _N2['#' + sliderID]; 332 slider.sliderElement.addEventListener('mainAnimationStart', function(e){ 333 $(this).find('.n2-ss-slide.n2-ss-slide-active').each(function(){ 334 $(this).find('.n2-ss-layer').each(function(){ 335 var layer_wrap = $(this); 336 // var delay = layer.data('delay'); 337 // var duration = layer.data('duration'); 338 // var type = 's-animation s__' + layer.data('animation'); 339 layer_wrap.find('.n2-ss-item-content').each(function(){ 340 var layer = $(this); 341 var type = 's-animation s__fadeInUp'; 342 layer.addClass(type).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { 343 layer.removeClass(type); 344 }); 345 }); 346 }); 347 }); 348 }) 349 }); 350 }; 351 }, 352 353 other: function(){ 354 $('.popup-video').magnificPopup({ 355 type: 'iframe', 356 fixedContentPos: false 357 }); 358 359 $( document ).on( 'click', '.yith-wcwl-add-button.show a', function() { 360 $(this).addClass('loading'); 361 }); 362 363 $(document).on('click', '.gva-search a.control-search', function(){ 364 let _btn = $(this); 365 if(_btn.hasClass('search-open')){ 366 _btn.parents('.gva-search').removeClass('open'); 367 _btn.removeClass('search-open'); 368 }else{ 369 _btn.parents('.gva-search').addClass('open'); 370 _btn.addClass('search-open'); 371 setTimeout(function(){ 372 _btn.parent('.main-search').find('.gva-search input.input-search').first().focus(); 373 }, 100); 374 } 375 }); 376 377 $(document).on('click', '.mini-cart-header .mini-cart', function(e){ 378 e.preventDefault(); 379 $(this).parent('.mini-cart-inner').addClass('open'); 380 }); 381 $(document).on('click', '.mini-cart-header .minicart-overlay', function(e){ 382 e.preventDefault(); 383 $(this).parent('.mini-cart-inner').removeClass('open'); 384 }); 385 386 $('.scroll-link[href*="#"]:not([href="#"])').click(function() { 387 if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 388 var target = $(this.hash); 389 target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 390 if (target.length) { 391 $('html, body').animate({ 392 scrollTop: target.offset().top - 100 393 }, 1500); 394 return false; 395 } 396 } 397 }); 398 399 $('.constix-post-share.style-2 .btn-control-share').on('click', function(e){
400 e.preventDefault(); 401 var wrapper = $(this).parents('.constix-post-share'); 402 if(wrapper.hasClass('open')){ 403 wrapper.removeClass('open'); 404 }else{ 405 wrapper.addClass('open'); 406 } 407 }); 408 409 $('.gva-portfolio-grid .portfolio-filter').each(function(){ 410 $(this).find('.btn-filter').each(function(){ 411 let _btn = $(this); 412 let filter = _btn.attr('data-filter'); 413 let items = _btn.parents('.gva-portfolio-grid').find('.isotope-items').first(); 414 _btn.find('.count').first().html('[' + items.find('> ' + filter).length + ']'); 415 }); 416 }); 417 418 var scrollToTop = function() { 419 var scrollTo = $('#wp-main-content').offset().top - 100; 420 $('html, body').stop().animate({ 421 scrollTop: scrollTo 422 }, 400); 423 }; 424 } 425 } 426 427 $(window).on('load', function(){ 428 $(document).on('click', '.minicart-close', function(e){ 429 e.preventDefault(); 430 $(this).parents('.cart').removeClass('open'); 431 }) 432 433 if($('.product-single-inner .flex-control-nav').length){ 434 $('.product-single-inner .flex-control-nav').wrap('<div class="swiper-container product-thumbnail-swiper"></div>'); 435 $('.product-single-inner .flex-control-nav').after('<div class="swiper-nav-next"></div><div class="swiper-nav-prev"></div>'); 436 $('.product-single-inner .flex-control-nav').addClass('swiper-wrapper'); 437 $('.product-single-inner .flex-control-nav > li').addClass('swiper-slide'); 438 var swiper = new Swiper('.product-single-inner .product-thumbnail-swiper', { 439 pagination: '.swiper-pagination', 440 slidesPerView: 'auto', 441 paginationClickable: true, 442 spaceBetween: 10, 443 navigation: { 444 nextEl: '.swiper-nav-next', 445 prevEl: '.swiper-nav-prev' 446 }, 447 breakpoints: { 448 0: { 449 slidesPerView: 2 450 }, 451 390: { 452 slidesPerView: 2 453 }, 454 640: { 455 slidesPerView: 3 456 }, 457 768: { 458 slidesPerView: 4 459 }, 460 1024: { 461 slidesPerView: 4 462 }, 463 1400: { 464 slidesPerView: 4, 465 } 466 } 467 }); 468 }; 469 }); 470 471 $(document).ready(function(){ 472 GaviasTheme.init(); 473 }) 474 475})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.