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',
47 'eg.catalog.results.count',
48 'cat.holdings_show_empty_org',
49 'cat.holdings_show_empty',
50 'cat.marcedit.stack_subfields',
51 'cat.marcedit.flateditor',
52 'cat.holdings_show_copies',
53 'cat.holdings_show_vols',
54 'opac.staff_saved_search.size',
55 'eg.catalog.search_templates',
56 'opac.staff_saved_search.size',
57 'opac.search.enable_bookplate_search'
59 this.staffCat.defaultSearchOrg =
60 this.org.get(settings['eg.search.search_lib']);
61 this.staffCat.prefOrg =
62 this.org.get(settings['eg.search.pref_lib']);
63 this.staffCat.defaultTab = settings['eg.search.adv_pane'];
64 if (settings['eg.catalog.results.count']) {
65 this.staffCat.defaultSearchLimit =
66 Number(settings['eg.catalog.results.count']);
68 this.staffCat.enableBookplates =
69 settings['opac.search.enable_bookplate_search'];