1(function($) { 2 "use strict"; 3 4 function get_cart() { 5 if (window.wc_add_to_cart_params != undefined) { 6 $.post({ 7 url: wc_add_to_cart_params.ajax_url, 8 dataType: 'JSON', 9 data: { 10 action: 'woomenucart_ajax' 11 }, 12 success: function(data, textStatus, XMLHttpRequest) { 13 $('.uncode-cart-dropdown').html(data.cart); 14 if (data != '') { 15 if ($('.uncode-cart .badge, .mobile-shopping-cart .badge').length) { 16 if (data.articles > 0) { 17 $('.uncode-cart .badge, .mobile-shopping-cart .badge').html(data.articles); 18 $('.uncode-cart .badge, .mobile-shopping-cart .badge').show(); 19 } else { 20 $('.uncode-cart .badge, .mobile-shopping-cart .badge').hide(); 21 } 22 } else $('.uncode-cart .cart-icon-container').append('<span class="badge">' + data.articles + '</span>'); //$('.uncode-cart .badge').html(data.articles); 23 } 24 } 25 }); 26 } 27 28 } 29 30 function remove_from_cart() { 31 $(document).on('click', '.uncode-cart-dropdown a.remove', function(e){ 32 33 var $remove = $(this), 34 product_id = $remove.attr("data-product_id"), 35 item_key = $remove.attr("data-item_key"), 36 $li = $remove.parents('.cart-item-list').eq(0).addClass('removing-item').animate({ 37 opacity: .5 38 },150); 39 40 $.post({ 41 dataType: 'json', 42 url: wc_add_to_cart_params.ajax_url, 43 data: { 44 action: "woomenucart_remove_ajax", 45 item_key: item_key 46 }, 47 success: function(html){ 48 $li.slideUp(200, function(){ 49 get_cart(); 50 }); 51 } 52 }); 53 54 return false; 55 }); 56 } 57 58 function change_images(event, variation) { 59 UNCODE.single_product_variation_already_changed = true; 60 if (variation.image_src !== '') { 61 var get_href = $('a.woocommerce-main-image'), 62 $col_bg = $('.uncol-featured-image .background-inner'), 63 image_variable = $('> img', get_href), 64 image_thumb = variation.image.thumb_src, 65 image_srcset = variation.thumb_srcset, 66 getLightbox = UNCODE.lightboxArray[get_href.data('lbox')]; 67 get_href.data('options', "thumbnail: '" + variation.image_src + "'"); 68 image_variable.attr('src', variation.image_src); 69 if (image_variable.hasClass('async-done')) { 70 image_variable.attr('data-path', variation.uncode_image_path); 71 image_variable.attr('data-guid', variation.uncode_image_guid); 72 image_variable.removeClass('async-done').addClass('adaptive-async'); 73 UNCODE.adaptive(); 74 } 75 if (getLightbox != undefined) getLightbox.refresh(); 76 $(window).trigger('focus'); 77 78 if ( $('.woocommerce-product-gallery-nav').length ) { 79 $('.woocommerce-product-gallery-nav .woocommerce-product-gallery__wrapper-nav li.woocommerce-product-gallery__first-thumb img') 80 .attr('src', image_thumb) 81 .attr('srcset', image_srcset); 82 } 83 84 if ( $col_bg.length ) { 85 var objImg = new Image(), 86 bg_img_src; 87 if ( $col_bg.hasClass( 'async-done') ) { 88 bg_img_src = variation.image_link; 89 } else { 90 bg_img_src = variation.image_src; 91 } 92 objImg.src = bg_img_src; 93 objImg.onload = function() { 94 $col_bg.animate({ opacity: 0 }, 100, function(){ 95 $col_bg.css({'background-image':'url('+bg_img_src+')'}); 96 $col_bg.animate({ opacity: 1 }, 250); 97 }); 98 } 99 } 100 } 101 } 102 103 function reset_data(event) { 104 if ( UNCODE.single_product_variation_already_changed ) { 105 var $col_bg = $('.uncol-featured-image .background-inner'), 106 $first_thumb = $('.woocommerce-product-gallery__first-thumb img'), 107 bg_img_src, 108 bg_img_srcset, 109 objImg = new Image(); 110 111 if ( $col_bg.length ) { 112 bg_img_src = $col_bg.attr('data-o_src'); 113 objImg = new Image(); 114 objImg.src = bg_img_src; 115 objImg.onload = function() { 116 $col_bg.animate({ opacity: 0 }, 100, function(){ 117 $col_bg.css({'background-image':'url('+bg_img_src+')'}); 118 $col_bg.animate({ opacity: 1 }, 250); 119 }); 120 } 121 } else if ( $first_thumb.length ) { 122 bg_img_src = $first_thumb.attr('data-o_src'); 123 bg_img_srcset = $first_thumb.attr('data-o_srcset'); 124 objImg = new Image(); 125 objImg.src = bg_img_src; 126 objImg.onload = function() { 127 $first_thumb 128 .attr('src', bg_img_src) 129 .attr('srcset', bg_img_srcset); 130 } 131 } 132 } 133 } 134 135 function check_variation_values(event) { 136 var $selects = $(event.currentTarget).find('select'), 137 checkSelectValues = false;
138 $selects.each(function(){ 139 var $select = $(this); 140 if ( $select.val() !== '' ) { 141 checkSelectValues = true; 142 } 143 }); 144 145 if ( checkSelectValues ) { 146 $(event.currentTarget).removeClass('hide-clear'); 147 } else { 148 $(event.currentTarget).addClass('hide-clear'); 149 } 150 } 151 152 function reloadVariations() { 153 remove_from_cart(); 154 $('body').on("added_to_cart wc_fragments_refreshed removed_from_cart", get_cart); 155 $('.variations_form') 156 .on("show_variation", change_images) 157 .on("reset_data", reset_data) 158 .on("check_variations", check_variation_values); 159 } 160 161 $(document).ready(reloadVariations); 162 $(document).on('uncode-quick-view-loaded', reloadVariations); 163 164 function handleRatings() { 165 if ( $('#rating').length ) { 166 setTimeout(function(){ 167 $('.comment-form-rating').each(function(){ 168 var $wrap = $(this), 169 $stars = $('p.stars', $wrap).remove(); 170 $( 'select[name="rating"]', $wrap ).hide().before( '<p class="stars"><span><a class="star-1" href="#">1</a><a class="star-2" href="#">2</a><a class="star-3" href="#">3</a><a class="star-4" href="#">4</a><a class="star-5" href="#">5</a></span></p>' ); 171 }); 172 }, 10); 173 } 174 } 175 176 $(document).ready(handleRatings); 177 $(document).on('vc-uncode_single_product_reviews', handleRatings); 178 179 $(document).on('vc-uncode_single_product_reviews', function(e, el) { 180 if ( el !== 'undefined' ) { 181 var $tabContainer = $(el).closest('.tab-container'); 182 $tabContainer.addClass('wootabs'); 183 } 184 } ); 185 186 var scrollToReviews = function(){ 187 if ( $('.wootabs, .wpb_accordion').length ) { 188 189 var hash = window.location.hash, 190 url = window.location.href, 191 $tabs = $( this ).find( 'ul.nav-tabs' ).first(), 192 $accordion = $( this ).find('.panel-group').first(), 193 scrollAction = false, 194 $tabs_wrapper = $tabs.closest('.wootabs'), 195 $both_wrapper, 196 $li, $panel, $click_trigger = false; 197 198 var scrollToReviewsInside = function( clicked ){ 199 200 if ( $tabs.length && $('#reviews', $tabs_wrapper).length ) { 201 var tab_reviews = $('#reviews', $tabs_wrapper).first().closest('.tab-pane').attr('id'); 202 $('[data-tab-id="' + tab_reviews + '"]', $tabs).addClass('reviews_tab'); 203 $li = $('.reviews_tab', $tabs); 204 $both_wrapper = $tabs_wrapper; 205 $click_trigger = true; 206 } else if ( $accordion.length && $('#reviews', $accordion).length ) { 207 var tab_reviews = $('#reviews', $accordion).first().closest('.tab-pane').attr('id'); 208 $panel = $('#reviews', $accordion).first().closest('.panel'); 209 $li = $('.panel-title', $panel); 210 $both_wrapper = $accordion; 211 $click_trigger = true; 212 } else if ( $('div#reviews').length && clicked ) { 213 $both_wrapper = $('div#reviews'); 214 scrollAction = true; 215 } else { 216 return false; 217 } 218 219 if ( $click_trigger && ( hash.toLowerCase().indexOf( 'comment-' ) >= 0 || hash === '#reviews' || hash === '#tab-reviews' ) ) { 220 $( 'a', $li ).click(); 221 scrollAction = true; 222 } else if ( $click_trigger && ( url.indexOf( 'comment-page-' ) > 0 || url.indexOf( 'cpage=' ) > 0 ) ) { 223 $( 'a', $li ).click(); 224 scrollAction = true; 225 } 226 227 if ( scrollAction ) { 228 var body = $("html, body"), 229 bodyTop = document.documentElement['scrollTop'] || document.body['scrollTop'], 230 delta = bodyTop - ($both_wrapper.length ? $both_wrapper.offset().top : 0), 231 getOffset = UNCODE.get_scroll_offset(); 232 if ( typeof $both_wrapper.offset() === 'undefined' ) 233 return; 234 scrollTo = $both_wrapper.offset().top - 27; 235 scrollTo -= getOffset; 236 237 var scrollSpeed = (SiteParameters.constant_scroll == 'on') ? Math.abs(delta) / parseFloat(SiteParameters.scroll_speed) : SiteParameters.scroll_speed; 238 if (scrollSpeed < 1000 && SiteParameters.constant_scroll == 'on') scrollSpeed = 1000; 239 240 if (scrollSpeed == 0) { 241 body.scrollTop((delta > 0) ? scrollTo - 0.1 : scrollTo); 242 } else { 243 body.animate({ 244 scrollTop: (delta > 0) ? scrollTo - 0.1 : scrollTo 245 }, scrollSpeed, 'easeInOutQuad'); 246 } 247 } else { 248 return false; 249 } 250 }; 251 252 scrollToReviewsInside( false ); 253 254 $('a.woocommerce-review-link').on('click', function(e) { 255 e.preventDefault(); 256 hash = '#reviews'; 257 scrollToReviewsInside( true ); 258 }); 259 260 } 261 } 262 $(document).ready(scrollToReviews); 263 264 var qtyPlusMinus = function(){ 265 $('.qty-inset:not(.qty-inset-active)').each(function(){
266 var $qtyInsets = $(this).addClass('qty-inset-active'), 267 $input = $('input.qty', $qtyInsets), 268 $minus = $('.qty-minus', $qtyInsets), 269 $plus = $('.qty-plus', $qtyInsets), 270 value = parseFloat( $input.val() ); 271 272 if ( isNaN(value) ) { 273 value = 0; 274 $input.val( value ); 275 } 276 277 $minus.on('click', function(){ 278 value = parseFloat( $input.val() ) > 0 ? parseFloat( $input.val() ) -1 : 0; 279 $input.val( value ).trigger( 'change' ); 280 }); 281 282 $plus.on('click', function(){ 283 value = parseFloat( $input.val() ); 284 $input.val( value + 1 ).trigger( 'change' ); 285 }); 286 }); 287 288 window.dispatchEvent(new CustomEvent('vc-resize')); 289 290 }; 291 292 $(document.body).on('updated_cart_totals', qtyPlusMinus); 293 $(document).ready(qtyPlusMinus); 294 $(document).on('vc-frontend:vc_button', qtyPlusMinus); 295 296 var woocommerce_product_gallery = function() { 297 $( 'body:not(.single-uncodeblock) .woocommerce-product-gallery' ).each( function() { 298 299 var $slider = $(this), 300 $parent = $slider.closest('.uncode-wrapper').length ? $slider.closest('.uncode-wrapper') : $slider.closest('.uncont'), 301 cols = parseFloat( $slider.attr('data-columns') ), 302 dots = $parent.attr('data-dots') == 'true', 303 gutter = $parent.length && typeof $parent.attr('data-gutter') !== 'undefined' ? parseFloat( $parent.attr('data-gutter') ) : 18, 304 $main = $('.woocommerce-product-gallery__wrapper', $parent), 305 mainL = $main.find('.woocommerce-product-gallery__image').length, 306 $thumbs = $('.woocommerce-product-gallery__wrapper-nav', $parent), 307 thumbsL = $thumbs.find('li').length; 308 309 if ( mainL > 1 && $slider.hasClass('owl-carousel-wrapper') ) { 310 $main.owlCarousel({ 311 items: 1, 312 autoHeight: true, 313 dots: dots, 314 responsiveRefreshRate: 200, 315 }).on('changed.owl.carousel', function(event) { 316 if (event.namespace && event.property.name === 'position') { 317 var target = event.relatedTarget.relative(event.property.value, true); 318 syncPosition(target); 319 } 320 }); 321 $main.on('translate.owl.carousel', function(event) { 322 $(event.currentTarget).addClass('owl-translating'); 323 }); 324 $main.on('translated.owl.carousel', function(event) { 325 $(event.currentTarget).removeClass('owl-translating'); 326 }); 327 $thumbs.on('initialized.owl.carousel', function(event) { 328 $thumbs.closest('.woocommerce-product-gallery-nav-wrapper').css({ 329 opacity: 1 330 }); 331 }).owlCarousel({ 332 items: cols, 333 margin: gutter, 334 autoHeight: true, 335 nav: true, 336 mouseDrag: cols < thumbsL, 337 navText: ['<div class="owl-nav-container btn-default btn-hover-nobg"><i class="fa fa-fw fa-angle-left"></i></div>', '<div class="owl-nav-container btn-default btn-hover-nobg"><i class="fa fa-fw fa-angle-right"></i></div>'], 338 responsiveRefreshRate: 100, 339 }); 340 $(window).on('load uncode-quick-view-first-hover', function(){ 341 $main.trigger('refresh.owl.carousel'); 342 $thumbs.trigger('refresh.owl.carousel'); 343 }); 344 } 345 346 function syncPosition(target){ 347 var data = $thumbs.data('owl.carousel'); 348 if ( ! $('.owl-item', $thumbs).eq( target ).hasClass('active') ) { 349 $thumbs.owlCarousel( 'to', target, 300, true ); 350 } 351 } 352 353 $thumbs.on( 'click', '.owl-item', function(e){ 354 e.preventDefault(); 355 var number = $(this).index(); 356 $main.owlCarousel( 'to', number, 300, true ); 357 }); 358 359 360 if ($.fn.zoom && $('body').hasClass('wc-zoom-enabled') ) { 361 var $zoomTrgt = $('.woocommerce-product-gallery__image', $slider); 362 363 if ( $('.thumbnails', $slider).length ) 364 $zoomTrgt = $zoomTrgt.first(); 365 366 $zoomTrgt.trigger( 'zoom.destroy' ); 367 $zoomTrgt.zoom(); 368 369 var checkForZoom = function(){ 370 $('.woocommerce-product-gallery__image').each(function(){ 371 var $wrap = $(this), 372 $zoomImg = $('.zoomImg', $wrap); 373 374 if (UNCODE.isMobile || !$zoomImg.length) { 375 $wrap.addClass('mouse-moving'); 376 } 377 }); 378 379 var galleryWidth = $zoomTrgt.width(), 380 zoom_options = { 381 touch: true, 382 callback: function(){ 383 $('.woocommerce-product-gallery__image').each(function(){ 384 var $wrap = $(this), 385 $zoomImg = $('.zoomImg', $wrap), 386 $overZoom = $('.zoom-overlay', $wrap), 387 $imageIL = $('a[data-lbox]', $wrap), 388 $carousel = $wrap.closest('.owl-carousel'); 389 390 $wrap.prepend($zoomImg); 391 if (UNCODE.isMobile || !$zoomImg.length) { 392 $wrap.addClass('mouse-moving'); 393 $zoomImg.css({ 394 'visibility':'hidden' 395 }); 396 } 397 398 /* Make work everything on touch events */ 399 var onlongtouch, 400 timer, 401 now, 402 touchduration = 500, 403 startX = 0, startY, newX, newY; 404 405 $wrap.parent().on('mousemove.zoom', function(){ 406 if ( ! $wrap.hasClass('mouse-moving') ) { 407 if ( startX == 0 ) { 408 startX = event.clientX; 409 startY = event.clientY; 410 } 411 newX = event.clientX; 412 newY = event.clientY; 413 if ( Math.abs( newX - startX ) > 50 && Math.abs( newY - startY ) > 50 ) { 414 $wrap.addClass('mouse-moving'); 415 } 416 } 417 }); 418 419 $overZoom.on('touchstart.zoom', function (e) { 420 now = new Date().getTime(); 421 }).on('touchmove.zoom', function (e) { 422 setTimeout(function(){ 423 $zoomImg.css({ 424 'visibility':'visible' 425 }); 426 }, 100); 427 }).on('touchend.zoom', function (e) { 428 var newTap = new Date().getTime(); 429 if ( newTap - now < 75 && ! $('body').hasClass('ilightbox-noscroll') ) { 430 $imageIL.trigger('itap.iL'); 431 } 432 if (UNCODE.isMobile) { 433 $zoomImg.css({ 434 'visibility':'hidden' 435 }); 436 } 437 }); 438 439 }); 440 } 441 }; 442 443 if ( 'ontouchstart' in window ) { 444 zoom_options.on = 'click'; 445 } 446 447 $zoomTrgt.trigger( 'zoom.destroy' ); 448 $zoomTrgt.each(function(){ 449 var $thisTrgt = $(this), 450 $img = $('img', $thisTrgt); 451 452 if ( $img.data( 'large_image_width' ) > galleryWidth ) { 453 $thisTrgt.zoom(zoom_options); 454 } else { 455 $thisTrgt.trigger( 'zoom.destroy' ); 456 } 457 458 }); 459 }; 460 checkForZoom(); 461 462 var setCheckForZoom; 463 $(window).on( 'resize', function(){ 464 clearTimeout(setCheckForZoom); 465 setCheckForZoom = setTimeout( checkForZoom, 500 ); 466 }); 467 } 468 469 } ); 470 471 $(window).on('unmodal-open', function(){ 472 $('#unmodal-content .woocommerce-product-gallery__image').removeClass('mouse-moving'); 473 }) 474 $(document).on('unmodal-close', function(){ 475 $('#unmodal-content .woocommerce-product-gallery__image').removeClass('mouse-moving'); 476 }) 477 } 478 479 woocommerce_product_gallery(); 480 481 /************************************************************ 482 * Redirect to custom empty cart page 483 ************************************************************/ 484 485 $(document.body).on('wc_cart_emptied', redirect_to_custom_empty_cart); 486 487 function redirect_to_custom_empty_cart() { 488 if (UncodeWCParameters.empty_cart_url !== '') { 489 window.location.replace(UncodeWCParameters.empty_cart_url); 490 } 491 } 492
493 /************************************************************ 494 * Make the variation price inherit the font family from main price 495 ************************************************************/ 496 497 function variation_price_font() { 498 499 var $forms = $('form.variations_form'); 500 501 $forms.each(function(){ 502 var $form = $(this); 503 504 $form.on('woocommerce_variation_has_changed wc_variation_form', function(){ 505 var $var_price = $('.woocommerce-variation-price .woocommerce-Price-amount'), 506 $row = $form.closest('.vc_row'), 507 $main_price = $('.heading-text .woocommerce-Price-amount', $row); 508 509 if ( $main_price.length ) { 510 var $price_wrap = $main_price.closest('.heading-text'), 511 $price_nest = $('> *:first-child', $price_wrap), 512 font_class = $price_nest.attr('class').split(' '), 513 i; 514 515 for ( i = 0; i < font_class.length; i++ ) { 516 if ( font_class[i].indexOf('font') !== -1 && font_class[i].indexOf('fontsize') === -1 ) { 517 $var_price.addClass( font_class[i] ); 518 } 519 } 520 } 521 }); 522 }); 523 } 524 525 $(document).ready(function() { 526 variation_price_font(); 527 }); 528 529 /************************************************************ 530 * Show minicart when adding something 531 ************************************************************/ 532 533 var cartShow, cartHover; 534 535 var minicart_notify = function(){ 536 var $body = $('body'); 537 538 if ( ! $body.hasClass('minicart-notification') ) { 539 return false; 540 } 541 542 var $sidecart = $('#uncode_sidecart'), 543 $miniCart = $('.menu-smart .uncode-cart-dropdown'), 544 $smartMenu = $miniCart.closest('.menu-smart'); 545 546 $miniCart.on('hover', function(){ 547 clearTimeout(cartHover); 548 }); 549 550 var show_added_to_cart = function(e){ 551 clearTimeout(cartShow); 552 clearTimeout(cartHover); 553 554 555 $sidecart.imagesLoaded().done( function( instance ) { 556 setTimeout(function(){ 557 $body.addClass('uncode-sidecart-open'); 558 $(window).trigger('uncode-sidecart-open'); 559 }, 500); 560 }); 561 562 var show_added_to_cart_timeout = function(){ 563 cartShow = setTimeout(function(){ 564 $miniCart.imagesLoaded().done( function( instance ) { 565 $smartMenu.smartmenus('itemActivate', $('.uncode-cart > a')); 566 cartHover = setTimeout(function(){ 567 $smartMenu.smartmenus('menuHideAll'); 568 }, 4000); 569 }); 570 }, 500); 571 }; 572 573 if ( e == 'uncode-wc-added-to-cart' ) { 574 show_added_to_cart_timeout(); 575 } else { 576 $( document.body ).on( 'wc_fragments_loaded', function(){ 577 show_added_to_cart_timeout(); 578 }); 579 } 580 }; 581 $( document.body ).on( 'added_to_cart', show_added_to_cart ); 582 583 $(document).ready(function() { 584 if ( $('body').hasClass('uncode-wc-added-to-cart')) { 585 show_added_to_cart('uncode-wc-added-to-cart'); 586 } 587 }); 588 589 }; 590 591 minicart_notify(); 592 593 /************************************************************ 594 * View Cart Button 595 ************************************************************/ 596 $( document.body ).on( 'wc_cart_button_updated', function(e, $button){ 597 if ( $(document.body).hasClass('minicart-notification') ) { 598 return false; 599 } 600 601 $button 602 .attr('href', wc_add_to_cart_params.cart_url ) 603 .addClass('added_and_noted') 604 .removeClass('ajax_add_to_cart') 605 .find('.added_to_cart') 606 .text( wc_add_to_cart_params.i18n_view_cart ); 607 }); 608 609 /************************************************************ 610 * Side Cart 611 ************************************************************/ 612 var init_sidecart = function(){ 613 var $body = $('body.uncode-sidecart-enabled'); 614 if ( ! $body.length ) { 615 return false; 616 } 617 618 var $cart_icon = $('.mobile-shopping-cart, .uncode-cart.menu-item-link > a'), 619 $sidecart = $('#uncode_sidecart'), 620 $view_cart = $('a.wc-forward:not(.checkout)', $sidecart).removeClass('btn-sm'), 621 $checkout = $('a.checkout', $sidecart).removeClass('btn-sm').addClass('btn-flat'),
622 $overlay = $('#uncode_sidecart_overlay'), 623 $close_cart = $('.close-mini-cart', $sidecart), 624 sidecart_hover = false; 625 626 $cart_icon.on('click', function( e ){ 627 if ( ! ( $(this).closest('.overlay').length && UNCODE.wwidth > UNCODE.mediaQuery ) && ( ! ( $body.hasClass('uncode-sidecart-mobile-disabled') && UNCODE.wwidth <= UNCODE.mediaQuery ) ) ) { 628 e.preventDefault(); 629 e.stopPropagation(); 630 $body.addClass('uncode-sidecart-open'); 631 $(window).trigger('uncode-sidecart-open'); 632 } 633 }); 634 635 $sidecart.on('mouseover',function(){ 636 sidecart_hover = true; 637 }).on('mouseout', function(){ 638 sidecart_hover = false; 639 }); 640 641 $body.on('click', function( e ){ 642 if ( $body.hasClass('uncode-sidecart-open') && !sidecart_hover ) { 643 $body.removeClass('uncode-sidecart-open'); 644 $(window).trigger('uncode-sidecart-closed'); 645 } 646 }); 647 648 $close_cart.on('click', function( e ){ 649 e.preventDefault(); 650 $body.removeClass('uncode-sidecart-open'); 651 $(window).trigger('uncode-sidecart-closed'); 652 }); 653 }; 654 $(document).ready(function(){ 655 init_sidecart(); 656 }); 657 $( document.body ).on("wc_fragments_refreshed added_to_cart removed_from_cart", function(){ 658 init_sidecart(); 659 requestTimeout( init_sidecart, 1 ); 660 }); 661 662 var sidecart_size = function(){ 663 var $body = $('body.uncode-sidecart-enabled'), 664 $widget_cart = $('.widget_shopping_cart_content'), 665 $mini_cart_item = $('.mini_cart_item', $widget_cart); 666 667 if ( $widget_cart.length ) { 668 $mini_cart_item.each(function(){ 669 var $this = $(this), 670 $img_product = $('.attachment-woocommerce_thumbnail', $this), 671 imgH = $img_product.height(); 672 673 $this.css({ 674 'min-height': imgH+6 675 }) 676 677 }); 678 } 679 if ( $body.length ) { 680 681 var $sidecart = $('#uncode_sidecart'), 682 $cart_header = $('.woocommerce-mini-cart-header', $sidecart), 683 headerH = $cart_header.outerHeight(), 684 $cart_footer = $('.woocommerce-mini-cart-footer', $sidecart), 685 footerH = $cart_footer.outerHeight(), 686 $cart_body = $('.woocommerce-mini-cart-body', $sidecart); 687 688 $cart_body.css({ 689 'padding-top':headerH, 690 'padding-bottom':footerH 691 }); 692 693 } 694 }; 695 $(document).ready(function(){ 696 var setCTA; 697 sidecart_size(); 698 requestTimeout(function(){ 699 $(window).on( 'resize', function(){ 700 clearRequestTimeout(setCTA); 701 setCTA = requestTimeout( sidecart_size, 100 ); 702 }); 703 }, 400); 704 }); 705 $( document.body ).on("wc_fragments_refreshed added_to_cart removed_from_cart", function(){ 706 sidecart_size(); 707 requestTimeout( sidecart_size, 1 ); 708 }); 709 710 /************************************************************ 711 * Quick view 712 ************************************************************/ 713 714 var modal_quick_view_content = $('.quick-view-content'); 715 var last_viewed_product_id; 716 717 $(document).off('click', '.quick-view-button').on('click', '.quick-view-button', function() { 718 var _this = $(this); 719 var product_id = _this.data('post-id'); 720 var post_type = _this.data('post-type'); 721 722 if (last_viewed_product_id === product_id && modal_quick_view_content.find('#product-' + product_id).length > 0) { 723 $(document).trigger('uncode-unmodal-show-content'); 724 725 // Re-open the open the modal instead of regenerating it 726 return false; 727 } 728 729 // Empty modal 730 if (modal_quick_view_content.length > 0) { 731 modal_quick_view_content.html(''); 732 } 733 734 // Get quick view content via AJAX 735 $.ajax({ 736 url: woocommerce_params.ajax_url, 737 data: { 738 action: 'uncode_load_ajax_quick_view', 739 post_id: product_id, 740 post_type: post_type, 741 }, 742 type: 'post', 743 error: function(data) { 744 if (SiteParameters.enable_debug == true) { 745 // This console log is disabled by default 746 // So nothing is printed in a typical installation 747 // 748 // It can be enabled for debugging purposes setting 749 // the 'uncode_enable_debug_on_js_scripts' filter to true 750 console.log('AJAX error on quick view response'); 751 } 752 }, 753 success: function(response) { 754 if (response && response.success === false) { 755 if (SiteParameters.enable_debug == true) { 756 // This console log is disabled by default 757 // So nothing is printed in a typical installation 758 // 759 // It can be enabled for debugging purposes setting 760 // the 'uncode_enable_debug_on_js_scripts' filter to true 761 if (response.data.error) { 762 console.log(response.data.error); 763 } else { 764 console.log('Unknown error on quick view response'); 765 } 766 } 767 } else { 768 var html = response.data.html; 769 770 if (modal_quick_view_content.length > 0) { 771 modal_quick_view_content.html(html); 772 } 773 774 last_viewed_product_id = product_id; 775 776 modal_quick_view_content.imagesLoaded().done( function( instance ) { 777 $(document).trigger('uncode-unmodal-show-content'); 778 $(document).trigger('uncode-quick-view-loaded'); 779 window.dispatchEvent(new CustomEvent('uncode-quick-view-loaded')); 780 781 setTimeout(function(){ 782 modal_quick_view_content.one('mousemove', function(){ 783 window.dispatchEvent(new CustomEvent('uncode-quick-view-first-hover')); 784 }); 785 }, 10); 786 }); 787 } 788 } 789 }); 790 791 return false;
792 }); 793 794 $(document).on('uncode-quick-view-loaded', function() { 795 var form_variation = modal_quick_view_content.find('.variations_form'); 796 797 form_variation.each(function() { 798 $(this).wc_variation_form(); 799 }); 800 801 form_variation.trigger('check_variations'); 802 form_variation.trigger('reset_image'); 803 804 if( typeof $.fn.wc_product_gallery !== 'undefined' ) { 805 modal_quick_view_content.find('.woocommerce-product-gallery').each(function(){ 806 $(this).wc_product_gallery(); 807 }); 808 } 809 810 $( '#unmodal-content' ).on( 'change', '.quantity .qty', function() { 811 jQuery( this ).closest('form.cart').find('.add_to_cart_button').attr( 'data-quantity', jQuery( this ).val() ); 812 }); 813 814 woocommerce_product_gallery(); 815 variation_price_font(); 816 qtyPlusMinus(); 817 818 UNCODE.preventDoubleTransition(); 819 UNCODE.utils(); 820 UNCODE.okvideo(); 821 UNCODE.tapHover(); 822 UNCODE.isotopeLayout(); 823 UNCODE.justifiedGallery(); 824 UNCODE.lightbox(); 825 UNCODE.carousel($('body')); 826 UNCODE.lettering(); 827 UNCODE.animations(); 828 UNCODE.stickyElements(); 829 UNCODE.twentytwenty(); 830 UNCODE.disableHoverScroll(); 831 uncode_progress_bar(); 832 UNCODE.filters(); 833 UNCODE.widgets(); 834 835 }); 836})(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.