]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts
729beea0b07bf10af052fa039edd9acab79d9de9
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / catalog / resolver.service.ts
1 import {Injectable} from '@angular/core';
2 import {Observable} from 'rxjs/Observable';
3 import {Observer} from 'rxjs/Observer';
4 import {Router, Resolve, RouterStateSnapshot,
5         ActivatedRouteSnapshot} from '@angular/router';
6 import {ServerStoreService} from '@eg/core/server-store.service';
7 import {NetService} from '@eg/core/net.service';
8 import {OrgService} from '@eg/core/org.service';
9 import {AuthService} from '@eg/core/auth.service';
10 import {PcrudService} from '@eg/core/pcrud.service';
11 import {CatalogService} from '@eg/share/catalog/catalog.service';
12 import {StaffCatalogService} from './catalog.service';
13
14 @Injectable()
15 export class CatalogResolver implements Resolve<Promise<any[]>> {
16
17     constructor(
18         private router: Router,
19         private store: ServerStoreService,
20         private org: OrgService,
21         private net: NetService,
22         private auth: AuthService,
23         private cat: CatalogService,
24         private staffCat: StaffCatalogService
25     ) {}
26
27     resolve(
28         route: ActivatedRouteSnapshot,
29         state: RouterStateSnapshot): Promise<any[]> {
30
31         console.debug('CatalogResolver:resolve()');
32
33         return Promise.all([
34             this.cat.fetchCcvms(),
35             this.cat.fetchCmfs(),
36             this.fetchSettings()
37         ]);
38     }
39
40     fetchSettings(): Promise<any> {
41         const promises = [];
42
43         promises.push(
44             this.store.getItem('eg.search.search_lib').then(
45                 id => this.staffCat.defaultSearchOrg = this.org.get(id)
46             )
47         );
48
49         promises.push(
50             this.store.getItem('eg.search.pref_lib').then(
51                 id => this.staffCat.prefOrg = this.org.get(id)
52             )
53         );
54
55         return Promise.all(promises);
56     }
57
58 }
59