@w11k/ngx-present
Version:
Angular based Presentation Tool
89 lines • 5.65 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/core/title.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { PresentationService } from './presentation.service';
import * as i0 from "@angular/core";
import * as i1 from "@angular/platform-browser";
import * as i2 from "./presentation.service";
export class AdvancedTitleService {
/**
* @param {?} title
* @param {?} presentation
*/
constructor(title, presentation) {
this.title = title;
this.presentation = presentation;
this.original = title.getTitle();
}
/**
* @param {?} newTitle
* @return {?}
*/
setTitle(newTitle) {
/** @type {?} */
const oldTitle = this.title.getTitle();
this.title.setTitle(newTitle);
this.lastReturnedUnset = ((/**
* @return {?}
*/
() => {
/** @type {?} */
const unset = (/**
* @return {?}
*/
() => {
if (this.lastReturnedUnset === unset) {
this.title.setTitle(oldTitle);
}
});
return unset;
}))();
return this.lastReturnedUnset;
}
/**
* @param {?} prefix
* @param {?=} separator
* @return {?}
*/
prefixTitle(prefix, separator = this.presentation.state.config.title.separator) {
return this.setTitle(prefix + separator + this.original);
}
}
AdvancedTitleService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
AdvancedTitleService.ctorParameters = () => [
{ type: Title },
{ type: PresentationService }
];
/** @nocollapse */ AdvancedTitleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AdvancedTitleService_Factory() { return new AdvancedTitleService(i0.ɵɵinject(i1.Title), i0.ɵɵinject(i2.PresentationService)); }, token: AdvancedTitleService, providedIn: "root" });
if (false) {
/**
* @type {?}
* @private
*/
AdvancedTitleService.prototype.lastReturnedUnset;
/**
* @type {?}
* @private
*/
AdvancedTitleService.prototype.original;
/**
* @type {?}
* @private
*/
AdvancedTitleService.prototype.title;
/**
* @type {?}
* @private
*/
AdvancedTitleService.prototype.presentation;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL2NvcmUvdGl0bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSzdELE1BQU0sT0FBTyxvQkFBb0I7Ozs7O0lBSS9CLFlBQTZCLEtBQVksRUFDWixZQUFpQztRQURqQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQzVELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLFFBQWdCOztjQUNqQixRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFFdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHOzs7UUFBQyxHQUFHLEVBQUU7O2tCQUN2QixLQUFLOzs7WUFBRyxHQUFHLEVBQUU7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLEtBQUssRUFBRTtvQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUMsRUFBRSxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQzs7Ozs7O0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7WUEvQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsS0FBSztZQUNMLG1CQUFtQjs7Ozs7Ozs7SUFNMUIsaURBQW1EOzs7OztJQUNuRCx3Q0FBa0M7Ozs7O0lBRXRCLHFDQUE2Qjs7Ozs7SUFDN0IsNENBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFByZXNlbnRhdGlvblNlcnZpY2UgfSBmcm9tICcuL3ByZXNlbnRhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUaXRsZVNlcnZpY2Uge1xuICBwcml2YXRlIGxhc3RSZXR1cm5lZFVuc2V0OiAoKCkgPT4gYW55KSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmlnaW5hbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGl0bGU6IFRpdGxlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByZXNlbnRhdGlvbjogUHJlc2VudGF0aW9uU2VydmljZSkge1xuICAgIHRoaXMub3JpZ2luYWwgPSB0aXRsZS5nZXRUaXRsZSgpO1xuICB9XG5cbiAgc2V0VGl0bGUobmV3VGl0bGU6IHN0cmluZyk6ICgoKSA9PiB2b2lkKSB7XG4gICAgY29uc3Qgb2xkVGl0bGUgPSB0aGlzLnRpdGxlLmdldFRpdGxlKCk7XG5cbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKG5ld1RpdGxlKTtcblxuICAgIHRoaXMubGFzdFJldHVybmVkVW5zZXQgPSAoKCkgPT4ge1xuICAgICAgY29uc3QgdW5zZXQgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmxhc3RSZXR1cm5lZFVuc2V0ID09PSB1bnNldCkge1xuICAgICAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUob2xkVGl0bGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHVuc2V0O1xuICAgIH0pKCk7XG5cbiAgICByZXR1cm4gdGhpcy5sYXN0UmV0dXJuZWRVbnNldDtcbiAgfVxuXG4gIHByZWZpeFRpdGxlKHByZWZpeDogc3RyaW5nLCBzZXBhcmF0b3IgPSB0aGlzLnByZXNlbnRhdGlvbi5zdGF0ZS5jb25maWcudGl0bGUuc2VwYXJhdG9yKTogKCgpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRUaXRsZShwcmVmaXggKyBzZXBhcmF0b3IgKyB0aGlzLm9yaWdpbmFsKTtcbiAgfVxufVxuIl19