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