1 min read
Customise
Last Updated - Platform 22.0 - SDK 17.0From 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 theCartNavigationButton
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()) }}