Browse Source

tenant management module standalone migration

migrating-abp-packages/tenant-management
erdemcaygor 9 months ago
parent
commit
54f24250bd
  1. 3
      npm/ng-packs/apps/dev-app/src/app/app-routing.module.ts
  2. 28
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts
  3. 25
      npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts
  4. 41
      npm/ng-packs/packages/tenant-management/src/lib/tenant-management.routes.ts
  5. 35
      npm/ng-packs/packages/tenant-management/src/lib/tenant-management.ts
  6. 1
      npm/ng-packs/packages/tenant-management/src/public-api.ts

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

@ -17,8 +17,7 @@ const routes: Routes = [
},
{
path: 'tenant-management',
loadChildren: () =>
import('@abp/ng.tenant-management').then(m => m.TenantManagementModule.forLazy()),
loadChildren: () => import('@abp/ng.tenant-management').then(m => m.tenantManagementRoutes),
},
{
path: 'setting-management',

28
npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts

@ -1,8 +1,19 @@
import { ListService, PagedResultDto } from '@abp/ng.core';
import { eFeatureManagementComponents } from '@abp/ng.feature-management';
import { CoreModule, ListService, PagedResultDto } 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 { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
import {
Confirmation,
ConfirmationService,
ThemeSharedModule,
ToasterService,
} from '@abp/ng.theme.shared';
import {
ExtensibleModule,
EXTENSIONS_IDENTIFIER,
FormPropData,
generateFormFromProps,
@ -11,9 +22,10 @@ import { Component, inject, Injector, OnInit } from '@angular/core';
import { 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';
@Component({
standalone: false,
selector: 'abp-tenants',
templateUrl: './tenants.component.html',
providers: [
@ -23,6 +35,14 @@ import { eTenantManagementComponents } from '../../enums/components';
useValue: eTenantManagementComponents.Tenants,
},
],
imports: [
CommonModule,
CoreModule,
ThemeSharedModule,
PageModule,
ExtensibleModule,
FeatureManagementComponent,
],
})
export class TenantsComponent implements OnInit {
protected readonly list = inject(ListService<GetTenantsInput>);

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

@ -1,13 +1,7 @@
import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { ExtensibleModule } from '@abp/ng.components/extensible';
import { LazyModuleFactory } from '@abp/ng.core';
import { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
import { NgxValidateCoreModule } from '@ngx-validate/core';
import { TenantsComponent } from './components/tenants/tenants.component';
import { TenantManagementExtensionsGuard } from './guards/extensions.guard';
import { TenantManagementConfigOptions } from './models/config-options';
import { TenantManagementRoutingModule } from './tenant-management-routing.module';
import {
TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,
TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,
@ -15,22 +9,11 @@ import {
TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,
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],
exports: [TenantsComponent],
imports: [
TenantManagementRoutingModule,
NgxValidateCoreModule,
CoreModule,
ThemeSharedModule,
NgbDropdownModule,
ExtensibleModule,
PageModule,
FeatureManagementComponent,
],
declarations: [],
exports: [],
imports: [],
})
export class TenantManagementModule {
static forChild(

41
npm/ng-packs/packages/tenant-management/src/lib/tenant-management.routes.ts

@ -0,0 +1,41 @@
import { Routes } from '@angular/router';
import {
authGuard,
permissionGuard,
ReplaceableComponents,
ReplaceableRouteContainerComponent,
ReplaceableRouteContainerStandaloneComponent,
RouterOutletComponent,
RouterOutletStandaloneComponent,
} from '@abp/ng.core';
import { TenantsComponent } from './components/tenants/tenants.component';
import { eTenantManagementComponents } from './enums/components';
import { tenantManagementExtensionsResolver } from './resolvers';
import { provideTenantManagement } from './tenant-management';
export const tenantManagementRoutes: Routes = [
{
path: '',
component: RouterOutletStandaloneComponent,
canActivate: [authGuard, permissionGuard],
resolve: [tenantManagementExtensionsResolver],
providers: [...provideTenantManagement()],
children: [
{ path: '', redirectTo: 'tenants', pathMatch: 'full' },
{
path: 'tenants',
component: ReplaceableRouteContainerStandaloneComponent,
data: {
requiredPolicy: 'AbpTenantManagement.Tenants',
replaceableComponent: {
key: eTenantManagementComponents.Tenants,
defaultComponent: TenantsComponent,
} as ReplaceableComponents.RouteData<TenantsComponent>,
},
title: 'AbpTenantManagement::Tenants',
},
],
},
];

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

@ -0,0 +1,35 @@
import { TenantManagementExtensionsGuard } from './guards/extensions.guard';
import { TenantManagementConfigOptions } from './models/config-options';
import {
TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,
TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,
TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,
TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,
TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,
} from './tokens/extensions.token';
export function provideTenantManagement(options: TenantManagementConfigOptions = {}) {
return [
{
provide: TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,
useValue: options.entityActionContributors,
},
{
provide: TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,
useValue: options.toolbarActionContributors,
},
{
provide: TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,
useValue: options.entityPropContributors,
},
{
provide: TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,
useValue: options.createFormPropContributors,
},
{
provide: TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,
useValue: options.editFormPropContributors,
},
TenantManagementExtensionsGuard,
];
}

1
npm/ng-packs/packages/tenant-management/src/public-api.ts

@ -5,3 +5,4 @@ export * from './lib/models';
export * from './lib/tenant-management.module';
export * from './lib/tokens';
export * from './lib/resolvers';
export * from './lib/tenant-management.routes';

Loading…
Cancel
Save