Browse Source

account standalone module and router created

pull/22816/head
erdemcaygor 1 year ago
parent
commit
44975f1a6e
  1. 92
      npm/ng-packs/packages/account/src/lib/account.routes.ts
  2. 32
      npm/ng-packs/packages/account/src/lib/account.ts

92
npm/ng-packs/packages/account/src/lib/account.routes.ts

@ -0,0 +1,92 @@
import {
authGuard,
ReplaceableComponents,
ReplaceableRouteContainerComponent,
RouterOutletComponent,
} from '@abp/ng.core';
import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
import { LoginComponent } from './components/login/login.component';
import { ManageProfileComponent } from './components/manage-profile/manage-profile.component';
import { RegisterComponent } from './components/register/register.component';
import { ResetPasswordComponent } from './components/reset-password/reset-password.component';
import { eAccountComponents } from './enums/components';
import { authenticationFlowGuard } from './guards';
import { accountExtensionsResolver } from './resolvers';
import { provideAccount } from './account';
const canActivate = [authenticationFlowGuard];
export const accountRoutes = [
{
path: '',
component: RouterOutletComponent,
providers: [...provideAccount()],
children: [
{ path: '', pathMatch: 'full', redirectTo: 'login' },
{
path: 'login',
component: ReplaceableRouteContainerComponent,
canActivate,
data: {
replaceableComponent: {
key: eAccountComponents.Login,
defaultComponent: LoginComponent,
} as ReplaceableComponents.RouteData<LoginComponent>,
},
title: 'AbpAccount::Login',
},
{
path: 'register',
component: ReplaceableRouteContainerComponent,
canActivate,
data: {
replaceableComponent: {
key: eAccountComponents.Register,
defaultComponent: RegisterComponent,
} as ReplaceableComponents.RouteData<RegisterComponent>,
},
title: 'AbpAccount::Register',
},
{
path: 'forgot-password',
component: ReplaceableRouteContainerComponent,
canActivate,
data: {
replaceableComponent: {
key: eAccountComponents.ForgotPassword,
defaultComponent: ForgotPasswordComponent,
} as ReplaceableComponents.RouteData<ForgotPasswordComponent>,
},
title: 'AbpAccount::ForgotPassword',
},
{
path: 'reset-password',
component: ReplaceableRouteContainerComponent,
canActivate: [],
data: {
tenantBoxVisible: false,
replaceableComponent: {
key: eAccountComponents.ResetPassword,
defaultComponent: ResetPasswordComponent,
} as ReplaceableComponents.RouteData<ResetPasswordComponent>,
},
title: 'AbpAccount::ResetPassword',
},
{
path: 'manage',
component: ReplaceableRouteContainerComponent,
canActivate: [authGuard],
resolve: [accountExtensionsResolver],
data: {
replaceableComponent: {
key: eAccountComponents.ManageProfile,
defaultComponent: ManageProfileComponent,
} as ReplaceableComponents.RouteData<ManageProfileComponent>,
},
title: 'AbpAccount::MyAccount',
},
],
},
];

32
npm/ng-packs/packages/account/src/lib/account.ts

@ -0,0 +1,32 @@
import { importProvidersFrom } from '@angular/core';
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
import { NgxValidateCoreModule } from '@ngx-validate/core';
import { AccountConfigOptions } from './models/config-options';
import { ACCOUNT_CONFIG_OPTIONS } from './tokens/config-options.token';
import { accountConfigOptionsFactory } from './utils/factory-utils';
import { AuthenticationFlowGuard } from './guards/authentication-flow.guard';
import { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';
import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';
import { AccountExtensionsGuard } from './guards/extensions.guard';
export function provideAccount(options: AccountConfigOptions = {}) {
return [
importProvidersFrom(NgbDropdownModule, NgxValidateCoreModule),
AuthenticationFlowGuard,
{ provide: ACCOUNT_CONFIG_OPTIONS, useValue: options },
{
provide: 'ACCOUNT_OPTIONS',
useFactory: accountConfigOptionsFactory,
deps: [ACCOUNT_CONFIG_OPTIONS],
},
{
provide: RE_LOGIN_CONFIRMATION_TOKEN,
useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,
},
{
provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,
useValue: options.editFormPropContributors,
},
AccountExtensionsGuard,
];
}
Loading…
Cancel
Save