Angular Barcode Listener
Listen for barcode scanner events in your Angular application
![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)
Usage
npm install angular-barcode-listener
var app = angular.module('app', ['barcodeListener']);
<barcode-listener
on-scan='ctrl.handleScan'
prefix='P%'
value-test='^C%'
finish-scan-on-match='true'
scan-duration='500'
></barcode-listener>
Configuration
- prefix - expected prefix for scan inputs
- onScan - callback to call after successful scan
- scanDuration - milliseconds duration for scan to complete (defaults to 50)
- barcodeValueTest - RegExp defining valid scan value (not including prefix).
- finishScanOnMatch - if true, test scan value (not including prefix)
match with barcodeValueTest on each character. If matched, immediately
call the scanHandler with the value. This will generally make scans faster.
Bookmarklet
If you need to simulate scanning a barcode while developing and don't have a scanner handy you can paste the following code into a bookmark which will prompt you to enter some text that you want "scanned":
javascript:(function(){
var $document = window.angular.element(document).injector().get('$document');
var triggerKeypressEvent = function(char) {
var event = new Event('keypress');
event.which = char.charCodeAt(0);
$document.triggerHandler(event);
};
var barcode = prompt('Text to scan');
for (var i = 0; i < barcode.length; i++) {
triggerKeypressEvent(barcode[i]);
}
})();
Contributing
Please follow our Code of Conduct
when contributing to this project.
$ git clone https://github.com/goodeggs/angular-barcode-listener && cd angular-barcode-listener
$ yarn
$ yarn test
Module scaffold generated by generator-goodeggs-npm.