# Methodenreferentie

> Het volledige openbare oppervlak van de Entase-client – boeken, gebeurtenisabonnementen, runtime-getters en -setters, en opschoning.

Het volledige openbare oppervlak van een `Entase`-instantie.

## Boeken

| Methode | Beschrijving |
|---|---|
| `book(eventID, options?)` | Opent de checkout voor een evenement. Zie [De checkout openen](/developers/js-client/opening-the-checkout.md). |

## Gebeurtenissen

| Methode | Beschrijving |
|---|---|
| `on(name, callback)` | Registreert een callback. Eén per gebeurtenisnaam – zie [Gebeurtenissen](/developers/js-client/events.md). |
| `off(name, callback?)` | Verwijdert de voor een naam geregistreerde callback. Het callback-argument wordt genegeerd. |

Beide accepteren een door spaties gescheiden tekenreeks of een array met namen.

## Landinstelling

| Methode | Beschrijving |
|---|---|
| `getLocale()` | Geeft de geconfigureerde waarde terug, inclusief de letterlijke waarde `'auto'` als die is ingesteld. |
| `setLocale(locale)` | Wijzigt de taal van de checkout voor latere boekingen. |

`getLocale()` rapporteert de configuratie, niet de resolutie – met de standaardinstelling retourneert het `'auto'`, niet de taal die daadwerkelijk wordt gebruikt. De waarde `'auto'` wordt op het moment dat `book()` wordt aangeroepen bepaald op basis van het kenmerk `lang` van je `<html>`-element. Daardoor wordt een wijziging van de paginataal na het maken van de client zonder verdere handelingen overgenomen.

## Checkoutmodus

| Methode | Beschrijving |
|---|---|
| `getCheckoutMode()` | Geeft de bepaalde modus terug, `'pane'` of `'popup'` – nooit `'auto'`. |
| `setCheckoutMode(mode)` | Stelt de modus in. Met `'auto'` wordt de detectie opnieuw uitgevoerd; een niet-herkende waarde wordt genegeerd. |

Zie [Checkoutmodi](/developers/js-client/checkout-modes.md).

## Tracking

| Methode | Beschrijving |
|---|---|
| `getTracking()` | Geeft het huidige object met trackingparameters terug. |
| `setTracking(tprm)` | Vervangt de trackingparameters. Ze worden niet samengevoegd – geef de volledige set door. |

Zie [Tracking en toestemming](/developers/js-client/tracking-and-consent.md).

## Positionering van pop-ups

| Methode | Beschrijving |
|---|---|
| `getTopWindowCenter()` | Geeft `{ top, left }` terug, het punt waarop de pop-up wordt gecentreerd. |
| `setTopWindowCenter(top, left)` | Verplaatst dat punt. |

Het middelpunt wordt één keer berekend, wanneer de instantie wordt gemaakt, op basis van de positie van het browservenster op het scherm. Het wordt niet opnieuw berekend wanneer de bezoeker het venster verplaatst of de grootte ervan wijzigt. Daarom kan een pop-up op een lang geopende pagina buiten het huidige venster worden geopend. Bereken het opnieuw vóór het boeken als dat van belang is:

```js
entase.setTopWindowCenter(
  window.screenTop + (window.innerHeight / 2),
  window.screenLeft + (window.innerWidth / 2)
);
```

Dit heeft geen effect in de pane-modus.

## Opschoning

| Methode | Beschrijving |
|---|---|
| `destroy()` | Verwijdert de vensterlisteners van de client. De instantie kan niet opnieuw worden gebruikt. |

Roep deze aan wanneer het onderdeel of de weergave die eigenaar is van de instantie verdwijnt. Daarna registreert `book()` een fout en doet het niets – maak in plaats daarvan een nieuwe instantie.
