ngx-hotkey
Version:
An easy way to use Hotkeys in Angular.
71 lines • 5.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/hotkey.model.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var Hotkey = /** @class */ (function () {
function Hotkey(shortcut, callback) {
this.shortcut = shortcut;
this.callback = callback;
this.altKey = false;
this.ctrlKey = false;
this.metaKey = false;
this.shiftKey = false;
this.aliases = {
'ctrl': 'control'
};
/** @type {?} */
var shortcutFormatted = shortcut.replace(/ /g, '').toLowerCase();
/** @type {?} */
var shortcutSplit = shortcutFormatted.split('+');
for (var i = 0; i < shortcutSplit.length; i++) {
/** @type {?} */
var item = shortcutSplit[i];
item = this.aliases[item] || item;
if (i === shortcutSplit.length - 1) {
this.key = item;
continue;
}
switch (item) {
case 'shift':
this.shiftKey = true;
break;
case 'control':
this.ctrlKey = true;
break;
case 'alt':
this.altKey = true;
break;
case 'meta':
this.metaKey = true;
break;
default:
console.error("They shortcut '" + shortcut + "' is not valid!");
}
}
}
return Hotkey;
}());
export default Hotkey;
if (false) {
/** @type {?} */
Hotkey.prototype.altKey;
/** @type {?} */
Hotkey.prototype.ctrlKey;
/** @type {?} */
Hotkey.prototype.metaKey;
/** @type {?} */
Hotkey.prototype.shiftKey;
/** @type {?} */
Hotkey.prototype.key;
/**
* @type {?}
* @private
*/
Hotkey.prototype.aliases;
/** @type {?} */
Hotkey.prototype.shortcut;
/** @type {?} */
Hotkey.prototype.callback;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhvdGtleS8iLCJzb3VyY2VzIjpbImxpYi9ob3RrZXkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtJQVdJLGdCQUFtQixRQUFnQixFQUFTLFFBQTJDO1FBQXBFLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFtQztRQVZoRixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHaEIsWUFBTyxHQUFRO1lBQ25CLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7O1lBR1EsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFOztZQUM1RCxhQUFhLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUVsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs7Z0JBQ3ZDLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUVsQyxJQUFJLENBQUMsS0FBSyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLFNBQVM7YUFDWjtZQUVELFFBQVEsSUFBSSxFQUFFO2dCQUNWLEtBQUssT0FBTztvQkFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDckIsTUFBTTtnQkFDVixLQUFLLFNBQVM7b0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1YsS0FBSyxLQUFLO29CQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNuQixNQUFNO2dCQUNWLEtBQUssTUFBTTtvQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsTUFBTTtnQkFDVjtvQkFDSSxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFrQixRQUFRLG9CQUFpQixDQUFDLENBQUM7YUFDbEU7U0FDSjtJQUNMLENBQUM7SUFDTCxhQUFDO0FBQUQsQ0FBQyxBQTFDRCxJQTBDQzs7OztJQXpDRyx3QkFBc0I7O0lBQ3RCLHlCQUF1Qjs7SUFDdkIseUJBQXVCOztJQUN2QiwwQkFBd0I7O0lBQ3hCLHFCQUFtQjs7Ozs7SUFFbkIseUJBRUU7O0lBRVUsMEJBQXVCOztJQUFFLDBCQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIEhvdGtleSB7XHJcbiAgICBwdWJsaWMgYWx0S2V5ID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY3RybEtleSA9IGZhbHNlO1xyXG4gICAgcHVibGljIG1ldGFLZXkgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaGlmdEtleSA9IGZhbHNlO1xyXG4gICAgcHVibGljIGtleTogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgYWxpYXNlczogYW55ID0ge1xyXG4gICAgICAgICdjdHJsJzogJ2NvbnRyb2wnXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzaG9ydGN1dDogc3RyaW5nLCBwdWJsaWMgY2FsbGJhY2s6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHNob3J0Y3V0Rm9ybWF0dGVkID0gc2hvcnRjdXQucmVwbGFjZSgvIC9nLCAnJykudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBjb25zdCBzaG9ydGN1dFNwbGl0ID0gc2hvcnRjdXRGb3JtYXR0ZWQuc3BsaXQoJysnKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaG9ydGN1dFNwbGl0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtID0gc2hvcnRjdXRTcGxpdFtpXTtcclxuICAgICAgICAgICAgaXRlbSA9IHRoaXMuYWxpYXNlc1tpdGVtXSB8fCBpdGVtO1xyXG5cclxuICAgICAgICAgICAgaWYgKGkgPT09IHNob3J0Y3V0U3BsaXQubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5rZXkgPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnc2hpZnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hpZnRLZXkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnY29udHJvbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdHJsS2V5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2FsdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbHRLZXkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbWV0YSc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhS2V5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgVGhleSBzaG9ydGN1dCAnJHtzaG9ydGN1dH0nIGlzIG5vdCB2YWxpZCFgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==