1 import {Injectable} from '@angular/core';
2 import {Router, Resolve, RouterStateSnapshot,
3 ActivatedRouteSnapshot} from '@angular/router';
4 import {ServerStoreService} from '@eg/core/server-store.service';
5 import {NetService} from '@eg/core/net.service';
6 import {OrgService} from '@eg/core/org.service';
7 import {AuthService} from '@eg/core/auth.service';
8 import {CatalogService} from '@eg/share/catalog/catalog.service';
9 import {StaffCatalogService} from './catalog.service';
10 import {BasketService} from '@eg/share/catalog/basket.service';
14 export class CatalogResolver implements Resolve<Promise<any[]>> {
17 private router: Router,
18 private store: ServerStoreService,
19 private org: OrgService,
20 private net: NetService,
21 private auth: AuthService,
22 private cat: CatalogService,
23 private staffCat: StaffCatalogService,
24 private basket: BasketService
28 route: ActivatedRouteSnapshot,
29 state: RouterStateSnapshot): Promise<any[]> {
31 console.debug('CatalogResolver:resolve()');
34 this.cat.fetchCcvms(),
37 this.basket.getRecordIds()
41 fetchSettings(): Promise<any> {
43 return this.store.getItemBatch([
44 'eg.search.search_lib',
46 'cat.holdings_show_empty_org',
47 'cat.holdings_show_empty',
48 'cat.marcedit.stack_subfields',
49 'cat.marcedit.flateditor',
50 'cat.holdings_show_copies',
51 'cat.holdings_show_vols',
52 'opac.staff_saved_search.size'
54 this.staffCat.defaultSearchOrg =
55 this.org.get(settings['eg.search.search_lib']);
56 this.staffCat.prefOrg =
57 this.org.get(settings['eg.search.pref_lib']);