UNPKG

@ngsm/title

Version:

<p align="center"> <a href="https://github.com/ng-sm"> <img src="https://avatars2.githubusercontent.com/u/64587411?s=150"> </a> </p> <p align="center"> Title module based on the @ngx-translate/core package. </p>

132 lines 8.48 kB
/** * @fileoverview added by tsickle * Generated from: lib/shared/title.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __read, __spread } from "tslib"; import { filter, map, mergeMap } from 'rxjs/operators'; import { Injectable, Inject, Optional } from '@angular/core'; import { Title } from '@angular/platform-browser'; import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { getLastActivatedRoute, getTitleKey, isPrimary, getTitleSuffix } from './title.factory'; var TitleService = /** @class */ (function () { function TitleService(titleConfig, title, router, activatedRoute, translateService) { this.titleConfig = titleConfig; this.title = title; this.router = router; this.activatedRoute = activatedRoute; this.translateService = translateService; this.setConfigInitialValue(); this.init(); } /** * @return {?} */ TitleService.prototype.setConfigInitialValue = /** * @return {?} */ function () { this.config = this.titleConfig || { suffix: '', }; }; /** * @return {?} */ TitleService.prototype.init = /** * @return {?} */ function () { var _this = this; this.router.events .pipe(filter((/** * @param {?} event * @return {?} */ function (event) { return event instanceof NavigationEnd; })), map((/** * @return {?} */ function () { return getLastActivatedRoute(_this.activatedRoute); })), filter(isPrimary), mergeMap((/** * @param {?} __0 * @return {?} */ function (_a) { var data = _a.data; return data; }))) .subscribe((/** * @param {?} data * @return {?} */ function (data) { return _this.setTitle(data); })); }; /** * @param {?} data * @return {?} */ TitleService.prototype.setTitle = /** * @param {?} data * @return {?} */ function (data) { var _this = this; var suffix = this.config.suffix; /** @type {?} */ var titleKey = getTitleKey(data); this.translateService .get(__spread([ titleKey ], (!!suffix ? [suffix] : []))) .subscribe((/** * @param {?} data * @return {?} */ function (data) { _this.title.setTitle(data[titleKey] + " " + getTitleSuffix(data[suffix])); })); }; TitleService.decorators = [ { type: Injectable } ]; /** @nocollapse */ TitleService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: ['titleConfig',] }] }, { type: Title }, { type: Router }, { type: ActivatedRoute }, { type: TranslateService } ]; }; return TitleService; }()); export { TitleService }; if (false) { /** @type {?} */ TitleService.prototype.config; /** * @type {?} * @private */ TitleService.prototype.titleConfig; /** * @type {?} * @private */ TitleService.prototype.title; /** * @type {?} * @private */ TitleService.prototype.router; /** * @type {?} * @private */ TitleService.prototype.activatedRoute; /** * @type {?} * @private */ TitleService.prototype.translateService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3NtL3RpdGxlLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC90aXRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBUSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHaEc7SUFJRSxzQkFDNkMsV0FBd0IsRUFDM0QsS0FBWSxFQUNaLE1BQWMsRUFDZCxjQUE4QixFQUM5QixnQkFBa0M7UUFKQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUMzRCxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRTFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCw0Q0FBcUI7OztJQUFyQjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSTtZQUNoQyxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUE7SUFDSCxDQUFDOzs7O0lBRUQsMkJBQUk7OztJQUFKO1FBQUEsaUJBU0M7UUFSQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxZQUFZLGFBQWEsRUFBOUIsQ0FBOEIsRUFBQyxFQUMvQyxHQUFHOzs7UUFBQyxjQUFNLE9BQUEscUJBQXFCLENBQUMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxFQUExQyxDQUEwQyxFQUFDLEVBQ3JELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDakIsUUFBUTs7OztRQUFDLFVBQUMsRUFBUTtnQkFBTixjQUFJO1lBQU8sT0FBQSxJQUFJO1FBQUosQ0FBSSxFQUFDLENBQzdCO2FBQ0EsU0FBUzs7OztRQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBbkIsQ0FBbUIsRUFBQyxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRUQsK0JBQVE7Ozs7SUFBUixVQUFTLElBQVU7UUFBbkIsaUJBWUM7UUFYUyxJQUFBLDJCQUFNOztZQUNSLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRWxDLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsR0FBRztZQUNGLFFBQVE7V0FDTCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUM3QjthQUNELFNBQVM7Ozs7UUFBQyxVQUFDLElBQUk7WUFDZCxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBRyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOztnQkE1Q0YsVUFBVTs7OztnREFLTixRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7Z0JBWjVCLEtBQUs7Z0JBQ2dDLE1BQU07Z0JBQTNDLGNBQWM7Z0JBQ2QsZ0JBQWdCOztJQWtEekIsbUJBQUM7Q0FBQSxBQTdDRCxJQTZDQztTQTVDWSxZQUFZOzs7SUFDdkIsOEJBQW9COzs7OztJQUdsQixtQ0FBbUU7Ozs7O0lBQ25FLDZCQUFvQjs7Ozs7SUFDcEIsOEJBQXNCOzs7OztJQUN0QixzQ0FBc0M7Ozs7O0lBQ3RDLHdDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRMYXN0QWN0aXZhdGVkUm91dGUsIGdldFRpdGxlS2V5LCBpc1ByaW1hcnksIGdldFRpdGxlU3VmZml4IH0gZnJvbSAnLi90aXRsZS5mYWN0b3J5JztcbmltcG9ydCB7IFRpdGxlQ29uZmlnIH0gZnJvbSAnLi90aXRsZS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaXRsZVNlcnZpY2Uge1xuICBjb25maWc6IFRpdGxlQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ3RpdGxlQ29uZmlnJykgcHJpdmF0ZSB0aXRsZUNvbmZpZzogVGl0bGVDb25maWcsXG4gICAgcHJpdmF0ZSB0aXRsZTogVGl0bGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuc2V0Q29uZmlnSW5pdGlhbFZhbHVlKCk7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBzZXRDb25maWdJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLnRpdGxlQ29uZmlnIHx8IHtcbiAgICAgIHN1ZmZpeDogJycsXG4gICAgfVxuICB9XG5cbiAgaW5pdCgpOiB2b2lkICB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIG1hcCgoKSA9PiBnZXRMYXN0QWN0aXZhdGVkUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSkpLFxuICAgICAgICBmaWx0ZXIoaXNQcmltYXJ5KSxcbiAgICAgICAgbWVyZ2VNYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnNldFRpdGxlKGRhdGEpKTtcbiAgfVxuXG4gIHNldFRpdGxlKGRhdGE6IERhdGEpOiB2b2lkIHtcbiAgICBjb25zdCB7IHN1ZmZpeCB9ID0gdGhpcy5jb25maWc7XG4gICAgY29uc3QgdGl0bGVLZXkgPSBnZXRUaXRsZUtleShkYXRhKTtcblxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgLmdldChbXG4gICAgICAgIHRpdGxlS2V5LFxuICAgICAgICAuLi4oISFzdWZmaXggPyBbc3VmZml4XSA6IFtdKSxcbiAgICAgIF0pXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoYCR7ZGF0YVt0aXRsZUtleV19ICR7Z2V0VGl0bGVTdWZmaXgoZGF0YVtzdWZmaXhdKX1gKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=