Disable torch button, if not supported

This commit is contained in:
Michael Neuendorf 2020-03-24 20:00:06 +01:00
parent d7738aa1ec
commit 6b3ef4ee56

View File

@ -1,5 +1,20 @@
Grocy.Components.BarcodeScanner = { }; Grocy.Components.BarcodeScanner = { };
Grocy.Components.BarcodeScanner.CheckCapabilities = function()
{
var track = Quagga.CameraAccess.getActiveTrack();
var capabilities = {};
if (typeof track.getCapabilities === 'function') {
capabilities = track.getCapabilities();
}
var canTorch = typeof capabilities.torch === 'boolean' && capabilities.torch
var node = document.querySelector('.torch');
if (node) {
node.style.display = canTorch ? 'block' : 'none';
}
}
Grocy.Components.BarcodeScanner.StartScanning = function() Grocy.Components.BarcodeScanner.StartScanning = function()
{ {
Grocy.Components.BarcodeScanner.DecodedCodesCount = 0; Grocy.Components.BarcodeScanner.DecodedCodesCount = 0;
@ -70,6 +85,9 @@ Grocy.Components.BarcodeScanner.StartScanning = function()
}, 500); }, 500);
return; return;
} }
Grocy.Components.BarcodeScanner.CheckCapabilities();
Quagga.start(); Quagga.start();
}); });
} }
@ -157,7 +175,7 @@ $(document).on("click", "#barcodescanner-start-button", function(e)
buttons: { buttons: {
torch: { torch: {
label: '<i class="far fa-lightbulb"></i>', label: '<i class="far fa-lightbulb"></i>',
className: 'btn-warning responsive-button', className: 'btn-warning responsive-button torch',
callback: function() callback: function()
{ {
Quagga.CameraAccess.getActiveTrack().applyConstraints({ advanced: [{ torch: true }] }); Quagga.CameraAccess.getActiveTrack().applyConstraints({ advanced: [{ torch: true }] });