aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/core/routing/preload-selected-modules-list.ts
blob: 8a458ec3ece2f979477f3776b78ec8e848b969cf (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                           

                                                                       

                                                                      

                                                 
                                                                         

     
                 

   
import { Route, PreloadingStrategy } from '@angular/router'
import { Observable } from 'rxjs/Observable'
import 'rxjs/add/observable/timer'
import 'rxjs/add/operator/switchMap'

export class PreloadSelectedModulesList implements PreloadingStrategy {
  preload (route: Route, load: Function): Observable<any> {
    if (!route.data || !route.data.preload) return Observable.of(null)

    if (typeof route.data.preload === 'number') {
      return Observable.timer(route.data.preload).switchMap(() => load())
    }

    return load()
  }
}