UNPKG

ng-keyboard-shortcuts

Version:

Dead Simple Keyboard Shortcuts Management for Angular 2+

56 lines 6.68 kB
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core'; import { KeyboardShortcutsService } from './ng-keyboard-shortcuts.service'; import * as i0 from "@angular/core"; import * as i1 from "./ng-keyboard-shortcuts.service"; export class KeyboardShortcutComponent { constructor(keyboard) { this.keyboard = keyboard; this.fire = new EventEmitter(); } ngOnDestroy() { this.keyboard.remove(this.clearId); } ngOnChanges(changes) { } ngAfterViewInit() { this.clearId = this.keyboard.add({ description: this.description, label: this.label, preventDefault: this.preventDefault, allowIn: this.allowIn, target: this.target, key: this.key, throttleTime: this.throttleTime, command: (event) => { this.fire.emit(event); } }); } } KeyboardShortcutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutComponent, deps: [{ token: i1.KeyboardShortcutsService }], target: i0.ɵɵFactoryTarget.Component }); KeyboardShortcutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: KeyboardShortcutComponent, selector: "ng-keyboard-shortcut", inputs: { description: "description", label: "label", preventDefault: "preventDefault", allowIn: "allowIn", key: "key", target: "target", throttleTime: "throttleTime" }, outputs: { fire: "fire" }, usesOnChanges: true, ngImport: i0, template: "<ng-content ></ng-content>", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: KeyboardShortcutComponent, decorators: [{ type: Component, args: [{ selector: "ng-keyboard-shortcut", template: "<ng-content ></ng-content>", changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: function () { return [{ type: i1.KeyboardShortcutsService }]; }, propDecorators: { description: [{ type: Input }], label: [{ type: Input }], preventDefault: [{ type: Input }], allowIn: [{ type: Input }], key: [{ type: Input }], target: [{ type: Input }], throttleTime: [{ type: Input }], fire: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1rZXlib2FyZC1zaG9ydGN1dHMvc3JjL2xpYi9rZXlib2FyZC1zaG9ydGN1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUtMLE1BQU0sRUFDTixZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7OztBQU96RSxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLFlBQW9CLFFBQWtDO1FBQWxDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBWTVDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBWnFCLENBQUM7SUFlMUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO0lBRWxDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUEwQixFQUFFLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOztzSEFyQ1EseUJBQXlCOzBHQUF6Qix5QkFBeUIsc1JBSHhCLDRCQUE0QjsyRkFHN0IseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDsrR0FLWSxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsbG93SW4sIFNob3J0Y3V0RXZlbnRPdXRwdXR9IGZyb20gJy4vbmcta2V5Ym9hcmQtc2hvcnRjdXRzLmludGVyZmFjZXMnO1xuaW1wb3J0IHtLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2V9IGZyb20gJy4vbmcta2V5Ym9hcmQtc2hvcnRjdXRzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuZy1rZXlib2FyZC1zaG9ydGN1dFwiLFxuICAgIHRlbXBsYXRlOiBcIjxuZy1jb250ZW50ID48L25nLWNvbnRlbnQ+XCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRTaG9ydGN1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGtleWJvYXJkOiBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UpIHt9XG4gICAgcHJpdmF0ZSBjbGVhcklkO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAvLyBASW5wdXQoKSBlbmNhcHN1bGF0ZSA9IHRydWU7XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcmV2ZW50RGVmYXVsdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhbGxvd0luOiBBbGxvd0luW107XG4gICAgQElucHV0KCkga2V5OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBASW5wdXQoKSB0YXJnZXQ6IEhUTUxFbGVtZW50O1xuICAgIEBJbnB1dCgpIHRocm90dGxlVGltZTogbnVtYmVyO1xuXG4gICAgQE91dHB1dCgpIGZpcmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkLnJlbW92ZSh0aGlzLmNsZWFySWQpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhcklkID0gdGhpcy5rZXlib2FyZC5hZGQoe1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0OiB0aGlzLnByZXZlbnREZWZhdWx0LFxuICAgICAgICAgICAgYWxsb3dJbjogdGhpcy5hbGxvd0luLFxuICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCxcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB0aHJvdHRsZVRpbWU6IHRoaXMudGhyb3R0bGVUaW1lLFxuICAgICAgICAgICAgY29tbWFuZDogKGV2ZW50OiBTaG9ydGN1dEV2ZW50T3V0cHV0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maXJlLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxufVxuIl19