A pénztár visszajelzi az oldalának, mit csinál. Az on() használatával iratkozhat fel:
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Eseménynevenként egy figyelő
Az on() eseménynevenként egy visszahívást tárol. Ha ugyanahhoz a névhez egy második visszahívást regisztrál, az felülírja az elsőt – nem hozzáadja:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a megszűnik; csak b fut leAz off() eltávolítja az adott névhez regisztrált visszahívást. Figyelmen kívül hagy minden neki átadott visszahívást, ezért az off('checkout.closed', b) és az off('checkout.closed') ugyanazt teszi.
Ha az oldal több része is ugyanarra az eseményre reagál, regisztráljon egy visszahívást, és azon belül ossza szét a kezelést.
Feliratkozás több eseményre egyszerre
Mindkét metódus szóközzel elválasztott karakterláncot vagy nevek tömbjét fogadja el, és ugyanazt a visszahívást regisztrálja mindegyikhez:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);A payload
Minden visszahívás egy objektumot kap:
| Mező | Típus | Leírás |
|---|---|---|
name | string | Az esemény neve; akkor hasznos, ha egy visszahívás többet is kezel. |
context | object | Az eventID értéket tartalmazza – azt az eseményt, amelyhez ez a pénztár tartozik. |
data | object | Eseményspecifikus részletek. |
Elérhető események
| Név | Mikor aktiválódik |
|---|---|
checkout.ready | A pénztár betöltődött, és készen áll az interakcióra. Ekkor adja át a kliens a book() számára megadott clientContext értéket is. |
checkout.closed | A pénztár bezárult. A kliens lebontja a panelt vagy az ablakot, és törli a hátteret. |
checkout.consent | A látogató válaszolt a feltételekről szóló értesítésre. A data.consent értéke true, ha elfogadta őket, és a kliens megjegyzi ezt, így a lépés legközelebb kimarad. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});A figyelők túlélik az egyedi foglalásokat
A figyelők a példányhoz tartoznak, nem egy foglaláshoz. A kliens létrehozása után egyszer regisztrálja őket, és minden book() hívásra érvényesek lesznek. A foglalások megkülönböztetéséhez használja a payload.context.eventID értéket:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});A destroy() meghívása leállítja mindet – a példány teljesen leállítja a pénztárból érkező üzenetek figyelését.
A más forrásból érkező üzeneteket figyelmen kívül hagyja
A kliens csak az Entase checkout eredetéről fogad el üzeneteket, így az oldalon zajló, nem kapcsolódó postMessage forgalom soha nem jut el a visszahívásokhoz.