Browse Source

use `makeEnvironmentProviders` function instead of config modules

template-config-provider
Sinan997 2 years ago
parent
commit
02f9bb62be
  1. 20
      npm/ng-packs/apps/dev-app/src/app/app.module.ts
  2. 13
      npm/ng-packs/packages/account/config/src/account-config.module.ts
  3. 8
      npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts
  4. 18
      npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts
  5. 1
      npm/ng-packs/packages/feature-management/src/lib/directives/free-text-input.directive.ts
  6. 9
      npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts
  7. 6
      npm/ng-packs/packages/identity/config/src/identity-config.module.ts
  8. 6
      npm/ng-packs/packages/tenant-management/config/src/tenant-management-config.module.ts
  9. 4
      npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts

20
npm/ng-packs/apps/dev-app/src/app/app.module.ts

@ -6,12 +6,12 @@ import { registerLocale } from '@abp/ng.core/locale';
import { InternetConnectionStatusComponent, ThemeSharedModule } from '@abp/ng.theme.shared';
import { ThemeLeptonXModule } from '@abp/ng.theme.lepton-x';
import { SideMenuLayoutModule } from '@abp/ng.theme.lepton-x/layouts';
import { IdentityConfigModule } from '@abp/ng.identity/config';
import { AbpOAuthModule } from '@abp/ng.oauth';
import { SettingManagementConfigModule } from '@abp/ng.setting-management/config';
import { TenantManagementConfigModule } from '@abp/ng.tenant-management/config';
import { FeatureManagementModule } from '@abp/ng.feature-management';
import { AccountConfigModule } from '@abp/ng.account/config';
import { provideAccountConfig } from '@abp/ng.account/config';
import { provideIdentityConfig } from '@abp/ng.identity/config';
import { provideTenantManagementConfig } from '@abp/ng.tenant-management/config';
import { provideFeatureManagement } from '@abp/ng.feature-management';
import { AccountLayoutModule } from '@abp/ng.theme.lepton-x/account';
import { environment } from '../environments/environment';
import { AppRoutingModule } from './app-routing.module';
@ -31,17 +31,19 @@ import { APP_ROUTE_PROVIDER } from './route.provider';
}),
AbpOAuthModule.forRoot(),
ThemeSharedModule.forRoot(),
AccountConfigModule.forRoot(),
IdentityConfigModule.forRoot(),
TenantManagementConfigModule.forRoot(),
FeatureManagementModule.forRoot(),
SettingManagementConfigModule.forRoot(),
ThemeLeptonXModule.forRoot(),
SideMenuLayoutModule.forRoot(),
AccountLayoutModule.forRoot(),
InternetConnectionStatusComponent,
],
providers: [APP_ROUTE_PROVIDER],
providers: [
APP_ROUTE_PROVIDER,
provideAccountConfig(),
provideIdentityConfig(),
provideTenantManagementConfig(),
provideFeatureManagement(),
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})

13
npm/ng-packs/packages/account/config/src/account-config.module.ts

@ -1,4 +1,4 @@
import { Injector, ModuleWithProviders, NgModule } from '@angular/core';
import { Injector, ModuleWithProviders, NgModule, makeEnvironmentProviders } from '@angular/core';
import { NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
import { ACCOUNT_ROUTE_PROVIDERS } from './providers/route.provider';
import { navigateToManageProfileFactory } from './utils/factories';
@ -19,3 +19,14 @@ export class AccountConfigModule {
};
}
}
export function provideAccountConfig() {
return makeEnvironmentProviders([
ACCOUNT_ROUTE_PROVIDERS,
{
provide: NAVIGATE_TO_MANAGE_PROFILE,
useFactory: navigateToManageProfileFactory,
deps: [Injector],
},
]);
}

8
npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts

