Interface: ChamevoEvents
Defined in: types/src/events.ts:21
Event map for the ChamevoJS API. Keys are event names, values are the event payload types.
Example
chamevo.on('elementAdd', ({ element, view }) => {
console.log(`Added ${element.title} to ${view.title}`);
});
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
ready | void | Fired when ChamevoJS is fully initialized and ready | types/src/events.ts:24 |
loading | object | Fired when a loading operation starts or ends (product load, image add, etc.) | types/src/events.ts:28 |
loading.isLoading | boolean | - | types/src/events.ts:28 |
productCreate | object | Fired when a new product is loaded | types/src/events.ts:32 |
productCreate.product | CVProduct | - | types/src/events.ts:32 |
productChange | object | Fired when the current product changes | types/src/events.ts:34 |
productChange.product | CVProduct | - | types/src/events.ts:34 |
viewCreate | object | Fired when a new view is created/added | types/src/events.ts:38 |
viewCreate.view | CVView | - | types/src/events.ts:38 |
viewCreate.index | number | - | types/src/events.ts:38 |
viewSelect | object | Fired when a view is selected/activated | types/src/events.ts:40 |
viewSelect.view | CVView | - | types/src/events.ts:40 |
viewSelect.index | number | - | types/src/events.ts:40 |
viewUpdate | object | Fired when a view's content is updated | types/src/events.ts:42 |
viewUpdate.view | CVView | - | types/src/events.ts:42 |
viewLockChange | object | Fired when a view's lock state changes (optional view locked/unlocked) | types/src/events.ts:44 |
viewLockChange.viewIndex | number | - | types/src/events.ts:44 |
viewLockChange.locked | boolean | - | types/src/events.ts:44 |
viewLockChange.view | CVView | - | types/src/events.ts:44 |
viewAdd | object | Fired when a dynamic view is added | types/src/events.ts:46 |
viewAdd.view | CVView | - | types/src/events.ts:46 |
viewAdd.index | number | - | types/src/events.ts:46 |
viewRemove | object | Fired when a dynamic view is removed | types/src/events.ts:48 |
viewRemove.view | CVView | - | types/src/events.ts:48 |
viewRemove.index | number | - | types/src/events.ts:48 |
viewDuplicate | object | Fired when a view is duplicated | types/src/events.ts:50 |
viewDuplicate.sourceIndex | number | - | types/src/events.ts:50 |
viewDuplicate.newView | CVView | - | types/src/events.ts:50 |
viewDuplicate.newIndex | number | - | types/src/events.ts:50 |
viewResize | object | Fired when a dynamic view is resized | types/src/events.ts:52 |
viewResize.viewIndex | number | - | types/src/events.ts:52 |
viewResize.width | number | - | types/src/events.ts:52 |
viewResize.height | number | - | types/src/events.ts:52 |
viewResize.unit | string | - | types/src/events.ts:52 |
viewReorder | object | Fired when views are reordered via drag-and-drop | types/src/events.ts:54 |
viewReorder.fromIndex | number | - | types/src/events.ts:54 |
viewReorder.toIndex | number | - | types/src/events.ts:54 |
printAreasReady | object | Fired after a view is activated and its print areas are set up on the canvas | types/src/events.ts:56 |
printAreasReady.viewIndex | number | - | types/src/events.ts:56 |
printAreasReady.printAreas | CVPrintAreaConfig[] | - | types/src/events.ts:56 |
elementAdd | object | Fired when an element is added to a view | types/src/events.ts:60 |
elementAdd.element | CVElementData | - | types/src/events.ts:60 |
elementAdd.view | CVView | - | types/src/events.ts:60 |
elementRemove | object | Fired when an element is removed from a view | types/src/events.ts:62 |
elementRemove.element | CVElementData | - | types/src/events.ts:62 |
elementRemove.view | CVView | - | types/src/events.ts:62 |
elementSelect | object | Fired when element selection changes (null = deselected). Element is the raw FabricJS object (ICVElement). | types/src/events.ts:64 |
elementSelect.element | Record<string, unknown> | null | - | types/src/events.ts:64 |
elementModify | object | Fired when an element is modified (moved, scaled, edited) | types/src/events.ts:66 |
elementModify.element | CVElementData | - | types/src/events.ts:66 |
elementModify.changes | Partial<ElementParameters> | - | types/src/events.ts:66 |
undo | void | Fired after an undo operation | types/src/events.ts:70 |
redo | void | Fired after a redo operation | types/src/events.ts:72 |
priceChange | object | Fired when the total price changes | types/src/events.ts:76 |
priceChange.price | number | Total price (with quantity multiplier) | types/src/events.ts:78 |
priceChange.singleProductPrice | number | Per-unit price from view element prices (without quantity) | types/src/events.ts:80 |
priceChange.pricingRulesPrice | number | Additional price from pricing rules | types/src/events.ts:82 |
priceChange.breakdown | PricingLineItem[] | Line-item breakdown of matched pricing rules | types/src/events.ts:84 |
priceChange.orderQuantity | number | Current order quantity | types/src/events.ts:86 |
customizationChange | object | Fired when customization validity changes (any/all views customized) | types/src/events.ts:91 |
customizationChange.valid | boolean | Whether the product meets the customization requirement | types/src/events.ts:93 |
customizationChange.rule | "any" | "all" | The active rule: 'any' = at least one view, 'all' = every view | types/src/events.ts:95 |
customizationChange.views | boolean[] | Per-view customization status (indexed by view order) | types/src/events.ts:97 |
globalElementRebound | object | Fired when a preserved (custom or fixed) element survives a product switch but its original printAreaId no longer exists on the new product. The element is rebound to the same ordinal print area (or the first one as a fallback), and its boundingBox is rewritten to the new printing box. | types/src/events.ts:108 |
globalElementRebound.element | CVElementData | - | types/src/events.ts:109 |
globalElementRebound.viewIndex | number | - | types/src/events.ts:110 |
globalElementRebound.oldPrintAreaId | string | - | types/src/events.ts:111 |
globalElementRebound.newPrintAreaId | string | - | types/src/events.ts:112 |
globalElementDropped | object | Fired when a preserved element cannot be re-added to the new product because the target view has no print areas at all. The element is silently dropped from the canvas. | types/src/events.ts:119 |
globalElementDropped.element | CVElementData | - | types/src/events.ts:120 |
globalElementDropped.viewIndex | number | - | types/src/events.ts:121 |
globalElementDropped.reason | "no-print-areas" | - | types/src/events.ts:122 |
beforeImageUpload | object | Fired before an uploaded image is added to the canvas. Call cancel() to prevent. | types/src/events.ts:127 |
beforeImageUpload.source | string | - | types/src/events.ts:128 |
beforeImageUpload.title | string | - | types/src/events.ts:129 |
beforeImageUpload.params | Record<string, unknown> | - | types/src/events.ts:130 |
beforeImageUpload.cancel | () => void | - | types/src/events.ts:131 |
afterImageUpload | object | Fired after an uploaded image is added to the canvas. | types/src/events.ts:134 |
afterImageUpload.element | CVElementData | - | types/src/events.ts:135 |
afterImageUpload.source | string | - | types/src/events.ts:136 |
afterImageUpload.title | string | - | types/src/events.ts:137 |
afterImageUpload.view | CVView | - | types/src/events.ts:138 |
moduleChange | object | Fired when the active UI module changes | types/src/events.ts:143 |
moduleChange.module | string | - | types/src/events.ts:143 |