Product List & Favourites Events
Product list events track user interactions with Mimeeq's product list embed — the grid or list view that shows multiple products for users to browse before entering a configurator. Favourites events track collection management and product bookmarking for logged-in users.
Product List Events
mimeeq-product-list-initialized
The product list has loaded its products from the database and is ready for interaction. This is the product list equivalent of mimeeq-3d-product-initialized for standard products — use it as the "ready" signal to hide a custom loader or start interacting with the list.
Payload: none
// Custom loader pattern for product list
document.addEventListener('mimeeq-product-list-initialized', () => {
document.getElementById('product-list-loader').style.display = 'none';
document.querySelector('mmq-embed').style.visibility = 'visible';
});
For a full custom loader implementation, see How to Use your Own Custom Loader on the help site. Use mimeeq-product-list-initialized instead of mimeeq-3d-product-initialized when working with product list embeds.
mimeeq-product-list-select-product
A product was selected from the product list. The user clicked a product card to open it in the configurator. The payload includes the variant code and product ID needed to load the product, and whether it's a modular product.
Payload: ProductListSelectProductEventPayload
| Field | Type | Description |
|---|---|---|
variantCode | string | Variant code of the selected product |
productId | string | Unique product identifier |
isModular | boolean | Whether the selected product is a modular product |
document.addEventListener('mimeeq-product-list-select-product', (event) => {
const { variantCode, productId, isModular } = event.detail;
analytics.track('product_selected_from_list', {
productId,
variantCode,
type: isModular ? 'modular' : 'standard',
});
// If using custom routing, navigate to the product page
window.location.href = `/products/${productId}?variant=${variantCode}`;
});
Favourites Events
Favourites events require the user to be logged in via the <mmq-auth> component. They track how users organize their saved configurations into collections.
mimeeq-favourites-add-product
A product configuration was added to favourites. This fires when the user clicks the heart/star icon or when mimeeqApp.actions.saveFavouriteConfiguration() is called programmatically.
Payload: ProductPrefixEventPayload
| Field | Type | Description |
|---|---|---|
prefix | string | Variant code prefix of the product added |
mimeeq-favourites-remove-product
A product configuration was removed from favourites.
Payload: ProductPrefixEventPayload
| Field | Type | Description |
|---|---|---|
prefix | string | Variant code prefix of the product removed |
// Sync favourites state with your own system
document.addEventListener('mimeeq-favourites-add-product', (event) => {
const { prefix } = event.detail;
syncFavourite(prefix, 'add');
});
document.addEventListener('mimeeq-favourites-remove-product', (event) => {
const { prefix } = event.detail;
syncFavourite(prefix, 'remove');
});
Collection Management
These events track creating, editing, and organizing favourites collections.
mimeeq-favourites-add-collection
A new favourites collection was created.
Payload: FavouritesCollectionEventPayload
| Field | Type | Description |
|---|---|---|
favouritesCollectionName | string | Name of the new collection |
type | string | Collection visibility — 'private' or 'public' |
mimeeq-favourites-update-collection
A favourites collection was renamed or its settings were changed.
Payload: FavouritesCollectionEventPayload
| Field | Type | Description |
|---|---|---|
favouritesCollectionName | string | Updated name of the collection |
type | string | Updated visibility type |
mimeeq-favourites-remove-collection
One or more favourites collections were deleted.
Payload: none
mimeeq-favourites-copy-to-collection
Items were copied from one collection to another. The originals remain in the source collection.
Payload: FavouritesCollectionItemsEventPayload
| Field | Type | Description |
|---|---|---|
favouritesCollectionName | string | Name of the destination collection |
items | string[] | Array of item identifiers that were copied |
mimeeq-favourites-move-to-collection
Items were moved from one collection to another. The originals are removed from the source collection.
Payload: FavouritesCollectionItemsEventPayload
| Field | Type | Description |
|---|---|---|
favouritesCollectionName | string | Name of the destination collection |
items | string[] | Array of item identifiers that were moved |
mimeeq-favourites-delete-from-collection
Items were removed from a favourites collection.
Payload: FavouritesDeleteFromCollectionEventPayload
| Field | Type | Description |
|---|---|---|
items | string[] | Array of item identifiers that were removed |
Navigation
| Event | Description |
|---|---|
mimeeq-open-favourites | Favourites panel opened from the product list menu |
mimeeq-close-favourites | Favourites panel closed |
mimeeq-select-favourites-collection | A specific collection was selected from the favourites menu |
mimeeq-select-favourites-collection carries a payload — SelectFavouritesCollectionEventPayload:
| Field | Type | Description |
|---|---|---|
collectionPath | string | Path identifier of the selected collection |
Related
- Authentication Events — login is required for favourites to be available
- Actions — Favorites — programmatic favourites management (
saveFavouriteConfiguration,createFavouriteCollection) - Lifecycle Events —
mimeeq-product-list-initializedin the startup flow context