@ -1,8 +1,16 @@
import { LocalizationModule, ReplaceableTemplateDirective } from '@abp/ng.core';
import { Component } from '@angular/core';
import { FeatureManagementComponent } from '../feature-management/feature-management.component';
@Component({
standalone: true,
selector: 'abp-feature-management-tab',
templateUrl: './feature-management-tab.component.html',
imports: [
ReplaceableTemplateDirective,
LocalizationModule,
FeatureManagementComponent,
],
})
export class FeatureManagementTabComponent {
visibleFeatures = false;

18
npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts

@ -1,4 +1,4 @@
import { ConfigStateService, TrackByService } from '@abp/ng.core';
import { ConfigStateService, LocalizationModule, TrackByService } from '@abp/ng.core';
import {
FeatureDto,
FeatureGroupDto,
@ -9,10 +9,15 @@ import {
Confirmation,
ConfirmationService,
LocaleDirection,
ThemeSharedModule,
ToasterService,
} from '@abp/ng.theme.shared';
import { Component, EventEmitter, Input, Output, inject } from '@angular/core';
import { 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';
enum ValueTypes {
@ -22,9 +27,18 @@ enum ValueTypes {
}
@Component({
standalone: true,
selector: 'abp-feature-management',
templateUrl: './feature-management.component.html',
exportAs: 'abpFeatureManagement',
imports: [
ThemeSharedModule,
LocalizationModule,
FormsModule,
NgbNavModule,
FreeTextInputDirective,
NgTemplateOutlet,
],
})
export class FeatureManagementComponent
implements
@ -125,7 +139,7 @@ export class FeatureManagementComponent
.subscribe(() => {
this.visible = false;
this.toasterService.success('AbpFeatureManagement::Saved');
this.toasterService.success('AbpFeatureManagement::SavedSuccessfully');
if (!this.providerKey) {
// to refresh host's features
this.configState.refreshAppState().subscribe();

1
npm/ng-packs/packages/feature-management/src/lib/directives/free-text-input.directive.ts

@ -15,6 +15,7 @@ export const INPUT_TYPES = {
};
@Directive({
standalone: true,
selector: 'input[abpFeatureManagementFreeText]',
exportAs: 'inputAbpFeatureManagementFreeText',
})

9
npm/ng-packs/packages/feature-management/src/lib/feature-management.module.ts

@ -1,6 +1,6 @@
import { CoreModule } from '@abp/ng.core';
import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { ModuleWithProviders, NgModule } from '@angular/core';
import { ModuleWithProviders, NgModule, makeEnvironmentProviders } from '@angular/core';
import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
import { FeatureManagementComponent } from './components/feature-management/feature-management.component';
import { FreeTextInputDirective } from './directives/free-text-input.directive';
@ -14,8 +14,7 @@ const exported = [
];
@NgModule({
declarations: [...exported],
imports: [CoreModule, ThemeSharedModule, NgbNavModule],
imports: [CoreModule, ThemeSharedModule, NgbNavModule, ...exported],
exports: [...exported],
})
export class FeatureManagementModule {
@ -26,3 +25,7 @@ export class FeatureManagementModule {
};
}
}
export function provideFeatureManagement() {
return makeEnvironmentProviders([FEATURE_MANAGEMENT_SETTINGS_PROVIDERS]);
}

6
npm/ng-packs/packages/identity/config/src/identity-config.module.ts

@ -1,4 +1,4 @@
import { ModuleWithProviders, NgModule } from '@angular/core';
import { ModuleWithProviders, NgModule, makeEnvironmentProviders } from '@angular/core';
import { IDENTITY_ROUTE_PROVIDERS } from './providers/route.provider';
@NgModule()
@ -10,3 +10,7 @@ export class IdentityConfigModule {
};
}
}
export function provideIdentityConfig() {
return makeEnvironmentProviders([IDENTITY_ROUTE_PROVIDERS]);
}

6
npm/ng-packs/packages/tenant-management/config/src/tenant-management-config.module.ts

@ -1,4 +1,4 @@
import { ModuleWithProviders, NgModule } from '@angular/core';
import { ModuleWithProviders, NgModule, makeEnvironmentProviders } from '@angular/core';
import { TENANT_MANAGEMENT_ROUTE_PROVIDERS } from './providers/route.provider';
@NgModule()
@ -10,3 +10,7 @@ export class TenantManagementConfigModule {
};
}
}
export function provideTenantManagementConfig() {
return makeEnvironmentProviders([TENANT_MANAGEMENT_ROUTE_PROVIDERS]);
}

4
npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts

@ -1,5 +1,4 @@
import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
import { FeatureManagementModule } from '@abp/ng.feature-management';
import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { ExtensibleModule } from '@abp/ng.components/extensible';
import { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';
@ -17,6 +16,7 @@ import {
TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,
} from './tokens/extensions.token';
import { PageModule } from '@abp/ng.components/page';
import { FeatureManagementComponent } from '@abp/ng.feature-management';
@NgModule({
declarations: [TenantsComponent],
@ -27,9 +27,9 @@ import { PageModule } from '@abp/ng.components/page';
CoreModule,
ThemeSharedModule,
NgbDropdownModule,
FeatureManagementModule,
ExtensibleModule,
PageModule,
FeatureManagementComponent,
],
})
export class TenantManagementModule {

Loading…
Cancel
Save