diff --git a/npm/ng-packs/packages/account/src/lib/components/change-password/change-password.component.ts b/npm/ng-packs/packages/account/src/lib/components/change-password/change-password.component.ts index 95ec5919e7..4ea63cd3d7 100644 --- a/npm/ng-packs/packages/account/src/lib/components/change-password/change-password.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/change-password/change-password.component.ts @@ -8,12 +8,11 @@ import { UntypedFormGroup, Validators, } from '@angular/forms'; -import { comparePasswords, Validation } from '@ngx-validate/core'; import { finalize } from 'rxjs/operators'; -import { Account } from '../../models/account'; -import { ManageProfileStateService } from '../../services/manage-profile.state.service'; +import { Account } from '../../models'; +import { ManageProfileStateService } from '../../services'; +import { comparePasswords, NgxValidateCoreModule, Validation } from '@ngx-validate/core'; import { LocalizationPipe } from '@abp/ng.core'; - const { required } = Validators; const PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword']; diff --git a/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts b/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts index 22297cca4e..7c484da7f3 100644 --- a/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts @@ -1,5 +1,3 @@ -import { AuthService, ConfigStateService, LocalizationPipe } from '@abp/ng.core'; -import { ButtonComponent, ToasterService } from '@abp/ng.theme.shared'; import { Component, Injector, OnInit, inject } from '@angular/core'; import { ReactiveFormsModule, @@ -7,12 +5,18 @@ import { UntypedFormGroup, Validators, } from '@angular/forms'; +import { RouterModule } from '@angular/router'; import { throwError } from 'rxjs'; import { catchError, finalize } from 'rxjs/operators'; -import { eAccountComponents } from '../../enums/components'; -import { getRedirectUrl } from '../../utils/auth-utils'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; -import { RouterModule } from '@angular/router'; +import { + AuthService, + ConfigStateService, + LocalizationPipe, + NgxValidateCoreModule, +} from '@abp/ng.core'; +import { ButtonComponent, ToasterService } from '@abp/ng.theme.shared'; +import { eAccountComponents } from '../../enums'; +import { getRedirectUrl } from '../../utils'; const { maxLength, required } = Validators; diff --git a/npm/ng-packs/packages/components/page/src/page-part.directive.ts b/npm/ng-packs/packages/components/page/src/page-part.directive.ts index 9bb5efdf09..a89302916b 100644 --- a/npm/ng-packs/packages/components/page/src/page-part.directive.ts +++ b/npm/ng-packs/packages/components/page/src/page-part.directive.ts @@ -25,7 +25,6 @@ export interface PageRenderStrategy { export const PAGE_RENDER_STRATEGY = new InjectionToken('PAGE_RENDER_STRATEGY'); @Directive({ - standalone: false, selector: '[abpPagePart]', }) export class PagePartDirective implements OnInit, OnDestroy, OnChanges { diff --git a/npm/ng-packs/packages/components/page/src/page-parts.component.ts b/npm/ng-packs/packages/components/page/src/page-parts.component.ts index ba8fada017..720a14c4a9 100644 --- a/npm/ng-packs/packages/components/page/src/page-parts.component.ts +++ b/npm/ng-packs/packages/components/page/src/page-parts.component.ts @@ -7,7 +7,6 @@ export enum PageParts { } @Component({ - standalone: false, selector: 'abp-page-title-container', template: ` `, encapsulation: ViewEncapsulation.None, @@ -15,7 +14,6 @@ export enum PageParts { export class PageTitleContainerComponent {} @Component({ - standalone: false, selector: 'abp-page-breadcrumb-container', template: ` `, encapsulation: ViewEncapsulation.None, @@ -23,7 +21,6 @@ export class PageTitleContainerComponent {} export class PageBreadcrumbContainerComponent {} @Component({ - standalone: false, selector: 'abp-page-toolbar-container', template: ` `, encapsulation: ViewEncapsulation.None, diff --git a/npm/ng-packs/packages/components/page/src/page.component.ts b/npm/ng-packs/packages/components/page/src/page.component.ts index d1b0b3236b..bd5242651f 100644 --- a/npm/ng-packs/packages/components/page/src/page.component.ts +++ b/npm/ng-packs/packages/components/page/src/page.component.ts @@ -5,12 +5,15 @@ import { PageToolbarContainerComponent, PageParts, } from './page-parts.component'; +import { BreadcrumbComponent } from '@abp/ng.theme.shared'; +import { PageToolbarComponent } from '@abp/ng.components/extensible'; +import { PagePartDirective } from './page-part.directive'; @Component({ - standalone: false, selector: 'abp-page', templateUrl: './page.component.html', encapsulation: ViewEncapsulation.None, + imports: [BreadcrumbComponent, PageToolbarComponent, PagePartDirective], }) export class PageComponent { @Input() title?: string; diff --git a/npm/ng-packs/packages/components/page/src/page.module.ts b/npm/ng-packs/packages/components/page/src/page.module.ts index 77ffca0951..9a05e6a0dd 100644 --- a/npm/ng-packs/packages/components/page/src/page.module.ts +++ b/npm/ng-packs/packages/components/page/src/page.module.ts @@ -1,5 +1,3 @@ -import { CoreModule } from '@abp/ng.core'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; import { PagePartDirective } from './page-part.directive'; import { @@ -8,9 +6,8 @@ import { PageToolbarContainerComponent, } from './page-parts.component'; import { PageComponent } from './page.component'; -import {PageToolbarComponent} from "@abp/ng.components/extensible"; -const exportedDeclarations = [ +export const PAGE_EXPORTS = [ PageComponent, PageTitleContainerComponent, PageBreadcrumbContainerComponent, @@ -19,8 +16,8 @@ const exportedDeclarations = [ ]; @NgModule({ - declarations: [...exportedDeclarations], - imports: [CoreModule, ThemeSharedModule, PageToolbarComponent], - exports: [...exportedDeclarations], + declarations: [], + imports: [...PAGE_EXPORTS], + exports: [...PAGE_EXPORTS], }) export class PageModule {} diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index 22cd1183a4..dff03b51d7 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -8,30 +8,37 @@ import { import { ModuleWithProviders, NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; -import { AbstractNgModelComponent } from './abstracts/ng-model.component'; -import { DynamicLayoutComponent } from './components/dynamic-layout.component'; -import { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component'; -import { RouterOutletComponent } from './components/router-outlet.component'; -import { AutofocusDirective } from './directives/autofocus.directive'; -import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { ForDirective } from './directives/for.directive'; -import { FormSubmitDirective } from './directives/form-submit.directive'; -import { InitDirective } from './directives/init.directive'; -import { PermissionDirective } from './directives/permission.directive'; -import { ReplaceableTemplateDirective } from './directives/replaceable-template.directive'; -import { StopPropagationDirective } from './directives/stop-propagation.directive'; -import { LocalizationModule } from './localization.module'; +import { AbstractNgModelComponent } from './abstracts'; +import { + DynamicLayoutComponent, + ReplaceableRouteContainerComponent, + RouterOutletComponent, +} from './components'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { + StopPropagationDirective, + ReplaceableTemplateDirective, + PermissionDirective, + InitDirective, + ForDirective, + InputEventDebounceDirective, + AutofocusDirective, + FormSubmitDirective, +} from './directives'; import { ABP } from './models/common'; -import { LocalizationPipe } from './pipes/localization.pipe'; -import { SortPipe } from './pipes/sort.pipe'; -import { ToInjectorPipe } from './pipes/to-injector.pipe'; import './utils/date-extensions'; -import { ShortDateTimePipe } from './pipes/short-date-time.pipe'; -import { ShortTimePipe } from './pipes/short-time.pipe'; -import { ShortDatePipe } from './pipes/short-date.pipe'; -import { SafeHtmlPipe } from './pipes/safe-html.pipe'; import { provideAbpCoreChild, provideAbpCore, withOptions } from './providers'; -import { UtcToLocalPipe } from './pipes'; +import { + LazyLocalizationPipe, + UtcToLocalPipe, + SafeHtmlPipe, + ShortDatePipe, + ShortTimePipe, + ShortDateTimePipe, + ToInjectorPipe, + SortPipe, + LocalizationPipe, +} from './pipes'; const CORE_DIRECTIVES = [ AutofocusDirective, @@ -52,6 +59,8 @@ const CORE_PIPES = [ ShortTimePipe, ShortDatePipe, ToInjectorPipe, + UtcToLocalPipe, + LazyLocalizationPipe, ]; const CORE_COMPONENTS = [ @@ -72,7 +81,7 @@ const CORE_COMPONENTS = [ FormsModule, ReactiveFormsModule, RouterModule, - LocalizationModule, + NgxValidateCoreModule, ...CORE_DIRECTIVES, ...CORE_PIPES, ...CORE_COMPONENTS, @@ -82,7 +91,7 @@ const CORE_COMPONENTS = [ FormsModule, ReactiveFormsModule, RouterModule, - LocalizationModule, + NgxValidateCoreModule, ...CORE_DIRECTIVES, ...CORE_PIPES, ...CORE_COMPONENTS, @@ -97,8 +106,8 @@ export class BaseCoreModule {} * and it introduces imports useful at root level (e.g. NGXS) */ @NgModule({ - exports: [BaseCoreModule, LocalizationModule], - imports: [BaseCoreModule, LocalizationModule], + exports: [BaseCoreModule], + imports: [BaseCoreModule], providers: [ provideHttpClient( withXsrfConfiguration({ diff --git a/npm/ng-packs/packages/core/src/lib/utils/index.ts b/npm/ng-packs/packages/core/src/lib/utils/index.ts index 1aceceaaf9..eb97d9babd 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/index.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/index.ts @@ -18,3 +18,4 @@ export * from './queue'; export * from './route-utils'; export * from './string-utils'; export * from './tree-utils'; +export { NgxValidateCoreModule, Validation } from '@ngx-validate/core'; diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts index de53fc2e2e..c9230fc086 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -1,3 +1,6 @@ +import { Component, EventEmitter, Input, Output, inject } from '@angular/core'; +import { CommonModule, NgTemplateOutlet } from '@angular/common'; +import { FormsModule } from '@angular/forms'; import { ConfigStateService, LocalizationPipe, TrackByService } from '@abp/ng.core'; import { FeatureDto, @@ -13,13 +16,10 @@ import { ModalComponent, ToasterService, } from '@abp/ng.theme.shared'; -import { Component, EventEmitter, Input, Output, inject } from '@angular/core'; -import { CommonModule, NgTemplateOutlet } from '@angular/common'; -import { FormsModule } from '@angular/forms'; import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; import { finalize } from 'rxjs/operators'; import { FreeTextInputDirective } from '../../directives'; -import { FeatureManagement } from '../../models/feature-management'; +import { FeatureManagement } from '../../models'; enum ValueTypes { ToggleStringValueType = 'ToggleStringValueType', diff --git a/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts b/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts index 9e9cb8e7c0..bfbab549f0 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts @@ -1,8 +1,7 @@ import { ModuleWithProviders, NgModule } from '@angular/core'; -import { FeatureManagementComponent } from './components/feature-management/feature-management.component'; -import { FreeTextInputDirective } from './directives/free-text-input.directive'; +import { FreeTextInputDirective } from './directives'; import { provideFeatureManagementConfig } from './providers'; -import { FeatureManagementTabComponent } from './components'; +import { FeatureManagementTabComponent, FeatureManagementComponent } from './components'; export const FEATURE_MANAGEMENT_EXPORTS = [ FeatureManagementComponent, diff --git a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts index d3eda88ae9..1c6076df38 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts @@ -1,4 +1,10 @@ -import { CoreModule, ListService, PagedResultDto } from '@abp/ng.core'; +import { + InitDirective, + ListService, + LocalizationPipe, + PagedResultDto, + ReplaceableTemplateDirective, +} from '@abp/ng.core'; import { GetIdentityUsersInput, IdentityRoleDto, @@ -10,14 +16,18 @@ import { PermissionManagementModule, } from '@abp/ng.permission-management'; import { + ButtonComponent, Confirmation, ConfirmationService, eFormComponets, - ThemeSharedModule, + FormCheckboxComponent, + ModalCloseDirective, + ModalComponent, ToasterService, } from '@abp/ng.theme.shared'; import { - ExtensibleModule, + ExtensibleFormComponent, + ExtensibleTableComponent, EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, @@ -33,14 +43,15 @@ import { } from '@angular/core'; import { AbstractControl, + FormsModule, + ReactiveFormsModule, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, } from '@angular/forms'; import { finalize, switchMap, tap } from 'rxjs/operators'; import { eIdentityComponents } from '../../enums/components'; -import { CommonModule } from '@angular/common'; -import { PageModule } from '@abp/ng.components/page'; +import { PageComponent } from '@abp/ng.components/page'; import { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; @@ -55,15 +66,22 @@ import { NgxValidateCoreModule } from '@ngx-validate/core'; }, ], imports: [ - CommonModule, - PageModule, - CoreModule, - ThemeSharedModule, - ExtensibleModule, + ReactiveFormsModule, + FormsModule, PermissionManagementModule, + PageComponent, NgbNavModule, NgbDropdownModule, NgxValidateCoreModule, + LocalizationPipe, + ExtensibleTableComponent, + ModalComponent, + ExtensibleFormComponent, + FormCheckboxComponent, + ButtonComponent, + ReplaceableTemplateDirective, + ModalCloseDirective, + InitDirective, ], }) export class UsersComponent implements OnInit { diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index 4c6efbdfbf..eeb1b91e0f 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -1,5 +1,11 @@ -import { ConfigStateService, CoreModule, CurrentUserDto } from '@abp/ng.core'; -import { LocaleDirection, ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared'; +import { ConfigStateService, CurrentUserDto, LocalizationPipe } from '@abp/ng.core'; +import { + ButtonComponent, + LocaleDirection, + ModalCloseDirective, + ModalComponent, + ToasterService, +} from '@abp/ng.theme.shared'; import { GetPermissionListResultDto, PermissionGrantInfoDto, @@ -23,9 +29,9 @@ import { } from '@angular/core'; import { concat, of } from 'rxjs'; import { finalize, switchMap, take, tap } from 'rxjs/operators'; -import { PermissionManagement } from '../models/permission-management'; +import { PermissionManagement } from '../models'; import { CommonModule } from '@angular/common'; -import { PageModule } from '@abp/ng.components/page'; +import { FormsModule } from '@angular/forms'; type PermissionWithStyle = PermissionGrantInfoDto & { style: string; @@ -86,7 +92,14 @@ type PermissionWithGroupName = PermissionGrantInfoDto & { } `, ], - imports: [CommonModule, CoreModule, ThemeSharedModule], + imports: [ + FormsModule, + CommonModule, + ModalComponent, + LocalizationPipe, + ButtonComponent, + ModalCloseDirective, + ], }) export class PermissionManagementComponent implements diff --git a/npm/ng-packs/packages/setting-management/src/lib/components/setting-management.component.ts b/npm/ng-packs/packages/setting-management/src/lib/components/setting-management.component.ts index dcc9185397..726d950077 100644 --- a/npm/ng-packs/packages/setting-management/src/lib/components/setting-management.component.ts +++ b/npm/ng-packs/packages/setting-management/src/lib/components/setting-management.component.ts @@ -1,15 +1,14 @@ -import { ABP, CoreModule } from '@abp/ng.core'; +import { ABP, LocalizationPipe, PermissionDirective } from '@abp/ng.core'; import { SettingTabsService } from '@abp/ng.setting-management/config'; import { Component, OnDestroy, OnInit, TrackByFunction } from '@angular/core'; import { Subscription } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { PageModule } from '@abp/ng.components/page'; @Component({ selector: 'abp-setting-management', templateUrl: './setting-management.component.html', - imports: [CommonModule, CoreModule, ThemeSharedModule, PageModule], + imports: [CommonModule, PageModule, LocalizationPipe, PermissionDirective], }) export class SettingManagementComponent implements OnDestroy, OnInit { private subscription = new Subscription(); diff --git a/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts b/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts index 7842ac7de2..41fb24d654 100644 --- a/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts +++ b/npm/ng-packs/packages/setting-management/src/lib/setting-management.module.ts @@ -3,10 +3,12 @@ import { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core'; import { SettingManagementRoutingModule } from './setting-management-routing.module'; import { SettingManagementComponent } from './components/setting-management.component'; +export const SETTING_MANAGEMENT_MODULE_EXPORTS = [SettingManagementComponent]; + @NgModule({ declarations: [], exports: [], - imports: [SettingManagementRoutingModule, SettingManagementComponent], + imports: [SettingManagementRoutingModule, ...SETTING_MANAGEMENT_MODULE_EXPORTS], }) export class SettingManagementModule { static forChild(): ModuleWithProviders { diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index f1c1e5d48d..16f833af73 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -1,29 +1,40 @@ -import { CoreModule, ListService, PagedResultDto } from '@abp/ng.core'; +import { + ListService, + LocalizationPipe, + PagedResultDto, + ReplaceableTemplateDirective, +} from '@abp/ng.core'; import { eFeatureManagementComponents, FeatureManagementComponent, - FeatureManagementModule, - provideFeatureManagementConfig, } from '@abp/ng.feature-management'; import { GetTenantsInput, TenantDto, TenantService } from '@abp/ng.tenant-management/proxy'; import { + ButtonComponent, Confirmation, ConfirmationService, - ThemeSharedModule, + ModalCloseDirective, + ModalComponent, ToasterService, } from '@abp/ng.theme.shared'; import { - ExtensibleModule, + ExtensibleFormComponent, + ExtensibleTableComponent, EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.components/extensible'; import { Component, inject, Injector, OnInit } from '@angular/core'; -import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormBuilder, + UntypedFormGroup, +} from '@angular/forms'; import { finalize } from 'rxjs/operators'; import { eTenantManagementComponents } from '../../enums/components'; -import { CommonModule } from '@angular/common'; -import { PageModule } from '@abp/ng.components/page'; +import { PageComponent } from '@abp/ng.components/page'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; @Component({ selector: 'abp-tenants', @@ -36,12 +47,18 @@ import { PageModule } from '@abp/ng.components/page'; }, ], imports: [ - CommonModule, - CoreModule, - ThemeSharedModule, - PageModule, - ExtensibleModule, + FormsModule, + ReactiveFormsModule, + PageComponent, + LocalizationPipe, + ExtensibleTableComponent, + ModalComponent, FeatureManagementComponent, + ButtonComponent, + ReplaceableTemplateDirective, + ExtensibleFormComponent, + ModalCloseDirective, + NgxValidateCoreModule, ], }) export class TenantsComponent implements OnInit { diff --git a/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts b/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts index c3edf14578..7177045805 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts @@ -1,16 +1,18 @@ import { ModuleWithProviders, NgModule } from '@angular/core'; -import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; -import { AuthWrapperComponent } from './components/account-layout/auth-wrapper/auth-wrapper.component'; -import { TenantBoxComponent } from './components/account-layout/tenant-box/tenant-box.component'; -import { ApplicationLayoutComponent } from './components/application-layout/application-layout.component'; -import { EmptyLayoutComponent } from './components/empty-layout/empty-layout.component'; -import { LogoComponent } from './components/logo/logo.component'; -import { CurrentUserComponent } from './components/nav-items/current-user.component'; -import { LanguagesComponent } from './components/nav-items/languages.component'; -import { NavItemsComponent } from './components/nav-items/nav-items.component'; -import { PageAlertContainerComponent } from './components/page-alert-container/page-alert-container.component'; -import { RoutesComponent } from './components/routes/routes.component'; -import { ValidationErrorComponent } from './components/validation-error/validation-error.component'; +import { + AccountLayoutComponent, + AuthWrapperComponent, + TenantBoxComponent, + ApplicationLayoutComponent, + EmptyLayoutComponent, + LogoComponent, + CurrentUserComponent, + LanguagesComponent, + NavItemsComponent, + PageAlertContainerComponent, + RoutesComponent, + ValidationErrorComponent, +} from './components'; import { provideThemeBasicConfig } from './providers'; export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts index 8698f2ddc5..0c68151d36 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts @@ -1,12 +1,12 @@ -import { ABP, CoreModule } from '@abp/ng.core'; import { Component, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; +import { CommonModule } from '@angular/common'; +import { ABP, LocalizationPipe } from '@abp/ng.core'; @Component({ selector: 'abp-breadcrumb-items', templateUrl: './breadcrumb-items.component.html', - imports: [CommonModule, RouterModule, CoreModule], + imports: [CommonModule, RouterModule, LocalizationPipe], }) export class BreadcrumbItemsComponent { @Input() items: Partial[] = []; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts index 5f69da8dce..4c7bd3cf30 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts @@ -10,7 +10,6 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@ import { Router } from '@angular/router'; import { map, startWith } from 'rxjs/operators'; import { eThemeSharedRouteNames } from '../../enums/route-names'; -import { CommonModule } from '@angular/common'; import { BreadcrumbItemsComponent } from '../breadcrumb-items/breadcrumb-items.component'; @Component({ @@ -18,7 +17,7 @@ import { BreadcrumbItemsComponent } from '../breadcrumb-items/breadcrumb-items.c templateUrl: './breadcrumb.component.html', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SubscriptionService], - imports: [CommonModule, BreadcrumbItemsComponent], + imports: [BreadcrumbItemsComponent], }) export class BreadcrumbComponent implements OnInit { segments: Partial[] = []; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts index 6635dbe9c3..fdebb542a7 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -1,5 +1,4 @@ /* eslint-disable @angular-eslint/no-output-native */ -import { ABP } from '@abp/ng.core'; import { Component, ElementRef, @@ -11,6 +10,7 @@ import { ViewChild, } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { ABP } from '@abp/ng.core'; @Component({ selector: 'abp-button', diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts index 494119ed6f..9ee8cb1af5 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts @@ -1,7 +1,7 @@ -import { AbstractNgModelComponent, CoreModule } from '@abp/ng.core'; import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; -import { NG_VALUE_ACCESSOR } from '@angular/forms'; +import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; +import { AbstractNgModelComponent, LocalizationPipe } from '@abp/ng.core'; @Component({ selector: 'abp-checkbox', @@ -31,7 +31,7 @@ import { CommonModule } from '@angular/common'; multi: true, }, ], - imports: [CommonModule, CoreModule], + imports: [CommonModule, FormsModule, LocalizationPipe], }) export class FormCheckboxComponent extends AbstractNgModelComponent { @Input() label?: string; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts index 19ae1203f0..f211b758e3 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts @@ -1,15 +1,15 @@ import { Component, Inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { ReplaySubject } from 'rxjs'; import { Confirmation } from '../../models/confirmation'; import { CONFIRMATION_ICONS, ConfirmationIcons } from '../../tokens/confirmation-icons.token'; -import { CommonModule } from '@angular/common'; -import { CoreModule } from '@abp/ng.core'; +import { LocalizationPipe } from '@abp/ng.core'; @Component({ selector: 'abp-confirmation', templateUrl: './confirmation.component.html', styleUrls: ['./confirmation.component.scss'], - imports: [CommonModule, CoreModule], + imports: [CommonModule, LocalizationPipe], }) export class ConfirmationComponent { constructor(@Inject(CONFIRMATION_ICONS) private icons: ConfirmationIcons) {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts index 76b9fc6475..73ad3306b1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts @@ -1,7 +1,7 @@ -import { AbstractNgModelComponent, CoreModule } from '@abp/ng.core'; import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; -import { NG_VALUE_ACCESSOR } from '@angular/forms'; +import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'; import { CommonModule } from '@angular/common'; +import { AbstractNgModelComponent, LocalizationPipe } from '@abp/ng.core'; @Component({ selector: 'abp-form-input', @@ -32,7 +32,7 @@ import { CommonModule } from '@angular/common'; multi: true, }, ], - imports: [CommonModule, CoreModule], + imports: [CommonModule, LocalizationPipe, FormsModule], }) export class FormInputComponent extends AbstractNgModelComponent { @Input() inputId!: string; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.ts index c9f00a8f26..527f7efb7e 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/http-error-wrapper/http-error-wrapper.component.ts @@ -18,14 +18,14 @@ import { CommonModule, DOCUMENT } from '@angular/common'; import { Router } from '@angular/router'; import { fromEvent, Subject } from 'rxjs'; import { debounceTime, filter } from 'rxjs/operators'; -import { CoreModule, LocalizationParam } from '@abp/ng.core'; +import { LocalizationParam, LocalizationPipe } from '@abp/ng.core'; import { ErrorScreenErrorCodes } from '../../models'; @Component({ selector: 'abp-http-error-wrapper', templateUrl: './http-error-wrapper.component.html', styleUrls: ['http-error-wrapper.component.scss'], - imports: [CommonModule, CoreModule], + imports: [CommonModule, LocalizationPipe], }) export class HttpErrorWrapperComponent implements OnInit, AfterViewInit, OnDestroy { protected readonly destroyRef = inject(DestroyRef); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts index 4add50bf21..501fbbb82a 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/loader-bar/loader-bar.component.ts @@ -1,8 +1,8 @@ -import { HttpWaitService, RouterWaitService, SubscriptionService } from '@abp/ng.core'; import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core'; import { Router } from '@angular/router'; -import { combineLatest, Subscription, timer } from 'rxjs'; import { CommonModule } from '@angular/common'; +import { combineLatest, Subscription, timer } from 'rxjs'; +import { HttpWaitService, RouterWaitService, SubscriptionService } from '@abp/ng.core'; @Component({ selector: 'abp-loader-bar', diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/loading/loading.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/loading/loading.component.ts index a1c6ef8d16..7c4b35c6fa 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/loading/loading.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/loading/loading.component.ts @@ -1,5 +1,4 @@ import { Component, ViewEncapsulation } from '@angular/core'; -import { CommonModule } from '@angular/common'; @Component({ selector: 'abp-loading', @@ -33,6 +32,6 @@ import { CommonModule } from '@angular/common'; } `, ], - imports: [CommonModule], + imports: [], }) export class LoadingComponent {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index ea2564c6f9..3ac175ae6c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -1,4 +1,3 @@ -import { SubscriptionService, uuid } from '@abp/ng.core'; import { Component, DestroyRef, @@ -13,16 +12,17 @@ import { output, viewChild, } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { SubscriptionService, uuid } from '@abp/ng.core'; import { NgbModal, NgbModalOptions, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { fromEvent } from 'rxjs'; import { debounceTime, filter } from 'rxjs/operators'; -import { Confirmation } from '../../models/confirmation'; -import { ConfirmationService } from '../../services/confirmation.service'; +import { Confirmation } from '../../models'; +import { ConfirmationService } from '../../services'; import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens/suppress-unsaved-changes-warning.token'; import { ButtonComponent } from '../button/button.component'; import { DismissableModal, ModalDismissMode, ModalRefService } from './modal-ref.service'; -import { CommonModule } from '@angular/common'; export type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts index cfdc080f5b..472830ecad 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts @@ -1,7 +1,7 @@ import { Component, forwardRef, Input } from '@angular/core'; -import { AbstractNgModelComponent } from '@abp/ng.core'; -import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; +import { AbstractNgModelComponent } from '@abp/ng.core'; /** * @deprecated use ShowPasswordDirective directive @@ -9,7 +9,7 @@ import { CommonModule } from '@angular/common'; */ @Component({ selector: 'abp-password', - imports: [CommonModule, FormsModule], + imports: [CommonModule, FormsModule, ReactiveFormsModule], templateUrl: `./password.component.html`, providers: [ { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts index 1be4f3491d..aca2149f8b 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts @@ -2,7 +2,6 @@ import { Component, HostListener, Input, OnInit } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { toastInOut } from '../../animations/toast.animations'; import { Toaster } from '../../models/toaster'; -import { CommonModule } from '@angular/common'; import { ToastComponent } from '../toast/toast.component'; @Component({ @@ -10,7 +9,7 @@ import { ToastComponent } from '../toast/toast.component'; templateUrl: './toast-container.component.html', styleUrls: ['./toast-container.component.scss'], animations: [toastInOut], - imports: [CommonModule, ToastComponent], + imports: [ToastComponent], }) export class ToastContainerComponent implements OnInit { toasts$!: ReplaySubject; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts index f1245befc4..8bb1a7126e 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts @@ -1,12 +1,13 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { Toaster } from '../../models/toaster'; import { CommonModule } from '@angular/common'; -import { CoreModule } from '@abp/ng.core'; +import { Toaster } from '../../models/toaster'; +import { LocalizationPipe } from '@abp/ng.core'; + @Component({ selector: 'abp-toast', templateUrl: './toast.component.html', styleUrls: ['./toast.component.scss'], - imports: [CommonModule, CoreModule], + imports: [CommonModule, LocalizationPipe], }) export class ToastComponent implements OnInit { @Input() diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/loading.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/loading.directive.ts index f33c8dc6a8..9de000e15f 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/loading.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/loading.directive.ts @@ -14,7 +14,7 @@ import { } from '@angular/core'; import { Subscription, timer } from 'rxjs'; import { take } from 'rxjs/operators'; -import { LoadingComponent } from '../components/loading/loading.component'; +import { LoadingComponent } from '../components'; @Directive({ selector: '[abpLoading]', diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index a0e312e65b..b15ca00ed4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -1,22 +1,31 @@ -import { DatePipe } from '@angular/common'; import { ModuleWithProviders, NgModule } from '@angular/core'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgxDatatableModule } from '@swimlane/ngx-datatable'; -import { BreadcrumbItemsComponent } from './components/breadcrumb-items/breadcrumb-items.component'; -import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; -import { ButtonComponent } from './components/button/button.component'; -import { ConfirmationComponent } from './components/confirmation/confirmation.component'; -import { HttpErrorWrapperComponent } from './components/http-error-wrapper/http-error-wrapper.component'; -import { LoaderBarComponent } from './components/loader-bar/loader-bar.component'; -import { LoadingComponent } from './components/loading/loading.component'; -import { ModalCloseDirective } from './components/modal/modal-close.directive'; -import { ModalComponent } from './components/modal/modal.component'; -import { ToastContainerComponent } from './components/toast-container/toast-container.component'; -import { ToastComponent } from './components/toast/toast.component'; -import { LoadingDirective } from './directives/loading.directive'; -import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; -import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; -import { RootParams } from './models/common'; +import { + BreadcrumbItemsComponent, + BreadcrumbComponent, + ButtonComponent, + ConfirmationComponent, + HttpErrorWrapperComponent, + LoaderBarComponent, + LoadingComponent, + ModalComponent, + ToastContainerComponent, + ToastComponent, + ModalCloseDirective, + PasswordComponent, + CardModule, + FormInputComponent, + FormCheckboxComponent, +} from './components'; +import { + LoadingDirective, + NgxDatatableDefaultDirective, + NgxDatatableListDirective, + AbpVisibleDirective, + DisabledDirective, +} from './directives'; +import { RootParams } from './models'; import { provideAbpThemeShared, withConfirmationIcon, @@ -25,11 +34,6 @@ import { withValidationBluePrint, withValidationMapErrorsFn, } from './providers'; -import { PasswordComponent } from './components/password/password.component'; -import { CardModule } from './components/card/card.module'; -import { AbpVisibleDirective, DisabledDirective } from './directives'; -import { FormInputComponent } from './components/form-input/form-input.component'; -import { FormCheckboxComponent } from './components/checkbox/checkbox.component'; export const THEME_SHARED_EXPORTS = [ BreadcrumbComponent,