Repeterende grupper
Oppsett for repeterende grupper
Grupper i datamodellen inneholder ett eller flere felter. Man lager en repeterende gruppe komponent ved å sette "type"
til "RepeatingGroup" En gruppe som er repeterende i datamodellen må også settes opp som repeterende
i skjemaet/layout-konfigurasjonen, ellers vil lagring av data feile. I JSON defineres en repeterende gruppe som en
array/liste med objekter (hvor hvert objekt representerer en rad i en repeterende gruppe). I XML defineres en
repetrende gruppe som en liste med elementer (hvor hvert element er en gruppe med egenskaper, gjengitt som en rad i
en repeterende gruppe).
Eksempel
Under vises et skjema med en repeterende gruppe som:
- Inneholder to komponenter (avkrysningsboks og adresse)
- Kan repeteres opp til 3 ganger
- Er knyttet til datamodellen gjennom
GruppeListe
Parametre
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
| id | Ja | Unik ID, tilsvarer ID på andre komponenter. Må være unik i layout-filen, og bør være unik på tvers av sider. |
| type | Ja | Må settes til Group |
| dataModelBindings | Nei | Må settes for repeterende grupper med skjemakomponenter under, og må peke mot den repeterende strukturen i datamodellen. |
| textResourceBindings | Nei | Kan settes for grupper, se nærmere beskrivelse under. |
| maxCount | Nei | Antall ganger en gruppe kan repetere. |
| minCount | Nei | Validering. Setter et minimum antall rader som må eksistere før den repeterende gruppen er godkjennt og bruker kan bevege seg videre. |
| children | Ja | Liste over komponent-IDer som inkluderes i gruppen. |
| edit | Nei | Egenskaper og alternativer for redigerings-/utfyllingsvisningen for en repeterende gruppe. |
| tableHeaders | Nei | Liste over komponenter som skal utgjøre kolonner i tabellvisningen for den repeterende gruppen. Om ingen er spesifisert, blir alle komponenter fra children vist. |
| tableColumns | Nei | Objekt som inneholder egenskaper for kolonnene som vises i tabellen. |
| rowsBefore | Nei | Statiske Grid-lignende rader som vises før de repeterende radene i tabellvisningen. |
| rowsAfter | Nei | Statiske Grid-lignende rader som vises etter de repeterende radene i tabellvisningen. |
| stickyHeader | No | Dersom satt til true, gjøres tabell headerene sticky. |
rowsBefore/rowsAfter: colSpan og skjulte kolonner
rowsBefore og rowsAfter bruker samme grid-rad/celle-struktur som Grid-komponenten.
- Celler i disse radene støtter
colSpangjennomcellStyle.colSpan. - Skjuling av kolonner konfigureres med
columnOptions.hiddenpå celler i en headerrad. - For å skjule en kolonne i
rowsBefore/rowsAfter, settcolumnOptions.hiddenpå den tilsvarende cellen i en headerrad (“header”: true).
Merk: Når du bruker colSpan, må celler som dekkes av spennet fjernes eller settes til null.
Merk: Hvis du konfigurerer en celle slik at colSpan dekker én eller flere kolonner som også er skjulte, vil tabellen fortsatt rendres, men oppsettet stemmer kanskje ikke med det du forventer. Under utvikling logger appen en kort advarsel i nettleserkonsollen som beskriver hvilken celle som spenner over hvor mange kolonner og at den overlapper skjulte kolonne(r), og at dette kan føre til uventet oppsett. Unngå å kombinere colSpan med skjulte kolonner hvis du trenger en forutsigbar tabell.
Eksempel rowsBefore/rowsAfter uten overlapp mellom colSpan og hidden:
"rowsBefore": [
{
"header": true,
"cells": [
{},
{ "text": "Summary before", "cellStyle": { "colSpan": 2 } },
null,
{ "text": "Hidden before", "columnOptions": { "hidden": true } }
]
}
],
"rowsAfter": [
{
"header": true,
"cells": [
{},
{ "text": "All changes", "cellStyle": { "colSpan": 2 } },
null,
{ "text": "Hidden after", "columnOptions": { "hidden": true } }
]
}
]
textResourceBindings
Det er mulig å legge til ulike nøkler i textResourceBindings for å overstyre standardtekster:
title- tittel som blir vist over den repeterende gruppen og over hver gruppe-rad i en Summary-komponent.summaryTitle- dersom denne er satt, vil den overstyretitlei Summary-komponenten.description- beskrivelse som blir vist over den repeterende gruppen under tittelen.add_button- blir lagt til på enden av “Legg til ny” teksten på knappen, og kan brukes til å f.eks ha tekst som sier “Legg til ny person”.add_button_full- blir brukt som egendefinert tekst på “Legg til ny” knappen. Overstyreradd_buttondersom begge er satt.save_button- blir brukt som tekst i “Lagre”-knappen når brukeren fyller ut data.save_and_next_button- blir brukt som tekst i “Lagre og åpne neste”-knappen dersom denne er aktivert.edit_button_open- blir brukt som tekst i “Endre” knappen i tabellen når brukeren skal åpne et element.edit_button_close- blir brukt som tekst i “Endre” knappen tabellen når brukeren skal lukke et element.
Grupper i datamodellen inneholder ett eller flere felter. Grupper er definert som repeterende dersom de har
maxCount > 1 i layout-konfigurasjonen. En gruppe som er repeterende i datamodellen må også settes opp som repeterende
i skjemaet/layout-konfigurasjonen, ellers vil lagring av data feile. I JSON defineres en repeterende gruppe som en
array/liste med objekter (hvor hvert objekt representerer en rad i en repeterende gruppe). I XML defineres en
repetrende gruppe som en liste med elementer (hvor hvert element er en gruppe med egenskaper, gjengitt som en rad i
en repeterende gruppe).
Eksempel
Under vises et skjema med en repeterende gruppe som:
- Inneholder to komponenter (avkrysningsboks og adresse)
- Kan repeteres opp til 3 ganger
- Er knyttet til datamodellen gjennom
GruppeListe
Parametre
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
| id | Ja | Unik ID, tilsvarer ID på andre komponenter. Må være unik i layout-filen, og bør være unik på tvers av sider. |
| type | Ja | Må settes til Group |
| dataModelBindings | Nei | Må settes for repeterende grupper med skjemakomponenter under, og må peke mot den repeterende strukturen i datamodellen. |
| textResourceBindings | Nei | Kan settes for grupper, se nærmere beskrivelse under. |
| maxCount | Ja | Antall ganger en gruppe kan repetere. Må settes til 1 eller mer for repeterende grupper. |
| minCount | Nei | Validering. Setter et minimum antall rader som må eksistere før den repeterende gruppen er godkjennt og bruker kan bevege seg videre. |
| children | Ja | Liste over komponent-IDer som inkluderes i gruppen. |
| edit | Nei | Egenskaper og alternativer for redigerings-/utfyllingsvisningen for en repeterende gruppe. |
| tableHeaders | Nei | Liste over komponenter som skal utgjøre kolonner i tabellvisningen for den repeterende gruppen. Om ingen er spesifisert, blir alle komponenter fra children vist. |
| tableColumns | Nei | Objekt som inneholder egenskaper for kolonnene som vises i tabellen. |
textResourceBindings
Det er mulig å legge til ulike nøkler i textResourceBindings for å overstyre standardtekster:
title- tittel som blir vist over hver gruppe-rad i en Summary-komponent.add_button- blir lagt til på enden av “Legg til ny” teksten på knappen, og kan brukes til å f.eks ha tekst som sier “Legg til ny person”.add_button_full- blir brukt som egendefinert tekst på “Legg til ny” knappen. Overstyreradd_buttondersom begge er satt.save_button- blir brukt som tekst i “Lagre”-knappen når brukeren fyller ut data.save_and_next_button- blir brukt som tekst i “Lagre og åpne neste”-knappen dersom denne er aktivert.edit_button_open- blir brukt som tekst i “Endre” knappen i tabellen når brukeren skal åpne et element.edit_button_close- blir brukt som tekst i “Endre” knappen tabellen når brukeren skal lukke et element.
- Innstillinger for redigering av rad
Innstillinger for redigering/utfylling av en rad i en repeterende gruppe
- Tabelloppsett
Oppsett og konfigurasjon for tabellen som vises over de repeterende gruppene
- Dynamisk oppførsel i repeterende grupper
Hvordan skjule rader i en repeterende gruppe
- Flere sider i en gruppe
Hvordan vise komponenter i en gruppe over flere sider
- Vedlegg i repeterende grupper
Detaljer rundt oppsett av vedlegg i repeterende grupper
