26 lines
620 B
HTML
26 lines
620 B
HTML
|
<script>
|
||
|
import {
|
||
|
addToShortcutScope,
|
||
|
removeFromShortcutScope } from '../../_utils/shortcuts'
|
||
|
export default {
|
||
|
data: () => ({ scope: 'global', key: null }),
|
||
|
oncreate () {
|
||
|
let { scope, key } = this.get()
|
||
|
addToShortcutScope(scope, key, this)
|
||
|
},
|
||
|
ondestroy () {
|
||
|
let { scope, key } = this.get()
|
||
|
removeFromShortcutScope(scope, key, this)
|
||
|
},
|
||
|
methods: {
|
||
|
onKeyDown (event) {
|
||
|
event.stopPropagation()
|
||
|
event.preventDefault()
|
||
|
this.fire('pressed', {
|
||
|
key: event.key,
|
||
|
timeStamp: event.timeStamp })
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|