Altinn / app-frontend-react

Altinn application React frontend
BSD 3-Clause "New" or "Revised" License
18 stars 32 forks source link

Repeating groups: Mulighet for å angi tekst i første kolonne #1494

Open StianVestli opened 1 year ago

StianVestli commented 1 year ago

Description

Slik det er i dag så er det ikke mulig å vise et tekst felt i en kolonne i en repeterende gruppe. Man kan få det til via feks et inputfelt men dette krever at tekst må inn via datamodell og at denne også blir liggende i datamodellen. Vi ønsker å kunne benytte tekst id'er slik at man får språkstøtten samtidig som man og kan flette inn info fra datamodellen. En måte kunne være å tillate å vise header komponenten i gruppen, men slik det er i dag vises ikke denne i rep gruppen når den er lukket.

Eksemplet under er en av flere slik tabell strukturer som man hadde hatt dette behovet i: image

Vi har i dag Grid som man kan legge opp text i kolonne, det er en lignende funksjonalitet vi trenger men, Grid er ikke løsningen da denne er statisk, man vil også kunne ønske å legge til flere rader. image

Additional Information

No response

olemartinorg commented 1 year ago

Vil dette kunne løses om man definerer statiske text-celler (ala Grid) i tillegg til vanlige komponenter i tabellen, @StianVestli? Altså en statisk celle som repeteres for hver rad (men som da kan gjøre oppslag og vise tekst som er forskjellig per rad).

StianVestli commented 1 year ago

Ja det trur jeg i mange tilfeller. Men man vil også ha denne med seg til oppsummeringssiden.

olemartinorg commented 7 months ago

Relevant diskusjon:

I denne lenkede saken ønkes det støtte for å hente tekst fra en komponent inni en ikke-repeterende gruppe og vise i tabellen. Riktignok ikke i første kolonne, men jeg tenker det store bildet her går på det samme; man ønsker mer detaljstyring på hvordan tabellen for repeterende grupper skal se ut.

olemartinorg commented 4 months ago

Denne saken har nok blitt tolket til å være lett mer komplisert enn den kanskje trenger å være. Istedenfor å lage en helt ny (og mer konfigurerbar) variant av repeterende grupper, kan jeg se for meg noe ekstra konfigurasjon som (sammen med tableHeaders, tableColumns og children som vi allerede har) går på å konfigurere opp mer statiske kolonner/celler. Gitt at man har en nøkkel som beskriver en "custom" celle/kolonne kan man bruke den nøkkelen også i tableHeaders og tableColumns (dog, jeg er usikker på om noe annet enn width er særlig relevant der).

Her er det en del funksjonalitet vi kan tilby:

Skjermutklipp av tabelloppsett med kolonne-og radoverskrifter med tabellceller  Kolonne og radoverskrifter har en unik id, inndatafelt kobles sammen med de id_ene

Eksempelkonfigurasjon med nye opsjoner, tableExtraColumns og tableDescriptionColumns:

{
  "children": ["myComp1", "myComp2"],
  "tableExtraColumns": {
    "someLabel": {
      "labelFrom": "someComponentWithLabel",
      "compact": false // Defaults to false, displays description and helpText when false
    },
    "someOption": {
      "optionFrom": "someComponentWithOptions",
      "compact": false // Defaults to false, displays description and helpText when false
    },
    "anExpr": {
      "content": ["text", "some-lang-key"]
    }
  },
  "tableHeaders": ["someLabel", "anExpr", "myComp1", "myComp2"],
  "tableColumns": {
    "myComp1": {
      "editInTable": true
    },
    "anExpr": {
      "width": "10%",
      "alignText": "right"
    }
  },
  "tableDescriptionColumns": ["someLabel", "myComp1"]
}

Tanken min her er å ikke bare støtte uttrykk, men potensielt også andre ting (som her, med labelFrom). Det er også et veldig aktuelt use-case for SSB å vise frem en valgt option fra en option-liste, som er ulik for hver rad i den repeterende gruppen. I dag bruker de en skjult Dropdown inne i gruppa, som brukes for å vise den valgte verdien i tabellen, men da støttes det bare å vise selve labelen/tittelen på den valgte opsjonen. Det ønskes også å utvide dette til å vise både beskrivelse og hjelpetekst for den valgte opsjonen.