Modul 3
Kontroller og dynamikk
I denne modulen skal du videreutvikle tjenesten du laget i Modul 1 med blant annet en ny side og dynamisk skjuling av felter.
Denne modulen vil i all hovedsak foregå i Altinn Studio designer, men noen oppdateringer vil også trenge at vi oppdaterer filene til tjenesten direkte i det sentrale filområdet til tjenesten.
Temaer som dekkes i denne modulen:
- Flere sider
- Bildekomponent
- Dynamisk skjuling av felter/komponenter
- Flervalgskomponenter
Oppgaver
For skjemaer der det samles inn eller gis mye informasjon kan det forbedre brukeropplevelsen dersom man deler tjenesten opp i flere sider.
La oss se nærmere på hvordan man kan opprette en ny side i tjenesten som vises før brukeren kommer til første datainnsamlingsside som ble laget i Modul 1.
Opprettelse og administrasjon av flere sider kan gjøres i Altinn Studio Designer, ved å trykke på “Legg til side” i skjemaoversikten.
Krav fra kommunen
Siden Sogndal kommune vil samle inn en betydelig mengde data i denne tjenesten, må de klargjøre hvem skjemaet er ment for og hvordan de vil bruke dataene. Noen i kommunen har laget et utkast til en informasjonsside for dette formålet.
Informasjonssiden bør gjenspeile følgende elementer:
- plassering av bilder
- tekststørrelser
- formatering av tekst
Du kan bruke følgende bilde av Sogndals kommunevåpen i tjenesten:
Oppgaver
- Legg til en ny side. Gi den et passende navn og plasser den foran skjemasiden du opprettet i Modul 1.
- Legg til bilde av Sogndals kommunevåpen.
- Legg til tekst i henhold til skisse.
Nyttig dokumentasjon
- Formatering av tekst
- Hvordan legge til bilder i en tjeneste
- Sidestilte komponenter
- Filoppsett ved flere sider
- Administrere rekkefølge på flere sider
Forståelsessjekk
I mange tilfeller er det ønskelig å kontrollere hvilke deler av tjenesten som er synlige basert på brukerens respons. For eksempel kan det være relevant å hoppe over noen av spørsmålene i et skjema hvis svaret er åpenbart eller irrelevant basert på tidligere svar.
I denne oppgaven vil du sette opp dynamiske uttrykk i tjenesten for å vise og skjule ulike felter basert på brukerens respons.
Krav fra kommunen
En bruker som ikke oppfyller kravene for tjenesten, bør stoppes så tidlig som mulig i arbeidsflyten. Brukeren skal indikere om tjenesten gjelder dem på informasjonssiden.
Måten svaret samles inn på er valgfri, men et tips er å bruke en valg-komponent som avkrysningsbokser, radioknapper eller nedtrekksliste.
Merk at en komponent må være knyttet til et felt i datamodellen for å lagre verdier (du kan bruke feltet Innflytter.KanBrukeSkjema
i datamodellen).
Brukeren skal vises ett av følgende alternativ basert på svaret deres:
Alternativ 1
Brukeren indikerer at tjenesten ikke gjelder deres situasjon.
Brukeren skal vises en info-melding med følgende tekst:
Dette skjemaet er ikke for deg.
Se en oversikt over andre tilbud i kommunen her.Linje 2 i teksten er en hyperlenke som peker på https://www.sogndal.kommune.no/
Navigeringsknapp til neste side i skjemaet skal skjules.
Alternativ 2
- Brukeren har svart bekreftende på at tjenesten gjelder deres situasjon.
- Info-melding om at skjemaet ikke gjelder for brukeren skal skjules.
- Navigeringsknapp til neste side i skjemaet skal vises.
Oppgaver
- Legg til et nytt felt i datamodellen som skal lagre brukerens valg om skjemaet gjelder for dem eller ikke.
- Husk å trykke på “Generer modeller” når du har lagt til et nytt felt, og Last opp dine endringer.
- Legg til en komponent på informasjonssiden hvor brukeren kan oppgi om skjemaet gjelder dem eller ikke.
- Legg til dynamikk som viser relevante skjemakomponenter basert på brukerens svar.
Nyttig informasjon
Dynamikk på en komponent settes opp via en editor i Altinn Studio. Når man har valgt en komponent i skjemaet, kan man gå til “Dynamikk”-seksjonen i høyre-panelet. Der kan man legge til nye dynamiske uttrykk som f.eks. kan styre om et felt skjules basert på enkle regler.
For å skjule et valgt felt:
- Åpne Dynamikk-seksjonen og velg “Lag ny logikkregel”.
- Velg “Skjul felt dersom”
- Trykk på “Legg til underutrykk”
- Trykk på “Endre”
- I første del av uttrykket (første operand)
- I “Type”-feltet, velg “Datamodell”
- I “Datamodellfelt”-feltet, velg datamodell som inneholder verdien du ønsker å sjekke
- Operator - velg det som gjelder
- I andre del av uttrykket (andre operand)
- Velg det du ønsker å sammenligne mot. Det kan være et annet felt i datamodellen, eller et tall eller en tekst
- Trykk på “Lagre og lukk”
Nyttig dokumentasjon
Oppsummering
I denne modulen har du opprettet en informasjonsside med tekster og bilde. Du har lagt inn dynamiske uttrykk som styrer når visse felter vises/skjules basert på brukerens valg.