From c6a9a240e1907b69c0385006ebc3e20dd7abbbcf Mon Sep 17 00:00:00 2001 From: Michael Neuendorf Date: Tue, 24 Mar 2020 20:00:06 +0100 Subject: [PATCH] Disable torch button, if not supported --- public/viewjs/components/barcodescanner.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/public/viewjs/components/barcodescanner.js b/public/viewjs/components/barcodescanner.js index 5db834fa..a9be3faa 100644 --- a/public/viewjs/components/barcodescanner.js +++ b/public/viewjs/components/barcodescanner.js @@ -1,5 +1,20 @@ 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.DecodedCodesCount = 0; @@ -70,6 +85,9 @@ Grocy.Components.BarcodeScanner.StartScanning = function() }, 500); return; } + + Grocy.Components.BarcodeScanner.CheckCapabilities(); + Quagga.start(); }); } @@ -157,7 +175,7 @@ $(document).on("click", "#barcodescanner-start-button", function(e) buttons: { torch: { label: '', - className: 'btn-warning responsive-button', + className: 'btn-warning responsive-button torch', callback: function() { Quagga.CameraAccess.getActiveTrack().applyConstraints({ advanced: [{ torch: true }] });