ng-keyboard-shortcuts
Version:
Dead Simple Keyboard Shortcuts Management for Angular 2+
29 lines • 3.28 kB
JavaScript
import { Injectable } from '@angular/core';
import { KeyboardShortcutsService } from './ng-keyboard-shortcuts.service';
import * as i0 from "@angular/core";
import * as i1 from "./ng-keyboard-shortcuts.service";
/**
* Use this service to listen to a specific keyboards events using Rxjs.
* The shortcut must be declared in the app for the select to work.
*/
export class KeyboardShortcutsSelectService {
constructor(keyboardService) {
this.keyboardService = keyboardService;
}
/**
* Returns an observable of keyboard shortcut filtered by a specific key.
* @param key - the key to filter the observable by.
*/
select(key) {
return this.keyboardService.select(key);
}
}
KeyboardShortcutsSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsSelectService, deps: [{ token: i1.KeyboardShortcutsService }], target: i0.ɵɵFactoryTarget.Injectable });
KeyboardShortcutsSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsSelectService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsSelectService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.KeyboardShortcutsService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcta2V5Ym9hcmQtc2hvcnRjdXRzLXNlbGVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1rZXlib2FyZC1zaG9ydGN1dHMvc3JjL2xpYi9uZy1rZXlib2FyZC1zaG9ydGN1dHMtc2VsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBS3pFOzs7R0FHRztBQUNILE1BQU0sT0FBTyw4QkFBOEI7SUFDdkMsWUFBb0IsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO0lBQzdELENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7OzJIQVZRLDhCQUE4QjsrSEFBOUIsOEJBQThCLGNBTjNCLE1BQU07MkZBTVQsOEJBQThCO2tCQVAxQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0tleWJvYXJkU2hvcnRjdXRzU2VydmljZX0gZnJvbSAnLi9uZy1rZXlib2FyZC1zaG9ydGN1dHMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vKipcbiAqIFVzZSB0aGlzIHNlcnZpY2UgdG8gbGlzdGVuIHRvIGEgc3BlY2lmaWMga2V5Ym9hcmRzIGV2ZW50cyB1c2luZyBSeGpzLlxuICogVGhlIHNob3J0Y3V0IG11c3QgYmUgZGVjbGFyZWQgaW4gdGhlIGFwcCBmb3IgdGhlIHNlbGVjdCB0byB3b3JrLlxuICovXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRTaG9ydGN1dHNTZWxlY3RTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGtleWJvYXJkU2VydmljZTogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGtleWJvYXJkIHNob3J0Y3V0IGZpbHRlcmVkIGJ5IGEgc3BlY2lmaWMga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgLSB0aGUga2V5IHRvIGZpbHRlciB0aGUgb2JzZXJ2YWJsZSBieS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleWJvYXJkU2VydmljZS5zZWxlY3Qoa2V5KTtcbiAgICB9XG59XG4iXX0=