Skip to content

Lagring

Widgeten husker at brukeren har lukket (dismissed) surveyen, og kan vente en cooldown-periode før den vises igjen. Du velger hvordan den husker dette med storageStrategy.

Strategier

StrategiDefaultMerknad
localStorageLagrer dismissed-tilstand under en nøkkel basert på surveyId
noneIngen persistering — surveyen vises ved hver sidelast

localStorage (default)

Standardvalget for vanlig bruk. Trenger ingen ekstra konfigurasjon — widgeten lagrer dismissed-tilstand automatisk.

tsx
<LumiSurveyDock
  surveyId="min-flate"
  survey={survey}
  transport={transport}
  // localStorage er default — trenger ikke spesifiseres
/>

Nøkkelen i localStorage er basert på surveyId, så ulike surveys lagres uavhengig av hverandre.

none

Ingen persistering — surveyen vises ved hver sidelast. Nyttig for utvikling, demoer, eller bevisste one-shot-scenarioer.

tsx
<LumiSurveyDock
  surveyId="test-survey"
  survey={survey}
  transport={transport}
  behavior={{ storageStrategy: "none" }}
/>

Cooldown

Etter at brukeren lukker surveyen, venter widgeten en cooldown-periode før den vises igjen. Default er 30 dager.

tsx
<LumiSurveyDock
  surveyId="min-flate"
  survey={survey}
  transport={transport}
  behavior={{
    storageStrategy: "localStorage",
    dismissCooldownDays: 7, // Vis igjen etter 7 dager
  }}
/>
PropertyTypeDefaultBeskrivelse
storageStrategy"localStorage" | "none""localStorage"Hvordan dismissed-tilstand lagres
dismissCooldownDaysnumber30Dager før surveyen vises igjen etter dismiss
hideAfterSubmitbooleantrueSkjul widgeten helt etter vellykket innsending

Når lagring feiler

localStorage kan være utilgjengelig — for eksempel i privat nettlesing (Safari), når kvoten er full, eller i sandkasse-iframes. I slike tilfeller fyres onDismissalPersistFailed-eventet, og dismissed-tilstanden går tapt ved neste sidelast.

tsx
<LumiSurveyDock
  events={{
    onDismissalPersistFailed: (cause) => {
      console.warn("Kunne ikke lagre dismissed-tilstand:", cause);
    },
  }}
/>

Se Events for full event-referanse.

Lumi Analytics — bygget på navikt/lumi (MIT-lisens)