Product List View

Last Updated - Platform 19.0.0 - SDK 14.0.0

The ProductListView is the main view of a ProductListViewController to present product listings. It also presents the loading, empty, and error states.

product list view

The PoqProductListView (default) variation of this view:

  • Presents a collectionView of product listings using a ProductListViewDataSource.
  • Presents the ProductListToolbarView toolbar for sorting and filtering.
  • Supports Skeletonable whilst loading; where the data source is responsible for skeleton cells.
  • Presents an EmptyView when there are no product listings.
  • Presents an ErrorView when fetching the product listings fails.
  • Uses a TransitioningContainerView to transition with a fade between default (or loading), error and empty states.
Container.shared.views.productListView = {
PoqProductListView()
}

Data Source

The ProductListViewDataSource for a PoqProductListView to present the product listings. This data source:

  • Presents ProductListingView cells for ProductListingViewData.
  • Supports Skeletonable and presents skeletonised ProductListingView cells whilst loading.
  • Presents the ProductListHeaderView if the number of items is mapped to the view data.
  • Presents the PagingView based on the mapped PagingViewData.
Container.shared.dataSources.productListViewDataSource = {
ProductListViewDataSource()
}

View Data Mapper

The ProductListViewDataMapper to map from the ProductListState to the ProductListViewData to present.

Container.shared.mappers.productListViewDataMapper = {
PoqProductListViewDataMapper()
}