ng-keyboard-shortcuts
Version:
Dead Simple Keyboard Shortcuts Management for Angular 2+
37 lines • 4.26 kB
JavaScript
import { Injectable } from '@angular/core';
import { KeyboardShortcutsService } from './ng-keyboard-shortcuts.service';
import { map } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "./ng-keyboard-shortcuts.service";
/**
* Service to assist showing custom help screen
*/
export class KeyboardShortcutsHelpService {
/**
* @ignore
* @param {KeyboardShortcutsService} keyboard
*/
constructor(keyboard) {
this.keyboard = keyboard;
/**
* Observable to provide access to all registered shortcuts in the app.
* @type {Observable<any>}
*/
this.shortcuts$ = this.keyboard.shortcuts$.pipe(map(shortcuts => shortcuts
.filter(shortcut => Boolean(shortcut.label) && Boolean(shortcut.description))
.map(({ key, label, description }) => ({
key,
label,
description
}))));
}
}
KeyboardShortcutsHelpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsHelpService, deps: [{ token: i1.KeyboardShortcutsService }], target: i0.ɵɵFactoryTarget.Injectable });
KeyboardShortcutsHelpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsHelpService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutsHelpService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.KeyboardShortcutsService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcta2V5Ym9hcmQtc2hvcnRjdXRzLWhlbHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcta2V5Ym9hcmQtc2hvcnRjdXRzL3NyYy9saWIvbmcta2V5Ym9hcmQtc2hvcnRjdXRzLWhlbHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRW5DOztHQUVHO0FBSUgsTUFBTSxPQUFPLDRCQUE0QjtJQUNyQzs7O09BR0c7SUFDSCxZQUFvQixRQUFrQztRQUFsQyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUd0RDs7O1dBR0c7UUFDSSxlQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDWixTQUFTO2FBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzVFLEdBQUcsQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqQyxHQUFHO1lBQ0gsS0FBSztZQUNMLFdBQVc7U0FDZCxDQUFDLENBQUMsQ0FDVixDQUNKLENBQUM7SUFoQkYsQ0FBQzs7eUhBTlEsNEJBQTRCOzZIQUE1Qiw0QkFBNEIsY0FGekIsTUFBTTsyRkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7S2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlfSBmcm9tICcuL25nLWtleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogU2VydmljZSB0byBhc3Npc3Qgc2hvd2luZyBjdXN0b20gaGVscCBzY3JlZW5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBLZXlib2FyZFNob3J0Y3V0c0hlbHBTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQHBhcmFtIHtLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2V9IGtleWJvYXJkXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBrZXlib2FyZDogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB0byBwcm92aWRlIGFjY2VzcyB0byBhbGwgcmVnaXN0ZXJlZCBzaG9ydGN1dHMgaW4gdGhlIGFwcC5cbiAgICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxhbnk+fVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG9ydGN1dHMkID0gdGhpcy5rZXlib2FyZC5zaG9ydGN1dHMkLnBpcGUoXG4gICAgICAgIG1hcChzaG9ydGN1dHMgPT5cbiAgICAgICAgICAgIHNob3J0Y3V0c1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoc2hvcnRjdXQgPT4gQm9vbGVhbihzaG9ydGN1dC5sYWJlbCkgJiYgQm9vbGVhbihzaG9ydGN1dC5kZXNjcmlwdGlvbikpXG4gICAgICAgICAgICAgICAgLm1hcCgoe2tleSwgbGFiZWwsIGRlc2NyaXB0aW9ufSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICk7XG59XG4iXX0=