1 2$j(document).ready(function() { 3 "use strict"; 4 5 $j('.price_slider_wrapper').parents('.widget').addClass('widget_price_filter'); 6 initSelect2(); 7 initAddToCartPlusMinus(); 8 qodeInitProductListMasonryShortcode(); 9 qodeProductPinterestAddedToCartButton(); 10 $j(document).on('qodeAjaxPageLoad', function(){ 11 qodeInitProductListMasonryShortcode(); 12 }); 13}); 14 15function initSelect2() { 16 $j('.woocommerce-ordering .orderby, #calc_shipping_country, #dropdown_product_cat').select2({ 17 minimumResultsForSearch: -1 18 }); 19 $j('.woocommerce-account .country_select').select2(); 20} 21 22function initAddToCartPlusMinus(){ 23 24 $j(document).on( 'click', '.quantity .plus, .quantity .minus', function() { 25 26 // Get values 27 var $qty = $j(this).closest('.quantity').find('.qty'), 28 currentVal = parseFloat( $qty.val() ), 29 max = parseFloat( $qty.attr( 'max' ) ), 30 min = parseFloat( $qty.attr( 'min' ) ), 31 step = $qty.attr( 'step' ); 32 33 // Format values 34 if ( ! currentVal || currentVal === '' || currentVal === 'NaN' ) currentVal = 0; 35 if ( max === '' || max === 'NaN' ) max = ''; 36 if ( min === '' || min === 'NaN' ) min = 0; 37 if ( step === 'any' || step === '' || step === undefined || parseFloat( step ) === 'NaN' ) step = 1; 38 39 // Change the value 40 if ( $j( this ).is( '.plus' ) ) { 41 42 if ( max && ( max == currentVal || currentVal > max ) ) { 43 $qty.val( max ); 44 } else { 45 $qty.val( currentVal + parseFloat( step ) ); 46 } 47 48 } else { 49 50 if ( min && ( min == currentVal || currentVal < min ) ) { 51 $qty.val( min ); 52 } else if ( currentVal > 0 ) { 53 $qty.val( currentVal - parseFloat( step ) ); 54 } 55 } 56 57 // Trigger change event 58 $qty.trigger( 'change' ); 59 }); 60} 61 62/* 63 ** Init Product List Masonry Shortcode Layout 64 */ 65function qodeInitProductListMasonryShortcode() { 66 67 var container = $j('.qode_product_list_masonry_holder_inner, .qode_product_list_pinterest_holder_inner'); 68 69 if(container.length) { 70 container.waitForImages({ 71 finished: function() { 72 setTimeout(function(){ 73 container.isotope({ 74 itemSelector: '.qode_product_list_item', 75 resizable: false, 76 masonry: { 77 columnWidth: '.qode_product_list_sizer', 78 gutter: '.qode_product_list_gutter' 79 } 80 }); 81 container.css('opacity', 1); 82 initParallax(); 83 }, 200); 84 }, 85 waitForAll: true 86 }); 87 } 88} 89 90 91/* 92 ** Add class to view cart button 93 */ 94function qodeProductPinterestAddedToCartButton(){ 95 $j('body').on("added_to_cart", function( data ) { 96 var btn = $j('.qode_product_list_pinterest_holder a.added_to_cart:not(.qbutton)'); 97 btn.addClass('qbutton'); 98 }); 99}
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.