Added a camera-barcode-scanner-button to the barcodes field on the product edit page (closes #723)

This commit is contained in:
Bernd Bestel
2020-04-13 15:55:27 +02:00
parent c6e06ab07c
commit 10f890ef89
8 changed files with 33 additions and 8 deletions

View File

@@ -85,7 +85,12 @@ function OnBarcodeScanned(barcode)
}, 200);
}
$(document).on("Grocy.BarcodeScanned", function(e, barcode)
$(document).on("Grocy.BarcodeScanned", function(e, barcode, target)
{
if (target !== "#scanned_barcod")
{
return;
}
OnBarcodeScanned(barcode);
});

View File

@@ -149,7 +149,7 @@ Quagga.onDetected(function(result)
if (Grocy.Components.BarcodeScanner.DecodedCodesErrorCount / Grocy.Components.BarcodeScanner.DecodedCodesCount < 0.15)
{
Grocy.Components.BarcodeScanner.StopScanning();
$(document).trigger("Grocy.BarcodeScanned", [result.codeResult.code]);
$(document).trigger("Grocy.BarcodeScanned", [result.codeResult.code, Grocy.Components.BarcodeScanner.CurrentTarget]);
}
});
@@ -195,6 +195,8 @@ $(document).on("click", "#barcodescanner-start-button", function(e)
return;
}
Grocy.Components.BarcodeScanner.CurrentTarget = inputElement.attr("data-target");
bootbox.dialog({
message: '<div id="barcodescanner-container" class="col"><div id="barcodescanner-livestream"></div></div>',
title: __t('Scan a barcode'),
@@ -234,11 +236,11 @@ setTimeout(function()
{
if ($(this).hasAttr("disabled"))
{
$(this).after('<a id="barcodescanner-start-button" class="btn btn-sm btn-primary text-white disabled"><i class="fas fa-camera"></i></a>');
$(this).after('<a id="barcodescanner-start-button" class="btn btn-sm btn-primary text-white disabled" data-target="' + $(this).attr("data-target") + '"><i class="fas fa-camera"></i></a>');
}
else
{
$(this).after('<a id="barcodescanner-start-button" class="btn btn-sm btn-primary text-white"><i class="fas fa-camera"></i></a>');
$(this).after('<a id="barcodescanner-start-button" class="btn btn-sm btn-primary text-white" data-target="' + $(this).attr("data-target") + '"><i class="fas fa-camera"></i></a>');
}
});
}, 50);

View File

@@ -227,8 +227,13 @@ $('#product_id_text_input').on('blur', function(e)
}
});
$(document).on("Grocy.BarcodeScanned", function(e, barcode)
$(document).on("Grocy.BarcodeScanned", function(e, barcode, target)
{
if (!(target == "@productpicker" || target == "undefined" || target == undefined)) // Default target
{
return;
}
// Don't know why the blur event does not fire immediately ... this works...
Grocy.Components.ProductPicker.GetInputElement().focusout();

View File

@@ -434,3 +434,13 @@ $('#qu_id_purchase').blur(function(e)
Grocy.FrontendHelpers.ValidateForm('product-form');
}
});
$(document).on("Grocy.BarcodeScanned", function(e, barcode, target)
{
if (target != "#barcode-taginput")
{
return;
}
$("#barcode-taginput").tagsManager("pushTag", barcode);
});