1 min read

Customise

Last Updated - Platform 22.0 - SDK 17.0

From v22 onwards most features require no code as they are automatically set up by the Coordinators that construct them. This page highlights the key customisation points for this feature.

Overview

The Cart feature is made up of two key frameworks:

  • The PoqCart framework for the Cart UI presentation layer.
  • The PoqCartClient framework for the Cart domain and data layers.

It also depends on the following frameworks:

  • The PoqCatalogue framework to update the CartNavigationButton location.
  • The PoqWishlistClient framework for move to Wishlist support.

Container Dependencies

Containers can be used to replace most feature dependencies with one line of code. For the Cart feature this should be done in the AppModule on didAddToPlatform in an organised function such as setUpCart or setUpDependencies.

Customise the Coordinator

The Coordinator builds the CartViewController using the CartBuilder and can be easily replaced via Containers.

Container.shared.coordinators.cart.replace {
PoqCartCoordinator<PoqCartState, CartViewController>() {
// Customise the builder here.
CartBuilder()
}
}
// Here is a more fully customised example.
Container.shared.coordinators.productDetails.replace {
PoqCartCoordinator<CustomCartState, CustomCartViewController>() {
CartBuilder()
.withServiceMiddleware(.cartService())
.withMiddleware(.customFun())
}
}

Next steps