Browse Source

feat(identity): create route-wrapper.component

pull/2522/head
mehmet-erim 7 years ago
parent
commit
8c997d1e4e
  1. 18
      npm/ng-packs/packages/identity/src/lib/components/route-wrapper.component.ts
  2. 19
      npm/ng-packs/packages/identity/src/lib/identity-routing.module.ts
  3. 3
      npm/ng-packs/packages/identity/src/lib/identity.module.ts

18
npm/ng-packs/packages/identity/src/lib/components/route-wrapper.component.ts

@ -0,0 +1,18 @@
import { Type, Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'identity-route-wrapper',
template: `
<ng-container *ngComponentOutlet="defaultComponent"></ng-container>
`,
})
export class RouteWrapperComponent implements OnInit {
defaultComponent: Type<any>;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.defaultComponent = this.route.snapshot.data.component.default;
}
}

19
npm/ng-packs/packages/identity/src/lib/identity-routing.module.ts

@ -1,8 +1,9 @@
import { AuthGuard, DynamicLayoutComponent, PermissionGuard } from '@abp/ng.core'; import { AuthGuard, DynamicLayoutComponent, PermissionGuard, ABP, CoreModule } from '@abp/ng.core';
import { NgModule } from '@angular/core'; import { NgModule, Type } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes, Router, ActivatedRoute } from '@angular/router';
import { RolesComponent } from './components/roles/roles.component'; import { RolesComponent } from './components/roles/roles.component';
import { UsersComponent } from './components/users/users.component'; import { UsersComponent } from './components/users/users.component';
import { RouteWrapperComponent } from './components/route-wrapper.component';
const routes: Routes = [ const routes: Routes = [
{ path: '', redirectTo: 'roles', pathMatch: 'full' }, { path: '', redirectTo: 'roles', pathMatch: 'full' },
@ -13,8 +14,14 @@ const routes: Routes = [
children: [ children: [
{ {
path: 'roles', path: 'roles',
component: RolesComponent, component: RouteWrapperComponent,
data: { requiredPolicy: 'AbpIdentity.Roles' }, data: {
requiredPolicy: 'AbpIdentity.Roles',
component: {
key: 'AbpIdentity.Roles',
default: RolesComponent,
} as ABP.ComponentData<RolesComponent>,
},
}, },
{ {
path: 'users', path: 'users',
@ -26,7 +33,7 @@ const routes: Routes = [
]; ];
@NgModule({ @NgModule({
imports: [RouterModule.forChild(routes)], imports: [RouterModule.forChild(routes), CoreModule],
exports: [RouterModule], exports: [RouterModule],
}) })
export class IdentityRoutingModule {} export class IdentityRoutingModule {}

3
npm/ng-packs/packages/identity/src/lib/identity.module.ts

@ -10,9 +10,10 @@ import { UsersComponent } from './components/users/users.component';
import { PermissionManagementModule } from '@abp/ng.permission-management'; import { PermissionManagementModule } from '@abp/ng.permission-management';
import { TableModule } from 'primeng/table'; import { TableModule } from 'primeng/table';
import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgxValidateCoreModule } from '@ngx-validate/core';
import { RouteWrapperComponent } from './components/route-wrapper.component';
@NgModule({ @NgModule({
declarations: [RolesComponent, UsersComponent], declarations: [RolesComponent, UsersComponent, RouteWrapperComponent],
imports: [ imports: [
NgxsModule.forFeature([IdentityState]), NgxsModule.forFeature([IdentityState]),
CoreModule, CoreModule,

Loading…
Cancel
Save