import {bind} from "../../utils.js";
/**
* @class
*
* @classdesc
* Add an event when a certain key is pressed.
* The event run a callback
*/
export class InfoControls {
/**
* Constructor.
* @param {string} key - the key triggering the event, by default `i`
*/
constructor( key = 'i') {
/**
* The callback called by the event
* @type {Function}
*/
this.action = undefined;
/**
* The key triggering the event
* @type {string}
*/
this.key = key;
const _onKeyDown = bind(this, this.onKeyDown);
window.addEventListener('keydown', _onKeyDown, false);
}
/**
* Event handler when a key is pressed
* @param {KeyboardEvent} event - the caught event
*/
onKeyDown(event) {
if (event.key === this.key) {
if (this.action !== undefined) {
this.action();
}
}
}
}