From 3a830d21f839b1e6d8beca8d6e42990a8b62d80c Mon Sep 17 00:00:00 2001 From: masumulu28 Date: Wed, 14 Feb 2024 15:40:06 +0300 Subject: [PATCH] Format and refactor title-strategy.service --- .../lib/services/title-strategy.service.ts | 66 ++++++++++--------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/title-strategy.service.ts b/npm/ng-packs/packages/core/src/lib/services/title-strategy.service.ts index ae1a61797a..695c8f7fbf 100644 --- a/npm/ng-packs/packages/core/src/lib/services/title-strategy.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/title-strategy.service.ts @@ -1,40 +1,44 @@ -import { Injectable, effect, inject } from "@angular/core"; -import { Title } from "@angular/platform-browser"; -import { TitleStrategy, RouterStateSnapshot } from "@angular/router"; -import { ConfigStateService } from "./config-state.service"; -import { LocalizationService } from "./localization.service"; -import { toSignal } from "@angular/core/rxjs-interop"; +import { Injectable, effect, inject } from '@angular/core'; +import { toSignal } from '@angular/core/rxjs-interop'; +import { TitleStrategy, RouterStateSnapshot } from '@angular/router'; +import { Title } from '@angular/platform-browser'; +import { ConfigStateService } from './config-state.service'; +import { LocalizationService } from './localization.service'; @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class AbpTitleStrategy extends TitleStrategy { - protected readonly title = inject(Title); - protected readonly configState = inject(ConfigStateService); - protected readonly localizationService = inject(LocalizationService); - routerState: RouterStateSnapshot; - projectName = toSignal(this.configState.getDeep$("localization.defaultResourceName"), { initialValue: "MyProjectName" }); - langugageChange = toSignal(this.localizationService.languageChange$); + protected readonly title = inject(Title); + protected readonly configState = inject(ConfigStateService); + protected readonly localizationService = inject(LocalizationService); + protected routerState: RouterStateSnapshot; - override updateTitle(routerState: RouterStateSnapshot) { - let title = this.buildTitle(routerState); - this.routerState = routerState; + projectName = toSignal(this.configState.getDeep$('localization.defaultResourceName'), { + initialValue: 'MyProjectName', + }); + langugageChange = toSignal(this.localizationService.languageChange$); - if (title === undefined) { - this.title.setTitle(`${this.projectName()}`); - return; - } + constructor() { + super(); + effect(() => { + if (this.langugageChange()) { + this.updateTitle(this.routerState); + } + }); + } - const localizedTitle = this.localizationService.instant({ key: title, defaultValue: title }); - this.title.setTitle(`${localizedTitle} | ${this.projectName()}`); - } + override updateTitle(routerState: RouterStateSnapshot) { + let title = this.buildTitle(routerState); - constructor() { - super(); - effect(() => { - if (this.langugageChange()) { - this.updateTitle(this.routerState); - } - }); + if (!title) { + this.title.setTitle(this.projectName()); + return; } -} \ No newline at end of file + + this.routerState = routerState; + + const localizedTitle = this.localizationService.instant({ key: title, defaultValue: title }); + this.title.setTitle(`${localizedTitle} | ${this.projectName()}`); + } +}