Sha256: 9dc80d196d1225b3757913b4ef7cd0084adb70738306b654e1e857c4b37caf89

Contents?: true

Size: 819 Bytes

Versions: 6

Compression:

Stored size: 819 Bytes

Contents

var keys = (function() {
  var active = true;

  var bindings = {};

  // Disable bindings.
  var disable = function() {
    active = false;
  }

  // Enable bindings.
  var enable = function() {
    active = true;
  }

  // Bind a key.
  var bind = function(code, fn) {
    if (bindings[code] === undefined) {
      bindings[code] = [];
    }
    bindings[code].push(fn);
  }

  // React to key presses.
  $(document).bind('keydown', function(ev) {
    if (active === false) {
      return;
    }

    var fns = bindings[ev.which];
    if (fns !== undefined) {
      fns.forEach(function(fn) { fn(ev); });
      // ev.preventDefault();
    }
  });

  return {
    active: function() { return active; },
    bindings: function() { return bindings; },
    bind: bind,
    enable: enable,
    disable: disable
  } 
})();

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
riemann-dash-0.2.14 lib/riemann/dash/public/keys.js
riemann-dash-0.2.13 lib/riemann/dash/public/keys.js
riemann-dash-0.2.12 lib/riemann/dash/public/keys.js
riemann-dash-0.2.11 lib/riemann/dash/public/keys.js
riemann-dash-0.2.10 lib/riemann/dash/public/keys.js
riemann-dash-0.2.9 lib/riemann/dash/public/keys.js