UNPKG

@junte/ui

Version:

Quality Angular UI components kit

58 lines 5.73 kB
import { __decorate, __metadata } from "tslib"; import { CommonModule } from '@angular/common'; import { Directive, HostListener, Input, NgModule } from '@angular/core'; import { PropertyApi } from '../decorators/api'; import { Modifier } from '../enums/keyboard'; let ShortcutsDirective = class ShortcutsDirective { constructor() { this.shortcuts = []; } select(event) { const found = this.shortcuts.find(shortcut => shortcut.key === event.key); if (!!found && (!found.modifier || (found.modifier === Modifier.altKey && event.altKey) || (found.modifier === Modifier.ctrlKey && event.ctrlKey) || (found.modifier === Modifier.shiftKey && event.shiftKey) || (found.modifier === Modifier.metaKey && event.metaKey))) { found.action(); event.preventDefault(); } } }; __decorate([ PropertyApi({ description: 'Shortcuts array', type: '[{key: ui.kayboard.key, modifier: ui.keyboard.modifier, action: Function}]', default: '[]' }), Input('jntShortcuts'), __metadata("design:type", Array) ], ShortcutsDirective.prototype, "shortcuts", void 0); __decorate([ HostListener('keydown', ['$event']), __metadata("design:type", Function), __metadata("design:paramtypes", [KeyboardEvent]), __metadata("design:returntype", void 0) ], ShortcutsDirective.prototype, "select", null); ShortcutsDirective = __decorate([ Directive({ selector: '[jntShortcuts]' }) ], ShortcutsDirective); export { ShortcutsDirective }; let ShortcutsModule = class ShortcutsModule { }; ShortcutsModule = __decorate([ NgModule({ declarations: [ ShortcutsDirective ], imports: [ CommonModule ], exports: [ ShortcutsDirective ] }) ], ShortcutsModule); export { ShortcutsModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2NvcmUvZGlyZWN0aXZlcy9zaG9ydGN1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFXbEQsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFBL0I7UUFRRSxjQUFTLEdBQWUsRUFBRSxDQUFDO0lBYTdCLENBQUM7SUFWQyxNQUFNLENBQUMsS0FBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztlQUNsRixDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDO2VBQ3RELENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7ZUFDeEQsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7WUFDNUQsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFiQztJQU5DLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsSUFBSSxFQUFFLDRFQUE0RTtRQUNsRixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7SUFDRCxLQUFLLENBQUMsY0FBYyxDQUFDOztxREFDSztBQUczQjtJQURDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7cUNBQ3RCLGFBQWE7O2dEQVMxQjtBQXBCVSxrQkFBa0I7SUFIOUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGdCQUFnQjtLQUMzQixDQUFDO0dBQ1csa0JBQWtCLENBcUI5QjtTQXJCWSxrQkFBa0I7QUFrQy9CLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7Q0FDM0IsQ0FBQTtBQURZLGVBQWU7SUFYM0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFO1lBQ1osa0JBQWtCO1NBQ25CO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsWUFBWTtTQUNiO1FBQ0QsT0FBTyxFQUFFO1lBQ1Asa0JBQWtCO1NBQ25CO0tBQ0YsQ0FBQztHQUNXLGVBQWUsQ0FDM0I7U0FEWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgS2V5LCBNb2RpZmllciB9IGZyb20gJy4uL2VudW1zL2tleWJvYXJkJztcblxuaW50ZXJmYWNlIFNob3J0Y3V0IHtcbiAga2V5OiBLZXk7XG4gIG1vZGlmaWVyOiBNb2RpZmllcjtcbiAgYWN0aW9uOiBGdW5jdGlvbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2pudFNob3J0Y3V0c10nXG59KVxuZXhwb3J0IGNsYXNzIFNob3J0Y3V0c0RpcmVjdGl2ZSB7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1Nob3J0Y3V0cyBhcnJheScsXG4gICAgdHlwZTogJ1t7a2V5OiB1aS5rYXlib2FyZC5rZXksIG1vZGlmaWVyOiB1aS5rZXlib2FyZC5tb2RpZmllciwgYWN0aW9uOiBGdW5jdGlvbn1dJyxcbiAgICBkZWZhdWx0OiAnW10nXG4gIH0pXG4gIEBJbnB1dCgnam50U2hvcnRjdXRzJylcbiAgc2hvcnRjdXRzOiBTaG9ydGN1dFtdID0gW107XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHNlbGVjdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5zaG9ydGN1dHMuZmluZChzaG9ydGN1dCA9PiBzaG9ydGN1dC5rZXkgPT09IGV2ZW50LmtleSk7XG4gICAgaWYgKCEhZm91bmQgJiYgKCFmb3VuZC5tb2RpZmllciB8fCAoZm91bmQubW9kaWZpZXIgPT09IE1vZGlmaWVyLmFsdEtleSAmJiBldmVudC5hbHRLZXkpXG4gICAgICB8fCAoZm91bmQubW9kaWZpZXIgPT09IE1vZGlmaWVyLmN0cmxLZXkgJiYgZXZlbnQuY3RybEtleSlcbiAgICAgIHx8IChmb3VuZC5tb2RpZmllciA9PT0gTW9kaWZpZXIuc2hpZnRLZXkgJiYgZXZlbnQuc2hpZnRLZXkpXG4gICAgICB8fCAoZm91bmQubW9kaWZpZXIgPT09IE1vZGlmaWVyLm1ldGFLZXkgJiYgZXZlbnQubWV0YUtleSkpKSB7XG4gICAgICBmb3VuZC5hY3Rpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNob3J0Y3V0c0RpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTaG9ydGN1dHNEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaG9ydGN1dHNNb2R1bGUge1xufVxuIl19