Pokladňa informuje vašu stránku o tom, čo robí. Prihláste sa na odber pomocou on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Jeden poslucháč na názov udalosti
on() uloží jednu funkciu spätného volania pre každý názov udalosti. Registrácia druhej funkcie spätného volania s rovnakým názvom nahradí prvú – nepridá sa k nej:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff() odstráni všetko, čo je zaregistrované pre daný názov. Ignoruje akúkoľvek funkciu spätného volania, ktorú jej odovzdáte, takže off('checkout.closed', b) a off('checkout.closed') robia to isté.
Ak potrebuje na rovnakú udalosť reagovať viac častí vašej stránky, zaregistrujte jednu funkciu spätného volania a spracovanie rozdeľte v jej rámci.
Prihlásenie na odber viacerých udalostí naraz
Obe metódy prijímajú reťazec názvov oddelených medzerami alebo pole názvov a pre každý z nich zaregistrujú rovnakú funkciu spätného volania:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Údaje
Každá funkcia spätného volania dostane jeden objekt:
| Pole | Typ | Popis |
|---|---|---|
name | string | Názov udalosti, užitočný, keď jedna funkcia spätného volania spracúva viac udalostí. |
context | object | Obsahuje eventID – udalosť, ku ktorej patrí táto pokladňa. |
data | object | Podrobnosti špecifické pre danú udalosť. |
Dostupné udalosti
| Názov | Kedy sa spustí |
|---|---|
checkout.ready | Pokladňa sa načítala a je pripravená na interakciu. Vtedy klient prevezme aj clientContext, ktorý ste odovzdali funkcii book(). |
checkout.closed | Pokladňa sa zatvorila. Klient odstráni panel alebo okno a vymaže prekrytie pozadia. |
checkout.consent | Návštevník odpovedal na upozornenie o podmienkach. data.consent je true, keď ich prijal, a klient si to zapamätá, takže sa tento krok nabudúce preskočí. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Poslucháče pretrvajú medzi jednotlivými rezerváciami
Poslucháče patria inštancii, nie rezervácii. Zaregistrujte ich raz po vytvorení klienta a budú sa vzťahovať na každé volanie book(). Na rozlíšenie rezervácií použite payload.context.eventID:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Volanie destroy() ich všetky zastaví – inštancia úplne prestane počúvať správy z pokladne.
Správy z iných zdrojov sa ignorujú
Klient prijíma iba správy z pôvodu pokladne Entase, takže nesúvisiaca komunikácia postMessage na vašej stránke sa nikdy nedostane k vašim funkciám spätného volania.