import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { LocaleResolver } from '@core/resolvers/locale.resolver'; import { GCCoreModule } from '@core/_core.module'; import { APConfigResolver } from '@features/ap-config/ap-config.resolver'; import { AllAudiencesResolver } from '@features/audience/resolvers/all-audiences.resolver'; import { ConfigureClientSettingsResolver } from '@features/client-settings/resolvers/configure-client-settings.resolver'; import { InKindResolver } from '@features/in-kind/resolvers/in-kind.resolver'; import { AdHocReportingResolver } from '@features/reporting/resolvers/ad-hoc-reporting.resolver'; import { PermissionSetsResolver } from '@features/roles/resolvers/permission-sets.resolver'; import { RolesResolver } from '@features/roles/resolvers/roles.resolver'; import { BasicSFTPCredentialsResolver } from '@features/sftp/resolvers/basic-sftp-credentials.resolver'; import { AllUsersResolver } from '@features/users/resolvers/all-users.resolver'; import { YCCommonModule } from '@yourcause/common'; import { ConfigurationPageComponent } from './configuration-page/configuration-page.component'; @NgModule({ imports: [ GCCoreModule, YCCommonModule, RouterModule.forChild([{ path: '', component: ConfigurationPageComponent }, { path: 'users', loadChildren: () => import('@features/users/users-routing.module') .then(m => m.UsersRoutingModule), resolve: { users: AllUsersResolver, locale: LocaleResolver }, data: { namespace: ['USERS'], breadcrumb: true, breadcrumbLabel: 'Users' } }, { path: 'external-api', loadChildren: () => import('@features/external-api/external-api-routing.module') .then(m => m.ExternalAPIRoutingModule) }, { path: 'system-emails', loadChildren: () => import('@features/system-emails/system-emails-routing.module') .then(m => m.SystemEmailsRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'System Emails' } }, { path: 'client-settings', loadChildren: () => import('@features/client-settings/client-settings-routing.module') .then(m => m.ClientSettingsRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'Client Settings' }, resolve: { settings: ConfigureClientSettingsResolver } }, { path: 'in-kind', loadChildren: () => import('@features/in-kind/in-kind-routing.module') .then(m => m.InKindRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'In Kind' }, resolve: { inKind: InKindResolver } }, { path: 'audiences', loadChildren: () => import('@features/audience/audience-routing.module') .then(m => m.AudienceRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'Audiences' } }, { path: 'roles', loadChildren: () => import('@features/roles/roles-routing.module') .then(m => m.RolesRoutingModule), resolve: { locale: LocaleResolver, roles: RolesResolver, permissionSets: PermissionSetsResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Roles and Permissions', namespace: 'ROLES' } }, { path: 'system-tags', loadChildren: () => import('@features/system-tags/system-tags-routing.module') .then(m => m.SystemTagsRoutingModule) }, { path: 'employee-sso-fields', loadChildren: () => import('@features/employee-sso-fields/employee-sso-fields-routing.module') .then(m => m.EmployeeSSOFieldsRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'Employee SSO Field Configuration' } }, { path: 'sftp-connections', loadChildren: () => import('@features/sftp/sftp-routing.module') .then(m => m.SftpRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'SFTP Connections' } }, { path: 'ap-configuration', loadChildren: () => import('@features/ap-config/ap-config-routing.module') .then(m => m.APConfigRoutingModule), resolve: { AllAudiencesResolver, BasicSFTPCredentialsResolver, APConfigResolver, AdHocReportingResolver }, data: { breadcrumb: true, breadcrumbLabel: 'Accounts Payable Configuration' } }, { path: 'document-templates', loadChildren: () => import('@features/document-templates/document-templates-routing.module') .then(m => m.DocumentTemplateRoutingModule), data: { breadcrumb: true, breadcrumbLabel: 'Document Templates' } }]) ], declarations: [ ConfigurationPageComponent ] }) export class ConfigurationModule { }