انتقل إلى المحتوى الرئيسي

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

ConstantValueEmitted When
EVENTS.CART.ADDINGcart:addingBefore add request
EVENTS.CART.ADDEDcart:addedAfter successful add
EVENTS.CART.UPDATINGcart:updatingBefore update request
EVENTS.CART.UPDATEDcart:updatedAfter successful update
EVENTS.CART.REMOVINGcart:removingBefore remove request
EVENTS.CART.REMOVEDcart:removedAfter successful remove
EVENTS.CART.CLEAREDcart:clearedAfter cart cleared
EVENTS.CART.ERRORcart:errorOn 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

ConstantValue
EVENTS.WISHLIST.ADDEDwishlist:added
EVENTS.WISHLIST.REMOVEDwishlist:removed

Product Events

ConstantValue
EVENTS.PRODUCT.VARIANT_CHANGEDproduct:variant-changed
EVENTS.PRODUCT.VIEWEDproduct:viewed
EVENTS.PRODUCT.AVAILABILITY_CHECKEDproduct:availability-checked

Collection Events

ConstantValue
EVENTS.COLLECTION.FILTEREDcollection:filtered
EVENTS.COLLECTION.SORTEDcollection:sorted
EVENTS.COLLECTION.PAGE_LOADEDcollection:page-loaded
EVENTS.COLLECTION.RESETcollection:reset

Checkout Events

ConstantValue
EVENTS.CHECKOUT.STARTEDcheckout:started
EVENTS.CHECKOUT.STEP_CHANGEDcheckout:step-changed
EVENTS.CHECKOUT.COMPLETEDcheckout:completed

Search Events

ConstantValue
EVENTS.SEARCH.SUBMITTEDsearch:submitted
EVENTS.SEARCH.RESULTSsearch:results
EVENTS.SEARCH.PREDICTIVEsearch:predictive

Section Events

ConstantValue
EVENTS.SECTION.RENDERINGsection:rendering
EVENTS.SECTION.RENDEREDsection:rendered
ConstantValue
EVENTS.MODAL.OPENEDmodal:opened
EVENTS.MODAL.CLOSEDmodal:closed

Notification Events

ConstantValue
EVENTS.NOTIFICATION.SHOWNnotification:shown
EVENTS.NOTIFICATION.DISMISSEDnotification: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);
});