From 1848edea8b56151f4e15d0d95b7b11be4b306ca0 Mon Sep 17 00:00:00 2001 From: benji Date: Fri, 25 Sep 2015 17:11:26 +0200 Subject: [PATCH] Use radix for javascript parseInt --- app/assets/javascripts/application.js | 9 +++++++++ app/assets/javascripts/increment.js | 9 --------- app/assets/javascripts/orders.js | 12 ++++++------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e3a9f2d..f5b34af 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -15,3 +15,12 @@ //= require bootstrap //= require turbolinks //= require_tree . + +parseIntNaN = function(value) { + parsed_value = parseInt(value, 10); + if (isNaN(parsed_value)) { + return 0; + } else { + return parsed_value; + } +} diff --git a/app/assets/javascripts/increment.js b/app/assets/javascripts/increment.js index a8d5de4..23eee79 100644 --- a/app/assets/javascripts/increment.js +++ b/app/assets/javascripts/increment.js @@ -1,13 +1,4 @@ ready = function() { - parseIntNaN = function(value) { - parsed_value = parseInt(value); - if (isNaN(parsed_value)) { - return 0; - } else { - return parsed_value; - } - } - increment_function = function() { target = $(this).data("target"); $(target).val(parseIntNaN($(target).data("default")) + parseIntNaN($(this).val())); diff --git a/app/assets/javascripts/orders.js b/app/assets/javascripts/orders.js index c4ed965..81deb19 100644 --- a/app/assets/javascripts/orders.js +++ b/app/assets/javascripts/orders.js @@ -16,7 +16,7 @@ ready = function() { increment_product = function(product_id) { input = $("#current_order").find(".order_item_wrapper[data-product=" + product_id + "]").find("input[type=number]"); - $(input).val(parseInt($(input).val()) + 1).change(); + $(input).val(parseIntNaN($(input).val()) + 1).change(); } $("#products_modal button").click(function() { @@ -38,20 +38,20 @@ ready = function() { $('tr.order_item_wrapper').hide(); $('tr.order_item_wrapper').filter(function() { - return parseInt($(this).find('[type=number]').val()) > 0; + return parseIntNaN($(this).find('[type=number]').val()) > 0; }).show(); $('tr.order_item_wrapper input[type=number]').change(function() { tr = $(this).closest('tr.order_item_wrapper') - $(tr).toggle(parseInt($(this).val()) > 0); - $(tr).find("td").last().html(((parseInt($(tr).data("price")) * parseInt($(this).val())) / 100.0).toFixed(2)) + $(tr).toggle(parseIntNaN($(this).val()) > 0); + $(tr).find("td").last().html(((parseIntNaN($(tr).data("price")) * parseIntNaN($(this).val())) / 100.0).toFixed(2)) recalculate(); }) recalculate = function() { /* Total Price */ array = $('tr.order_item_wrapper').map(function() { - return parseInt($(this).data("price")) * parseInt($(this).find("input[type=number]").val()); + return parseIntNaN($(this).data("price")) * parseIntNaN($(this).find("input[type=number]").val()); }) sum = 0; array.each(function(i, el) { sum += el; }); @@ -59,7 +59,7 @@ ready = function() { /* Message when no product has been choosen */ $("#current_order #empty").toggle(!($('tr.order_item_wrapper input[type=number]').filter(function() { - return parseInt($(this).val()) > 0; + return parseIntNaN($(this).val()) > 0; }).length)); }