@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
JavaScript
/**
* @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=