# Konstruktorin asetukset

> Kaikki kohteen new Entase() hyväksymät asetukset sekä niiden oletusarvot ja vaikutukset. Kaikki asetukset ovat valinnaisia, ja useimmat niistä voi ohittaa varauskohtaisesti.

Kaikki asetukset ovat valinnaisia. Alla olevat arvot ovat oletusarvoja, joita asiakaskirjasto käyttää, kun jätät asetuksen pois.

```js
const entase = new Entase({
  pk: null,
  locale: 'auto',
  checkoutMode: 'auto',
  collectConsent: true,
  backdrop: true,
  backdropColor: '#000000',
  tprm: {},
  pane:  { width: 800, height: '100%' },
  popup: { width: 800, height: 1000 }
});
```

## Asetukset

| Nimi | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
| `pk` | merkkijono | `null` | Julkaistava avaimesi. Asiakaskirjasto lähettää sen tarkistaessaan, saako verkkotunnuksesi käyttää upotettua kassaa. Ilman sitä jokainen kassa avautuu ponnahdusikkunana. |
| `locale` | merkkijono | `'auto'` | Kassan kieli. `'auto'` lukee `<html>`-elementtisi `lang`-attribuutin. |
| `checkoutMode` | merkkijono | `'auto'` | `'auto'`, `'pane'` tai `'popup'`. Katso [Kassan tilat](/developers/js-client/checkout-modes.md). Tunnistamaton arvo palautuu arvoon `'auto'`. |
| `collectConsent` | totuusarvo | `true` | Määrittää, pyytääkö kassa kävijää hyväksymään ehtoja koskevan ilmoituksen. Kun se on hyväksytty, vastaus tallennetaan evästeeseen ja vaihe ohitetaan. |
| `backdrop` | totuusarvo | `true` | Määrittää, himmennetäänkö kassan takana oleva sivu. `false` poistaa käytöstä myös sivun vierityksen lukituksen. |
| `backdropColor` | merkkijono | `'#000000'` | Himmennetyn alueen väri CSS-väriarvona. |
| `tprm` | objekti | `{}` | Seurantaparametrit, jotka lisätään kassan URL-osoitteeseen kyselyparametreina. Katso [Seuranta ja suostumus](/developers/js-client/tracking-and-consent.md). |
| `pane` | objekti | `{ width: 800, height: '100%' }` | Upotetun paneelin koko. Ohitetaan ponnahdusikkunatilassa. |
| `popup` | objekti | `{ width: 800, height: 1000 }` | Ponnahdusikkunan koko pikseleinä. Ohitetaan paneelitilassa. |

## Paneelin ja ponnahdusikkunan mitoitus

`pane.width` hyväksyy numeron (pikseleinä) tai minkä tahansa CSS-pituuden – `'720px'`, `'50%'`, `'40vw'` tai `calc()`-lausekkeen. Pelkkä numero tulkitaan pikseleiksi.

Paneelin leveys rajoitetaan tähän arvoon työpöydällä, ja mobiilissa se käyttää koko leveyden, jolloin sen sijaan käytetään arvoa `pane.height`. Näiden välillä vaihdetaan, kun näkymä on määritettyä leveyttä kapeampi; kun leveys annetaan suhteellisena yksikkönä, vaihto tapahtuu 800 pikselin kohdalla.

`popup.width` ja `popup.height` ovat vain pikselinumeroita, ja ikkuna keskitetään kävijän näytölle. Jos näyttö ei ole pyydetyn korkeuden verran korkea, ikkunaa pienennetään sopivaksi.

## Tausta

Ponnahdusikkunan tausta himmennetään voimakkaammin kuin paneelin tausta, koska ponnahdusikkunassa alla olevan sivun on näyttävä passiiviselta. Aseta `backdrop: false`, jos haluat poistaa himmennyksen kokonaan – tällöin sivua voi myös vierittää kassan takana.

`backdropColor` käytetään sellaisenaan, joten se voi olla mikä tahansa kelvollinen CSS-väri. Käytä sitä sovittaaksesi taustan tummaan tai brändättyyn sivustoon äläkä taustan piilottamiseen; siihen oikea asetus on `backdrop: false`.

## Varauskohtaiset ohitukset

`checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` ja `popup` voidaan kaikki ohittaa yksittäistä varausta varten välittämällä ne metodille `book()`. Instanssitason arvo pysyy muuttumattomana myöhempiä kutsuja varten:

```js
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });

// This one booking opens wider, with no dimming.
entase.book('EVENT_ID', {
  pane: { width: '60vw' },
  backdrop: false
});
```

`pk` ja `tprm` eivät ole varauskohtaisia asetuksia – `pk` tunnistaa tilin koko sivua varten, ja seurantaparametreja muutetaan metodilla `setTracking()`, kun niiden täytyy olla erilaiset.
