diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-10-09 14:28:44 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-10-09 14:28:44 +0200 |
commit | a685e25ca05f08ad1b3f7fbaccc8744727bd8d27 (patch) | |
tree | e50fbc2f260a0017113c4668c3c0f3d2fd76ab87 /client/src/app/core/routing/preload-selected-modules-list.ts | |
parent | 2ed6a0aedc2d2f6b1ac2fd9a1ac137772831f713 (diff) | |
download | PeerTube-a685e25ca05f08ad1b3f7fbaccc8744727bd8d27.tar.gz PeerTube-a685e25ca05f08ad1b3f7fbaccc8744727bd8d27.tar.zst PeerTube-a685e25ca05f08ad1b3f7fbaccc8744727bd8d27.zip |
Try to optimize frontend
Diffstat (limited to 'client/src/app/core/routing/preload-selected-modules-list.ts')
-rw-r--r-- | client/src/app/core/routing/preload-selected-modules-list.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/client/src/app/core/routing/preload-selected-modules-list.ts b/client/src/app/core/routing/preload-selected-modules-list.ts new file mode 100644 index 000000000..dd5be6ad9 --- /dev/null +++ b/client/src/app/core/routing/preload-selected-modules-list.ts | |||
@@ -0,0 +1,16 @@ | |||
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 | } | ||