Commit e9b430ed by François C.

Merge branch '3381-press-enter-after-scanning-product' into 'dev_cooperatic'

INV: fix input focus when product scanned

See merge request !191
parents 8ceb9a83 5cd18d7b
Pipeline #2299 passed with stage
in 1 minute 24 seconds
...@@ -102,6 +102,7 @@ function barcode_analyzer(chars) { ...@@ -102,6 +102,7 @@ function barcode_analyzer(chars) {
} else { } else {
//manually submitted after correction //manually submitted after correction
var barcode_input = $('#search_input'); var barcode_input = $('#search_input');
barcode = barcode_input.val(); barcode = barcode_input.val();
} }
...@@ -166,6 +167,7 @@ function select_product_from_bc(barcode) { ...@@ -166,6 +167,7 @@ function select_product_from_bc(barcode) {
} }
} else { } else {
alert("Le code-barre " + barcode + " n'est pas reconnu comme un EAN13 ou EAN8 valide."); alert("Le code-barre " + barcode + " n'est pas reconnu comme un EAN13 ou EAN8 valide.");
return -1; return -1;
} }
...@@ -314,6 +316,7 @@ function setLineEdition(item, qty) { ...@@ -314,6 +316,7 @@ function setLineEdition(item, qty) {
if (editing_origin == 'processed') { if (editing_origin == 'processed') {
edition_input.val(editing_item.qty); edition_input.val(editing_item.qty);
} }
if (set_focus === true) if (set_focus === true)
edition_input.focus(); edition_input.focus();
...@@ -394,9 +397,15 @@ function editProductInfo (productToEdit, value = null) { ...@@ -394,9 +397,15 @@ function editProductInfo (productToEdit, value = null) {
var newValue = (value == null) ? parseFloat($('#edition_input').val() var newValue = (value == null) ? parseFloat($('#edition_input').val()
.replace(',', '.')) : value; .replace(',', '.')) : value;
if (isNaN(newValue)) {
alert("Veuillez rentrer une valeur valide dans le champ d'édition !");
return false;
}
// If uom is unit, prevent float // If uom is unit, prevent float
if (productToEdit.uom_id[0] == 1 && !Number.isSafeInteger(newValue)) { if (productToEdit.uom_id[0] == 1 && !Number.isSafeInteger(newValue)) {
alert('Vous ne pouvez pas rentrer de chiffre à virgule pour des produits à l\'unité'); alert('Vous ne pouvez pas rentrer de chiffre à virgule pour des produits à l\'unité.');
return false; return false;
} }
...@@ -861,6 +870,7 @@ function send() { ...@@ -861,6 +870,7 @@ function send() {
data: JSON.stringify(shelf), data: JSON.stringify(shelf),
success: function(data) { success: function(data) {
let next_step_call = back; let next_step_call = back;
// If step 1, display additionnal message in validation popup // If step 1, display additionnal message in validation popup
if (shelf.inventory_status == '') { if (shelf.inventory_status == '') {
inventory_validated_msg.find('#step1_validated').show(); inventory_validated_msg.find('#step1_validated').show();
...@@ -1220,13 +1230,6 @@ function init() { ...@@ -1220,13 +1230,6 @@ function init() {
$(this).off('wheel.disableScroll'); $(this).off('wheel.disableScroll');
}); });
$("#edition_input").keypress(function(event) {
// Force validation when enter pressed in edition
if (event.keyCode == 13 || event.which == 13) {
validateEdition();
}
});
// client-side validation of numeric inputs, optionally replacing separator sign(s). // client-side validation of numeric inputs, optionally replacing separator sign(s).
$("input.number").on("keydown", function (e) { $("input.number").on("keydown", function (e) {
// allow function keys and decimal separators // allow function keys and decimal separators
...@@ -1278,6 +1281,7 @@ function init() { ...@@ -1278,6 +1281,7 @@ function init() {
if (e.which >= 48 && e.which <= 57) { // figures [0-9] if (e.which >= 48 && e.which <= 57) { // figures [0-9]
search_chars.push(String.fromCharCode(e.which)); search_chars.push(String.fromCharCode(e.which));
} else if (e.which == 13 || search_chars.length >= 13) { } else if (e.which == 13 || search_chars.length >= 13) {
e.stopPropagation(); // Prevent validation edition in this specific case
debounce(barcode_analyzer); // Avoid concurrent barcode analysing debounce(barcode_analyzer); // Avoid concurrent barcode analysing
} }
}); });
...@@ -1332,4 +1336,14 @@ $(document).ready(function() { ...@@ -1332,4 +1336,14 @@ $(document).ready(function() {
} }
get_barcodes(); get_barcodes();
/**
* Validate edition if enter pressed, wherever the focus is.
* validateEdition is triggered only if a product is in the edition area.
*/
$(document).keypress(function(event) {
if (event.keyCode == 13 || event.which == 13) {
validateEdition();
}
});
}); });
...@@ -417,7 +417,7 @@ var addProductToList = async function(barcode) { ...@@ -417,7 +417,7 @@ var addProductToList = async function(barcode) {
$('<td>').html(delete_icon + " " + print_icon) $('<td>').html(delete_icon + " " + print_icon)
.appendTo(pdt_line); .appendTo(pdt_line);
adding_pdts_tpl.find('#added_products tbody').append(pdt_line); adding_pdts_tpl.find('#added_products tbody').append(pdt_line);
main_content.find('.add-products').css('display', 'block') main_content.find('.add-products').css('display', 'block');
} }
} }
}; };
...@@ -451,8 +451,8 @@ var recordProductsAddedShelf = function() { ...@@ -451,8 +451,8 @@ var recordProductsAddedShelf = function() {
}); });
if (is_time_to('add_pdts_to_shelf', 5000)) { // prevent double click or browser hic up bug if (is_time_to('add_pdts_to_shelf', 5000)) { // prevent double click or browser hic up bug
openModal(); // loading on openModal(); // loading on
post_form( post_form(
'/shelfs/admin/add_products', '/shelfs/admin/add_products',
{bc: JSON.stringify(barcodes), shelf_id: id}, {bc: JSON.stringify(barcodes), shelf_id: id},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment