UNPKG

@w11k/ngx-present

Version:

Angular based Presentation Tool

98 lines 7.06 kB
/** * @fileoverview added by tsickle * Generated from: lib/presentation/container.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, HostListener, ViewChild } from '@angular/core'; import { MatSidenav } from '@angular/material/sidenav'; import { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed'; import { EventService } from '../core/event.service'; import { PresentationService } from '../core/presentation.service'; export class ContainerComponent extends OnDestroyMixin { /** * @param {?} presentation * @param {?} events */ constructor(presentation, events) { super(); this.presentation = presentation; this.events = events; } /** * @return {?} */ ngAfterViewInit() { this.presentation .select((/** * @param {?} state * @return {?} */ state => state.sideBar.open)) .pipe(untilComponentDestroyed(this)) .subscribe((/** * @param {?} status * @return {?} */ status => { if (this.sideNav === undefined) { throw new Error(`Couldn't find side nav component as child`); } if (status) { this.sideNav.open(); } else { this.sideNav.close(); } })); } /** * @param {?} opened * @return {?} */ onSideNavClose(opened) { if (!opened) { this.presentation.dispatch.closeSideBar(); } } /** * @param {?} event * @return {?} */ onKeyPressed(event) { this.events.processKeyboardEvent(event); } } ContainerComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-present-container', template: "<mat-sidenav-container>\n <mat-sidenav\n (openedChange)=\"onSideNavClose($event)\"\n >\n <ngx-present-sidebar-content>\n </ngx-present-sidebar-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n\n</mat-sidenav-container>\n", styles: ["mat-sidenav{width:250px}:host,mat-sidenav-container{box-sizing:border-box;width:100vw;max-width:100vw;height:100vh;max-height:100vh;overflow:hidden}"] }] } ]; /** @nocollapse */ ContainerComponent.ctorParameters = () => [ { type: PresentationService }, { type: EventService } ]; ContainerComponent.propDecorators = { sideNav: [{ type: ViewChild, args: [MatSidenav,] }], onKeyPressed: [{ type: HostListener, args: ['document:keydown', ['$event'],] }] }; if (false) { /** * @type {?} * @private */ ContainerComponent.prototype.sideNav; /** * @type {?} * @private */ ContainerComponent.prototype.presentation; /** * @type {?} * @private */ ContainerComponent.prototype.events; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL3ByZXNlbnRhdGlvbi9jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU9uRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYzs7Ozs7SUFJcEQsWUFBNkIsWUFBaUMsRUFDakMsTUFBb0I7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFGbUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQWM7SUFFakQsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWTthQUNkLE1BQU07Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDO2FBQ25DLElBQUksQ0FDSCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FDOUI7YUFDQSxTQUFTOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2FBQzlEO1lBRUQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxNQUFlO1FBQzVCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7Ozs7O0lBR0QsWUFBWSxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7O1lBMUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyx1VEFBeUM7O2FBRTFDOzs7O1lBTlEsbUJBQW1CO1lBRG5CLFlBQVk7OztzQkFTbEIsU0FBUyxTQUFDLFVBQVU7MkJBaUNwQixZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7Ozs7SUFqQzVDLHFDQUN3Qzs7Ozs7SUFFNUIsMENBQWtEOzs7OztJQUNsRCxvQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBPbkRlc3Ryb3lNaXhpbiwgdW50aWxDb21wb25lbnREZXN0cm95ZWQgfSBmcm9tICdAdzExay9uZ3gtY29tcG9uZW50ZGVzdHJveWVkJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZW50YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcmVzZW50YXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1wcmVzZW50LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBPbkRlc3Ryb3lNaXhpbiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKE1hdFNpZGVuYXYpXG4gIHByaXZhdGUgc2lkZU5hdjogTWF0U2lkZW5hdiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByZXNlbnRhdGlvbjogUHJlc2VudGF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBldmVudHM6IEV2ZW50U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2lkZUJhci5vcGVuKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsQ29tcG9uZW50RGVzdHJveWVkKHRoaXMpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICBpZiAodGhpcy5zaWRlTmF2ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgc2lkZSBuYXYgY29tcG9uZW50IGFzIGNoaWxkYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgdGhpcy5zaWRlTmF2Lm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNpZGVOYXYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvblNpZGVOYXZDbG9zZShvcGVuZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIW9wZW5lZCkge1xuICAgICAgdGhpcy5wcmVzZW50YXRpb24uZGlzcGF0Y2guY2xvc2VTaWRlQmFyKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuZXZlbnRzLnByb2Nlc3NLZXlib2FyZEV2ZW50KGV2ZW50KTtcbiAgfVxuXG59XG4iXX0=