UNPKG

ngx-hotkey

Version:

An easy way to use Hotkeys in Angular.

71 lines 5.85 kB
/** * @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==