diff --git a/assets/js/admin/woocommerce_admin.js b/assets/js/admin/woocommerce_admin.js index cea43c9f1a5..4efa8c6e15f 100644 --- a/assets/js/admin/woocommerce_admin.js +++ b/assets/js/admin/woocommerce_admin.js @@ -49,6 +49,30 @@ jQuery(function(){ return this; }); + jQuery('body').on('keyup change', '#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]', function() { + var sale_price_field = jQuery(this); + var sale_price = parseInt( sale_price_field.val() ); + + if( sale_price_field.attr('name').indexOf('variable') != -1 ) { + var regular_price = parseInt( sale_price_field.parents('.variable_pricing').find('.wc_input_price[name^=variable_regular_price]').val() ); + } else { + var regular_price = parseInt( jQuery('#_regular_price').val() ); + } + + if( sale_price >= regular_price ) { + jQuery(this).val(regular_price); + if ( jQuery(this).parent().find('.wc_error_tip').size() == 0 ) { + var offset = jQuery(this).position(); + jQuery(this).after( '
' + woocommerce_admin.i18_sale_less_than_regular_error + '
' ); + jQuery('.wc_error_tip') + .css('left', offset.left + jQuery(this).width() - ( jQuery(this).width() / 2 ) - ( jQuery('.wc_error_tip').width() / 2 ) ) + .css('top', offset.top + jQuery(this).height() ) + .fadeIn('100'); + } + } + return this; + }); + jQuery('body').on('keyup change', '.wc_input_country_iso[type=text]', function(){ var value = jQuery(this).val(); var regex = new RegExp( '^([A-Z])?([A-Z])$' ); diff --git a/assets/js/admin/woocommerce_admin.min.js b/assets/js/admin/woocommerce_admin.min.js index 688b8bebaf6..5de4a780241 100644 --- a/assets/js/admin/woocommerce_admin.min.js +++ b/assets/js/admin/woocommerce_admin.min.js @@ -1 +1 @@ -jQuery(function(){jQuery("body").on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){return jQuery(".wc_error_tip").fadeOut("100",function(){jQuery(this).remove()}),this}),jQuery("body").on("keyup change",".wc_input_price[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("[^-0-9%.\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),c=a.replace(b,"");if(a!==c&&(jQuery(this).val(c),0==jQuery(this).parent().find(".wc_error_tip").size())){var d=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_mon_decimal_error+"
"),jQuery(".wc_error_tip").css("left",d.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",d.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").on("keyup change",".wc_input_decimal[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("[^-0-9%.\\"+woocommerce_admin.decimal_point+"]+","gi"),c=a.replace(b,"");if(a!==c&&(jQuery(this).val(c),0==jQuery(this).parent().find(".wc_error_tip").size())){var d=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_decimal_error+"
"),jQuery(".wc_error_tip").css("left",d.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",d.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").on("keyup change",".wc_input_country_iso[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("^([A-Z])?([A-Z])$");if(!b.test(a)&&(jQuery(this).val(""),0===jQuery(this).parent().find(".wc_error_tip").size())){var c=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_country_iso_error+"
"),jQuery(".wc_error_tip").css("left",c.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",c.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").click(function(){jQuery(".wc_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),jQuery(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),jQuery(".wc_input_table .remove_rows").click(function(){var a=jQuery(this).closest(".wc_input_table").find("tbody");return a.find("tr.current").size()>0&&($current=a.find("tr.current"),$current.each(function(){jQuery(this).remove()})),!1});var a=!1,b=!1,c=!1;jQuery(document).bind("keyup keydown",function(c){b=c.shiftKey,a=c.ctrlKey||c.metaKey}),jQuery(".wc_input_table").on("focus click","input",function(d){$this_table=jQuery(this).closest("table"),$this_row=jQuery(this).closest("tr"),("focus"==d.type&&c!=$this_row.index()||"click"==d.type&&jQuery(this).is(":focus"))&&(c=$this_row.index(),b||a?b?(jQuery("tr",$this_table).removeClass("current"),$this_row.addClass("selected_now").addClass("current"),jQuery("tr.last_selected",$this_table).size()>0&&($this_row.index()>jQuery("tr.last_selected, $this_table").index()?jQuery("tr",$this_table).slice(jQuery("tr.last_selected",$this_table).index(),$this_row.index()).addClass("current"):jQuery("tr",$this_table).slice($this_row.index(),jQuery("tr.last_selected",$this_table).index()+1).addClass("current")),jQuery("tr",$this_table).removeClass("last_selected"),$this_row.addClass("last_selected")):(jQuery("tr",$this_table).removeClass("last_selected"),a&&jQuery(this).closest("tr").is(".current")?$this_row.removeClass("current"):$this_row.addClass("current").addClass("last_selected")):(jQuery("tr",$this_table).removeClass("current").removeClass("last_selected"),$this_row.addClass("current").addClass("last_selected")),jQuery("tr",$this_table).removeClass("selected_now"))}).on("blur","input",function(){c=!1}),jQuery(".woocommerce_page_wc-settings .shippingrows tbody tr:even").addClass("alternate"),jQuery("select.availability").change(function(){"all"==jQuery(this).val()?jQuery(this).closest("tr").next("tr").hide():jQuery(this).closest("tr").next("tr").show()}).change(),jQuery("body").on("click",".show_order_items",function(){return jQuery(this).closest("td").find("table").toggle(),!1}),jQuery(".hide_options_if_checked").each(function(){jQuery(this).find("input:eq(0)").change(function(){jQuery(this).is(":checked")?jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),jQuery(".show_options_if_checked").each(function(){jQuery(this).find("input:eq(0)").change(function(){jQuery(this).is(":checked")?jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),jQuery("input#woocommerce_demo_store").change(function(){jQuery(this).is(":checked")?jQuery("#woocommerce_demo_store_notice").closest("tr").show():jQuery("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),jQuery("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate")}); \ No newline at end of file +jQuery(function(){jQuery("body").on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){return jQuery(".wc_error_tip").fadeOut("100",function(){jQuery(this).remove()}),this}),jQuery("body").on("keyup change",".wc_input_price[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("[^-0-9%.\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),c=a.replace(b,"");if(a!==c&&(jQuery(this).val(c),0==jQuery(this).parent().find(".wc_error_tip").size())){var d=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_mon_decimal_error+"
"),jQuery(".wc_error_tip").css("left",d.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",d.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").on("keyup change",".wc_input_decimal[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("[^-0-9%.\\"+woocommerce_admin.decimal_point+"]+","gi"),c=a.replace(b,"");if(a!==c&&(jQuery(this).val(c),0==jQuery(this).parent().find(".wc_error_tip").size())){var d=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_decimal_error+"
"),jQuery(".wc_error_tip").css("left",d.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",d.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var a=jQuery(this),b=parseInt(a.val());if(-1!=a.attr("name").indexOf("variable"))var c=parseInt(a.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]").val());else var c=parseInt(jQuery("#_regular_price").val());if(b>=c&&(jQuery(this).val(c),0==jQuery(this).parent().find(".wc_error_tip").size())){var d=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18_sale_less_than_regular_error+"
"),jQuery(".wc_error_tip").css("left",d.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",d.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").on("keyup change",".wc_input_country_iso[type=text]",function(){var a=jQuery(this).val(),b=new RegExp("^([A-Z])?([A-Z])$");if(!b.test(a)&&(jQuery(this).val(""),0===jQuery(this).parent().find(".wc_error_tip").size())){var c=jQuery(this).position();jQuery(this).after('
'+woocommerce_admin.i18n_country_iso_error+"
"),jQuery(".wc_error_tip").css("left",c.left+jQuery(this).width()-jQuery(this).width()/2-jQuery(".wc_error_tip").width()/2).css("top",c.top+jQuery(this).height()).fadeIn("100")}return this}),jQuery("body").click(function(){jQuery(".wc_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),jQuery(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),jQuery(".wc_input_table .remove_rows").click(function(){var a=jQuery(this).closest(".wc_input_table").find("tbody");return a.find("tr.current").size()>0&&($current=a.find("tr.current"),$current.each(function(){jQuery(this).remove()})),!1});var a=!1,b=!1,c=!1;jQuery(document).bind("keyup keydown",function(c){b=c.shiftKey,a=c.ctrlKey||c.metaKey}),jQuery(".wc_input_table").on("focus click","input",function(d){$this_table=jQuery(this).closest("table"),$this_row=jQuery(this).closest("tr"),("focus"==d.type&&c!=$this_row.index()||"click"==d.type&&jQuery(this).is(":focus"))&&(c=$this_row.index(),b||a?b?(jQuery("tr",$this_table).removeClass("current"),$this_row.addClass("selected_now").addClass("current"),jQuery("tr.last_selected",$this_table).size()>0&&($this_row.index()>jQuery("tr.last_selected, $this_table").index()?jQuery("tr",$this_table).slice(jQuery("tr.last_selected",$this_table).index(),$this_row.index()).addClass("current"):jQuery("tr",$this_table).slice($this_row.index(),jQuery("tr.last_selected",$this_table).index()+1).addClass("current")),jQuery("tr",$this_table).removeClass("last_selected"),$this_row.addClass("last_selected")):(jQuery("tr",$this_table).removeClass("last_selected"),a&&jQuery(this).closest("tr").is(".current")?$this_row.removeClass("current"):$this_row.addClass("current").addClass("last_selected")):(jQuery("tr",$this_table).removeClass("current").removeClass("last_selected"),$this_row.addClass("current").addClass("last_selected")),jQuery("tr",$this_table).removeClass("selected_now"))}).on("blur","input",function(){c=!1}),jQuery(".woocommerce_page_wc-settings .shippingrows tbody tr:even").addClass("alternate"),jQuery("select.availability").change(function(){"all"==jQuery(this).val()?jQuery(this).closest("tr").next("tr").hide():jQuery(this).closest("tr").next("tr").show()}).change(),jQuery("body").on("click",".show_order_items",function(){return jQuery(this).closest("td").find("table").toggle(),!1}),jQuery(".hide_options_if_checked").each(function(){jQuery(this).find("input:eq(0)").change(function(){jQuery(this).is(":checked")?jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),jQuery(".show_options_if_checked").each(function(){jQuery(this).find("input:eq(0)").change(function(){jQuery(this).is(":checked")?jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():jQuery(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),jQuery("input#woocommerce_demo_store").change(function(){jQuery(this).is(":checked")?jQuery("#woocommerce_demo_store_notice").closest("tr").show():jQuery("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),jQuery("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate")}); \ No newline at end of file diff --git a/includes/admin/class-wc-admin-assets.php b/includes/admin/class-wc-admin-assets.php index 1e015c3f61d..42dbc7d9c44 100644 --- a/includes/admin/class-wc-admin-assets.php +++ b/includes/admin/class-wc-admin-assets.php @@ -103,11 +103,12 @@ class WC_Admin_Assets { $decimal = isset( $locale['decimal_point'] ) ? $locale['decimal_point'] : '.'; $params = array( - 'i18n_decimal_error' => sprintf( __( 'Please enter in decimal (%s) format without thousand separators.', 'woocommerce' ), $decimal ), - 'i18n_mon_decimal_error' => sprintf( __( 'Please enter in monetary decimal (%s) format without thousand separators and currency symbols.', 'woocommerce' ), get_option( 'woocommerce_price_decimal_sep' ) ), - 'i18n_country_iso_error' => __( 'Please enter in country code with two capital letters.', 'woocommerce' ), - 'decimal_point' => $decimal, - 'mon_decimal_point' => get_option( 'woocommerce_price_decimal_sep' ) + 'i18n_decimal_error' => sprintf( __( 'Please enter in decimal (%s) format without thousand separators.', 'woocommerce' ), $decimal ), + 'i18n_mon_decimal_error' => sprintf( __( 'Please enter in monetary decimal (%s) format without thousand separators and currency symbols.', 'woocommerce' ), get_option( 'woocommerce_price_decimal_sep' ) ), + 'i18n_country_iso_error' => __( 'Please enter in country code with two capital letters.', 'woocommerce' ), + 'i18_sale_less_than_regular_error' => __( 'Please enter in a value less than the regular price.', 'woocommerce' ), + 'decimal_point' => $decimal, + 'mon_decimal_point' => get_option( 'woocommerce_price_decimal_sep' ) ); wp_localize_script( 'woocommerce_admin', 'woocommerce_admin', $params );