521 lines
20 KiB
TypeScript
521 lines
20 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 { CreateDataTableComponent } from './manage-data-tables/create-data-table/create-data-table.component';
|
|
import { ViewDataTableComponent } from './manage-data-tables/view-data-table/view-data-table.component';
|
|
import { EditDataTableComponent } from './manage-data-tables/edit-data-table/edit-data-table.component';
|
|
import { ManageHooksComponent } from './manage-hooks/manage-hooks.component';
|
|
import { ViewHookComponent } from './manage-hooks/view-hook/view-hook.component';
|
|
import { CreateHookComponent } from './manage-hooks/create-hook/create-hook.component';
|
|
import { EditHookComponent } from './manage-hooks/edit-hook/edit-hook.component';
|
|
import { RolesAndPermissionsComponent } from './roles-and-permissions/roles-and-permissions.component';
|
|
import { AddRoleComponent } from './roles-and-permissions/add-role/add-role.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';
|
|
import { ManageReportsComponent } from './manage-reports/manage-reports.component';
|
|
import { EditReportComponent } from './manage-reports/edit-report/edit-report.component';
|
|
import { CreateReportComponent } from './manage-reports/create-report/create-report.component';
|
|
import { ViewReportComponent } from './manage-reports/view-report/view-report.component';
|
|
import { AuditTrailsComponent } from './audit-trails/audit-trails.component';
|
|
import { ViewAuditComponent } from './audit-trails/view-audit/view-audit.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 { DataTableResolver } from './manage-data-tables/data-table.resolver';
|
|
import { ManageHooksResolver } from './manage-hooks/manage-hooks.resolver';
|
|
import { HookResolver } from './manage-hooks/view-hook/hook.resolver';
|
|
import { HooksTemplateResolver } from './manage-hooks/hooks-template.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';
|
|
import { AuditTrailSearchTemplateResolver } from './audit-trails/audit-trail-search-template.resolver';
|
|
import { AuditTrailResolver } from './audit-trails/view-audit/audit-trail.resolver';
|
|
import { ReportsResolver } from './manage-reports/reports.resolver';
|
|
import { ReportResolver } from './manage-reports/report.resolver';
|
|
import { ReportTemplateResolver } from './manage-reports/report-template.resolver';
|
|
import { ViewSchedulerJobComponent } from './manage-scheduler-jobs/view-scheduler-job/view-scheduler-job.component';
|
|
import { ViewSchedulerJobResolver } from './manage-scheduler-jobs/view-scheduler-job/view-scheduler-job.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',
|
|
data: { title: extract('Manage Data Tables'), breadcrumb: 'Manage Data Tables' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ManageDataTablesComponent,
|
|
resolve: {
|
|
dataTables: ManageDataTablesResolver
|
|
},
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: CreateDataTableComponent,
|
|
data: { title: extract('Create Data Table'), breadcrumb: 'Create'},
|
|
resolve: {
|
|
columnCodes: CodesResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':datatableName',
|
|
data: { title: extract('View Data Table'), routeParamBreadcrumb: 'datatableName'},
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ViewDataTableComponent,
|
|
resolve: {
|
|
dataTable: DataTableResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditDataTableComponent,
|
|
data: { title: extract('Edit Data table'), breadcrumb: 'Edit', routeParamBreadcrumb: false},
|
|
resolve: {
|
|
dataTable: DataTableResolver,
|
|
columnCodes: CodesResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
},
|
|
{
|
|
path: 'hooks',
|
|
data: { title: extract('Manage Hooks'), breadcrumb: 'Manage Hooks' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ManageHooksComponent,
|
|
resolve: {
|
|
hooks: ManageHooksResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: CreateHookComponent,
|
|
data: { title: extract('Create Hook'), breadcrumb: 'Create' },
|
|
resolve: {
|
|
hooksTemplate: HooksTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':id',
|
|
data: { title: extract('View Hook'), routeParamBreadcrumb: 'id' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ViewHookComponent,
|
|
resolve: {
|
|
hook: HookResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditHookComponent,
|
|
data: { title: extract('Edit Hook'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
|
|
resolve: {
|
|
hooksTemplate: HooksTemplateResolver,
|
|
hook: HookResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'roles-and-permissions',
|
|
data: { title: extract('Roles and Permissions'), breadcrumb: 'Roles and Permissions' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: RolesAndPermissionsComponent,
|
|
resolve: {
|
|
roles: RolesAndPermissionsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'add',
|
|
component: AddRoleComponent,
|
|
data: { title: extract('Add Role'), breadcrumb: 'Add' }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'surveys',
|
|
component: ManageSurveysComponent,
|
|
resolve: {
|
|
surveys: ManageSurveysResolver
|
|
},
|
|
data: { title: extract('Manage Surveys'), breadcrumb: 'Manage Surveys' },
|
|
},
|
|
{
|
|
path: 'scheduler-jobs',
|
|
data: { title: extract('Manage Scheduler Jobs'), breadcrumb: 'Manage Scheduler Jobs' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ManageSchedulerJobsComponent,
|
|
resolve: {
|
|
jobsScheduler: ManageSchedulerJobsResolver
|
|
},
|
|
},
|
|
{
|
|
path: ':id',
|
|
data: { title: extract('View Scheduler Job'), routeParamBreadcrumb: 'id' },
|
|
component: ViewSchedulerJobComponent,
|
|
resolve: {
|
|
selectedJob: ViewSchedulerJobResolver
|
|
}
|
|
}
|
|
],
|
|
},
|
|
{
|
|
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
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'reports',
|
|
data: { title: extract('Manage Reports'), breadcrumb: 'Manage Reports' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ManageReportsComponent,
|
|
resolve: {
|
|
reports: ReportsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: CreateReportComponent,
|
|
data: { title: extract('Create Report'), breadcrumb: 'Create' },
|
|
resolve: {
|
|
reportTemplate: ReportTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':id',
|
|
data: { title: extract('View Report'), routeParamBreadcrumb: 'id' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: ViewReportComponent,
|
|
resolve: {
|
|
report: ReportResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'edit',
|
|
component: EditReportComponent,
|
|
data: { title: extract('Edit Report'), routeParamBreadcrumb: false, breadcrumb: 'Edit' },
|
|
resolve: {
|
|
report: ReportResolver,
|
|
reportTemplate: ReportTemplateResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'audit-trails',
|
|
data: { title: extract('Audit Trails'), breadcrumb: 'Audit Trails' },
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: AuditTrailsComponent,
|
|
resolve: {
|
|
auditTrailSearchTemplate: AuditTrailSearchTemplateResolver
|
|
}
|
|
},
|
|
{
|
|
path: ':id',
|
|
component: ViewAuditComponent,
|
|
data: { title: extract('View Audit'), routeParamBreadcrumb: 'id' },
|
|
resolve: {
|
|
auditTrail: AuditTrailResolver
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
])
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forChild(routes)],
|
|
exports: [RouterModule],
|
|
providers: [
|
|
CodesResolver,
|
|
CodeResolver,
|
|
CodeValuesResolver,
|
|
ManageDataTablesResolver,
|
|
DataTableResolver,
|
|
ManageHooksResolver,
|
|
HookResolver,
|
|
HooksTemplateResolver,
|
|
RolesAndPermissionsResolver,
|
|
ManageSurveysResolver,
|
|
ManageSchedulerJobsResolver,
|
|
GlobalConfigurationsResolver,
|
|
GlobalConfigurationResolver,
|
|
AmazonS3ConfigurationResolver,
|
|
EmailConfigurationResolver,
|
|
SMSConfigurationResolver,
|
|
NotificationConfigurationResolver,
|
|
AccountNumberPreferencesResolver,
|
|
AccountNumberPreferencesTemplateResolver,
|
|
AccountNumberPreferenceResolver,
|
|
ReportsResolver,
|
|
ReportResolver,
|
|
ReportTemplateResolver,
|
|
AuditTrailSearchTemplateResolver,
|
|
AuditTrailResolver,
|
|
ViewSchedulerJobResolver
|
|
]
|
|
})
|
|
export class SystemRoutingModule { }
|