diff options
author | Teddy Wing | 2015-05-23 16:21:38 -0400 |
---|---|---|
committer | Teddy Wing | 2015-05-23 16:21:38 -0400 |
commit | 3a09e4dd09a6af3b228fcda68aa0709626b5ee51 (patch) | |
tree | a434d76ccae2a55cfe4f4c0215a99017de4bba33 /lib/mousetrap/plugins/pause | |
parent | 6183a0bb3caf4805ed4242a4ac104b9890db3601 (diff) | |
download | Peniquitous-3a09e4dd09a6af3b228fcda68aa0709626b5ee51.tar.bz2 |
Set up Bower. Install Mousetrap.
* Create limited bower.json file
* Create .bowerrc that tells Bower to use the `lib` directory
* Install Mousetrap for key events
Diffstat (limited to 'lib/mousetrap/plugins/pause')
-rw-r--r-- | lib/mousetrap/plugins/pause/README.md | 13 | ||||
-rw-r--r-- | lib/mousetrap/plugins/pause/mousetrap-pause.js | 31 | ||||
-rw-r--r-- | lib/mousetrap/plugins/pause/mousetrap-pause.min.js | 1 |
3 files changed, 45 insertions, 0 deletions
diff --git a/lib/mousetrap/plugins/pause/README.md b/lib/mousetrap/plugins/pause/README.md new file mode 100644 index 0000000..0b3b3bd --- /dev/null +++ b/lib/mousetrap/plugins/pause/README.md @@ -0,0 +1,13 @@ +# Pause/unpause + +This extension allows Mousetrap to be paused and unpaused without having to reset keyboard shortcuts and rebind them. + +Usage looks like: + +```javascript +// stop Mousetrap events from firing +Mousetrap.pause(); + +// allow Mousetrap events to fire again +Mousetrap.unpause(); +``` diff --git a/lib/mousetrap/plugins/pause/mousetrap-pause.js b/lib/mousetrap/plugins/pause/mousetrap-pause.js new file mode 100644 index 0000000..0138b8a --- /dev/null +++ b/lib/mousetrap/plugins/pause/mousetrap-pause.js @@ -0,0 +1,31 @@ +/** + * adds a pause and unpause method to Mousetrap + * this allows you to enable or disable keyboard shortcuts + * without having to reset Mousetrap and rebind everything + */ +/* global Mousetrap:true */ +(function(Mousetrap) { + var _originalStopCallback = Mousetrap.prototype.stopCallback; + + Mousetrap.prototype.stopCallback = function(e, element, combo) { + var self = this; + + if (self.paused) { + return true; + } + + return _originalStopCallback.call(self, e, element, combo); + }; + + Mousetrap.prototype.pause = function() { + var self = this; + self.paused = true; + }; + + Mousetrap.prototype.unpause = function() { + var self = this; + self.paused = false; + }; + + Mousetrap.init(); +}) (Mousetrap); diff --git a/lib/mousetrap/plugins/pause/mousetrap-pause.min.js b/lib/mousetrap/plugins/pause/mousetrap-pause.min.js new file mode 100644 index 0000000..d3df296 --- /dev/null +++ b/lib/mousetrap/plugins/pause/mousetrap-pause.min.js @@ -0,0 +1 @@ +(function(a){var b=a.prototype.stopCallback;a.prototype.stopCallback=function(a,c,d){return this.paused?!0:b.call(this,a,c,d)};a.prototype.pause=function(){this.paused=!0};a.prototype.unpause=function(){this.paused=!1};a.init()})(Mousetrap); |