UNPKG

@w11k/ngx-present

Version:

Angular based Presentation Tool

174 lines 10.9 kB
/** * @fileoverview added by tsickle * Generated from: lib/core/event.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __values } from "tslib"; import { Injectable, InjectionToken, Injector } from '@angular/core'; import { Subject } from 'rxjs'; import { filter } from 'rxjs/operators'; import { PresentationService } from './presentation.service'; import * as i0 from "@angular/core"; /** * @param {?} event * @return {?} */ export function nonNavigationEvent(event) { return noModifierPressed(event) && isNotEditable(event); } /** * @param {?} event * @return {?} */ export function isNotEditable(event) { /** @type {?} */ var srcElement = event.srcElement; if (srcElement instanceof HTMLElement) { /** @type {?} */ var tagName = srcElement.tagName; if (tagName === 'INPUT' || tagName === 'TEXTAREA' || srcElement.isContentEditable) { return false; } } return true; } /** * @param {?} event * @return {?} */ export function noModifierPressed(event) { if (event.altKey || event.ctrlKey || event.shiftKey || event.metaKey) { return false; } return true; } /** * @abstract */ var /** * @abstract */ KeyboardEventProcessor = /** @class */ (function () { function KeyboardEventProcessor() { } return KeyboardEventProcessor; }()); /** * @abstract */ export { KeyboardEventProcessor }; if (false) { /** * @abstract * @param {?} events$ * @return {?} */ KeyboardEventProcessor.prototype.init = function (events$) { }; } var ToggleSideNav = /** @class */ (function () { function ToggleSideNav(service) { this.service = service; } /** * @param {?} events$ * @return {?} */ ToggleSideNav.prototype.init = /** * @param {?} events$ * @return {?} */ function (events$) { var _this = this; events$ .pipe(filter(isNotEditable), filter((/** * @param {?} event * @return {?} */ function (event) { return !(event.ctrlKey || event.metaKey || event.shiftKey); })), // letter m filter((/** * @param {?} event * @return {?} */ function (event) { return event.keyCode === 77; }))) .subscribe((/** * @param {?} event * @return {?} */ function (event) { event.preventDefault(); _this.service.toggleSideBar(event); })); }; ToggleSideNav.decorators = [ { type: Injectable } ]; /** @nocollapse */ ToggleSideNav.ctorParameters = function () { return [ { type: PresentationService } ]; }; return ToggleSideNav; }()); export { ToggleSideNav }; if (false) { /** * @type {?} * @private */ ToggleSideNav.prototype.service; } /** @type {?} */ export var KEYBOARD_EVENT_PROCESSOR_TOKEN = new InjectionToken('KEYBOARD_EVENT_PROCESSORS'); var EventService = /** @class */ (function () { function EventService(injector) { var e_1, _a; this.keyboardEvents$ = new Subject(); /** @type {?} */ var keyboardEventProcessors = injector.get(KEYBOARD_EVENT_PROCESSOR_TOKEN); try { for (var keyboardEventProcessors_1 = __values(keyboardEventProcessors), keyboardEventProcessors_1_1 = keyboardEventProcessors_1.next(); !keyboardEventProcessors_1_1.done; keyboardEventProcessors_1_1 = keyboardEventProcessors_1.next()) { var processor = keyboardEventProcessors_1_1.value; processor.init(this.keyboardEvents$); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (keyboardEventProcessors_1_1 && !keyboardEventProcessors_1_1.done && (_a = keyboardEventProcessors_1.return)) _a.call(keyboardEventProcessors_1); } finally { if (e_1) throw e_1.error; } } } /** * @param {?} event * @return {?} */ EventService.prototype.processKeyboardEvent = /** * @param {?} event * @return {?} */ function (event) { // console.debug('EventService: emit keyboard event'); this.keyboardEvents$.next(event); }; EventService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ EventService.ctorParameters = function () { return [ { type: Injector } ]; }; /** @nocollapse */ EventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(i0.ɵɵinject(i0.INJECTOR)); }, token: EventService, providedIn: "root" }); return EventService; }()); export { EventService }; if (false) { /** * @type {?} * @private */ EventService.prototype.keyboardEvents$; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL2NvcmUvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUc3RCxNQUFNLFVBQVUsa0JBQWtCLENBQUUsS0FBb0I7SUFDdEQsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUQsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQW9COztRQUMxQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVU7SUFFbkMsSUFBSSxVQUFVLFlBQVksV0FBVyxFQUFFOztZQUMvQixPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU87UUFFbEMsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLE9BQU8sS0FBSyxVQUFVLElBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pGLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBb0I7SUFDcEQsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQ3BFLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7Ozs7QUFFRDs7OztJQUFBO0lBRUEsQ0FBQztJQUFELDZCQUFDO0FBQUQsQ0FBQyxBQUZELElBRUM7Ozs7Ozs7Ozs7O0lBREMsK0RBQXdEOztBQUcxRDtJQUVFLHVCQUE2QixPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUFHLENBQUM7Ozs7O0lBRTdELDRCQUFJOzs7O0lBQUosVUFBSyxPQUFrQztRQUF2QyxpQkFZQztRQVhDLE9BQU87YUFDSixJQUFJLENBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNyQixNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBbkQsQ0FBbUQsRUFBQztRQUNwRSxXQUFXO1FBQ1gsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQXBCLENBQW9CLEVBQUMsQ0FDdEM7YUFDQSxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBaEJGLFVBQVU7Ozs7Z0JBakNGLG1CQUFtQjs7SUFrRDVCLG9CQUFDO0NBQUEsQUFqQkQsSUFpQkM7U0FoQlksYUFBYTs7Ozs7O0lBQ1osZ0NBQTZDOzs7QUFpQjNELE1BQU0sS0FBTyw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsMkJBQTJCLENBQUM7QUFFdkg7SUFPRSxzQkFBWSxRQUFrQjs7UUFGdEIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQzs7WUFHL0MsdUJBQXVCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQzs7WUFFNUUsS0FBd0IsSUFBQSw0QkFBQSxTQUFBLHVCQUF1QixDQUFBLGdFQUFBLHFHQUFFO2dCQUE1QyxJQUFNLFNBQVMsb0NBQUE7Z0JBQ2xCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3RDOzs7Ozs7Ozs7SUFDSCxDQUFDOzs7OztJQUVELDJDQUFvQjs7OztJQUFwQixVQUFxQixLQUFvQjtRQUN2QyxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Z0JBbEJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBNURvQyxRQUFROzs7dUJBQTdDO0NBOEVDLEFBcEJELElBb0JDO1NBakJZLFlBQVk7Ozs7OztJQUV2Qix1Q0FBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJlc2VudGF0aW9uU2VydmljZSB9IGZyb20gJy4vcHJlc2VudGF0aW9uLnNlcnZpY2UnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBub25OYXZpZ2F0aW9uRXZlbnQgKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBub01vZGlmaWVyUHJlc3NlZChldmVudCkgJiYgaXNOb3RFZGl0YWJsZShldmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vdEVkaXRhYmxlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHNyY0VsZW1lbnQgPSBldmVudC5zcmNFbGVtZW50O1xuXG4gIGlmIChzcmNFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gc3JjRWxlbWVudC50YWdOYW1lO1xuXG4gICAgaWYgKHRhZ05hbWUgPT09ICdJTlBVVCcgfHwgdGFnTmFtZSA9PT0gJ1RFWFRBUkVBJyB8fCBzcmNFbGVtZW50LmlzQ29udGVudEVkaXRhYmxlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub01vZGlmaWVyUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICBpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQubWV0YUtleSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2V5Ym9hcmRFdmVudFByb2Nlc3NvciB7XG4gIGFic3RyYWN0IGluaXQoZXZlbnRzJDogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50Pik6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2dnbGVTaWRlTmF2IGltcGxlbWVudHMgS2V5Ym9hcmRFdmVudFByb2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogUHJlc2VudGF0aW9uU2VydmljZSkge31cblxuICBpbml0KGV2ZW50cyQ6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD4pIHtcbiAgICBldmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGlzTm90RWRpdGFibGUpLFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gIShldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuc2hpZnRLZXkpKSxcbiAgICAgICAgLy8gbGV0dGVyIG1cbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmtleUNvZGUgPT09IDc3KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VydmljZS50b2dnbGVTaWRlQmFyKGV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBLRVlCT0FSRF9FVkVOVF9QUk9DRVNTT1JfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48S2V5Ym9hcmRFdmVudFByb2Nlc3NvcltdPignS0VZQk9BUkRfRVZFTlRfUFJPQ0VTU09SUycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xuXG4gIHByaXZhdGUga2V5Ym9hcmRFdmVudHMkID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBrZXlib2FyZEV2ZW50UHJvY2Vzc29ycyA9IGluamVjdG9yLmdldChLRVlCT0FSRF9FVkVOVF9QUk9DRVNTT1JfVE9LRU4pO1xuXG4gICAgZm9yIChjb25zdCBwcm9jZXNzb3Igb2Yga2V5Ym9hcmRFdmVudFByb2Nlc3NvcnMpIHtcbiAgICAgIHByb2Nlc3Nvci5pbml0KHRoaXMua2V5Ym9hcmRFdmVudHMkKTtcbiAgICB9XG4gIH1cblxuICBwcm9jZXNzS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIGNvbnNvbGUuZGVidWcoJ0V2ZW50U2VydmljZTogZW1pdCBrZXlib2FyZCBldmVudCcpO1xuICAgIHRoaXMua2V5Ym9hcmRFdmVudHMkLm5leHQoZXZlbnQpO1xuICB9XG5cbn1cbiJdfQ==