From 80448947f6dfcb820c660ff69405dc538e13a986 Mon Sep 17 00:00:00 2001 From: Fahri Gedik Date: Wed, 16 Jul 2025 23:07:30 +0300 Subject: [PATCH] refactor : fix build error. Added AsyncPipe to the imports array of several Angular components to support async data binding in templates. This change improves template handling of observables and aligns with Angular best practices. --- .../account-layout/auth-wrapper/auth-wrapper.component.ts | 3 ++- .../account-layout/tenant-box/tenant-box.component.ts | 6 ++++-- .../src/lib/components/nav-items/current-user.component.ts | 3 ++- .../src/lib/components/nav-items/languages.component.ts | 4 ++-- .../src/lib/components/nav-items/nav-items.component.ts | 4 ++-- .../page-alert-container/page-alert-container.component.ts | 4 ++-- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts index f1c0eec47b..d71a311f60 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts @@ -1,13 +1,14 @@ import { AuthWrapperService } from '@abp/ng.account.core'; import { Component } from '@angular/core'; import { LocalizationPipe, ReplaceableTemplateDirective } from '@abp/ng.core'; +import { AsyncPipe } from '@angular/common'; import { TenantBoxComponent } from '../tenant-box/tenant-box.component'; @Component({ selector: 'abp-auth-wrapper', templateUrl: './auth-wrapper.component.html', providers: [AuthWrapperService], - imports: [TenantBoxComponent, ReplaceableTemplateDirective, LocalizationPipe], + imports: [TenantBoxComponent, ReplaceableTemplateDirective, LocalizationPipe, AsyncPipe], }) export class AuthWrapperComponent { constructor(public service: AuthWrapperService) {} diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.ts index 156904d855..fc11db5d6b 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.ts @@ -2,14 +2,16 @@ import { TenantBoxService } from '@abp/ng.account.core'; import { Component } from '@angular/core'; import { LocalizationPipe } from '@abp/ng.core'; import { ButtonComponent, ModalCloseDirective, ModalComponent } from '@abp/ng.theme.shared'; -import { NgModel } from '@angular/forms'; +import { FormsModule } from '@angular/forms'; +import { AsyncPipe } from '@angular/common'; @Component({ selector: 'abp-tenant-box', templateUrl: './tenant-box.component.html', providers: [TenantBoxService], imports: [ - NgModel, + FormsModule, + AsyncPipe, ModalComponent, LocalizationPipe, ButtonComponent, diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts index 51cd4de8d0..217187df4b 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts @@ -11,7 +11,7 @@ import { import { AbpVisibleDirective, UserMenu, UserMenuService } from '@abp/ng.theme.shared'; import { Component, Inject, TrackByFunction } from '@angular/core'; import { Observable } from 'rxjs'; -import { NgClass } from '@angular/common'; +import { NgClass, AsyncPipe } from '@angular/common'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; @Component({ @@ -19,6 +19,7 @@ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; templateUrl: './current-user.component.html', imports: [ NgClass, + AsyncPipe, NgbDropdownModule, AbpVisibleDirective, PermissionDirective, diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/languages.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/languages.component.ts index 8177b013a1..b8c3b6cc1d 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/languages.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/languages.component.ts @@ -2,7 +2,7 @@ import { ConfigStateService, LanguageInfo, SessionStateService } from '@abp/ng.c import { Component } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { NgClass } from '@angular/common'; +import { NgClass, AsyncPipe } from '@angular/common'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; @Component({ @@ -39,7 +39,7 @@ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; } `, - imports: [NgClass, NgbDropdownModule], + imports: [NgClass, AsyncPipe, NgbDropdownModule], }) export class LanguagesComponent { get smallScreen(): boolean { diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts index 6d479501d5..2c84430483 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts @@ -1,12 +1,12 @@ import { AbpVisibleDirective, NavItem, NavItemsService } from '@abp/ng.theme.shared'; import { Component, TrackByFunction } from '@angular/core'; -import { NgComponentOutlet } from '@angular/common'; +import { NgComponentOutlet, AsyncPipe } from '@angular/common'; import { PermissionDirective, ToInjectorPipe } from '@abp/ng.core'; @Component({ selector: 'abp-nav-items', templateUrl: 'nav-items.component.html', - imports: [NgComponentOutlet, AbpVisibleDirective, PermissionDirective, ToInjectorPipe], + imports: [NgComponentOutlet, AsyncPipe, AbpVisibleDirective, PermissionDirective, ToInjectorPipe], }) export class NavItemsComponent { trackByFn: TrackByFunction = (_, element) => element.id; diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.ts b/npm/ng-packs/packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.ts index 545ec4eb49..e4e388e29d 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.ts @@ -1,13 +1,13 @@ import { Component, ViewEncapsulation } from '@angular/core'; import { PageAlertService } from '@abp/ng.theme.shared'; -import { NgClass } from '@angular/common'; +import { NgClass, AsyncPipe } from '@angular/common'; import { LocalizationPipe, SafeHtmlPipe } from '@abp/ng.core'; @Component({ selector: 'abp-page-alert-container', templateUrl: './page-alert-container.component.html', encapsulation: ViewEncapsulation.None, - imports: [NgClass, LocalizationPipe, SafeHtmlPipe], + imports: [NgClass, AsyncPipe, LocalizationPipe, SafeHtmlPipe], }) export class PageAlertContainerComponent { constructor(public service: PageAlertService) {}