diff --git a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html index 18914e40a8..54640a8846 100644 --- a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html +++ b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html @@ -34,9 +34,8 @@ [name]="filterConfig.paramName" [(ngModel)]="filter" (submitSuggestion)="onSubmit($event)" - (clickSuggestion)="onSubmit($event)" + (clickSuggestion)="onClick($event)" (findSuggestions)="findSuggestions($event)" - [getDisplayValue]="getDisplayValue" ngDefaultControl > diff --git a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.scss b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.scss index 48205af1fb..33e354f2d8 100644 --- a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.scss +++ b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.scss @@ -7,6 +7,9 @@ &:hover, &focus { text-decoration: none; } + span.badge { + vertical-align: text-top; + } } .toggle-more-filters a { color: $link-color; diff --git a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts index 8cb0789cc2..b996844c66 100644 --- a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts +++ b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts @@ -43,7 +43,7 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy { filter: string; pageChange = false; sub: Subscription; - filterSearchResults: Observable = Observable.of([]); + filterSearchResults: Observable = Observable.of([]); constructor(private searchService: SearchService, private filterService: SearchFilterService, private router: Router) { } @@ -108,6 +108,10 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy { this.filterSearchResults = Observable.of([]); } + onClick(data: any) { + this.filter = data; + } + hasValue(o: any): boolean { return hasValue(o); } @@ -144,7 +148,9 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy { .first() .map( (rd: RemoteData>) => { - return rd.payload.page.map((facet) => facet.value) + return rd.payload.page.map((facet) => { + return {displayValue: this.getDisplayValue(facet, data), value: facet.value} + }) } ); } @@ -154,7 +160,8 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy { } } - getDisplayValue(value: string, searchValue: string) { - return new EmphasizePipe().transform(value, searchValue); + getDisplayValue(facet: FacetValue, query: string): string { + return new EmphasizePipe().transform(facet.value, query) + ' (' + facet.count + ')'; } + } diff --git a/src/app/+search-page/search-options.model.ts b/src/app/+search-page/search-options.model.ts index df8d8e713a..5ee8259bef 100644 --- a/src/app/+search-page/search-options.model.ts +++ b/src/app/+search-page/search-options.model.ts @@ -24,7 +24,7 @@ export class SearchOptions { } if (isNotEmpty(this.filters)) { Object.entries(this.filters).forEach(([key, values]) => { - values.forEach((value) => args.push(`${key}=${value},equals`)); + values.forEach((value) => args.push(`${key}=${value},query`)); }); } if (isNotEmpty(args)) { diff --git a/src/app/shared/input-suggestions/input-suggestions.component.html b/src/app/shared/input-suggestions/input-suggestions.component.html index 2a6f7e6713..be13765dca 100644 --- a/src/app/shared/input-suggestions/input-suggestions.component.html +++ b/src/app/shared/input-suggestions/input-suggestions.component.html @@ -12,8 +12,8 @@