@w11k/ngx-present
Version:
Angular based Presentation Tool
98 lines • 7.06 kB
JavaScript
/**
* @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=