Naplata vašoj stranici javlja što radi. Pretplatite se pomoću on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Jedan slušatelj po nazivu događaja
on() pohranjuje jedan povratni poziv po nazivu događaja. Registriranje drugog povratnog poziva za isti naziv zamjenjuje prvi – ne dodaje se na njega:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff() uklanja sve što je registrirano za naziv. Zanemaruje svaki povratni poziv koji mu proslijedite, pa off('checkout.closed', b) i off('checkout.closed') rade istu stvar.
Ako više dijelova vaše stranice treba reagirati na isti događaj, registrirajte jedan povratni poziv i raspodijelite obradu unutar njega.
Pretplata na više događaja odjednom
Obje metode prihvaćaju niz odvojen razmacima ili polje naziva te registriraju isti povratni poziv za svaki od njih:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Sadržaj
Svaki povratni poziv prima jedan objekt:
| Polje | Vrsta | Opis |
|---|---|---|
name | string | Naziv događaja, koristan kada jedan povratni poziv obrađuje više događaja. |
context | object | Sadrži eventID – događaj kojem pripada ova naplata. |
data | object | Pojedinosti specifične za događaj. |
Dostupni događaji
| Naziv | Kada se aktivira |
|---|---|
checkout.ready | Naplata je učitana i spremna za interakciju. Tada klijent preuzima i clientContext koji ste proslijedili u book(). |
checkout.closed | Naplata je zatvorena. Klijent uklanja ploču ili prozor i čisti pozadinsku zavjesu. |
checkout.consent | Posjetitelj je odgovorio na obavijest o uvjetima. data.consent je true kada ih prihvati, a klijent to pamti kako bi sljedeći put preskočio taj korak. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Slušatelji preživljavaju pojedinačne rezervacije
Slušatelji pripadaju instanci, a ne rezervaciji. Registrirajte ih jednom, nakon stvaranja klijenta, i primjenjivat će se na svaki poziv book(). Upotrijebite payload.context.eventID za razlikovanje rezervacija:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Pozivanje destroy() zaustavlja sve njih – instanca u potpunosti prestaje slušati poruke iz naplate.
Poruke iz drugih izvora se zanemaruju
Klijent prihvaća poruke samo iz izvora Entase naplate, pa nepovezani promet postMessage na vašoj stranici nikada neće stići do vaših povratnih poziva.