forked from Netsyms/PackageHelper
Add support for barcode scanner hardware
parent
00122b2d94
commit
6c992578ba
@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function setupHardwareScanner() {
|
||||||
|
try {
|
||||||
|
onScan.detachFrom(document);
|
||||||
|
} catch (ex) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getStorage("hardwarescanner") == "true") {
|
||||||
|
onScan.attachTo(document, {
|
||||||
|
suffixKeyCodes: [13], // enter-key expected at the end of a scan
|
||||||
|
reactToKeyDown: true,
|
||||||
|
reactToPaste: true, // Compatibility to built-in scanners in paste-mode (as opposed to keyboard-mode)
|
||||||
|
ignoreIfFocusOn: 'input',
|
||||||
|
stopPropagation: true,
|
||||||
|
preventDefault: true,
|
||||||
|
keyCodeMapper: function (evt) {
|
||||||
|
// Handle special char codes
|
||||||
|
switch (evt.which) {
|
||||||
|
case 119: // F8, separates 42012345 from actual tracking barcode
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
var char = String.fromCharCode(evt.which);
|
||||||
|
// Handle special characters
|
||||||
|
switch (char) {
|
||||||
|
case "\u0010": // In some fields in UPS MI codes but pointless
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
// Return everything that gets through the special cases above
|
||||||
|
return char;
|
||||||
|
},
|
||||||
|
onScan: function (code, qty) { // Alternative to document.addEventListener('scan')
|
||||||
|
console.log("Scanned: ", code);
|
||||||
|
switch (router.currentRoute.name) {
|
||||||
|
case "add":
|
||||||
|
addPackageBarcode(code);
|
||||||
|
break;
|
||||||
|
case "track":
|
||||||
|
openTrackingHistory(code);
|
||||||
|
break;
|
||||||
|
case "scanner":
|
||||||
|
addCodeToScannerList(code);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setupHardwareScanner();
|
Loading…
Reference in New Issue