# Metodereference

> Entase-klientens komplette offentlige API – booking, eventabonnement, runtime-gettere og -settere samt oprydning.

Det komplette offentlige API for en `Entase`-instans.

## Booking

| Metode | Beskrivelse |
|---|---|
| `book(eventID, options?)` | Åbner checkout for en begivenhed. Se [Åbn checkout](/developers/js-client/opening-the-checkout.md). |

## Hændelser

| Metode | Beskrivelse |
|---|---|
| `on(name, callback)` | Registrerer en callbackfunktion. Én pr. hændelsesnavn – se [Hændelser](/developers/js-client/events.md). |
| `off(name, callback?)` | Fjerner callbackfunktionen, der er registreret for et navn. Callbackargumentet ignoreres. |

Begge accepterer en mellemrumsepareret streng eller et array af navne.

## Sprog

| Metode | Beskrivelse |
|---|---|
| `getLocale()` | Returnerer den konfigurerede værdi, herunder den bogstavelige værdi `'auto'`, hvis det er den værdi, der er angivet. |
| `setLocale(locale)` | Ændrer sproget i checkout for senere bookinger. |

`getLocale()` rapporterer konfigurationen, ikke den løste værdi – med standardindstillingen returnerer den `'auto'`, ikke det sprog, der faktisk vil blive brugt. Værdien `'auto'` fastlægges, når `book()` kaldes, ud fra attributten `lang` i dit `<html>`-element, så en ændring af sidesproget efter oprettelsen af klienten registreres uden yderligere arbejde.

## Checkout-tilstand

| Metode | Beskrivelse |
|---|---|
| `getCheckoutMode()` | Returnerer den fastlagte tilstand, `'pane'` eller `'popup'` – aldrig `'auto'`. |
| `setCheckoutMode(mode)` | Indstiller tilstanden. `'auto'` kører registreringen igen; en ukendt værdi ignoreres. |

Se [Checkout-tilstande](/developers/js-client/checkout-modes.md).

## Sporing

| Metode | Beskrivelse |
|---|---|
| `getTracking()` | Returnerer objektet med de aktuelle sporingsparametre. |
| `setTracking(tprm)` | Erstatter sporingsparametrene. De flettes ikke – angiv det komplette sæt. |

Se [Sporing og samtykke](/developers/js-client/tracking-and-consent.md).

## Placering af pop op-vindue

| Metode | Beskrivelse |
|---|---|
| `getTopWindowCenter()` | Returnerer `{ top, left }`, det punkt, som pop op-vinduet centreres om. |
| `setTopWindowCenter(top, left)` | Flytter det punkt. |

Centrumspunktet beregnes én gang, når instansen oprettes, ud fra browservinduets placering på skærmen. Det genberegnes ikke, når den besøgende flytter eller ændrer størrelsen på vinduet, så på en side, der er åben længe, kan et pop op-vindue åbne væk fra det aktuelle vindue. Beregn det igen før booking, hvis det er vigtigt:

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

Dette har ingen effekt i pane-tilstand.

## Oprydning

| Metode | Beskrivelse |
|---|---|
| `destroy()` | Fjerner klientens window-lyttere. Instansen kan ikke genbruges. |

Kald den, når komponenten eller visningen, der ejer instansen, forsvinder. Derefter logger `book()` en fejl og gør ingenting – opret i stedet en ny instans.
