Sist endret: 28. mai 2024

Gruppering av enkeltfelter

Oppsett for ikke-repeterende grupper

Felter i skjema kan settes opp til å bli del av en gruppe. Dette kan brukes til å f.eks. sette opp dynamikk på en enkelt gruppe av felter, i stedet for på hvert enkelt felt. I tillegg må felter kunnne grupperes for å støtte repeterende grupper i skjema.

En gruppe settes opp i FormLayout.json, sammen med de andre komponentene i skjemaet. Dette kan enten gjøres manuelt direkte i filen, eller via skjemaeditor i Atinn Studio ved å bruke Gruppe-komponenten.

Noen punkter å notere seg ved manuelt oppsett:

  • Gruppen må ligge før ev. komponenter som skal inngå i gruppen i FormLayout.json.
  • En gruppe ha type: "group" satt for at den skal registreres som en gruppe

Eksempel på en (repeterende) gruppe definert i FormLayout.json som inneholder 4 felter som kan repetere 3 ganger: En gruppe defineres på følgende måte i FormLayout.json:

{
  "id": "<unik-id>",
  "type": "group",
  "dataModelBindings": {
    "group": "<gruppen i datamodellen (kun repeterende grupper)>"
  },
  "maxCount": "<Antall ganger gruppen kan repetere>",
  "children": [
    "<felt-id>",
    "<felt-id>",
    "osv..."
  ],
  "tableHeaders": [
    "<felt-id>"
  ],
  "textResourceBindings": {
    "add_button": "tekstressurs.felt"
  }
}

Parameters

    Parameters

    ParameterPåkrevdBeskrivelse
    idJaUnik ID, tilsvarer ID på andre komponenter. Må være unik i layout-filen, og bør være unik på tvers av sider.
    typeJaMå settes til Group
    textResourceBindingsNeiKan settes for grupper, se nærmere beskrivelse under.
    childrenJaListe over komponent-IDer som inkluderes i gruppen.
    groupingIndicatorNeiVisuellt grupperer komponentene i gruppen. Kan være "indented" eller "panel".

    textResourceBindings

    Det er mulig å legge til ulike nøkler i textResourceBindings:

    • title - Setter tittelen på gruppen. Om ikke satt, vil komponentene i gruppen vises som om de ikke var en del av en gruppe (uten tittel over)
    • description - Setter en beskrivelsestekst. Denne vises under tittelen, og over komponentene i gruppen.

    Visuell gruppering av komponenter

    Det er mulig å sette opp en gruppe slik at komponentene i gruppen vises visuelt som en gruppe. Dette gjøres ved å sette groupingIndicator til indent eller panel på gruppen.

    Panel

    Gruppe som panel
    Gruppe med panel visning

    Indented

    Visuelt gruppert
    Gruppe med indentert linje vinsing

    Parameters

    ParameterPåkrevdBeskrivelse
    idJaUnik ID, tilsvarer ID på andre komponenter. Må være unik i layout-filen, og bør være unik på tvers av sider.
    typeJaMå settes til Group
    textResourceBindingsNeiKan settes for grupper, se nærmere beskrivelse under.
    maxCountNeiAntall ganger en gruppe kan repetere. Må enten unnlates eller settes til 0 for ikke-repeterende grupper, ellers blir det en repeterende gruppe.
    childrenJaListe over komponent-IDer som inkluderes i gruppen.
    showGroupingIndicatorNeiViser en vertikal linje til venstre for gruppen for å indikere at feltene har en sammenheng. Kan være true eller false.

    textResourceBindings

    Det er mulig å legge til ulike nøkler i textResourceBindings:

    • title - Setter tittelen på gruppen. Om ikke satt, vil komponentene i gruppen vises som om de ikke var en del av en gruppe (uten tittel over)
    • body - Setter en beskrivelsestekst. Denne vises under tittelen, og over komponentene i gruppen.