import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { ConfirmNavigationGuard } from '@core/guards/confirm-navigation.guard'; import { LanguageResolver } from '@core/resolvers/language-resolver'; import { AllUsersResolver } from '@features/users/resolvers/all-users.resolver'; import { DashboardManagerPageComponent } from './dashboard-manager-page/dashboard-manager-page.component'; import { DashboardPreviewComponent } from './dashboard-preview/dashboard-preview.component'; import { DashboardWrapperPageComponent } from './dashboard-wrapper-page/dashboard-wrapper-page.component'; import { DashboardsModule } from './dashboards.module'; import { HomeDashboardPageComponent } from './home-dashboard-page/home-dashboard-page.component'; import { HomeDashboardResolver } from './resolvers/home-dashboard.resolver'; @NgModule({ imports: [ DashboardsModule, RouterModule.forChild([{ path: 'manage', data: { breadcrumbLabel: 'Dashboard manager', breadcrumb: true, namespace: ['DASHBOARD'], pageName: 'Dashboard Manager' }, resolve: { AllUsersResolver, langs: LanguageResolver }, children: [{ path: '', component: DashboardManagerPageComponent }, { path: 'preview/:id', component: DashboardPreviewComponent, data: { breadcrumbLabel: 'Preview', breadcrumb: true, isPreview: true, pageName: 'Dashboard Manager - Preview' }, resolve: { dashboard: HomeDashboardResolver } }] }, { path: '', component: DashboardWrapperPageComponent, canDeactivate: [ ConfirmNavigationGuard ], children: [{ path: 'my-workspace', loadChildren: () => import('@features/my-workspace/my-workspace-routing.module') .then(m => m.MyWorkspaceRoutingModule) }, { path: ':id', component: HomeDashboardPageComponent, resolve: { dashboard: HomeDashboardResolver }, canDeactivate: [ ConfirmNavigationGuard ], data: { noReuse: true } }, { path: ':id/edit', component: HomeDashboardPageComponent, resolve: { dashboard: HomeDashboardResolver }, canDeactivate: [ ConfirmNavigationGuard ], data: { noReuse: true, isEditingDashboard: true } }, { path: '', component: HomeDashboardPageComponent }] }]) ] }) export class DashboardsRoutingModule { }