Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x | import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { Observable } from 'rxjs'; import { ShoppingFacade } from 'ish-core/facades/shopping.facade'; import { FilterNavigation } from 'ish-core/models/filter-navigation/filter-navigation.model'; import { URLFormParams, formParamsToString } from 'ish-core/utils/url-form-params'; @Component({ selector: 'ish-filter-navigation', templateUrl: './filter-navigation.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) export class FilterNavigationComponent implements OnInit { @Input() fragmentOnRouting: string; @Input() orientation: 'sidebar' | 'horizontal' = 'sidebar'; @Input() showCategoryFilter = true; filter$: Observable<FilterNavigation>; constructor(private shoppingFacade: ShoppingFacade, private router: Router, private activatedRoute: ActivatedRoute) {} ngOnInit() { this.filter$ = this.shoppingFacade.currentFilter$(this.showCategoryFilter); } applyFilter(event: { searchParameter: URLFormParams }) { const params = formParamsToString(event.searchParameter); this.router.navigate([], { queryParamsHandling: 'merge', relativeTo: this.activatedRoute, queryParams: { filters: params, page: 1 }, fragment: this.fragmentOnRouting, }); } get isSideBar() { return this.orientation === 'sidebar'; } clearFilters() { this.router.navigate([], { queryParamsHandling: 'merge', relativeTo: this.activatedRoute, queryParams: { filters: undefined, page: 1 }, fragment: this.fragmentOnRouting, }); } } |