GitHub

DaffCollectionMemoizedSelectors

import { DaffCollectionMemoizedSelectors } from '@daffodil/core/state'

An interface to describe all selectors related to the collection metadata.

interface DaffCollectionMemoizedSelectors<TState, TMetadata extends DaffCollectionMetadata = DaffCollectionMetadata> {
  selectCollectionMetadata: MemoizedSelector<TState, TMetadata, DefaultProjectorFn<TMetadata>>
  selectCollectionRequest: MemoizedSelector<TState, DaffCollectionRequest, DefaultProjectorFn<DaffCollectionRequest>>
  selectCollectionCount: MemoizedSelector<TState, TMetadata["count"], DefaultProjectorFn<TMetadata["count"]>>
  selectCollectionCurrentPage: MemoizedSelector<TState, TMetadata["currentPage"], DefaultProjectorFn<TMetadata["currentPage"]>>
  selectCollectionTotalPages: MemoizedSelector<TState, TMetadata["totalPages"], DefaultProjectorFn<TMetadata["totalPages"]>>
  selectCollectionPageSize: MemoizedSelector<TState, TMetadata["pageSize"], DefaultProjectorFn<TMetadata["pageSize"]>>
  selectCollectionSortOptions: MemoizedSelector<TState, TMetadata["sortOptions"]["options"], DefaultProjectorFn<TMetadata["sortOptions"]["options"]>>
  selectCollectionAppliedSortOption: MemoizedSelector<TState, TMetadata["appliedSortOption"], DefaultProjectorFn<TMetadata["appliedSortOption"]>>
  selectCollectionAppliedSortDirection: MemoizedSelector<TState, TMetadata["appliedSortDirection"], DefaultProjectorFn<TMetadata["appliedSortDirection"]>>
  selectCollectionIds: MemoizedSelector<TState, TMetadata["ids"], DefaultProjectorFn<TMetadata["ids"]>>
  selectCollectionFilters: MemoizedSelector<TState, TMetadata["filters"], DefaultProjectorFn<TMetadata["filters"]>>
  selectCollectionAppliedFilters: MemoizedSelector<TState, Record<string, DaffFilter>, DefaultProjectorFn<Record<string, DaffFilter>>>
}

Properties

selectCollectionMetadata
MemoizedSelector<TState, TMetadata, DefaultProjectorFn<TMetadata>>

Selects the metadata for the collection.

selectCollectionRequest
MemoizedSelector<TState, DaffCollectionRequest, DefaultProjectorFn<DaffCollectionRequest>>

Builds a request that matches the current collection.

selectCollectionCount
MemoizedSelector<TState, TMetadata["count"], DefaultProjectorFn<TMetadata["count"]>>

Selects the total number of items of the collection.

selectCollectionCurrentPage
MemoizedSelector<TState, TMetadata["currentPage"], DefaultProjectorFn<TMetadata["currentPage"]>>

Selects the current page of items of the collection.

selectCollectionTotalPages
MemoizedSelector<TState, TMetadata["totalPages"], DefaultProjectorFn<TMetadata["totalPages"]>>

Selects the total number of pages of items that exist in the collection.

selectCollectionPageSize
MemoizedSelector<TState, TMetadata["pageSize"], DefaultProjectorFn<TMetadata["pageSize"]>>

Selects the number of items on each collection.

selectCollectionSortOptions
MemoizedSelector<TState, TMetadata["sortOptions"]["options"], DefaultProjectorFn<TMetadata["sortOptions"]["options"]>>

Selects the sort options that may be applied to the collection.

selectCollectionAppliedSortOption
MemoizedSelector<TState, TMetadata["appliedSortOption"], DefaultProjectorFn<TMetadata["appliedSortOption"]>>

Selects the applied sorting option if one is applied.

selectCollectionAppliedSortDirection
MemoizedSelector<TState, TMetadata["appliedSortDirection"], DefaultProjectorFn<TMetadata["appliedSortDirection"]>>

Selects the applied sorting direction if a sorting option is applied.

selectCollectionIds
MemoizedSelector<TState, TMetadata["ids"], DefaultProjectorFn<TMetadata["ids"]>>

Selects the applied sorting direction if a sorting option is applied.

selectCollectionFilters
MemoizedSelector<TState, TMetadata["filters"], DefaultProjectorFn<TMetadata["filters"]>>

Selects the filters that may be applied to the collection.

selectCollectionAppliedFilters
MemoizedSelector<TState, Record<string, DaffFilter>, DefaultProjectorFn<Record<string, DaffFilter>>>

Returns a dict of filters and only their applied options. Filters with no applied options will be omitted.