1 import {Component, OnInit, Input} from '@angular/core';
2 import {CatalogService} from '@eg/share/catalog/catalog.service';
3 import {CatalogSearchContext, FacetFilter} from '@eg/share/catalog/search-context';
4 import {StaffCatalogService} from '../catalog.service';
6 export const FACET_CONFIG = {
8 {facetClass : 'author', facetOrder : ['personal', 'corporate']},
9 {facetClass : 'subject', facetOrder : ['topic']},
10 {facetClass : 'identifier', facetOrder : ['genre']},
11 {facetClass : 'series', facetOrder : ['seriestitle']},
12 {facetClass : 'subject', facetOrder : ['name', 'geographic']}
18 selector: 'eg-catalog-result-facets',
19 templateUrl: 'facets.component.html'
21 export class ResultFacetsComponent implements OnInit {
23 searchContext: CatalogSearchContext;
27 private cat: CatalogService,
28 private staffCat: StaffCatalogService
30 this.facetConfig = FACET_CONFIG;
34 this.searchContext = this.staffCat.searchContext;
37 facetIsApplied(cls: string, name: string, value: string): boolean {
38 return this.searchContext.hasFacet(new FacetFilter(cls, name, value));
41 applyFacet(cls: string, name: string, value: string): void {
42 this.searchContext.toggleFacet(new FacetFilter(cls, name, value));
43 this.searchContext.pager.offset = 0;
44 this.staffCat.search();