-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Binde MultipleSelect/Checkboxes til en repeterende gruppe i datamodellen #1497
Comments
Interessant! 🤔 Noen kontrollspørsmål:
Å ha full støtte for dette fordrer vel også at man har teksten tilgjengelig på en eller annen måte. Akkurat nå tror jeg det vil funke om man f.eks. putter en Dropdown-komponent inne i gruppa, knytter den mot opsjons-verdien i datamodellen (og opsjonslista), men skjuler den permanent. Da vil den fortsatt kunne vises i tabellen (whoops, vår feil - vi burde nok ikke vist skjulte komponenter der!). Ellers er jeg redd vi mangler en liten (men viktig) byggekloss for å kunne implementere dette i app-frontend: Vi kan ikke lagre noe permanent sted det vi trenger å lagre av metadata for at dette skal fungere. Se for eksempel for deg at man åpner appen første gang, og rep.gruppa fylles ut med opsjoner - det scenarioet er identisk med om brukeren sletter alle radene som ble fyllt ut og laster siden på nytt. Så lenge vi ikke kan lagre noe sted at "vi har fyllt ut alt en gang, så ikke gjør det igjen" kan vi ikke hindre slikt. Ved å implementere dette i kode på backend derimot, kan man utvide datamodellen til å inkludere metadata om slikt. Det er vanskeligere for oss på frontend å utvikle noe med en antakelse om at noe er tilgjengelig i datamodellen for å støtte det vi skal gjøre, og at formatet der er likt det vi trenger. |
Så dere kan ikke sjekke om det finnes noe i gridden? for hvis det ligger noe der så burde en ikke bygge det på nytt. |
Lurt med hiddenRow til det bruket, ja! 🙌
Det betyr jo at om app-frontend skal konstruere gruppene basert på options, må vi også legge til noe data om at raden er preutfylt (og hva det feltet heter i datamodellen og hvordan det er forventet at dataene ser ut vil jo variere per datamodell). I tillegg er det nok litt i konflikt med en retning vi ønsker å gå - for vi vil begrense mulighetene frontend har for å gjøre endringer i datamodellen. Det er f.eks. ikke ønskelig at frontend skal kunne endre på en sti i datamodellen som ikke er bundet til noen komponenter som frontend da skal kunne manipulere. Altså, hvis man har et skjult hjelpefelt i datamodellen, et felt som er knyttet til en Med andre ord, jeg mener kanskje det mest korrekte stedet å gjøre en slik operasjon er på backend, og det er jo det man gjør i dag når man skriver custom kode for slikt. Men det er helt klart mulig at vi skulle laget verktøy i backend for å gjøre en slik operasjon enklere for dere å implementere (hvis det skjer ofte).
Jo, men fra vårt perspektiv er det ingen forskjell på de to scenarioene:
EDIT: Også relevant: |
Jeg har tenkt litt mer på denne, og jeg tenker det er fullt mulig for oss å lage noe av dette, men da spesielt en begrenset variant hvor vi knytter en multiple choice options-komponent (altså Noe slikt kunne vi kalt at gruppa blir "styrt av" en options-komponent, men dette måtte hatt noen begrensinger:
Jeg er fortsatt usikker på dette med om bruker skal få opprette egne rader, og hvordan det da vil fungere. Det kan fungere til en viss grad, men hvis man f.eks. har en nedtrekksliste med options inne i gruppa for å velge hvilket av alternativene denne raden gjelder må det nødvendigvis også kommunisere dette valget tilbake til Checkboxes/MultipleSelect slik at det alternativet blir valgt der også. I den perioden hvor brukeren ikke har valgt noe i nedtrekkslista inne i gruppa er den gruppe-raden i limbo - hvis feltet er tomt kan vi ikke røre disse radene når vi automatisk sletter rader fra rep.gruppa ved oppdateringer fra checkboxes/multipleselect. Hmm, joda, dette kan funke, og det kan funke ganske bra, tror jeg. Det kan potensielt konfigureres i checkboxes/multipleselect med en one-liner:
Den viktige biten her er at MultipleSelect-komponenten har en Bemerk at dette går ut ifra to ting, på et rent teknisk nivå:
|
Jeg trur dette kan være en løsning, hvis jeg skjønte litt av dette her :). Men man bør kunne skjule checkbokslista, og egentlig kunne si at alle valg er valgt som default. Det siste kan vel også gjøres i kode, men det er ofte slik at man sitter på en liste der alle valg skal besvares i en rep gruppe. |
Åh! Haha, her ser jeg at det jeg beskrev nok var en liten sidevei og beskrev en løsning på et litt annerledes behov enn det du tenkte på, ja. Vi kan nok støtte det du beskriver også, men ikke sammen med muligheten for å slette/legge til egne rader. Da mener jeg det må inn i instansieringen (og på backend), hvis ikke blir det fort både litt knotete og sårbart å gjøre det i frontend. I tillegg blir det altså vanskelig å vite om en helt tom rep.gruppe betyr at brukeren har slettet alt eller om vi jobber med en helt ny instans/datamodell. |
Delvis relatert (iallefall til den løsningen jeg snakket om, men kanskje ikke helt den løsningen Stian her tenkte på): |
Description
Veldig mange av de repeterende gruppene vi benytter , så bygges den opp i kode fra en optionliste.
Vi ønsker at gruppen populeres opp med rader automatisk fra en optionliste.
Man må da kunne sette opp att man vil vise teksten fra optionlista i gruppen mens verdien må kunne settes mot et felt i datamodellen.
Oppdatert beskrivelse (ref møte 25. april 2024):
Tildels også beskrevet i kommentar under.
Vi har diskutert løsninger for denne oppgaven, og det vi ser for oss er å kunne knytte multi-valg-options-komponenter (foreløpig
Checkboxes
ogMultipleSelect
) til en repeterende gruppe struktur i datamodellen. Det vil si, når man velger en ny option, oppretter det en ny rad i datamodellen, og når man fjerner et valg fjerner det raden. Da kan man også knytte enRepeatingGroup
til samme sted i datamodellen, og dermed be brukeren fylle ut mer info om hvert av de valgene man gjorde tidligere iCheckboxes
/MultipleSelect
-komponenten.Ting man bør tenke på:
RepeatingGroup
-komponenten, kræsjer det fort med options-komponenten som også er knyttet til samme sted i datamodellen. Man må enten unngå slik konfigurasjon, eller håndtere tomme/duplikate rader på en eller annen måte.Additional Information
The text was updated successfully, but these errors were encountered: