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';
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
11 if (segments.length === 0) {
16 } else if (segments.length === 1) {
23 } else if (segments.length > 1) {
32 return <UrlMatchResult>(null as any);
35 const routes: Routes = [
36 { matcher: providerRouteMatcher,
37 component: AcqProviderComponent,
38 resolve: { providerResolver : ProviderResolver },
39 canDeactivate: [CanLeaveAcqProviderGuard],
40 runGuardsAndResolvers: 'always'
45 imports: [RouterModule.forChild(routes)],
46 exports: [RouterModule],
47 providers: [ProviderResolver, CanLeaveAcqProviderGuard]
50 export class AcqProviderRoutingModule {}