1jQuery(document).ready(function($){ 2 3 // jQuery(document).on('mouseenter', '.add-to-cart-on-hover .dipl_single_woo_product', function(){ 4 // let btnHeight = parseFloat( $(this).find('.dipl-woo-products-add-to-cart-link').innerHeight() ) + 10 + 'px'; 5 // $(this).find('.dipl-woo-products-add-to-cart-link').css('transform','translateY(-' + btnHeight + ')'); 6 // $(this).find('.dipl_single_woo_product_title').css('transform','translateY(-' + btnHeight + ')'); 7 // $(this).find('.dipl_single_woo_product_price').css('transform','translateY(-' + btnHeight + ')'); 8 // $(this).find('.dipl_single_woo_product_thumbnail').css('transform','translateY(-' + btnHeight + ')'); 9 // $(this).find('.dipl_single_woo_product_star_rating').css('transform','translateY(-' + btnHeight + ')'); 10 // $(this).find('.dipl_single_woo_product_quickview_wrapper').css('transform','translateY(-' + btnHeight + ')'); 11 // }); 12 // jQuery(document).on('mouseleave', '.layout1.add-to-cart-on-hover .dipl_single_woo_product', function(){ 13 // $(this).find('.dipl-woo-products-add-to-cart-link').css('transform','translateY(0)'); 14 // $(this).find('.dipl_single_woo_product_title').css('transform','translateY(0)'); 15 // $(this).find('.dipl_single_woo_product_price').css('transform','translateY(0)'); 16 // $(this).find('.dipl_single_woo_product_thumbnail').css('transform','translateY(0)'); 17 // $(this).find('.dipl_single_woo_product_star_rating').css('transform','translateY(0)'); 18 // $(this).find('.dipl_single_woo_product_quickview_wrapper').css('transform','translateY(0)'); 19 // }); 20 21 $('.dipl_woo_products').find('.dipl_single_woo_product').each( function() { 22 if ( $(this).find('.dipl_single_woo_product_add_to_cart').hasClass('dipl_single_woo_product_add_to_cart_on_hover') && ! $(this).hasClass('dipl_product_lightbox_loader') ) { 23 $(this).on( 'mouseenter', function() { 24 let btnHeight = parseFloat( $(this).find('.add_to_cart_inline').innerHeight() ) + 10 + 'px'; 25 $(this).find('.add_to_cart_inline').css('transform','translateY(-' + btnHeight + ')'); 26 $(this).find('.dipl_single_woo_product_title').css('transform','translateY(-' + btnHeight + ')'); 27 $(this).find('.dipl_single_woo_product_price').css('transform','translateY(-' + btnHeight + ')'); 28 $(this).find('.dipl_single_woo_product_thumbnail').css('transform','translateY(-' + btnHeight + ')'); 29 $(this).find('.dipl_single_woo_product_star_rating').css('transform','translateY(-' + btnHeight + ')'); 30 $(this).find('.dipl_single_woo_product_quickview_wrapper').css('transform','translateY(-' + btnHeight + ')'); 31 } ); 32 $(this).on( 'mouseleave', function() { 33 $(this).find('.add_to_cart_inline').css('transform','translateY(0)'); 34 $(this).find('.dipl_single_woo_product_title').css('transform','translateY(0)'); 35 $(this).find('.dipl_single_woo_product_price').css('transform','translateY(0)'); 36 $(this).find('.dipl_single_woo_product_thumbnail').css('transform','translateY(0)'); 37 $(this).find('.dipl_single_woo_product_star_rating').css('transform','translateY(0)'); 38 $(this).find('.dipl_single_woo_product_quickview_wrapper').css('transform','translateY(0)'); 39 } ); 40 } 41 } ); 42 43 jQuery(document).on( 'change', 'select.orderby', function() { 44 $( this ).closest( 'form' ).trigger( 'submit' ); 45 } ); 46 47 jQuery(document).on( 'click', 'a.page-numbers', function(e) { 48 event.preventDefault(); 49 let parent = $(this).closest('.dipl_woo_products'); 50 51 let $props = parent.find('.woocommerce').data(), 52 $category = $(this).data('term_id'), 53 $queryVars = diplGetQueryVars(), 54 url = event.target.href, 55 page = parseInt( getParameterByName( 'dipl_woo_products_page', url ) ); 56 57 let diplWooProductsNonce = $('body').find('.dipl_woo_products_nonce').val(); 58 if ( ! dipl_validate_script( diplWooProductsNonce ) || ! dipl_validate_html( diplWooProductsNonce ) ) { 59 return false; 60 } 61 62 if ( '' !== page && page > 0 ) { 63 $props['page'] = page; 64 } else { 65 $props['page'] = 1; 66 } 67 68 parent.fadeTo( '100', 0.2 ); 69 $.ajax({ 70 type: 'POST', 71 url: DiviPlusFrontendData.ajaxurl, 72 data: { 73 action: 'dipl_woo_products_pagination', 74 dipl_get_woo_products_nonce: diplWooProductsNonce, 75 props: $props, 76 query_vars: $queryVars 77 }, 78 success: function(response) { 79 if ( response.success ) { 80 if ( parent.find('.et_pb_module_inner').length > 0 ) { 81 parent.find('.et_pb_module_inner').html( response.content ); 82 } else { 83 parent.html( response.content ); 84 } 85 parent.fadeTo( '100', 1 ); 86 } 87 88 $('.dipl_woo_products').each( function(){
89 let $this = $(this); 90 dipl_init_masonry( $this ); 91 } ); 92 93 let topHeaderHeight = 0, 94 mainHeaderHeight = 0, 95 tbHeaderHeight = 0; 96 if ( $('body').find('#top-header').length > 0 && $('body').hasClass('et_fixed_nav') ) { 97 topHeaderHeight = parseFloat( $('#top-header').innerHeight() ); 98 } 99 if ( $('body').find('#main-header').length > 0 && $('body').hasClass('et_fixed_nav') ) { 100 mainHeaderHeight = parseFloat( $('#main-header').innerHeight() ); 101 } 102 if ( $('body').find('.et-l--header').length > 0 && $('body').find('.et-l--header .et_builder_inner_content').hasClass('has_et_pb_sticky') ) { 103 tbHeaderHeight = parseFloat( $('.et-l--header').innerHeight() ); 104 } 105 let headerHeight = topHeaderHeight + mainHeaderHeight + tbHeaderHeight + 50; 106 $( 'html, body' ).animate( { 107 scrollTop: ( parent.offset().top - headerHeight ) 108 } ); 109 } 110 } ); 111 } ); 112 113 jQuery(document).on('click', '.dipl_woo_products .dipl_single_woo_product_quickview', function(e){ 114 e.preventDefault(); 115 116 let $this = $(this), 117 parent = $(this).closest('.dipl_woo_products .woocommerce'), 118 data = parent.data('args'), 119 $props = $this.data(); 120 121 $this.closest('li.product').addClass('dipl_product_lightbox_loader'); 122 123 let diplWooProductsNonce = $('body').find('.dipl_woo_products_nonce').val(); 124 if ( ! dipl_validate_script( diplWooProductsNonce ) || ! dipl_validate_html( diplWooProductsNonce ) ) { 125 return false; 126 } 127 128 data.action = 'dipl_get_product_page'; 129 data.dipl_product_popup_nonce = diplWooProductsNonce; 130 data.props = $props; 131 132 $.ajax( { 133 type: 'POST', 134 url: DiviPlusFrontendData.ajaxurl, 135 data: data, 136 success: function(response) { 137 138 $orderClass = $this.closest('.dipl_woo_products').prop('class').match(/(dipl_woo_products\_[^\s]*)/)[0] + '_lightbox'; 139 if ( $('body').hasClass('et-tb-has-template') ) { 140 if ( $orderClass.includes('_tb_header') ) { 141 $prependTo = $('body').find('#page-container').find('#et-boc .et-l--header'); 142 } else if ( $orderClass.includes('_tb_body') ) { 143 $prependTo = $('body').find('#page-container').find('#et-boc .et-l--body'); 144 } else if ( $orderClass.includes('_tb_footer') ) { 145 $prependTo = $('body').find('#page-container').find('#et-boc .et-l--footer'); 146 } 147 } 148 149 if ( response.success ) { 150 $.magnificPopup.open({ 151 preloader: true, 152 items: { 153 src: $(response.content), 154 type: 'inline' 155 }, 156 closeOnContentClick: false, 157 closeBtnInside: false, 158 mainClass: 'dipl_product_lightbox woocommerce single-product ' + $orderClass, 159 callbacks: { 160 open: function () { 161 162 const iconPlacement = data.quickViewAddToCartIconPlacement, 163 iconPlacementClass = ( 'right' === iconPlacement ) ? 'icon-placement-right' : 'icon-placement-left';; 164 165 $this.closest('li.product').removeClass('dipl_product_lightbox_loader'); 166 if ( typeof wc_add_to_cart_variation_params !== 'undefined' ) { 167 var form_variation = jQuery( $orderClass ).find( '.variations_form' ); 168 form_variation.each( function () { 169 jQuery( this ).wc_variation_form(); 170 } ); 171 } 172 jQuery( '.woocommerce-product-gallery' ).each( function() { 173 jQuery( this ).trigger( 'wc-product-gallery-before-init', [ this, wc_single_product_params ] ); 174 jQuery( this ).wc_product_gallery( wc_single_product_params ); 175 jQuery( this ).trigger( 'wc-product-gallery-after-init', [ this, wc_single_product_params ] ); 176 } ); 177 } 178 }, 179 } ); 180 } 181 } 182 }); 183 } ); 184 185 $( '.dipl_woo_products' ).each( function() { 186 let $this = $(this); 187 dipl_init_masonry( $this ); 188 } ); 189} ); 190 191function dipl_init_masonry( elObj ) { 192 let $masonry = ''; 193 if ( elObj.find('.dipl_woo_products_isotope_container').length > 0 ) { 194 $masonry = elObj.find( '.dipl_woo_products_isotope_container' ).isotope( { 195 itemSelector: '.dipl_woo_products_isotope_item', 196 layoutMode: 'masonry', 197 percentPosition: true, 198 resize: true, 199 masonry: { 200 columnWidth: '.dipl_woo_products_isotope_item',
201 gutter: '.dipl_woo_products_isotope_item_gutter' 202 } 203 } ); 204 $masonry.imagesLoaded( function() { 205 $masonry.isotope( 'layout' ); 206 } ); 207 } 208} 209 210function diplGetQueryVars() { 211 let $vars = {}, 212 $hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'), 213 $hash; 214 215 for ( let i = 0; i < $hashes.length; i++ ) { 216 $hash = $hashes[i].split('='); 217 $vars[$hash[0]] = $hash[1]; 218 } 219 220 return $vars; 221} 222 223function dipl_validate_script(pass) { 224 var filter = /<script>/i; 225 if ( filter.test(pass) ) { 226 return false; 227 } else { 228 return true; 229 } 230} 231 232/* HTML Vadlidation */ 233function dipl_validate_html(pass) { 234 var filter = /</; 235 if ( filter.test(pass) ) { 236 return false; 237 } else { 238 return true; 239 } 240} 241 242function getParameterByName( name, url = window.location.href ) { 243 name = name.replace( /[\[\]]/g, '\\$&' ); 244 245 var regex = new RegExp( '[?&]' + name + '(=([^&#]*)|&|#|$)' ), 246 results = regex.exec( url ); 247 248 if ( ! results) { 249 return null; 250 } 251 if ( ! results[2]) { 252 return ''; 253 } 254 255 return decodeURIComponent( results[2].replace( /\+/g, ' ' ) ); 256}
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.