ng-hotkeys
Version:
ng-hotkeys for Angular 14+
37 lines • 3.97 kB
JavaScript
import { Injectable } from "@angular/core";
import { NgHotkeysService } from './ng-hotkeys.service';
import { map } from "rxjs/operators";
import * as i0 from "@angular/core";
import * as i1 from "./ng-hotkeys.service";
/**
* Service to assist showing custom help screen
*/
export class NgHotkeysHelpService {
/**
* @ignore
* @param {NgHotkeysService} 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
}))));
}
}
NgHotkeysHelpService.ɵfac = function NgHotkeysHelpService_Factory(t) { return new (t || NgHotkeysHelpService)(i0.ɵɵinject(i1.NgHotkeysService)); };
NgHotkeysHelpService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NgHotkeysHelpService, factory: NgHotkeysHelpService.ɵfac, providedIn: "root" });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgHotkeysHelpService, [{
type: Injectable,
args: [{
providedIn: "root"
}]
}], function () { return [{ type: i1.NgHotkeysService }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaG90a2V5cy1oZWxwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ob3RrZXlzL3NyYy9saWIvbmctaG90a2V5cy1oZWxwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7OztPQUdHO0lBQ0gsWUFBb0IsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFFOUM7OztXQUdHO1FBQ0ksZUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ1osU0FBUzthQUNKLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM1RSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkMsR0FBRztZQUNILEtBQUs7WUFDTCxXQUFXO1NBQ2QsQ0FBQyxDQUFDLENBQ1YsQ0FDSixDQUFDO0lBaEIrQyxDQUFDOzt3RkFMekMsb0JBQW9COzBFQUFwQixvQkFBb0IsV0FBcEIsb0JBQW9CLG1CQUZqQixNQUFNO3VGQUVULG9CQUFvQjtjQUhoQyxVQUFVO2VBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nSG90a2V5c1NlcnZpY2UgfSBmcm9tICcuL25nLWhvdGtleXMuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGFzc2lzdCBzaG93aW5nIGN1c3RvbSBoZWxwIHNjcmVlblxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgTmdIb3RrZXlzSGVscFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBAcGFyYW0ge05nSG90a2V5c1NlcnZpY2V9IGtleWJvYXJkXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBrZXlib2FyZDogTmdIb3RrZXlzU2VydmljZSkge31cblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgdG8gcHJvdmlkZSBhY2Nlc3MgdG8gYWxsIHJlZ2lzdGVyZWQgc2hvcnRjdXRzIGluIHRoZSBhcHAuXG4gICAgICogQHR5cGUge09ic2VydmFibGU8YW55Pn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvcnRjdXRzJCA9IHRoaXMua2V5Ym9hcmQuc2hvcnRjdXRzJC5waXBlKFxuICAgICAgICBtYXAoc2hvcnRjdXRzID0+XG4gICAgICAgICAgICBzaG9ydGN1dHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHNob3J0Y3V0ID0+IEJvb2xlYW4oc2hvcnRjdXQubGFiZWwpICYmIEJvb2xlYW4oc2hvcnRjdXQuZGVzY3JpcHRpb24pKVxuICAgICAgICAgICAgICAgIC5tYXAoKHsga2V5LCBsYWJlbCwgZGVzY3JpcHRpb24gfSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICk7XG59XG4iXX0=