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

StrategiFlateAvhengigheterMerknad
consent (default)Sluttbruker (nav.no)Nav-dekoratørens consent-APIRespekterer brukerens samtykke
localStorageIntern (Modia, fagsystemer)IngenLagrer direkte i localStorage
noneAlleIngenIngen persistering — surveyen vises hver gang

Default-strategien for nav.no-flater. Widgeten leser fra window.__DECORATOR_DATA__ og bruker window.webStorageController som settes av Nav-dekoratøren. Ingen ekstra npm-pakke er nødvendig.

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

Krever Nav-dekoratøren

consent-strategien fungerer kun på sider med Nav-dekoratøren (nav.no). Uten den kan ikke widgeten lagre dismissed-tilstand, og surveyen vil dukke opp igjen ved hver sidelast.

localStorage

For interne flater (Modia, fagsystemer) som ikke har Nav-dekoratøren:

tsx
<LumiSurveyDock
  surveyId="modia-tilbakemelding"
  survey={survey}
  transport={transport}
  behavior={{ storageStrategy: "localStorage" }}
/>

Dismissed-tilstanden lagres under en nøkkel basert på surveyId i localStorage.

none

Ingen persistering — surveyen vises ved hver sidelast. Nyttig for utvikling eller 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"consent" | "localStorage" | "none""consent"Hvordan dismissed-tilstand lagres
dismissCooldownDaysnumber30Dager før surveyen vises igjen etter dismiss
hideAfterSubmitbooleantrueSkjul widgeten helt etter vellykket innsending

Velg riktig strategi

Vanlig feil på interne flater

Default er consent, som krever Nav consent API (window.webStorageController). Uten consent-API-et vil widgeten ikke kunne huske at brukeren lukket surveyen — den dukker opp igjen og igjen.

Løsning: Sett storageStrategy: "localStorage" for alle interne flater.

tsx
<LumiSurveyDock behavior={{ storageStrategy: "localStorage" }} />

Events ved lagringsfeil

Hvis lagring feiler (f.eks. consent nektet), fyres onDismissalPersistFailed-eventet. Se Events for detaljer.

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

Laget med ❤️ av Team eSyfo i Nav