Settings for views
Settings for views.
Det er implementert en ny (valgfri) parameter som kan legges inn på definisjonen av en repeterende gruppe i layout-filen, som gjør at man kan styre litt rundt visningen og oppførselen til gruppen på siden. I tillegg er det lagt til støtte for flere “sider” inne i redigerings-flaten til gruppen.
Styre visning
Det er lagt til en ny parameter, edit
, som kan settes på en gruppe-komponent (repeterende gruppe). Denne lar oss definere forskjellige innstillinger
mtp visning av et gruppe-element under redigering/utfylling. Følgende innstillinger kan settes.
mode
Definerer om tabellen (som viser alle elementene i gruppen) skal vises når et element er åpent i redigerings-modus. Følgende verdier godtas:
Verdi | Beskrivelse |
---|---|
“showTable” | Standard oppførsel om ingenting er satt. Viser tabellen over flaten for redigering av gruppe-element. |
“hideTable” | Skjuler tabellen når et gruppe-element er åpent for redigering. |
“showAll” | Skjuler tabellen. Viser alle elementene i gruppen i redigerings-modus, under hverandre. Lagre-knapp skjules. |
filter
Støtte for å filtrere elementene i gruppen, slik at kun de elementene som matcher de definerte kriteriene vises. F.eks. i en gruppe som viser arbeidserfaring, vis kun de elementene der arbeidssted var Oslo. Liste med kriterier er basert på verdi av ett eller flere felter i gruppen, på formen
"edit": {
"filter": [
{ "key": "<felt i datamodell>", "value": "<ønsket verdi>" }
]
}
Dersom det er flere kriterier, må alle matche for at elementet skal vises.
Om det kun er ett resultat, vises dette automatsk i redigerings-modus. Om det er flere elementer i gruppen som matcher filteret, vil disse vises.
Andre elementer i gruppen skjules. filter
kan kombineres med mode
-parameter.
addButton
Bestemmer om “Legg til ny”-knappen vises under tabellen. Nyttig å skjule denne om man kun ønsker å presentere data.
saveButton
Bestemmer om “Lagre”-knappen vises når et gruppeelement er i redigeringsmodus. Standard oppførsel om parameteren ikke er satt er at “Lagre”-knapp vises.
Dersom man har satt "mode": "showAll"
skjules Lagre-knappen alltid, da man i denne modusen ikke har mulighet til å lukke redigerings-flaten for
gruppe-elementet. Dataene lagres uansett.
deleteButton
Bestemmer om “Slett”-knappen vises når et gruppeelement er i redigeringsmodus. Standard oppførsel om parameteren ikke er satt er at “Slett”-knapp vises.
multiPage
Sier at redigering/utfylling av gruppe kan gjøres over flere “sider”/visninger. Krever mer oppsett for å fungere, se under for mer informasjon.
openByDefault
Sier at gruppen skal åpnes i editeringsmodus om det ikke finnes noen elementer i gruppen fra før. Merk at denne ikke kan brukes sammen med "mode": "showAll"
.
Eksempel:
{
...
"edit": {
"openByDefault": true
}
}
Flere sider innad i gruppe-visning
Når man skal legge inn data i en gruppe, kan det være tilfeller der hvert element i gruppen inneholder mange felter, og at det dermed blir mye scrolling og uoversiktlig for sluttbruker. For å løse dette er det innført en mulighet til å dele opp utfyllingen over flere visninger, som bruker kan navigere frem/tilbake mellom mens de fyller ut gruppe-elementet. Navigeringen her skjer innad i en layout, og oppdaterer kun visningen inne i redigeringsflaten for gruppen.
For å ta i bruk denne funksjonaliteten, må man prefikse komponentene i children
listen med et tall som tilsier hvilken “side” av utfyllingen
komponenten skal vises på, etterfulgt av :
. Vi starter tellingen på 0
, dvs. at komponenter som skal vises på den første “siden” må prefikses med
0:
. Komponenter som skal vises på den andre siden prefikses med 1:
. Osv. I tillegg må man sette "multiPage": true
på den nye edit
-parameteren (se over).
Se eksempel under:
{
"id": "Some-group-id",
"type": "Group",
"children": [
"0:fnr",
"1:fornavn",
"1:mellomnavn",
"1:etternavn"
],
"maxCount": 10,
"dataModelBindings": {
"group": "familie.barn"
},
"edit": {
"multiPage": true,
"mode": "hideTable",
}
}
Her har man også lagt inn en mode som skjuler tabellen under redigering. Resultatet blir som vist under.
