@w11k/ngx-present
Version:
Angular based Presentation Tool
157 lines • 14.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/presentation/side-bar-content.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __extends } from "tslib";
import { Component, ViewEncapsulation } from '@angular/core';
import { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed';
import { skipNil } from '@w11k/rx-ninja';
import { PresentationService } from '../core/presentation.service';
var SideBarContentComponent = /** @class */ (function (_super) {
__extends(SideBarContentComponent, _super);
function SideBarContentComponent(presentation) {
var _this = _super.call(this) || this;
_this.presentation = presentation;
_this.id = '';
_this.presentation.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.id; }))
.pipe(untilComponentDestroyed(_this))
.subscribe((/**
* @param {?} id
* @return {?}
*/
function (id) { return _this.id = id; }));
_this.showCoordinates$ = _this.presentation
.select(((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.config.sidebar.tableOfContent.showCoordinates; })))
.pipe(skipNil(), untilComponentDestroyed(_this));
_this.showTableOfContent$ = _this.presentation
.select(((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.config.sidebar.tableOfContent.enabled; })))
.pipe(skipNil(), untilComponentDestroyed(_this));
_this.coordinatesSeparator$ = _this.presentation
.select(((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.config.sidebar.tableOfContent.separator; })))
.pipe(skipNil(), untilComponentDestroyed(_this));
_this.depth$ = _this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.config.sidebar.tableOfContent.depth; }))
.pipe(untilComponentDestroyed(_this));
_this.showExpertMenu$ = _this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.sideBar.expert; }))
.pipe(untilComponentDestroyed(_this));
_this.showSettings$ = _this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.sideBar.settings; }))
.pipe(untilComponentDestroyed(_this));
_this.themeLight$ = _this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
function (state) { return state.config.code.theme === 'light'; }))
.pipe(untilComponentDestroyed(_this));
return _this;
}
/**
* @return {?}
*/
SideBarContentComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
SideBarContentComponent.prototype.closeSideNav = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout((/**
* @return {?}
*/
function () {
_this.presentation.dispatch.closeSideBar();
}), 25);
};
/**
* @return {?}
*/
SideBarContentComponent.prototype.startP2P = /**
* @return {?}
*/
function () { };
/**
* @param {?} event
* @return {?}
*/
SideBarContentComponent.prototype.setTheme = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.presentation.dispatch.setCodeTheme(event.checked ? 'light' : 'dark');
};
SideBarContentComponent.decorators = [
{ type: Component, args: [{
selector: 'ngx-present-sidebar-content',
template: "<div class=\"menu\">\n <mat-nav-list (click)=\"closeSideNav()\">\n <a mat-list-item\n routerLink=\"slide\"\n routerLinkActive=\"active\">Slides</a>\n <a mat-list-item\n routerLink=\"overview\"\n routerLinkActive=\"active\">Overview</a>\n <a mat-list-item\n routerLink=\"help\"\n routerLinkActive=\"active\">Help</a>\n </mat-nav-list>\n <mat-divider></mat-divider>\n <div class=\"mat-nav-list table-of-content\"\n *ngIf=\"showTableOfContent$ | async\"\n (click)=\"closeSideNav()\">\n <h2>Table of Content</h2>\n <ngx-present-table-of-content [showCoordinates]=\"showCoordinates$ | async\"\n [depth]=\"depth$ | async\"\n [coordinatesSeparator]=\"coordinatesSeparator$ | async\">\n </ngx-present-table-of-content>\n </div>\n <span class=\"fill-remaining-space\"></span>\n <ng-container *ngIf=\"showSettings$ | async\">\n <mat-divider></mat-divider>\n <mat-nav-list >\n <mat-list-item [disableRipple]=\"true\">\n <mat-slide-toggle #toggle [checked]=\"themeLight$ | async\" (change)=\"setTheme($event)\">Dark / Light</mat-slide-toggle>\n </mat-list-item>\n </mat-nav-list>\n </ng-container>\n <ng-container *ngIf=\"showExpertMenu$ | async\">\n <mat-divider></mat-divider>\n <mat-nav-list (click)=\"closeSideNav()\">\n <a mat-list-item\n (click)=\"startP2P()\"\n routerLink=\"presenter\"\n [queryParams]=\"{ id: id }\">Presenter</a>\n </mat-nav-list>\n </ng-container>\n</div>\n",
encapsulation: ViewEncapsulation.None,
styles: ["ngx-present-sidebar-content .mat-nav-list .mat-list-item.active{font-weight:700}ngx-present-sidebar-content div.menu{display:flex;flex-direction:column;height:100vh}ngx-present-sidebar-content .table-of-content{padding-top:8px;overflow-y:scroll}ngx-present-sidebar-content .table-of-content h2{display:block;padding:0 16px;font-size:inherit}ngx-present-sidebar-content .table-of-content ul{list-style-type:none;margin:0;padding:0}ngx-present-sidebar-content .table-of-content ul li{padding:8px 0 8px 16px}ngx-present-sidebar-content .fill-remaining-space{flex:1 1 auto}"]
}] }
];
/** @nocollapse */
SideBarContentComponent.ctorParameters = function () { return [
{ type: PresentationService }
]; };
return SideBarContentComponent;
}(OnDestroyMixin));
export { SideBarContentComponent };
if (false) {
/** @type {?} */
SideBarContentComponent.prototype.id;
/** @type {?} */
SideBarContentComponent.prototype.showTableOfContent$;
/** @type {?} */
SideBarContentComponent.prototype.showCoordinates$;
/** @type {?} */
SideBarContentComponent.prototype.coordinatesSeparator$;
/** @type {?} */
SideBarContentComponent.prototype.depth$;
/** @type {?} */
SideBarContentComponent.prototype.showExpertMenu$;
/** @type {?} */
SideBarContentComponent.prototype.showSettings$;
/** @type {?} */
SideBarContentComponent.prototype.themeLight$;
/**
* @type {?}
* @private
*/
SideBarContentComponent.prototype.presentation;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdzExay9uZ3gtcHJlc2VudC8iLCJzb3VyY2VzIjpbImxpYi9wcmVzZW50YXRpb24vc2lkZS1iYXItY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FO0lBTTZDLDJDQUFjO0lBVXpELGlDQUE2QixZQUFpQztRQUE5RCxZQUNFLGlCQUFPLFNBMERSO1FBM0Q0QixrQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUdkQsUUFBRSxHQUFHLEVBQUUsQ0FBQztRQVliLEtBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLEVBQUUsRUFBUixDQUFRLEVBQUM7YUFDeEMsSUFBSSxDQUNILHVCQUF1QixDQUFDLEtBQUksQ0FBQyxDQUFFO2FBQ2hDLFNBQVM7Ozs7UUFBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEtBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFaLENBQVksRUFBQyxDQUFDO1FBRWpDLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFJLENBQUMsWUFBWTthQUN0QyxNQUFNLENBQUM7Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQW5ELENBQW1ELEVBQUMsQ0FBQzthQUN0RSxJQUFJLENBQ0gsT0FBTyxFQUFFLEVBQ1QsdUJBQXVCLENB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Qzs7SUFDNUMsZ0RBQTBDOztJQUMxQyw4Q0FBd0M7Ozs7O0lBRTVCLCtDQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgT25EZXN0cm95TWl4aW4sIHVudGlsQ29tcG9uZW50RGVzdHJveWVkIH0gZnJvbSAnQHcxMWsvbmd4LWNvbXBvbmVudGRlc3Ryb3llZCc7XG5pbXBvcnQgeyBza2lwTmlsIH0gZnJvbSAnQHcxMWsvcngtbmluamEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJlc2VudGF0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJlc2VudGF0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcHJlc2VudC1zaWRlYmFyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1iYXItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtYmFyLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZUJhckNvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBPbkRlc3Ryb3lNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBpZCA9ICcnO1xuICBwdWJsaWMgc2hvd1RhYmxlT2ZDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIHNob3dDb29yZGluYXRlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBjb29yZGluYXRlc1NlcGFyYXRvciQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIGRlcHRoJDogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+O1xuICBwdWJsaWMgc2hvd0V4cGVydE1lbnUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgc2hvd1NldHRpbmdzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIHRoZW1lTGlnaHQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJlc2VudGF0aW9uOiBQcmVzZW50YXRpb25TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucHJlc2VudGF0aW9uLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKSwpXG4gICAgICAuc3Vic2NyaWJlKGlkID0+IHRoaXMuaWQgPSBpZCk7XG5cbiAgICB0aGlzLnNob3dDb29yZGluYXRlcyQgPSB0aGlzLnByZXNlbnRhdGlvblxuICAgICAgLnNlbGVjdCgoc3RhdGUgPT4gc3RhdGUuY29uZmlnLnNpZGViYXIudGFibGVPZkNvbnRlbnQuc2hvd0Nvb3JkaW5hdGVzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwTmlsKCksXG4gICAgICAgIHVudGlsQ29tcG9uZW50RGVzdHJveWVkKHRoaXMpLFxuICAgICAgKVxuICAgIDtcblxuICAgIHRoaXMuc2hvd1RhYmxlT2ZDb250ZW50JCA9IHRoaXMucHJlc2VudGF0aW9uXG4gICAgICAuc2VsZWN0KChzdGF0ZSA9PiBzdGF0ZS5jb25maWcuc2lkZWJhci50YWJsZU9mQ29udGVudC5lbmFibGVkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwTmlsKCksXG4gICAgICAgIHVudGlsQ29tcG9uZW50RGVzdHJveWVkKHRoaXMpLFxuICAgICAgKVxuICAgIDtcblxuICAgIHRoaXMuY29vcmRpbmF0ZXNTZXBhcmF0b3IkID0gdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3QoKHN0YXRlID0+IHN0YXRlLmNvbmZpZy5zaWRlYmFyLnRhYmxlT2ZDb250ZW50LnNlcGFyYXRvcikpXG4gICAgICAucGlwZShcbiAgICAgICAgc2tpcE5pbCgpLFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIClcbiAgICA7XG5cbiAgICB0aGlzLmRlcHRoJCA9IHRoaXMucHJlc2VudGF0aW9uXG4gICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmNvbmZpZy5zaWRlYmFyLnRhYmxlT2ZDb250ZW50LmRlcHRoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsQ29tcG9uZW50RGVzdHJveWVkKHRoaXMpLFxuICAgICAgKVxuICAgIDtcblxuICAgIHRoaXMuc2hvd0V4cGVydE1lbnUkID0gdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2lkZUJhci5leHBlcnQpXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxDb21wb25lbnREZXN0cm95ZWQodGhpcyksXG4gICAgICApXG4gICAgO1xuXG4gICAgdGhpcy5zaG93U2V0dGluZ3MkID0gdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2lkZUJhci5zZXR0aW5ncylcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIClcbiAgICA7XG5cbiAgICB0aGlzLnRoZW1lTGlnaHQkID0gdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvZGUudGhlbWUgPT09ICdsaWdodCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxDb21wb25lbnREZXN0cm95ZWQodGhpcyksXG4gICAgICApXG4gICAgO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGNsb3NlU2lkZU5hdigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucHJlc2VudGF0aW9uLmRpc3BhdGNoLmNsb3NlU2lkZUJhcigpO1xuICAgIH0sIDI1KTtcbiAgfVxuXG4gIHN0YXJ0UDJQKCkge31cblxuICBzZXRUaGVtZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICB0aGlzLnByZXNlbnRhdGlvbi5kaXNwYXRjaC5zZXRDb2RlVGhlbWUoZXZlbnQuY2hlY2tlZCA/ICdsaWdodCcgOiAnZGFyaycpO1xuICB9XG59XG4iXX0=