GitHub

DaffCategoryFacade

A facade for interacting with the category state. This facade exposes many parts of the state for easy access and allows dispatching of actions.

import { DaffCategoryFacade } from '@daffodil/category/state'
@Injectable()
class DaffCategoryFacade<<V extends DaffGenericCategory<V> = DaffCategory, W extends DaffProduct = DaffProduct>>  implements DaffCategoryFacadeInterface<V, W> {
  category$: Observable<V>
  loadingState$: Observable<DaffCategoryReducerState['daffState']>
  loading$: Observable<boolean>
  mutating$: Observable<boolean>
  resolving$: Observable<boolean>
  products$: Observable<W[]>
  errors$: Observable<DaffStateError[]>
  hasErrors$: Observable<boolean>
  isCategoryEmpty$: Observable<boolean>
  getCategoryById(id: V["id"]): Observable<V>
  getProductsByCategory(categoryId: V["id"]): Observable<W[]>
  getTotalProductsByCategory(categoryId: V["id"]): Observable<number>
  dispatch(action: Action<string>)
}

Properties

Name Type Description
category$ Observable<V>

The currently selected category.

loadingState$ Observable<DaffCategoryReducerState['daffState']>
loading$ Observable<boolean>
mutating$ Observable<boolean>
resolving$ Observable<boolean>
products$ Observable<W[]>

Products of the current category.

errors$ Observable<DaffStateError[]>
hasErrors$ Observable<boolean>
isCategoryEmpty$ Observable<boolean>

Is the category page empty of products.

getCategoryById Observable<V>

Get a category by the provided Id.

getProductsByCategory Observable<W[]>

Get products by a category Id.

getTotalProductsByCategory Observable<number>

Get products by a category Id.

dispatch

Dispatches the given action.