barker/bookie/src/app/sales/sales-routing.module.ts

98 lines
2.6 KiB
TypeScript

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AuthGuard } from '../auth/auth-guard.service';
import { BillResolver } from './bills/bill-resolver.service';
import { BillsComponent } from './bills/bills.component';
import { UpdateTableResolver } from './bills/update-table-resolver.service';
import { CanDeactivateBillGuard } from './can-deactivate-bill.guard';
import { SalesHomeComponent } from './home/sales-home.component';
import { MenuCategoriesResolver } from './menu-categories/menu-categories-resolver.service';
import { MenuCategoriesComponent } from './menu-categories/menu-categories.component';
import { ProductsResolver } from './products/products-resolver.service';
import { ProductsComponent } from './products/products.component';
import { RunningTablesResolver } from './running-tables/running-tables-resolver.service';
import { RunningTablesComponent } from './running-tables/running-tables.component';
const routes: Routes = [
{
path: 'tables',
component: RunningTablesComponent,
canActivate: [AuthGuard],
data: {
permission: 'Sales',
},
resolve: {
list: RunningTablesResolver,
},
},
{
path: 'tables/:id',
component: RunningTablesComponent,
canActivate: [AuthGuard],
data: {
permission: 'Sales',
},
resolve: {
item: RunningTablesResolver,
},
},
{
path: 'bill',
component: BillsComponent,
canActivate: [AuthGuard],
canDeactivate: [CanDeactivateBillGuard],
data: {
permission: 'Sales',
},
resolve: {
item: BillResolver,
updateTable: UpdateTableResolver,
},
children: [
{
path: '',
component: SalesHomeComponent,
canActivate: [AuthGuard],
data: {
permission: 'Sales',
},
resolve: {
list: MenuCategoriesResolver,
},
},
{
path: 'menu-categories',
component: MenuCategoriesComponent,
canActivate: [AuthGuard],
data: {
permission: 'Sales',
},
resolve: {
list: MenuCategoriesResolver,
},
},
{
path: 'products/:id',
component: ProductsComponent,
canActivate: [AuthGuard],
data: {
permission: 'Sales',
},
resolve: {
list: ProductsResolver,
},
},
],
},
{ path: '', redirectTo: 'tables', pathMatch: 'full' },
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [RunningTablesResolver, MenuCategoriesResolver, ProductsResolver],
})
export class SalesRoutingModule {}