@w11k/ngx-present
Version:
Angular based Presentation Tool
129 lines • 10.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/presenter/presenter-route.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed';
import { skipNil } from '@w11k/rx-ninja';
import { map, switchMap } from 'rxjs/operators';
import { PresentationService } from '../core/presentation.service';
import { SlideAndModeResolver } from '../core/slide-and-mode-resolver.service';
import { SlideBySlideTitleService } from '../slide-by-slide/slide-by-slide-title.service';
import { SlideBySlideService } from '../slide-by-slide/slide-by-slide.service';
export class PresenterRouteComponent extends OnDestroyMixin {
/**
* @param {?} route
* @param {?} slideRouter
* @param {?} presentation
* @param {?} slides
* @param {?} title
*/
constructor(route, slideRouter, presentation, slides, title) {
super();
this.route = route;
this.slideRouter = slideRouter;
this.presentation = presentation;
this.slides = slides;
this.title = title;
this.currentSlide$ = this.slides.select(((/**
* @param {?} state
* @return {?}
*/
state => state.currentSlide)))
.pipe(skipNil(), untilComponentDestroyed(this));
this.preview1$ = this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
state => state.config.presenter.preview1))
.pipe(switchMap((/**
* @param {?} config
* @return {?}
*/
config => this.slides.navigateRelative(config.move, config.coordinatesToKeep))), untilComponentDestroyed(this));
this.preview2$ = this.presentation
.select((/**
* @param {?} state
* @return {?}
*/
state => state.config.presenter.preview2))
.pipe(switchMap((/**
* @param {?} config
* @return {?}
*/
config => this.slides.navigateRelative(config.move, config.coordinatesToKeep))), untilComponentDestroyed(this));
this.title.setupTitleSync('Presenter');
}
/**
* @return {?}
*/
ngOnInit() {
// TODO: move somewhere else
this.route.queryParamMap
.pipe(map((/**
* @param {?} params
* @return {?}
*/
params => params.get('id'))), untilComponentDestroyed(this))
.subscribe((/**
* @param {?} id
* @return {?}
*/
id => {
if (id !== null) {
this.presentation.dispatch.setId(id);
}
}));
}
}
PresenterRouteComponent.decorators = [
{ type: Component, args: [{
selector: 'ngx-present-presenter-route',
template: "<ngx-present-presenter-view [currentSlide]=\"currentSlide$ | async\"\n [preview1]=\"preview1$ | async\"\n [preview2]=\"preview2$ | async\">\n</ngx-present-presenter-view>\n"
}] }
];
/** @nocollapse */
PresenterRouteComponent.ctorParameters = () => [
{ type: ActivatedRoute },
{ type: SlideAndModeResolver },
{ type: PresentationService },
{ type: SlideBySlideService },
{ type: SlideBySlideTitleService }
];
if (false) {
/** @type {?} */
PresenterRouteComponent.prototype.currentSlide$;
/** @type {?} */
PresenterRouteComponent.prototype.preview1$;
/** @type {?} */
PresenterRouteComponent.prototype.preview2$;
/**
* @type {?}
* @private
*/
PresenterRouteComponent.prototype.route;
/**
* @type {?}
* @private
*/
PresenterRouteComponent.prototype.slideRouter;
/**
* @type {?}
* @private
*/
PresenterRouteComponent.prototype.presentation;
/**
* @type {?}
* @private
*/
PresenterRouteComponent.prototype.slides;
/**
* @type {?}
* @private
*/
PresenterRouteComponent.prototype.title;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2VudGVyLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL3ByZXNlbnRlci9wcmVzZW50ZXItcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTS9FLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjOzs7Ozs7OztJQUt6RCxZQUE2QixLQUFxQixFQUNyQixXQUFpQyxFQUNqQyxZQUFpQyxFQUNqQyxNQUEyQixFQUMzQixLQUErQjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQUxtQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQTBCO1FBRzFELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUMsQ0FBQzthQUNuRSxJQUFJLENBQ0gsT0FBTyxFQUFFLEVBQ1QsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQzlCLENBQUM7UUFFSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZO2FBQy9CLE1BQU07Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBQzthQUNoRCxJQUFJLENBQ0gsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLEVBQ3hGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUM5QixDQUNGO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWTthQUMvQixNQUFNOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUM7YUFDaEQsSUFBSSxDQUNILFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBQyxFQUN4Rix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FDOUIsQ0FBQztRQUVKLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCxRQUFRO1FBRU4sNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUNyQixJQUFJLENBQ0gsR0FBRzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUMvQix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FDOUI7YUFDQSxTQUFTOzs7O1FBQUMsRUFBRSxDQUFDLEVBQUU7WUFDZCxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLDhPQUErQzthQUNoRDs7OztZQWRRLGNBQWM7WUFPZCxvQkFBb0I7WUFGcEIsbUJBQW1CO1lBSW5CLG1CQUFtQjtZQURuQix3QkFBd0I7Ozs7SUFRL0IsZ0RBQXdDOztJQUN4Qyw0Q0FBZ0Q7O0lBQ2hELDRDQUFnRDs7Ozs7SUFFcEMsd0NBQXNDOzs7OztJQUN0Qyw4Q0FBa0Q7Ozs7O0lBQ2xELCtDQUFrRDs7Ozs7SUFDbEQseUNBQTRDOzs7OztJQUM1Qyx3Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT25EZXN0cm95TWl4aW4sIHVudGlsQ29tcG9uZW50RGVzdHJveWVkIH0gZnJvbSAnQHcxMWsvbmd4LWNvbXBvbmVudGRlc3Ryb3llZCc7XG5pbXBvcnQgeyBza2lwTmlsIH0gZnJvbSAnQHcxMWsvcngtbmluamEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcmVzZW50YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcmVzZW50YXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbGlkZSB9IGZyb20gJy4uL2NvcmUvcHJlc2VudGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IFNsaWRlQW5kTW9kZVJlc29sdmVyIH0gZnJvbSAnLi4vY29yZS9zbGlkZS1hbmQtbW9kZS1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNsaWRlQnlTbGlkZVRpdGxlU2VydmljZSB9IGZyb20gJy4uL3NsaWRlLWJ5LXNsaWRlL3NsaWRlLWJ5LXNsaWRlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2xpZGVCeVNsaWRlU2VydmljZSB9IGZyb20gJy4uL3NsaWRlLWJ5LXNsaWRlL3NsaWRlLWJ5LXNsaWRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcHJlc2VudC1wcmVzZW50ZXItcm91dGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJlc2VudGVyLXJvdXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcmVzZW50ZXJSb3V0ZUNvbXBvbmVudCBleHRlbmRzIE9uRGVzdHJveU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGN1cnJlbnRTbGlkZSQ6IE9ic2VydmFibGU8U2xpZGU+O1xuICBwdWJsaWMgcHJldmlldzEkOiBPYnNlcnZhYmxlPFNsaWRlIHwgdW5kZWZpbmVkPjtcbiAgcHVibGljIHByZXZpZXcyJDogT2JzZXJ2YWJsZTxTbGlkZSB8IHVuZGVmaW5lZD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVSb3V0ZXI6IFNsaWRlQW5kTW9kZVJlc29sdmVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByZXNlbnRhdGlvbjogUHJlc2VudGF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzbGlkZXM6IFNsaWRlQnlTbGlkZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGl0bGU6IFNsaWRlQnlTbGlkZVRpdGxlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmN1cnJlbnRTbGlkZSQgPSB0aGlzLnNsaWRlcy5zZWxlY3QoKHN0YXRlID0+IHN0YXRlLmN1cnJlbnRTbGlkZSkpXG4gICAgICAucGlwZShcbiAgICAgICAgc2tpcE5pbCgpLFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKVxuICAgICAgKTtcblxuICAgIHRoaXMucHJldmlldzEkID0gdGhpcy5wcmVzZW50YXRpb25cbiAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuY29uZmlnLnByZXNlbnRlci5wcmV2aWV3MSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoY29uZmlnID0+IHRoaXMuc2xpZGVzLm5hdmlnYXRlUmVsYXRpdmUoY29uZmlnLm1vdmUsIGNvbmZpZy5jb29yZGluYXRlc1RvS2VlcCkpLFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIClcbiAgICA7XG5cbiAgICB0aGlzLnByZXZpZXcyJCA9IHRoaXMucHJlc2VudGF0aW9uXG4gICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmNvbmZpZy5wcmVzZW50ZXIucHJldmlldzIpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGNvbmZpZyA9PiB0aGlzLnNsaWRlcy5uYXZpZ2F0ZVJlbGF0aXZlKGNvbmZpZy5tb3ZlLCBjb25maWcuY29vcmRpbmF0ZXNUb0tlZXApKSxcbiAgICAgICAgdW50aWxDb21wb25lbnREZXN0cm95ZWQodGhpcyksXG4gICAgICApO1xuXG4gICAgdGhpcy50aXRsZS5zZXR1cFRpdGxlU3luYygnUHJlc2VudGVyJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIC8vIFRPRE86IG1vdmUgc29tZXdoZXJlIGVsc2VcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXBcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5nZXQoJ2lkJykpLFxuICAgICAgICB1bnRpbENvbXBvbmVudERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoaWQgPT4ge1xuICAgICAgICBpZiAoaWQgIT09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnByZXNlbnRhdGlvbi5kaXNwYXRjaC5zZXRJZChpZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=