https://github.com/samccone/behave-ui-hotkeys
A hotkeys Marionette Behavior
https://github.com/samccone/behave-ui-hotkeys
Last synced: 3 months ago
JSON representation
A hotkeys Marionette Behavior
- Host: GitHub
- URL: https://github.com/samccone/behave-ui-hotkeys
- Owner: samccone
- License: mit
- Created: 2015-01-09T15:23:20.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-01-09T15:36:05.000Z (over 11 years ago)
- Last Synced: 2025-03-23T04:27:31.959Z (over 1 year ago)
- Language: JavaScript
- Size: 104 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# behave-ui-hotkeys
A Marionette Behavior that allows you to add hotkey functionality to any view.
## Usage:
```
npm install --save behave-ui-hotkeys
```
Then just require and use as you would any other behavior:
```
var Hotkeys = require('behave-ui-hotkeys'),
_ = require('underscore');
var View = Marionette.ItemView.extend({
template: _.template('
Hotkeys!!
'),
behaviors: {
Hotkeys: {
behaviorClass: Hotkeys,
hotkeys: {
'cmd:alt:y': 'viewMethod'
}
}
},
initialize: function() {
this.on('hotkey:cmd:alt:y', function() {
// hotkey fired!
});
},
viewMethod: function(e) {
// hotkey fired!
}
});
```
NOTES:
- You can use only one code (f1, 4, a, s, delete, pageup, etc), but as many helper keys (cmd, ctrl, alt, shift) as you would like
- Codes are case insensitive, F1 will become f1, DELETE will become delete, etc...
- If you specify a view method that does not exist, it will just call event
- If you do not want to call a view method pass an empty string as the value, i.e.
```
hotkeys: {
'ctrl:alt:o': 'open', // will fire event: 'hotkey:ctrl:alt:o', will call: this.view.open()
'ctrl:alt:p': '' // will only fire event: 'hotkey:ctrl:alt:p', will not call any method
}
```
List of accepted codes:
- backspace
- tab
- enter
- return
- pause
- esc
- space
- pageup
- pagedown
- end
- home
- left
- up
- right
- down
- delete
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- a
- b
- c
- d
- e
- f
- g
- h
- i
- j
- k
- l
- m
- n
- o
- p
- q
- r
- s
- t
- u
- v
- w
- x
- y
- z
- +
- \-
- f1
- f2
- f3
- f4
- f5
- f6
- f7
- f8
- f9
- f10
- f11
- f12
## Dev
To setup the dev environment just run `npm install`
You can then run `grunt watch` to automagically run tests and jshint
## Test
To run tests run either `npm test` or `grunt test`, former is an alias for the latter.
## Release History
- 0.0.1 - Initial Release