diff --git a/packages/qr-code-scanner/src/qr-code-scanner.js b/packages/qr-code-scanner/src/qr-code-scanner.js index 7431ee560558834f2269587217c56c913ae3903d..193c7d1a61b9aa3f476fa2feacbe32acd55119af 100644 --- a/packages/qr-code-scanner/src/qr-code-scanner.js +++ b/packages/qr-code-scanner/src/qr-code-scanner.js @@ -70,6 +70,12 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { }); } + updated(changedProperties) { + if (changedProperties.get('stopScan') && !this.stopScan) { + this.qrCodeScannerInit(); + } + }; + checkSupport() { const that = this; let devices_map = new Map(); @@ -79,8 +85,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { navigator.mediaDevices.enumerateDevices() .then(function (devices) { devices.forEach(function (device) { - console.log(device.kind + ": " + device.label + - " id = " + device.deviceId); + //console.log(device.kind + ": " + device.label + " id = " + device.deviceId); // that._("#error").innerText += " | device.kind: " + device.kind + " id: " + device.deviceId + " label: " + device.label + " | "; if (device.kind === 'videoinput') { let id = device.deviceId; @@ -101,13 +106,11 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { opt.text = label; that._('#videoSource').appendChild(opt); } - console.log(devices_map); if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { that.activeCamera = 'environment'; } else { that.activeCamera = Array.from(devices_map)[0][0]; } - console.log(that.activeCamera); }) @@ -180,7 +183,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { canvas.stroke(); } - console.log(this.activeCamera); let videoId = this.activeCamera; let constraint = { video: { deviceId: videoId } }; @@ -192,7 +194,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { constraint = { video: { facingMode: "user" } }; } - console.log(constraint); const that = this; navigator.mediaDevices.getUserMedia(constraint).then(function(stream) { @@ -216,7 +217,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { if (that.videoRunning === false) { video.srcObject.getTracks().forEach(function(track) { track.stop(); - console.log("stop early"); loadingMessage.hidden = false; canvasElement.hidden = true; outputContainer.hidden = true; @@ -246,7 +246,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { canvasElement.height = video.videoHeight; canvasElement.width = video.videoWidth; canvas.drawImage(video, 0, 0, canvasElement.width, canvasElement.height); - var imageData = canvas.getImageData(0, 0, canvasElement.width, canvasElement.height); + var imageData = canvas.getImageData(0 , 0, canvasElement.width, canvasElement.height); // TODO smaller input size and make an overlay where no scan happens var code = jsQR(imageData.data, imageData.width, imageData.height, { inversionAttempts: "dontInvert", });