An Angular module providing hotkey support.
Feel free to take a look at the DEMO.
This module started as an updated port of angular2-hotkeys which originates from a personal need of a full Angular 6 compatible version. The original library was the last dependency forcing us to use the rxjs-compat.
Install via npm:
npm install @balticcode/ngx-hotkeys --save
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {NgxHotkeysModule} from '@balticcode/ngx-hotkeys';
@NgModule({
imports: [
BrowserModule,
NgxHotkeysModule.forRoot()
],
bootstrap: [AppComponent]
})
export class AppModule { }- disableCheatSheet
- Type:
boolean? - Disable the cheat sheet popover dialog.
- Default: false
- Type:
- cheatSheetTitle
- Type:
string? - Specify the cheat sheets title.
- Default: 'Keyboard Shortcuts:'
- Type:
- cheatSheetHotkey
- Type:
string? - Key combination to trigger the cheat sheet.
- Default: '?'
- Type:
- cheatSheetHotkeyDescription
- Type:
string? - Description for the cheat sheet hot key in the cheat sheet.
- Default: 'Show / hide this help menu'
- Type:
- cheatSheetCloseEsc
- Type:
boolean? - Use also ESC for closing the cheat sheet
- Default: false
- Type:
- cheatSheetCloseEscDescription
- Type:
string? - Description for the ESC key for closing the cheat sheet (if enabled).
- Default: 'Hide this help menu'
- Type:
register(hotkey: Hotkey | Hotkey[], unpausing = false): void: Registers a new hotkey/new hotkeys with it's/their handler(s).unregister(hotkey: Hotkey | Hotkey[], pausing = false): void: Removes a/the registered hotkey(s).get(combo?: string): Hotkey | Hotkey[]: Returns all hotkeys matching the passed combo(s).pause(hotkey?: Hotkey | Hotkey[]): void: Stops listening for the specified hotkeys.unpause(hotkey?: Hotkey | Hotkey[]): void: Resumes listening for the specified hotkeys.reset(): void: Resets all hotkeys.
hotkeys(Hotkey[]): Returns the registered hotkeys as array.cheatSheetToggled(Observable<boolean>): Returns an Observable stream indicating the cheatsheets visibility was toggled.options(HotkeyOptions): Returns the options used to configure the service.
import {Hotkey, NgxHotkeysService} from '@balticcode/ngx-hotkeys';
constructor(private _hotkeysService: NgxHotkeysService) {
this._hotkeysService.register({
combo: 'shift+g',
handler: event => {
console.log('Typed hotkey');
},
description: 'Sends a secret message to the console.'
});
}title(string): Determines the Cheatsheet title.