Files
cbsnexora/src/app/system/system-routing.module.ts
T
Chirag GuptaandAbhay Chawla a7affa17cd feat: view, create, edit, delete account number preferences (#381)
- Add account-number-preferences
- Add create-account-number-preference
- Add edit-account-number-preference
- Add view-account-number-preference

Fixes: #382
2019-11-02 19:16:11 +03:00

332 lines
13 KiB
TypeScript

import { NgModule } from '@angular/core';
/** Routing Imports */
import { Routes, RouterModule } from '@angular/router';
import { Route } from '../core/route/route.service';
import { extract } from '../core/i18n/i18n.service';
/** Component Imports */
import { SystemComponent } from './system.component';
import { CodesComponent } from './codes/codes.component';
import { CreateCodeComponent } from './codes/create-code/create-code.component';
import { ViewCodeComponent } from './codes/view-code/view-code.component';
import { EditCodeComponent } from './codes/edit-code/edit-code.component';
import { ExternalServicesComponent } from './external-services/external-services.component';
import { ManageDataTablesComponent } from './manage-data-tables/manage-data-tables.component';
import { ManageHooksComponent } from './manage-hooks/manage-hooks.component';
import { RolesAndPermissionsComponent } from './roles-and-permissions/roles-and-permissions.component';
import { ManageSurveysComponent } from './manage-surveys/manage-surveys.component';
import { ManageSchedulerJobsComponent } from './manage-scheduler-jobs/manage-scheduler-jobs.component';
import { GlobalConfigurationsComponent } from './global-configurations/global-configurations.component';
import { EditConfigurationComponent } from './global-configurations/edit-configuration/edit-configuration.component';
import { AmazonS3Component } from './external-services/amazon-s3/amazon-s3.component';
import { EmailComponent } from './external-services/email/email.component';
import { SMSComponent } from './external-services/sms/sms.component';
import { NotificationComponent } from './external-services/notification/notification.component';
import { EditAmazonS3Component } from './external-services/amazon-s3/edit-amazon-s3/edit-amazon-s3.component';
import { EditEmailComponent } from './external-services/email/edit-email/edit-email.component';
import { EditNotificationComponent } from './external-services/notification/edit-notification/edit-notification.component';
import { EditSMSComponent } from './external-services/sms/edit-sms/edit-sms.component';
import { AccountNumberPreferencesComponent } from './account-number-preferences/account-number-preferences.component';
import { CreateAccountNumberPreferenceComponent } from './account-number-preferences/create-account-number-preference/create-account-number-preference.component';
import { ViewAccountNumberPreferenceComponent } from './account-number-preferences/view-account-number-preference/view-account-number-preference.component';
import { EditAccountNumberPreferenceComponent } from './account-number-preferences/edit-account-number-preference/edit-account-number-preference.component';
/** Custom Resolvers */
import { CodesResolver } from './codes/codes.resolver';
import { CodeResolver } from './codes/code.resolver';
import { CodeValuesResolver } from './codes/view-code/code-values.resolver';
import { ManageDataTablesResolver } from './manage-data-tables/manage-data-tables.resolver';
import { ManageHooksResolver } from './manage-hooks/manage-hooks.resolver';
import { RolesAndPermissionsResolver } from './roles-and-permissions/roles-and-permissions.resolver';
import { ManageSurveysResolver } from './manage-surveys/manage-surveys.resolver';
import { ManageSchedulerJobsResolver } from './manage-scheduler-jobs/manage-scheduler-jobs.resolver';
import { GlobalConfigurationsResolver } from './global-configurations/global-configurations.resolver';
import { GlobalConfigurationResolver } from './global-configurations/global-configuration.resolver';
import { AmazonS3ConfigurationResolver } from './external-services/amazon-s3/amazon-s3.resolver';
import { EmailConfigurationResolver } from './external-services/email/email.resolver';
import { SMSConfigurationResolver } from './external-services/sms/sms.resolver';
import { NotificationConfigurationResolver } from './external-services/notification/notification.resolver';
import { AccountNumberPreferencesResolver } from './account-number-preferences/account-number-preferences.resolver';
import { AccountNumberPreferencesTemplateResolver } from './account-number-preferences/create-account-number-preference/account-number-preferences-template.resolver';
import { AccountNumberPreferenceResolver } from './account-number-preferences/view-account-number-preference/account-number-preference.resolver';
const routes: Routes = [
Route.withShell([
{
path: 'system',
data: { title: extract('System'), breadcrumb: 'System' },
children: [
{
path: '',
component: SystemComponent
},
{
path: 'codes',
data: { title: extract('View Codes'), breadcrumb: 'Codes' },
children: [
{
path: '',
component: CodesComponent,
resolve: {
codes: CodesResolver
}
},
{
path: 'create',
component: CreateCodeComponent,
data: { title: extract('Create Code'), breadcrumb: 'Create' }
},
{
path: ':id',
data: { title: extract('View Code'), routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewCodeComponent,
resolve: {
code: CodeResolver,
codeValues: CodeValuesResolver
}
},
{
path: 'edit',
component: EditCodeComponent,
data: { title: extract('Edit Code'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
resolve: {
code: CodeResolver
}
}
]
}
],
},
{
path: 'external-services',
data: { title: extract('External Services'), breadcrumb: 'External Services' },
children: [
{
path: '',
component: ExternalServicesComponent
},
{
path: 'amazon-s3',
data: { title: extract('View Amazon S3 Configuration'), breadcrumb: 'Amazon S3' },
children: [
{
path: '',
component: AmazonS3Component,
resolve: {
amazonS3Configuration: AmazonS3ConfigurationResolver
}
},
{
path: 'edit',
component: EditAmazonS3Component,
data: {title: extract('Edit Amazon S3 Configuration'), breadcrumb: 'Edit'},
resolve: {
amazonS3Configuration: AmazonS3ConfigurationResolver
}
}
]
},
{
path: 'email',
data: { title: extract('View Email Configuration'), breadcrumb: 'Email' },
children: [
{
path: '',
component: EmailComponent,
resolve: {
emailConfiguration: EmailConfigurationResolver
}
},
{
path: 'edit',
component: EditEmailComponent,
data: { title: extract('Edit Email Configuration'), breadcrumb: 'Edit' },
resolve: {
emailConfiguration: EmailConfigurationResolver
}
}
]
},
{
path: 'sms',
data: { title: extract('View SMS Configuration'), breadcrumb: 'SMS' },
children: [
{
path: '',
component: SMSComponent,
resolve: {
smsConfiguration: SMSConfigurationResolver
}
},
{
path: 'edit',
data: { title: extract('Edit SMS Configuration'), breadcrumb: 'Edit' },
component: EditSMSComponent,
resolve: {
smsConfiguration: SMSConfigurationResolver
}
}
]
},
{
path: 'notification',
data: { title: extract('View Notification Configuration'), breadcrumb: 'Notification' },
children: [
{
path: '',
component: NotificationComponent,
resolve: {
notificationConfiguration: NotificationConfigurationResolver
}
},
{
path: 'edit',
component: EditNotificationComponent,
data: { title: extract('Edit Notification Configuration'), breadcrumb: 'Edit' },
resolve: {
notificationConfiguration: NotificationConfigurationResolver
}
}
]
}
]
},
{
path: 'data-tables',
component: ManageDataTablesComponent,
resolve: {
dataTables: ManageDataTablesResolver
},
data: { title: extract('Manage Data Tables'), breadcrumb: 'Manage Data Tables' },
},
{
path: 'hooks',
component: ManageHooksComponent,
resolve: {
hooks: ManageHooksResolver
},
data: { title: extract('Manage Hooks'), breadcrumb: 'Manage Hooks' },
},
{
path: 'roles-and-permissions',
component: RolesAndPermissionsComponent,
resolve: {
roles: RolesAndPermissionsResolver
},
data: { title: extract('Roles and Permissions'), breadcrumb: 'Roles and Permissions' },
},
{
path: 'surveys',
component: ManageSurveysComponent,
resolve: {
surveys: ManageSurveysResolver
},
data: { title: extract('Manage Surveys'), breadcrumb: 'Manage Surveys' },
},
{
path: 'scheduler-jobs',
component: ManageSchedulerJobsComponent,
resolve: {
jobsScheduler: ManageSchedulerJobsResolver
},
data: { title: extract('Manage Scheduler Jobs'), breadcrumb: 'Manage Scheduler Jobs' },
},
{
path: 'global-configurations',
data: { title: extract('Global Configurations'), breadcrumb: 'Global Configurations' },
children: [
{
path: '',
component: GlobalConfigurationsComponent,
resolve: {
configurations: GlobalConfigurationsResolver
}
},
{
path: ':id/edit',
component: EditConfigurationComponent,
data: { title: extract('Edit Configuration'), breadcrumb: 'Edit' },
resolve: {
configuration: GlobalConfigurationResolver
}
}
],
},
{
path: 'account-number-preferences',
data: { title: extract('Account Number Preferences'), breadcrumb: 'Account Number Preferences' },
children: [
{
path: '',
component: AccountNumberPreferencesComponent,
resolve: {
accountNumberPreferences: AccountNumberPreferencesResolver
}
},
{
path: 'create',
component: CreateAccountNumberPreferenceComponent,
data: { title: extract('Create Account Number Preference'), breadcrumb: 'Create' },
resolve: {
accountNumberPreferencesTemplate: AccountNumberPreferencesTemplateResolver
}
},
{
path: ':id',
data: { title: extract('View Account Number Preference'), routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewAccountNumberPreferenceComponent,
resolve: {
accountNumberPreference: AccountNumberPreferenceResolver
}
},
{
path: 'edit',
component: EditAccountNumberPreferenceComponent,
data: { title: extract('Edit Account Number Preference'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
resolve: {
accountNumberPreference: AccountNumberPreferenceResolver,
accountNumberPreferencesTemplate: AccountNumberPreferencesTemplateResolver
}
}
]
}
]
}
]
}
])
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [
CodesResolver,
CodeResolver,
CodeValuesResolver,
ManageDataTablesResolver,
ManageHooksResolver,
RolesAndPermissionsResolver,
ManageSurveysResolver,
ManageSchedulerJobsResolver,
GlobalConfigurationsResolver,
GlobalConfigurationResolver,
AmazonS3ConfigurationResolver,
EmailConfigurationResolver,
SMSConfigurationResolver,
NotificationConfigurationResolver,
AccountNumberPreferencesResolver,
AccountNumberPreferencesTemplateResolver,
AccountNumberPreferenceResolver
]
})
export class SystemRoutingModule { }