Skip to content
This repository has been archived by the owner on Apr 9, 2020. It is now read-only.

goodeggs/angular-barcode-listener

Repository files navigation

Angular Barcode Listener

Listen for barcode scanner events in your Angular application

Build Status MIT License

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.

About

Angular directive to listen for barcode scanner events

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published