2022-03-17 15:35:24 +01:00
|
|
|
import { ModuleWithProviders, NgModule } from '@angular/core';
|
2022-03-16 17:45:12 +01:00
|
|
|
import { RouterModule } from '@angular/router';
|
2022-03-17 15:35:24 +01:00
|
|
|
import { Permission } from 'picsur-shared/dist/dto/permissions';
|
|
|
|
|
import { PermissionGuard } from 'src/app/guards/permission.guard';
|
2022-03-16 17:45:12 +01:00
|
|
|
import { PRoutes } from 'src/app/models/picsur-routes';
|
2022-03-18 20:45:30 +01:00
|
|
|
import { SidebarResolverService } from 'src/app/services/sidebar-resolver/sidebar-resolver.service';
|
|
|
|
|
import { SettingsGeneralRouteModule } from './settings-general/settings-general.module';
|
2022-03-16 17:45:12 +01:00
|
|
|
import { SettingsSidebarComponent } from './settings-sidebar/settings-sidebar.component';
|
2022-03-18 20:45:30 +01:00
|
|
|
import { SettingsSysprefRouteModule } from './settings-syspref/settings-syspref.module';
|
2022-03-16 17:45:12 +01:00
|
|
|
|
2022-03-16 22:27:03 +01:00
|
|
|
const SettingsRoutes: PRoutes = [
|
2022-03-16 17:45:12 +01:00
|
|
|
{
|
2022-03-16 22:27:03 +01:00
|
|
|
path: '',
|
2022-03-18 20:45:30 +01:00
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
path: '',
|
|
|
|
|
redirectTo: 'general',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'general',
|
|
|
|
|
loadChildren: () => SettingsGeneralRouteModule,
|
|
|
|
|
data: {
|
|
|
|
|
permissions: [Permission.Settings],
|
|
|
|
|
page: {
|
|
|
|
|
title: 'General',
|
|
|
|
|
icon: 'settings',
|
|
|
|
|
category: 'personal',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
2022-03-18 20:52:03 +01:00
|
|
|
path: 'syspref',
|
2022-03-18 20:45:30 +01:00
|
|
|
loadChildren: () => SettingsSysprefRouteModule,
|
|
|
|
|
data: {
|
|
|
|
|
permissions: [Permission.SysPrefManage],
|
|
|
|
|
page: {
|
|
|
|
|
title: 'Sys Preferences',
|
|
|
|
|
icon: 'settings',
|
|
|
|
|
category: 'system',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
2022-03-17 15:35:24 +01:00
|
|
|
canActivate: [PermissionGuard],
|
2022-03-18 20:45:30 +01:00
|
|
|
canActivateChild: [PermissionGuard],
|
2022-03-16 17:45:12 +01:00
|
|
|
data: {
|
2022-03-18 20:45:30 +01:00
|
|
|
sidebar: SettingsSidebarComponent,
|
2022-03-16 17:45:12 +01:00
|
|
|
},
|
2022-03-18 20:45:30 +01:00
|
|
|
resolve: SidebarResolverService.build(),
|
2022-03-17 15:35:24 +01:00
|
|
|
},
|
2022-03-16 17:45:12 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
@NgModule({
|
2022-03-16 22:27:03 +01:00
|
|
|
imports: [RouterModule.forChild(SettingsRoutes)],
|
2022-03-16 17:45:12 +01:00
|
|
|
exports: [RouterModule],
|
|
|
|
|
})
|
2022-03-17 15:35:24 +01:00
|
|
|
export class SettingsRoutingModule {
|
|
|
|
|
static forRoot(): ModuleWithProviders<SettingsRoutingModule> {
|
|
|
|
|
return {
|
|
|
|
|
ngModule: SettingsRoutingModule,
|
|
|
|
|
providers: [
|
|
|
|
|
{
|
|
|
|
|
provide: 'SettingsRoutes',
|
2022-03-18 20:45:30 +01:00
|
|
|
useFactory: () => SettingsRoutes[0].children,
|
2022-03-17 15:35:24 +01:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|