Closed synnovsh closed 1 year ago
"Hvis du forlater skjemaet nå vil ikke endringene du har gjort bli lagret." Jeg tolker advarselen som en discard/at endringene man har gjort vil bli fjernet, så ble overrasket over at de blir værende (riktignok kun i frontend). Sånn sett er det greit for meg at de faktisk fjernes.
Jeg har ingen sterk mening da, så spiller ballen videre. Dersom endringene skal bli værende kan vi kanskje forbedre advarselen, selv om det fort kan bli komplisert. "Dersom du forlater nettsiden uten å lagre skjemaet, vil ikke endringene du har gjort bli lagret." "Svarene dine er ikke lagret. Dersom du ikke lagrer skjemaet senere, vil endringene du har gjort forsvinne når du lukker nettsiden."
Litt usikker på hva denne gjør? Er det slik at nå så får man en standard forms "du har fylt inn et skjema, om du forlater siden så vil svarene dine forsvinne", men så gjør de ikke det? Blir svar fjernet i denne PR-en når du refresher siden? Jeg er litt usikker på hva jeg tenker her, for noe av tankegangen (så vidt jeg kan gjette, for det var før min tid) var at man skulle kunne sette alle svarene sine i en kategori og så gå til neste kategori uten å måtte lagre mellom hver kategori. Ødelegger denne PR-en det?
@krisstam I denne PR-en vil svar som ikke er lagret i en kategori forsvinne på refresh, ja. Om tanken var at svar-state skulle lagres mellom hopp i kategori (og etter at man trykker på "leave form") så kan denne PR-en lukkes.
I alle fall blir det vel bedre å endre meldingen som @andersrebner foreslo, eller kanskje ha en indikator på at man er i "edit" eller "draft"-mode og svar ikke er lagret.
OK, etter å ha oppfrisket meg på oppførselen til nettsiden så kan jeg si meg enig i denne PR-en
Når man som bruker forlater et svarskjema i My Answers uten å lagre, burde svarene ikke lagres i frontend. Per nå så kalles
resetAnswers()
ileaveFormButtonClicked()
, som setter answersBeforeSubmitted-state. Men denne staten endres hver gang questionAnswers endrer seg via en useEffect. Det vil si den "husker" hva svaret var selv om man ikke har lagret.Løst ved å fjerne det.