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 79bdc05acec1c163439b20d5d1b96355be237ea3..48f205f4ff3e26b5bcdf3f45992313f3486cf299 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 @@ -61,7 +61,7 @@ var BarcodeUtil = new function() { const hints = new Map(); const formats = [ZXing.BarcodeFormat.QR_CODE, ZXing.BarcodeFormat.CODE_128 /*, ...*/]; hints.set(ZXing.DecodeHintType.POSSIBLE_FORMATS, formats); - const codeReader = new ZXing.BrowserMultiFormatReader(hints); + codeReader = new ZXing.BrowserMultiFormatReader(hints); codeReader.listVideoInputDevices().then((videoInputDevices) => { const sourceSelect = document.getElementById('sourceSelect'); selectedDeviceId = videoInputDevices[0].deviceId; @@ -98,33 +98,34 @@ var BarcodeUtil = new function() { }); } - this.readBarcodeFromFile = function() { - var $input = $("<input>", { type : "file", accept : "image/*" }); - $input.click(); - $input.change(function(event) { - const hints = new Map(); - const formats = [ZXing.BarcodeFormat.QR_CODE, ZXing.BarcodeFormat.CODE_128 /*, ...*/]; - hints.set(ZXing.DecodeHintType.POSSIBLE_FORMATS, formats); - const codeReader = new ZXing.BrowserMultiFormatReader(hints); -// const codeReader = new ZXing.BrowserMultiFormatReader(); - const fileReader = new FileReader(); - fileReader.readAsArrayBuffer(event.target.files[0]); - fileReader.onloadend = (evt) => { - if (evt.target.readyState === FileReader.DONE) { - var img = null; - img = Images.decodeArrayBuffer(evt.target.result, function(event) { - img.videoWidth = 0; // Bugfix so ZXing decodes the image instead throwing an exception - var result = codeReader.decode(img); - if(result && result.text) { - BarcodeUtil.readSample(result.text); - } else { - Util.showError("Failed to read barcode"); - } - }); - } - } - }) - }; +// TODO Support read barcodes from files +// this.readBarcodeFromFile = function() { +// var $input = $("<input>", { type : "file", accept : "image/*" }); +// $input.click(); +// $input.change(function(event) { +// const hints = new Map(); +// const formats = [ZXing.BarcodeFormat.QR_CODE, ZXing.BarcodeFormat.CODE_128 /*, ...*/]; +// hints.set(ZXing.DecodeHintType.POSSIBLE_FORMATS, formats); +// const codeReader = new ZXing.BrowserMultiFormatReader(hints); +//// const codeReader = new ZXing.BrowserMultiFormatReader(); +// const fileReader = new FileReader(); +// fileReader.readAsArrayBuffer(event.target.files[0]); +// fileReader.onloadend = (evt) => { +// if (evt.target.readyState === FileReader.DONE) { +// var img = null; +// img = Images.decodeArrayBuffer(evt.target.result, function(event) { +// img.videoWidth = 0; // Bugfix so ZXing decodes the image instead throwing an exception +// var result = codeReader.decode(img); +// if(result && result.text) { +// BarcodeUtil.readSample(result.text); +// } else { +// Util.showError("Failed to read barcode"); +// } +// }); +// } +// } +// }) +// }; this.readSample = function(barcodeReaderInput) { barcodeReader = barcodeReaderInput;