From 172a34a9b93edca670e0b5c8482303850f0be8f8 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 2 Dec 2011 11:43:15 +0000 Subject: [PATCH] Broke up scripts and made jquery ui optional --- admin/admin-settings.php | 2 +- assets/js/price_slider.js | 54 +++++++++++++++++++++++++++++++++ assets/js/price_slider.min.js | 1 + assets/js/woocommerce.js | 49 ------------------------------ assets/js/woocommerce.min.js | 2 +- widgets/widget-price_filter.php | 18 ++++++++--- woocommerce.php | 18 ++++++++--- 7 files changed, 83 insertions(+), 61 deletions(-) create mode 100644 assets/js/price_slider.js create mode 100644 assets/js/price_slider.min.js diff --git a/admin/admin-settings.php b/admin/admin-settings.php index f342d7c3816..d14c14dcf3b 100644 --- a/admin/admin-settings.php +++ b/admin/admin-settings.php @@ -198,7 +198,7 @@ $woocommerce_settings['general'] = apply_filters('woocommerce_general_settings', ), array( - 'desc' => __( 'Output JavaScript in the footer (wp_footer)', 'woothemes' ), + 'desc' => __( 'Output WooCommerce JavaScript in the footer (wp_footer)', 'woothemes' ), 'id' => 'woocommerce_scripts_position', 'std' => 'yes', 'type' => 'checkbox', diff --git a/assets/js/price_slider.js b/assets/js/price_slider.js new file mode 100644 index 00000000000..28ad86c5d53 --- /dev/null +++ b/assets/js/price_slider.js @@ -0,0 +1,54 @@ +jQuery(document).ready(function($) { + + // Get markup ready for slider + $('input#min_price, input#max_price').hide(); + $('.price_slider, .price_label').show(); + + // Price slider uses jquery ui + var min_price = $('.price_slider_amount #min_price').attr('data-min'); + var max_price = $('.price_slider_amount #max_price').attr('data-max'); + + current_min_price = parseInt(min_price); + current_max_price = parseInt(max_price); + + if (woocommerce_price_slider_params.min_price) current_min_price = parseInt(woocommerce_price_slider_params.min_price); + if (woocommerce_price_slider_params.max_price) current_max_price = parseInt(woocommerce_price_slider_params.max_price); + + $('.price_slider').slider({ + range: true, + animate: true, + min: min_price, + max: max_price, + values: [current_min_price,current_max_price], + create : function( event, ui ) { + + if (woocommerce_price_slider_params.currency_pos == "left"){ + $( ".price_slider_amount span" ).html( woocommerce_price_slider_params.currency_symbol + current_min_price + " - " + woocommerce_price_slider_params.currency_symbol + current_max_price ); + } else if (woocommerce_price_slider_params.currency_pos == "left_space") { + $( ".price_slider_amount span" ).html( woocommerce_price_slider_params.currency_symbol + " " + current_min_price + " - " + woocommerce_price_slider_params.currency_symbol + " " + current_max_price ); + } else if (woocommerce_price_slider_params.currency_pos == "right") { + $( ".price_slider_amount span" ).html( current_min_price + woocommerce_price_slider_params.currency_symbol + " - " + current_max_price + woocommerce_price_slider_params.currency_symbol ); + } else if (woocommerce_price_slider_params.currency_pos == "right_space") { + $( ".price_slider_amount span" ).html( current_min_price + " " + woocommerce_price_slider_params.currency_symbol + " - " + current_max_price + " " + woocommerce_price_slider_params.currency_symbol ); + } + + $( ".price_slider_amount #min_price" ).val(current_min_price); + $( ".price_slider_amount #max_price" ).val(current_max_price); + }, + slide: function( event, ui ) { + + if (woocommerce_price_slider_params.currency_pos == "left"){ + $( ".price_slider_amount span" ).html( woocommerce_price_slider_params.currency_symbol + ui.values[ 0 ] + " - " + woocommerce_price_slider_params.currency_symbol + ui.values[ 1 ] ); + } else if (woocommerce_price_slider_params.currency_pos == "left_space") { + $( ".price_slider_amount span" ).html( woocommerce_price_slider_params.currency_symbol + " " + ui.values[ 0 ] + " - " + woocommerce_price_slider_params.currency_symbol + " " + ui.values[ 1 ] ); + } else if (woocommerce_price_slider_params.currency_pos == "right") { + $( ".price_slider_amount span" ).html( ui.values[ 0 ] + woocommerce_price_slider_params.currency_symbol + " - " + ui.values[ 1 ] + woocommerce_price_slider_params.currency_symbol ); + } else if (woocommerce_price_slider_params.currency_pos == "right_space") { + $( ".price_slider_amount span" ).html( ui.values[ 0 ] + " " + woocommerce_price_slider_params.currency_symbol + " - " + ui.values[ 1 ] + " " + woocommerce_price_slider_params.currency_symbol ); + } + $( "input#min_price" ).val(ui.values[ 0 ]); + $( "input#max_price" ).val(ui.values[ 1 ]); + } + }); + +}); \ No newline at end of file diff --git a/assets/js/price_slider.min.js b/assets/js/price_slider.min.js new file mode 100644 index 00000000000..8981a9a9c08 --- /dev/null +++ b/assets/js/price_slider.min.js @@ -0,0 +1 @@ +jQuery(document).ready(function(b){b("input#min_price, input#max_price").hide();b(".price_slider, .price_label").show();var a=b(".price_slider_amount #min_price").attr("data-min");var c=b(".price_slider_amount #max_price").attr("data-max");current_min_price=parseInt(a);current_max_price=parseInt(c);if(woocommerce_price_slider_params.min_price){current_min_price=parseInt(woocommerce_price_slider_params.min_price)}if(woocommerce_price_slider_params.max_price){current_max_price=parseInt(woocommerce_price_slider_params.max_price)}b(".price_slider").slider({range:true,animate:true,min:a,max:c,values:[current_min_price,current_max_price],create:function(d,e){if(woocommerce_price_slider_params.currency_pos=="left"){b(".price_slider_amount span").html(woocommerce_price_slider_params.currency_symbol+current_min_price+" - "+woocommerce_price_slider_params.currency_symbol+current_max_price)}else{if(woocommerce_price_slider_params.currency_pos=="left_space"){b(".price_slider_amount span").html(woocommerce_price_slider_params.currency_symbol+" "+current_min_price+" - "+woocommerce_price_slider_params.currency_symbol+" "+current_max_price)}else{if(woocommerce_price_slider_params.currency_pos=="right"){b(".price_slider_amount span").html(current_min_price+woocommerce_price_slider_params.currency_symbol+" - "+current_max_price+woocommerce_price_slider_params.currency_symbol)}else{if(woocommerce_price_slider_params.currency_pos=="right_space"){b(".price_slider_amount span").html(current_min_price+" "+woocommerce_price_slider_params.currency_symbol+" - "+current_max_price+" "+woocommerce_price_slider_params.currency_symbol)}}}}b(".price_slider_amount #min_price").val(current_min_price);b(".price_slider_amount #max_price").val(current_max_price)},slide:function(d,e){if(woocommerce_price_slider_params.currency_pos=="left"){b(".price_slider_amount span").html(woocommerce_price_slider_params.currency_symbol+e.values[0]+" - "+woocommerce_price_slider_params.currency_symbol+e.values[1])}else{if(woocommerce_price_slider_params.currency_pos=="left_space"){b(".price_slider_amount span").html(woocommerce_price_slider_params.currency_symbol+" "+e.values[0]+" - "+woocommerce_price_slider_params.currency_symbol+" "+e.values[1])}else{if(woocommerce_price_slider_params.currency_pos=="right"){b(".price_slider_amount span").html(e.values[0]+woocommerce_price_slider_params.currency_symbol+" - "+e.values[1]+woocommerce_price_slider_params.currency_symbol)}else{if(woocommerce_price_slider_params.currency_pos=="right_space"){b(".price_slider_amount span").html(e.values[0]+" "+woocommerce_price_slider_params.currency_symbol+" - "+e.values[1]+" "+woocommerce_price_slider_params.currency_symbol)}}}}b("input#min_price").val(e.values[0]);b("input#max_price").val(e.values[1])}})}); \ No newline at end of file diff --git a/assets/js/woocommerce.js b/assets/js/woocommerce.js index 542f4fa2316..ddf7916aa6e 100755 --- a/assets/js/woocommerce.js +++ b/assets/js/woocommerce.js @@ -120,56 +120,7 @@ jQuery(document).ready(function($) { $star.addClass('active'); return false; }); - - // Price slider (only if jquery UI exists) - if ($.slider) { - var min_price = $('.price_slider_amount #min_price').val(); - var max_price = $('.price_slider_amount #max_price').val(); - - current_min_price = parseInt(min_price); - current_max_price = parseInt(max_price); - - if (woocommerce_params.min_price) current_min_price = parseInt(woocommerce_params.min_price); - if (woocommerce_params.max_price) current_max_price = parseInt(woocommerce_params.max_price); - - $('.price_slider').slider({ - range: true, - animate: true, - min: min_price, - max: max_price, - values: [current_min_price,current_max_price], - create : function( event, ui ) { - if (woocommerce_params.currency_pos == "left"){ - $( ".price_slider_amount span" ).html( woocommerce_params.currency_symbol + current_min_price + " - " + woocommerce_params.currency_symbol + current_max_price ); - } else if (woocommerce_params.currency_pos == "left_space") { - $( ".price_slider_amount span" ).html( woocommerce_params.currency_symbol + " " + current_min_price + " - " + woocommerce_params.currency_symbol + " " + current_max_price ); - } else if (woocommerce_params.currency_pos == "right") { - $( ".price_slider_amount span" ).html( current_min_price + woocommerce_params.currency_symbol + " - " + current_max_price + woocommerce_params.currency_symbol ); - } else if (woocommerce_params.currency_pos == "right_space") { - $( ".price_slider_amount span" ).html( current_min_price + " " + woocommerce_params.currency_symbol + " - " + current_max_price + " " + woocommerce_params.currency_symbol ); - } - - $( ".price_slider_amount #min_price" ).val(current_min_price); - $( ".price_slider_amount #max_price" ).val(current_max_price); - }, - slide: function( event, ui ) { - - if (woocommerce_params.currency_pos == "left"){ - $( ".price_slider_amount span" ).html( woocommerce_params.currency_symbol + ui.values[ 0 ] + " - " + woocommerce_params.currency_symbol + ui.values[ 1 ] ); - } else if (woocommerce_params.currency_pos == "left_space") { - $( ".price_slider_amount span" ).html( woocommerce_params.currency_symbol + " " + ui.values[ 0 ] + " - " + woocommerce_params.currency_symbol + " " + ui.values[ 1 ] ); - } else if (woocommerce_params.currency_pos == "right") { - $( ".price_slider_amount span" ).html( ui.values[ 0 ] + woocommerce_params.currency_symbol + " - " + ui.values[ 1 ] + woocommerce_params.currency_symbol ); - } else if (woocommerce_params.currency_pos == "right_space") { - $( ".price_slider_amount span" ).html( ui.values[ 0 ] + " " + woocommerce_params.currency_symbol + " - " + ui.values[ 1 ] + " " + woocommerce_params.currency_symbol ); - } - $( "input#min_price" ).val(ui.values[ 0 ]); - $( "input#max_price" ).val(ui.values[ 1 ]); - } - }); - } - // Quantity buttons $("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass('buttons_added').append('').prepend(''); diff --git a/assets/js/woocommerce.min.js b/assets/js/woocommerce.min.js index a2d2f3db099..8408ee5624e 100644 --- a/assets/js/woocommerce.min.js +++ b/assets/js/woocommerce.min.js @@ -1 +1 @@ -jQuery(document).ready(function(f){if(woocommerce_params.option_ajax_add_to_cart=="yes"){f(".add_to_cart_button").live("click",function(){var n=f(this);if(n.is(".product_type_simple, .product_type_downloadable, .product_type_virtual")){if(!f(n).attr("data-product_id")){return true}f(n).addClass("loading");var o={action:"woocommerce_add_to_cart",product_id:f(n).attr("data-product_id"),security:woocommerce_params.add_to_cart_nonce};f("body").trigger("adding_to_cart");f.post(woocommerce_params.ajax_url,o,function(p){f(n).removeClass("loading");o=f.parseJSON(p);if(o.error){alert(o.error);return}fragments=o;if(fragments){f.each(fragments,function(q,r){f(q).addClass("updating")})}f(".widget_shopping_cart, .shop_table.cart, .updating, .cart_totals").fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});f(n).addClass("added");if(f(".widget_shopping_cart").size()>0){f(".widget_shopping_cart:eq(0)").load(window.location+" .widget_shopping_cart:eq(0) > *",function(){if(fragments){f.each(fragments,function(q,r){f(q).replaceWith(r)})}f(".widget_shopping_cart, .updating").css("opacity","1").unblock()})}else{if(fragments){f.each(fragments,function(q,r){f(q).replaceWith(r)})}f(".widget_shopping_cart, .updating").css("opacity","1").unblock()}f(".shop_table.cart").load(window.location+" .shop_table.cart:eq(0) > *",function(){f("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');f(".shop_table.cart").css("opacity","1").unblock()});f(".cart_totals").load(window.location+" .cart_totals:eq(0) > *",function(){f(".cart_totals").css("opacity","1").unblock()});f("body").trigger("added_to_cart")});return false}else{return true}})}f("select.orderby").change(function(){f(this).closest("form").submit()});f("#rating").hide().before('

12345

');f("p.stars a").click(function(){var n=f(this);f("#rating").val(n.text());f("p.stars a").removeClass("active");n.addClass("active");return false});if(f.slider){var i=f(".price_slider_amount #min_price").val();var d=f(".price_slider_amount #max_price").val();current_min_price=parseInt(i);current_max_price=parseInt(d);if(woocommerce_params.min_price){current_min_price=parseInt(woocommerce_params.min_price)}if(woocommerce_params.max_price){current_max_price=parseInt(woocommerce_params.max_price)}f(".price_slider").slider({range:true,animate:true,min:i,max:d,values:[current_min_price,current_max_price],create:function(n,o){if(woocommerce_params.currency_pos=="left"){f(".price_slider_amount span").html(woocommerce_params.currency_symbol+current_min_price+" - "+woocommerce_params.currency_symbol+current_max_price)}else{if(woocommerce_params.currency_pos=="left_space"){f(".price_slider_amount span").html(woocommerce_params.currency_symbol+" "+current_min_price+" - "+woocommerce_params.currency_symbol+" "+current_max_price)}else{if(woocommerce_params.currency_pos=="right"){f(".price_slider_amount span").html(current_min_price+woocommerce_params.currency_symbol+" - "+current_max_price+woocommerce_params.currency_symbol)}else{if(woocommerce_params.currency_pos=="right_space"){f(".price_slider_amount span").html(current_min_price+" "+woocommerce_params.currency_symbol+" - "+current_max_price+" "+woocommerce_params.currency_symbol)}}}}f(".price_slider_amount #min_price").val(current_min_price);f(".price_slider_amount #max_price").val(current_max_price)},slide:function(n,o){if(woocommerce_params.currency_pos=="left"){f(".price_slider_amount span").html(woocommerce_params.currency_symbol+o.values[0]+" - "+woocommerce_params.currency_symbol+o.values[1])}else{if(woocommerce_params.currency_pos=="left_space"){f(".price_slider_amount span").html(woocommerce_params.currency_symbol+" "+o.values[0]+" - "+woocommerce_params.currency_symbol+" "+o.values[1])}else{if(woocommerce_params.currency_pos=="right"){f(".price_slider_amount span").html(o.values[0]+woocommerce_params.currency_symbol+" - "+o.values[1]+woocommerce_params.currency_symbol)}else{if(woocommerce_params.currency_pos=="right_space"){f(".price_slider_amount span").html(o.values[0]+" "+woocommerce_params.currency_symbol+" - "+o.values[1]+" "+woocommerce_params.currency_symbol)}}}}f("input#min_price").val(o.values[0]);f("input#max_price").val(o.values[1])}})}f("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');f(".plus").live("click",function(){var n=parseInt(f(this).prev(".qty").val());if(!n||n==""||n=="NaN"){n=0}f(this).prev(".qty").val(n+1)});f(".minus").live("click",function(){var n=parseInt(f(this).next(".qty").val());if(!n||n==""||n=="NaN"){n=1}if(n>0){f(this).next(".qty").val(n-1)}});var b=woocommerce_params.countries.replace(/"/g,'"');var k=f.parseJSON(b);f("select.country_to_state").change(function(){var t=f(this).val();var q=f("#"+f(this).attr("rel"));var u=f(q).attr("name");var p=f(q).attr("id");var s=f(q).val();if(k[t]){var o="";var r=k[t];for(var n in r){o=o+'"}if(f(q).is("input")){f(q).replaceWith('');q=f("#"+f(this).attr("rel"))}f(q).html('"+o);f(q).val(s)}else{if(f(q).is("select")){f(q).replaceWith('')}}}).change();f("div.woocommerce_tabs .panel").hide();f("div.woocommerce_tabs ul.tabs li a").click(function(){var o=f(this);var n=tab.closest("div.woocommerce_tabs");f("ul.tabs li",n).removeClass("active");f("div.panel",n).hide();f("div"+o.attr("href")).show();o.parent().addClass("active");return false});f("div.woocommerce_tabs").each(function(){var n=window.location.hash;if(n.toLowerCase().indexOf("comment-")>=0){f("ul.tabs li.reviews_tab a",f(this)).click()}else{f("ul.tabs li:first a",f(this)).click()}});f(".shipping-calculator-form").hide();f(".shipping-calculator-button").click(function(){f(".shipping-calculator-form").slideToggle("slow");return false});function a(r,q){var n=true;for(name in r){var p=r[name];var o=q[name];if(p.length!=0&&o.length!=0&&p!=o){n=false}}return n}function m(p){var r=[];for(var o=0;o").html(p).text();p=p.replace(/'/g,"\\'");p=p.replace(/"/g,'\\"');current_attr_select.find('option[value="'+p+'"]').removeAttr("disabled")}else{current_attr_select.find("option").removeAttr("disabled")}}}}})}function g(p){var n=f("div.images img:eq(0)");var t=f("div.images a.zoom:eq(0)");var s=f(n).attr("original-src");var r=f(t).attr("original-href");var q=p.image_src;var o=p.image_link;f(".variations_button").show();f(".single_variation").html(p.price_html+p.availability_html);if(!s){f(n).attr("original-src",f(n).attr("src"))}if(!r){f(t).attr("original-href",f(t).attr("href"))}if(q&&q.length>1){f(n).attr("src",q);f(t).attr("href",o)}else{f(n).attr("src",s);f(t).attr("href",r)}f(".single_variation_wrap").slideDown("200").trigger("variationWrapShown")}function c(o){var n=true;var q={};f(".variations select").each(function(){if(o&&f(this).attr("name")==o){n=false;q[f(this).attr("name")]=""}else{if(f(this).val().length==0){n=false}value=f(this).val().replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">");q[f(this).attr("name")]=value}});var r=m(q);if(n){var p=r.pop();if(p){f("form input[name=variation_id]").val(p.variation_id);g(p)}else{f(".variations select").val("")}}else{h(r)}}f(".variations select").change(function(){f("form input[name=variation_id]").val("");f(".single_variation_wrap").hide();f(".single_variation").text("");c();f(this).blur();if(f().uniform&&f.isFunction(f.uniform.update)){f.uniform.update()}}).focus(function(){c(f(this).attr("name"))}).change();if(woocommerce_params.is_cart==1){f("select#shipping_method").live("change",function(){var o=f("#shipping_method").val();f("div.cart_totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});var n={action:"woocommerce_update_shipping_method",security:woocommerce_params.update_shipping_method_nonce,shipping_method:o};f.post(woocommerce_params.ajax_url,n,function(p){f("div.cart_totals").replaceWith(p)})})}if(woocommerce_params.is_checkout==1||woocommerce_params.is_pay_page==1){var l;var j;function e(){if(j){j.abort()}var u=f("#shipping_method").val();var t=f("#billing_country").val();var r=f("#billing_state").val();var n=f("input#billing_postcode").val();if(f("#shiptobilling input").is(":checked")||f("#shiptobilling input").size()==0){var o=f("#billing_country").val();var q=f("#billing_state").val();var s=f("input#billing_postcode").val()}else{var o=f("#shipping_country").val();var q=f("#shipping_state").val();var s=f("input#shipping_postcode").val()}f("#order_methods, #order_review").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});var p={action:"woocommerce_update_order_review",security:woocommerce_params.update_order_review_nonce,shipping_method:u,country:t,state:r,postcode:n,s_country:o,s_state:q,s_postcode:s,post_data:f("form.checkout").serialize()};j=f.ajax({type:"POST",url:woocommerce_params.ajax_url,data:p,success:function(v){f("#order_methods, #order_review").remove();f("#order_review_heading").after(v);f("#order_review input[name=payment_method]:checked").click()}})}f("p.password, form.login, div.shipping_address").hide();f("input.show_password").change(function(){f("p.password").slideToggle()});f("a.showlogin").click(function(){f("form.login").slideToggle();return false});f("#shiptobilling input").change(function(){f("div.shipping_address").hide();if(!f(this).is(":checked")){f("div.shipping_address").slideDown()}}).change();if(woocommerce_params.option_guest_checkout=="yes"){f("div.create-account").hide();f("input#createaccount").change(function(){f("div.create-account").hide();if(f(this).is(":checked")){f("div.create-account").slideDown()}}).change()}f(".payment_methods input.input-radio").live("click",function(){f("div.payment_box").hide();if(f(this).is(":checked")){f("div.payment_box."+f(this).attr("ID")).slideDown()}});f("#order_review input[name=payment_method]:checked").click();f("#shipping_method").live("change",function(){clearTimeout(l);e()});f("input#billing_country, input#billing_state, #billing_postcode, input#shipping_country, input#shipping_state, #shipping_postcode").live("keydown",function(){clearTimeout(l);l=setTimeout("update_checkout()","1000")});f("select#billing_country, select#billing_state, select#shipping_country, select#shipping_state, #shiptobilling input, .update_totals_on_change").live("change",function(){clearTimeout(l);e()});if(woocommerce_params.is_checkout==1){e()}f("form.checkout").submit(function(){var n=f(this);if(n.is(".processing")){return false}n.addClass("processing").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});f.ajax({type:"POST",url:woocommerce_params.checkout_url,data:n.serialize(),success:function(p){f(".woocommerce_error, .woocommerce_message").remove();try{success=f.parseJSON(p);window.location=decodeURI(success.redirect)}catch(o){n.prepend(p);n.removeClass("processing").unblock();f("html, body").animate({scrollTop:(f("form.checkout").offset().top-100)},1000)}},dataType:"html"});return false})}}); \ No newline at end of file +jQuery(document).ready(function(e){if(woocommerce_params.option_ajax_add_to_cart=="yes"){e(".add_to_cart_button").live("click",function(){var l=e(this);if(l.is(".product_type_simple, .product_type_downloadable, .product_type_virtual")){if(!e(l).attr("data-product_id")){return true}e(l).addClass("loading");var m={action:"woocommerce_add_to_cart",product_id:e(l).attr("data-product_id"),security:woocommerce_params.add_to_cart_nonce};e("body").trigger("adding_to_cart");e.post(woocommerce_params.ajax_url,m,function(n){e(l).removeClass("loading");m=e.parseJSON(n);if(m.error){alert(m.error);return}fragments=m;if(fragments){e.each(fragments,function(o,p){e(o).addClass("updating")})}e(".widget_shopping_cart, .shop_table.cart, .updating, .cart_totals").fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});e(l).addClass("added");if(e(".widget_shopping_cart").size()>0){e(".widget_shopping_cart:eq(0)").load(window.location+" .widget_shopping_cart:eq(0) > *",function(){if(fragments){e.each(fragments,function(o,p){e(o).replaceWith(p)})}e(".widget_shopping_cart, .updating").css("opacity","1").unblock()})}else{if(fragments){e.each(fragments,function(o,p){e(o).replaceWith(p)})}e(".widget_shopping_cart, .updating").css("opacity","1").unblock()}e(".shop_table.cart").load(window.location+" .shop_table.cart:eq(0) > *",function(){e("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');e(".shop_table.cart").css("opacity","1").unblock()});e(".cart_totals").load(window.location+" .cart_totals:eq(0) > *",function(){e(".cart_totals").css("opacity","1").unblock()});e("body").trigger("added_to_cart")});return false}else{return true}})}e("select.orderby").change(function(){e(this).closest("form").submit()});e("#rating").hide().before('

12345

');e("p.stars a").click(function(){var l=e(this);e("#rating").val(l.text());e("p.stars a").removeClass("active");l.addClass("active");return false});e("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('').prepend('');e(".plus").live("click",function(){var l=parseInt(e(this).prev(".qty").val());if(!l||l==""||l=="NaN"){l=0}e(this).prev(".qty").val(l+1)});e(".minus").live("click",function(){var l=parseInt(e(this).next(".qty").val());if(!l||l==""||l=="NaN"){l=1}if(l>0){e(this).next(".qty").val(l-1)}});var b=woocommerce_params.countries.replace(/"/g,'"');var i=e.parseJSON(b);e("select.country_to_state").change(function(){var r=e(this).val();var o=e("#"+e(this).attr("rel"));var s=e(o).attr("name");var n=e(o).attr("id");var q=e(o).val();if(i[r]){var m="";var p=i[r];for(var l in p){m=m+'"}if(e(o).is("input")){e(o).replaceWith('');o=e("#"+e(this).attr("rel"))}e(o).html('"+m);e(o).val(q)}else{if(e(o).is("select")){e(o).replaceWith('')}}}).change();e("div.woocommerce_tabs .panel").hide();e("div.woocommerce_tabs ul.tabs li a").click(function(){var m=e(this);var l=tab.closest("div.woocommerce_tabs");e("ul.tabs li",l).removeClass("active");e("div.panel",l).hide();e("div"+m.attr("href")).show();m.parent().addClass("active");return false});e("div.woocommerce_tabs").each(function(){var l=window.location.hash;if(l.toLowerCase().indexOf("comment-")>=0){e("ul.tabs li.reviews_tab a",e(this)).click()}else{e("ul.tabs li:first a",e(this)).click()}});e(".shipping-calculator-form").hide();e(".shipping-calculator-button").click(function(){e(".shipping-calculator-form").slideToggle("slow");return false});function a(p,o){var l=true;for(name in p){var n=p[name];var m=o[name];if(n.length!=0&&m.length!=0&&n!=m){l=false}}return l}function k(n){var p=[];for(var m=0;m").html(n).text();n=n.replace(/'/g,"\\'");n=n.replace(/"/g,'\\"');current_attr_select.find('option[value="'+n+'"]').removeAttr("disabled")}else{current_attr_select.find("option").removeAttr("disabled")}}}}})}function f(n){var l=e("div.images img:eq(0)");var r=e("div.images a.zoom:eq(0)");var q=e(l).attr("original-src");var p=e(r).attr("original-href");var o=n.image_src;var m=n.image_link;e(".variations_button").show();e(".single_variation").html(n.price_html+n.availability_html);if(!q){e(l).attr("original-src",e(l).attr("src"))}if(!p){e(r).attr("original-href",e(r).attr("href"))}if(o&&o.length>1){e(l).attr("src",o);e(r).attr("href",m)}else{e(l).attr("src",q);e(r).attr("href",p)}e(".single_variation_wrap").slideDown("200").trigger("variationWrapShown")}function c(m){var l=true;var o={};e(".variations select").each(function(){if(m&&e(this).attr("name")==m){l=false;o[e(this).attr("name")]=""}else{if(e(this).val().length==0){l=false}value=e(this).val().replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">");o[e(this).attr("name")]=value}});var p=k(o);if(l){var n=p.pop();if(n){e("form input[name=variation_id]").val(n.variation_id);f(n)}else{e(".variations select").val("")}}else{g(p)}}e(".variations select").change(function(){e("form input[name=variation_id]").val("");e(".single_variation_wrap").hide();e(".single_variation").text("");c();e(this).blur();if(e().uniform&&e.isFunction(e.uniform.update)){e.uniform.update()}}).focus(function(){c(e(this).attr("name"))}).change();if(woocommerce_params.is_cart==1){e("select#shipping_method").live("change",function(){var m=e("#shipping_method").val();e("div.cart_totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});var l={action:"woocommerce_update_shipping_method",security:woocommerce_params.update_shipping_method_nonce,shipping_method:m};e.post(woocommerce_params.ajax_url,l,function(n){e("div.cart_totals").replaceWith(n)})})}if(woocommerce_params.is_checkout==1||woocommerce_params.is_pay_page==1){var j;var h;function d(){if(h){h.abort()}var s=e("#shipping_method").val();var r=e("#billing_country").val();var p=e("#billing_state").val();var l=e("input#billing_postcode").val();if(e("#shiptobilling input").is(":checked")||e("#shiptobilling input").size()==0){var m=e("#billing_country").val();var o=e("#billing_state").val();var q=e("input#billing_postcode").val()}else{var m=e("#shipping_country").val();var o=e("#shipping_state").val();var q=e("input#shipping_postcode").val()}e("#order_methods, #order_review").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});var n={action:"woocommerce_update_order_review",security:woocommerce_params.update_order_review_nonce,shipping_method:s,country:r,state:p,postcode:l,s_country:m,s_state:o,s_postcode:q,post_data:e("form.checkout").serialize()};h=e.ajax({type:"POST",url:woocommerce_params.ajax_url,data:n,success:function(t){e("#order_methods, #order_review").remove();e("#order_review_heading").after(t);e("#order_review input[name=payment_method]:checked").click()}})}e("p.password, form.login, div.shipping_address").hide();e("input.show_password").change(function(){e("p.password").slideToggle()});e("a.showlogin").click(function(){e("form.login").slideToggle();return false});e("#shiptobilling input").change(function(){e("div.shipping_address").hide();if(!e(this).is(":checked")){e("div.shipping_address").slideDown()}}).change();if(woocommerce_params.option_guest_checkout=="yes"){e("div.create-account").hide();e("input#createaccount").change(function(){e("div.create-account").hide();if(e(this).is(":checked")){e("div.create-account").slideDown()}}).change()}e(".payment_methods input.input-radio").live("click",function(){e("div.payment_box").hide();if(e(this).is(":checked")){e("div.payment_box."+e(this).attr("ID")).slideDown()}});e("#order_review input[name=payment_method]:checked").click();e("#shipping_method").live("change",function(){clearTimeout(j);d()});e("input#billing_country, input#billing_state, #billing_postcode, input#shipping_country, input#shipping_state, #shipping_postcode").live("keydown",function(){clearTimeout(j);j=setTimeout("update_checkout()","1000")});e("select#billing_country, select#billing_state, select#shipping_country, select#shipping_state, #shiptobilling input, .update_totals_on_change").live("change",function(){clearTimeout(j);d()});if(woocommerce_params.is_checkout==1){d()}e("form.checkout").submit(function(){var l=e(this);if(l.is(".processing")){return false}l.addClass("processing").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:0.6}});e.ajax({type:"POST",url:woocommerce_params.checkout_url,data:l.serialize(),success:function(n){e(".woocommerce_error, .woocommerce_message").remove();try{success=e.parseJSON(n);window.location=decodeURI(success.redirect)}catch(m){l.prepend(n);l.removeClass("processing").unblock();e("html, body").animate({scrollTop:(e("form.checkout").offset().top-100)},1000)}},dataType:"html"});return false})}}); \ No newline at end of file diff --git a/widgets/widget-price_filter.php b/widgets/widget-price_filter.php index f2638416bcd..335d399ca94 100644 --- a/widgets/widget-price_filter.php +++ b/widgets/widget-price_filter.php @@ -131,7 +131,8 @@ class WooCommerce_Widget_Price_Filter extends WP_Widget { endforeach; - $min = 0; + $min = $max = 0; + $post_min = $post_max = ''; if (sizeof($woocommerce->query->layered_nav_product_ids)==0) : @@ -155,14 +156,21 @@ class WooCommerce_Widget_Price_Filter extends WP_Widget { endif; + if (isset($_SESSION['min_price'])) $post_min = $_SESSION['min_price']; + if (isset($_SESSION['max_price'])) $post_max = $_SESSION['max_price']; + echo '
-
+
- '.__('Price:', 'woothemes').' - - + + + + '.$fields.' +
'; diff --git a/woocommerce.php b/woocommerce.php index 85b7a1e431d..7e5d63856eb 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -251,7 +251,20 @@ function woocommerce_frontend_scripts() { if ($jquery_ui_en) : wp_register_script( 'jqueryui', $woocommerce->plugin_url() . '/assets/js/jquery-ui'.$suffix.'.js', 'jquery', '1.0', $scripts_position ); + wp_register_script( 'wc_price_slider', $woocommerce->plugin_url() . '/assets/js/price_slider'.$suffix.'.js', 'jqueryui', '1.0', $scripts_position ); + wp_enqueue_script( 'jqueryui' ); + wp_enqueue_script( 'wc_price_slider' ); + + $woocommerce_price_slider_params = array( + 'currency_symbol' => get_woocommerce_currency_symbol(), + 'currency_pos' => get_option('woocommerce_currency_pos'), + ); + + if (isset($_SESSION['min_price'])) $woocommerce_price_slider_params['min_price'] = $_SESSION['min_price']; + if (isset($_SESSION['max_price'])) $woocommerce_price_slider_params['max_price'] = $_SESSION['max_price']; + + wp_localize_script( 'wc_price_slider', 'woocommerce_price_slider_params', $woocommerce_price_slider_params ); endif; /* Script variables */ @@ -259,8 +272,6 @@ function woocommerce_frontend_scripts() { $states = (mb_detect_encoding($states, "UTF-8") == "UTF-8") ? $states : utf8_encode($states); $woocommerce_params = array( - 'currency_symbol' => get_woocommerce_currency_symbol(), - 'currency_pos' => get_option('woocommerce_currency_pos'), 'countries' => $states, 'select_state_text' => __('Select a state…', 'woothemes'), 'state_text' => __('state', 'woothemes'), @@ -275,9 +286,6 @@ function woocommerce_frontend_scripts() { 'option_ajax_add_to_cart' => get_option('woocommerce_enable_ajax_add_to_cart') ); - if (isset($_SESSION['min_price'])) $woocommerce_params['min_price'] = $_SESSION['min_price']; - if (isset($_SESSION['max_price'])) $woocommerce_params['max_price'] = $_SESSION['max_price']; - $woocommerce_params['is_checkout'] = ( is_page(get_option('woocommerce_checkout_page_id')) ) ? 1 : 0; $woocommerce_params['is_pay_page'] = ( is_page(get_option('woocommerce_pay_page_id')) ) ? 1 : 0; $woocommerce_params['is_cart'] = ( is_cart() ) ? 1 : 0;