A scoped and simplified part of the headless state that is relevant to the Cart controller.
Sets the quantity of each item in the cart to 0, effectively emptying the cart.
Emits an ec.cartAction analytics event with the remove action for each item removed from the cart.
Emits an ec.purchase analytics event and then empties the cart without emitting any additional events.
The object with the id and the total revenue from the transaction, including taxes, shipping, and discounts.
Adds a callback that's invoked on state change.
A callback that's invoked on state change.
A function to remove the listener.
Creates, updates, or deletes an item in the cart, and emits an ec.cartAction analytics event if the quantity of
the item in the cart changes.
If an item with the specified productId, name and price already exists in the cart:
quantity to 0 deletes the item from the cart.quantity to a positive number updates the item.Otherwise:
quantity to a positive number creates the item in the cart with the specified name,
price, and quantity.If the specified quantity is equivalent to the current quantity of the item in the cart, no analytics event is
emitted. Otherwise, the method emits an ec.cartAction event with the appropriate action (add or remove).
Note: Updating the name or price will create a new item in the cart, leaving the previous item with the same
productId, name and price unchanged. If you wish to change these items, delete and recreate the item.
The cart item to create, update, or delete.
The
Cartcontroller exposes methods for managing the cart in a commerce interface.