aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/routing/preload-selected-modules-list.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-10-09 14:28:44 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-10-09 14:28:44 +0200
commita685e25ca05f08ad1b3f7fbaccc8744727bd8d27 (patch)
treee50fbc2f260a0017113c4668c3c0f3d2fd76ab87 /client/src/app/core/routing/preload-selected-modules-list.ts
parent2ed6a0aedc2d2f6b1ac2fd9a1ac137772831f713 (diff)
downloadPeerTube-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.ts16
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 @@
1import { Route, PreloadingStrategy } from '@angular/router';
2import { Observable } from 'rxjs/Observable';
3import 'rxjs/add/observable/timer';
4import 'rxjs/add/operator/switchMap';
5
6export 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}