Event Constants
All event names are available as constants via qumra.EVENTS. Using constants prevents typos and enables autocomplete in VS Code.
// Using constants (recommended)
qumra.on(qumra.EVENTS.CART.ADDED, handler);
// Using string (also works)
qumra.on('cart:added', handler);
Cart Events
| Constant | Value | Emitted When |
|---|---|---|
EVENTS.CART.ADDING | cart:adding | Before add request |
EVENTS.CART.ADDED | cart:added | After successful add |
EVENTS.CART.UPDATING | cart:updating | Before update request |
EVENTS.CART.UPDATED | cart:updated | After successful update |
EVENTS.CART.REMOVING | cart:removing | Before remove request |
EVENTS.CART.REMOVED | cart:removed | After successful remove |
EVENTS.CART.CLEARED | cart:cleared | After cart cleared |
EVENTS.CART.ERROR | cart:error | On any cart operation error |
Payload Examples
// cart:added
qumra.on(qumra.EVENTS.CART.ADDED, (payload) => {
payload.product; // { productId }
payload.cart; // full Cart object
});
// cart:error
qumra.on(qumra.EVENTS.CART.ERROR, (payload) => {
payload.action; // "add" | "update" | "remove" | "clear"
payload.error; // { code, message }
});
Wishlist Events
| Constant | Value |
|---|---|
EVENTS.WISHLIST.ADDED | wishlist:added |
EVENTS.WISHLIST.REMOVED | wishlist:removed |
Product Events
| Constant | Value |
|---|---|
EVENTS.PRODUCT.VARIANT_CHANGED | product:variant-changed |
EVENTS.PRODUCT.VIEWED | product:viewed |
EVENTS.PRODUCT.AVAILABILITY_CHECKED | product:availability-checked |
Collection Events
| Constant | Value |
|---|---|
EVENTS.COLLECTION.FILTERED | collection:filtered |
EVENTS.COLLECTION.SORTED | collection:sorted |
EVENTS.COLLECTION.PAGE_LOADED | collection:page-loaded |
EVENTS.COLLECTION.RESET | collection:reset |
Checkout Events
| Constant | Value |
|---|---|
EVENTS.CHECKOUT.STARTED | checkout:started |
EVENTS.CHECKOUT.STEP_CHANGED | checkout:step-changed |
EVENTS.CHECKOUT.COMPLETED | checkout:completed |
Search Events
| Constant | Value |
|---|---|
EVENTS.SEARCH.SUBMITTED | search:submitted |
EVENTS.SEARCH.RESULTS | search:results |
EVENTS.SEARCH.PREDICTIVE | search:predictive |
Section Events
| Constant | Value |
|---|---|
EVENTS.SECTION.RENDERING | section:rendering |
EVENTS.SECTION.RENDERED | section:rendered |
Modal Events
| Constant | Value |
|---|---|
EVENTS.MODAL.OPENED | modal:opened |
EVENTS.MODAL.CLOSED | modal:closed |
Notification Events
| Constant | Value |
|---|---|
EVENTS.NOTIFICATION.SHOWN | notification:shown |
EVENTS.NOTIFICATION.DISMISSED | notification:dismissed |
Patterns
Error Handling
qumra.on(qumra.EVENTS.CART.ERROR, (payload) => {
showToast(`Error: ${payload.error.message}`);
});
Loading State
qumra.on(qumra.EVENTS.CART.ADDING, () => {
button.disabled = true;
button.textContent = 'Adding...';
});
qumra.on(qumra.EVENTS.CART.ADDED, () => {
button.disabled = false;
button.textContent = 'Add to Cart';
});
Wildcard Listeners
// Listen to ALL cart events
qumra.on('cart:*', (payload) => {
console.log('Cart event:', payload);
});
// Listen to ALL events (global)
qumra.on('*', (payload) => {
analytics.track(payload);
});