]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/acq/provider/routing.module.ts
make npm run export-strings happier
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / acq / provider / routing.module.ts
1 import {NgModule} from '@angular/core';
2 import {RouterModule, Routes, UrlSegment, UrlMatchResult} from '@angular/router';
3 import {AcqProviderComponent} from './acq-provider.component';
4 import {ProviderResolver, CanLeaveAcqProviderGuard} from './resolver.service';
5
6 export function providerRouteMatcher(segments: UrlSegment[]) {
7     // using a custom matcher so that we
8     // don't force a component re-initialization
9     // when navigating from the search form to a
10     // provider record
11     if (segments.length === 0) {
12         return {
13             consumed: segments,
14             posParams: {}
15         };
16     } else if (segments.length === 1) {
17         return {
18             consumed: segments,
19             posParams: {
20                 id: segments[0],
21             }
22         };
23     } else if (segments.length > 1) {
24         return {
25             consumed: segments,
26             posParams: {
27                 id: segments[0],
28                 tab: segments[1],
29             }
30         };
31     }
32     return <UrlMatchResult>(null as any);
33 }
34
35 const routes: Routes = [
36   { matcher: providerRouteMatcher,
37     component: AcqProviderComponent,
38     resolve: { providerResolver : ProviderResolver },
39     canDeactivate: [CanLeaveAcqProviderGuard],
40     runGuardsAndResolvers: 'always'
41   }
42 ];
43
44 @NgModule({
45   imports: [RouterModule.forChild(routes)],
46   exports: [RouterModule],
47   providers: [ProviderResolver, CanLeaveAcqProviderGuard]
48 })
49
50 export class AcqProviderRoutingModule {}