]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/core/routing/preload-selected-modules-list.ts
8a458ec3ece2f979477f3776b78ec8e848b969cf
[github/Chocobozzz/PeerTube.git] / client / src / app / core / routing / preload-selected-modules-list.ts
1 import { Route, PreloadingStrategy } from '@angular/router'
2 import { Observable } from 'rxjs/Observable'
3 import 'rxjs/add/observable/timer'
4 import 'rxjs/add/operator/switchMap'
5
6 export class PreloadSelectedModulesList implements PreloadingStrategy {
7 preload (route: Route, load: Function): Observable<any> {
8 if (!route.data || !route.data.preload) return Observable.of(null)
9
10 if (typeof route.data.preload === 'number') {
11 return Observable.timer(route.data.preload).switchMap(() => load())
12 }
13
14 return load()
15 }
16 }