@w11k/ngx-present
Version:
Angular based Presentation Tool
111 lines • 7.75 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 { __extends } from "tslib";
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';
var ContainerComponent = /** @class */ (function (_super) {
__extends(ContainerComponent, _super);
function ContainerComponent(presentation, events) {
var _this = _super.call(this) || this;
_this.presentation = presentation;
_this.events = events;
return _this;
}
/**
* @return {?}
*/
ContainerComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.sideBar.open; }))
.pipe(untilComponentDestroyed(this))
.subscribe((/**
* @param {?} status
* @return {?}
*/
function (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 {?}
*/
ContainerComponent.prototype.onSideNavClose = /**
* @param {?} opened
* @return {?}
*/
function (opened) {
if (!opened) {
this.presentation.dispatch.closeSideBar();
}
};
/**
* @param {?} event
* @return {?}
*/
ContainerComponent.prototype.onKeyPressed = /**
* @param {?} event
* @return {?}
*/
function (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 = function () { return [
{ type: PresentationService },
{ type: EventService }
]; };
ContainerComponent.propDecorators = {
sideNav: [{ type: ViewChild, args: [MatSidenav,] }],
onKeyPressed: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
};
return ContainerComponent;
}(OnDestroyMixin));
export { ContainerComponent };
if (false) {
/**
* @type {?}
* @private
*/
ContainerComponent.prototype.sideNav;
/**
* @type {?}
* @private
*/
ContainerComponent.prototype.presentation;
/**
* @type {?}
* @private
*/
ContainerComponent.prototype.events;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL3ByZXNlbnRhdGlvbi9jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkU7SUFLd0Msc0NBQWM7SUFJcEQsNEJBQTZCLFlBQWlDLEVBQ2pDLE1BQW9CO1FBRGpELFlBRUUsaUJBQU8sU0FDUjtRQUg0QixrQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsWUFBTSxHQUFOLE1BQU0sQ0FBYzs7SUFFakQsQ0FBQzs7OztJQUVELDRDQUFlOzs7SUFBZjtRQUFBLGlCQWlCQztRQWhCQyxJQUFJLENBQUMsWUFBWTthQUNkLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFsQixDQUFrQixFQUFDO2FBQ25DLElBQUksQ0FDSCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FDOUI7YUFDQSxTQUFTOzs7O1FBQUMsVUFBQSxNQUFNO1lBQ2YsSUFBSSxLQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2FBQzlEO1lBRUQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxLQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELDJDQUFjOzs7O0lBQWQsVUFBZSxNQUFlO1FBQzVCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7Ozs7O0lBR0QseUNBQVk7Ozs7SUFEWixVQUNhLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Z0JBMUNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyx1VEFBeUM7O2lCQUUxQzs7OztnQkFOUSxtQkFBbUI7Z0JBRG5CLFlBQVk7OzswQkFTbEIsU0FBUyxTQUFDLFVBQVU7K0JBaUNwQixZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBSzlDLHlCQUFDO0NBQUEsQUE1Q0QsQ0FLd0MsY0FBYyxHQXVDckQ7U0F2Q1ksa0JBQWtCOzs7Ozs7SUFDN0IscUNBQ3dDOzs7OztJQUU1QiwwQ0FBa0Q7Ozs7O0lBQ2xELG9DQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE9uRGVzdHJveU1peGluLCB1bnRpbENvbXBvbmVudERlc3Ryb3llZCB9IGZyb20gJ0B3MTFrL25neC1jb21wb25lbnRkZXN0cm95ZWQnO1xuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNlbnRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3ByZXNlbnRhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXByZXNlbnQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIE9uRGVzdHJveU1peGluIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdilcbiAgcHJpdmF0ZSBzaWRlTmF2OiBNYXRTaWRlbmF2IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJlc2VudGF0aW9uOiBQcmVzZW50YXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50czogRXZlbnRTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZXNlbnRhdGlvblxuICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zaWRlQmFyLm9wZW4pXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxDb21wb25lbnREZXN0cm95ZWQodGhpcyksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpZGVOYXYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3QgZmluZCBzaWRlIG5hdiBjb21wb25lbnQgYXMgY2hpbGRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgICB0aGlzLnNpZGVOYXYub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2lkZU5hdi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uU2lkZU5hdkNsb3NlKG9wZW5lZDogYm9vbGVhbikge1xuICAgIGlmICghb3BlbmVkKSB7XG4gICAgICB0aGlzLnByZXNlbnRhdGlvbi5kaXNwYXRjaC5jbG9zZVNpZGVCYXIoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5ldmVudHMucHJvY2Vzc0tleWJvYXJkRXZlbnQoZXZlbnQpO1xuICB9XG5cbn1cbiJdfQ==