diff --git a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/BarcodeUtil.js b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/BarcodeUtil.js index 36fcd607f6a9e4e64465d06751840d28045ba496..26d31f578aafd997937a417b33fae7fa844df4a3 100644 --- a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/BarcodeUtil.js +++ b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/BarcodeUtil.js @@ -70,6 +70,7 @@ var BarcodeUtil = new function() { codeReader = new ZXing.BrowserMultiFormatReader(); codeReader.listVideoInputDevices().then((videoInputDevices) => { + // Add cameras to devices for(var cIdx = 0; cIdx < videoInputDevices.length; cIdx++) { var $cameraInput = $("<input>", { id : "camera-" + (cIdx+1), name : "device", type : "radio", value : videoInputDevices[cIdx].deviceId }); $device.append($cameraInput); @@ -79,6 +80,18 @@ var BarcodeUtil = new function() { $device.append($("<a>")); _this.disableAutomaticBarcodeReadingFromCamera(); + + // Enable last used device + mainController.serverFacade.getSetting("barcode-reader-device", function(selectedDeviceIndex) { + for(var dIdx = 0; dIdx < deviceInputs.length; dIdx++) { + if(dIdx === selectedDeviceIndex) { + deviceInputs[dIdx][0]['checked'] = true; + } else { + deviceInputs[dIdx][0]['checked'] = false; + } + } + $device.trigger("change"); + }); }); $toggleSwitch.append($device); @@ -98,6 +111,7 @@ var BarcodeUtil = new function() { _this.enableAutomaticBarcodeReading(action); _this.disableAutomaticBarcodeReadingFromCamera(); $cameraContainer.empty(); + mainController.serverFacade.setSetting("barcode-reader-device", 0); } for(var dIdx = 1; dIdx < deviceInputs.length; dIdx++) { @@ -107,6 +121,7 @@ var BarcodeUtil = new function() { isScanner = false; _this.disableAutomaticBarcodeReading(); _this.enableAutomaticBarcodeReadingFromCamera(deviceInputs[dIdx][0].value, $cameraContainer, action); + mainController.serverFacade.setSetting("barcode-reader-device", dIdx); } } } @@ -122,7 +137,7 @@ var BarcodeUtil = new function() { $container.append($form); - onDeviceChange(); // Enable default device + //onDeviceChange(); // Enable default device } var codeReader = null;