UNPKG

@w11k/ngx-present

Version:

Angular based Presentation Tool

97 lines 7.66 kB
/** * @fileoverview added by tsickle * Generated from: lib/slide-by-slide/slide-by-slide-title.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed'; import { skipNil } from '@w11k/rx-ninja'; import { combineLatest } from 'rxjs'; import { delay, map } from 'rxjs/operators'; import { PresentationService } from '../core/presentation.service'; import { AdvancedTitleService } from '../core/title.service'; import { coordinatesToString } from './slide-by-slide.functions'; import { SlideBySlideService } from './slide-by-slide.service'; import * as i0 from "@angular/core"; import * as i1 from "../core/title.service"; import * as i2 from "../core/presentation.service"; import * as i3 from "./slide-by-slide.service"; export class SlideBySlideTitleService extends OnDestroyMixin { /** * @param {?} title * @param {?} presentation * @param {?} slideBySlide */ constructor(title, presentation, slideBySlide) { super(); this.title = title; this.presentation = presentation; this.slideBySlide = slideBySlide; } /** * @param {?} prefix * @return {?} */ setupTitleSync(prefix) { /** @type {?} */ const config$ = this.presentation.select((/** * @param {?} state * @return {?} */ state => state.config)) .pipe(untilComponentDestroyed(this)); /** @type {?} */ const slide$ = this.slideBySlide.select((/** * @param {?} state * @return {?} */ state => state.currentSlide)) .pipe(skipNil(), untilComponentDestroyed(this)); combineLatest(slide$, config$) .pipe(delay(10), // wait for navigation to happen map((/** * @param {?} __0 * @return {?} */ ([slide, config]) => coordinatesToString(slide.coordinates, config.coordinates.separator))), map((/** * @param {?} coordinates * @return {?} */ coordinates => `${prefix} ${coordinates}`))) .subscribe((/** * @param {?} title * @return {?} */ title => this.title.prefixTitle(title))); } } SlideBySlideTitleService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ SlideBySlideTitleService.ctorParameters = () => [ { type: AdvancedTitleService }, { type: PresentationService }, { type: SlideBySlideService } ]; /** @nocollapse */ SlideBySlideTitleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SlideBySlideTitleService_Factory() { return new SlideBySlideTitleService(i0.ɵɵinject(i1.AdvancedTitleService), i0.ɵɵinject(i2.PresentationService), i0.ɵɵinject(i3.SlideBySlideService)); }, token: SlideBySlideTitleService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ SlideBySlideTitleService.prototype.title; /** * @type {?} * @private */ SlideBySlideTitleService.prototype.presentation; /** * @type {?} * @private */ SlideBySlideTitleService.prototype.slideBySlide; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtYnktc2xpZGUtdGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL3NsaWRlLWJ5LXNsaWRlL3NsaWRlLWJ5LXNsaWRlLXRpdGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUsvRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYzs7Ozs7O0lBQzFELFlBQTZCLEtBQTJCLEVBQzNCLFlBQWlDLEVBQ2pDLFlBQWlDO1FBQzVELEtBQUssRUFBRSxDQUFDO1FBSG1CLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFFOUQsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsTUFBYzs7Y0FDckIsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQzthQUM1RCxJQUFJLENBQ0gsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQzlCOztjQUVHLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUM7YUFDakUsSUFBSSxDQUNILE9BQU8sRUFBRSxFQUNULHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUM5QjtRQUVILGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO2FBQzNCLElBQUksQ0FDSCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsZ0NBQWdDO1FBQzNDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUMsRUFDOUYsR0FBRzs7OztRQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksV0FBVyxFQUFFLEVBQUMsQ0FDL0M7YUFDQSxTQUFTOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDO0lBQ3ZELENBQUM7OztZQTdCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFOUSxvQkFBb0I7WUFEcEIsbUJBQW1CO1lBR25CLG1CQUFtQjs7Ozs7Ozs7SUFNZCx5Q0FBNEM7Ozs7O0lBQzVDLGdEQUFrRDs7Ozs7SUFDbEQsZ0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25EZXN0cm95TWl4aW4sIHVudGlsQ29tcG9uZW50RGVzdHJveWVkIH0gZnJvbSAnQHcxMWsvbmd4LWNvbXBvbmVudGRlc3Ryb3llZCc7XG5pbXBvcnQgeyBza2lwTmlsIH0gZnJvbSAnQHcxMWsvcngtbmluamEnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByZXNlbnRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3ByZXNlbnRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFkdmFuY2VkVGl0bGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvb3JkaW5hdGVzVG9TdHJpbmcgfSBmcm9tICcuL3NsaWRlLWJ5LXNsaWRlLmZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBTbGlkZUJ5U2xpZGVTZXJ2aWNlIH0gZnJvbSAnLi9zbGlkZS1ieS1zbGlkZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVCeVNsaWRlVGl0bGVTZXJ2aWNlIGV4dGVuZHMgT25EZXN0cm95TWl4aW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBBZHZhbmNlZFRpdGxlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcmVzZW50YXRpb246IFByZXNlbnRhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVCeVNsaWRlOiBTbGlkZUJ5U2xpZGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHNldHVwVGl0bGVTeW5jKHByZWZpeDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uZmlnJCA9IHRoaXMucHJlc2VudGF0aW9uLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5jb25maWcpXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxDb21wb25lbnREZXN0cm95ZWQodGhpcyksXG4gICAgICApO1xuXG4gICAgY29uc3Qgc2xpZGUkID0gdGhpcy5zbGlkZUJ5U2xpZGUuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmN1cnJlbnRTbGlkZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwTmlsKCksXG4gICAgICAgIHVudGlsQ29tcG9uZW50RGVzdHJveWVkKHRoaXMpXG4gICAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChzbGlkZSQsIGNvbmZpZyQpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVsYXkoMTApLCAvLyB3YWl0IGZvciBuYXZpZ2F0aW9uIHRvIGhhcHBlblxuICAgICAgICBtYXAoKFtzbGlkZSwgY29uZmlnXSkgPT4gY29vcmRpbmF0ZXNUb1N0cmluZyhzbGlkZS5jb29yZGluYXRlcywgY29uZmlnLmNvb3JkaW5hdGVzLnNlcGFyYXRvcikpLFxuICAgICAgICBtYXAoY29vcmRpbmF0ZXMgPT4gYCR7cHJlZml4fSAke2Nvb3JkaW5hdGVzfWApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRpdGxlID0+IHRoaXMudGl0bGUucHJlZml4VGl0bGUodGl0bGUpKTtcbiAgfVxufVxuIl19