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