Overview

Filter Bar

wuic-filter-bar e la toolbar di filtraggio/ordinamento/gruppi collegata a un wuic-data-source.

Descrizione

  • Legge metadati filtro da datasource.fetchInfo.
  • Espone filtri colonna, grouping, aggregazioni, sorting e page-size.
  • Sincronizza lo stato griglia nella querystring (filterInfo, sortInfo, pageInfo).
  • Gestisce anche route con cursor mode.

API

Selector:

  • wuic-filter-bar

Input:

  • datasource: BehaviorSubject<DataSourceComponent>
  • hardcodedDatasource: DataSourceComponent

Output:

  • filterApplied: EventEmitter<void>
  • onFilterApplied: EventEmitter<{ mode, filterInfo }>
  • onSortingApplied: EventEmitter<{ sortInfo }>
  • onPageSizeApplied: EventEmitter<{ pageSize, currentPage }>
  • onGroupingChanged: EventEmitter<{ groupInfo, aggregationInfo, action }>
  • onFilterBarCollapseChanged: EventEmitter<{ collapsed }>

Metodi pubblici principali:

  • filter()
  • clearFilter()
  • addGroupField()
  • addAggregateField()
  • clearGroups()
  • addSortField()
  • removeSortField(index)
  • clearSorting()
  • applySorting()
  • applyPageSize()
  • resetPageSize()

Eventi e subscriptions (host)

Snippet 1ts
@ViewChild(FilterBarComponent) filterBar?: FilterBarComponent;
private readonly subs = new Subscription();

ngAfterViewInit(): void {
  if (!this.filterBar) return;
  this.subs.add(this.filterBar.filterApplied.subscribe(() => console.log('filterApplied')));
  this.subs.add(this.filterBar.onFilterApplied.subscribe((e) => console.log(e)));