Retain data between steps in wizard if going back a step

  • 1
  • Question
  • Updated 2 years ago
  • Answered
Hello all -

Having an issue with one of our pages right now. We have a thing called "New Issues and New Ideas", where employees can offer ideas to help make things more efficient around the company, or to let us know when there is a problem. We have a wizard set up to make creating new issues and ideas very easy, but we've hit a little snag - going from step 1 to step 2 is no problem, but when the user wants to change something from step 1 and they go back to the previous step, they might lose anything they had already written during step 2 - plus, the finish button will not enable anymore. I wasn't the one that put this page together initially, and I'm still pretty new to Skuid, but I think this could easily be solved using the right actions - I'm just not sure which actions to use.

Is there a way to retain information typed in by the user between steps if it isn't saved?
Photo of Lucas Villanueva

Lucas Villanueva

  • 282 Points 250 badge 2x thumb

Posted 2 years ago

  • 1
Photo of Mark DeSimone

Mark DeSimone, Official Rep

  • 11,050 Points 10k badge 2x thumb
Hi Lucas. There are quite a few possible approaches to building a page like yours, so to answer your question we'd need some details about the way your page is built. Are you able to look in the page builder and describe in more detail (or capture some screenshots) what the wizard's buttons have set up for their actions? For example, which actions happen when a user clicks the Previous Step button to backtrack from step 2 to step 1?

Do your users consistently lose step 2's data when navigating back to step 1? The finish button probably has some enable conditions set up on it that aren't being met after the user backtracks. It could be set to only enable when all of the required model fields have been filled in.
(Edited)
Photo of Lucas Villanueva

Lucas Villanueva

  • 282 Points 250 badge 2x thumb
I was looking more into this today, and it looks like I may be looking in the wrong place - when the user inputs any text into the text box, it dynamically stores it into the row with the name of Idea_Text__c. The finish button is set to enable when Idea_Text__c is not equal to null. I discovered that, even clicking the previous step button, the row info was saved, albeit temporarily, and then cleared when they click the next step button. I input text, and again the row updated, but for some reason the enable condition didn't trigger this time. It's almost as if the button fails to refresh.

BUT, I almost forgot - we do still want any data the user entered before they click the previous step button to still be in the text box when they click next. Below are some screenshots of the button actions. 

Next button:


Previous button:


Finish button & condition:

The finish button also includes one more action, to unblock the UI.



My guess is that for some reason, when you go back, then go forward again, it fails to trigger the render.
Photo of Lucas Villanueva

Lucas Villanueva

  • 282 Points 250 badge 2x thumb
I see why they did that now - it looks like when they went to the next step, it created another box:

Instead of keeping the same box
(Edited)
Photo of Mark DeSimone

Mark DeSimone, Official Rep

  • 11,050 Points 10k badge 2x thumb
That's probably happening because of the third action in that first list - "Idea: Create new row(s)."
Are all the wizard's steps meant to collect info about one new idea, or is it collecting multiple ideas? If the whole process is centered around just collection one idea, it sounds like that create row action is already happening once before the user clicks the Next Step button. 
Photo of Lucas Villanueva

Lucas Villanueva

  • 282 Points 250 badge 2x thumb
Typically, it's one issue AND one new idea, or just one issue, or just one idea - the problem is in part because the original designer made it so ideas are children of issues, so you have to have an issue to have an idea.

I was talking to my colleague about this, and we're considering just putting everything on the first page of the wizard and having the idea only render if they say they want to create just an idea or an issue/idea combination. That might solve a lot of our issues.
Photo of Mark DeSimone

Mark DeSimone, Official Rep

  • 11,050 Points 10k badge 2x thumb
Sure, conditional rendering could be a good alternative, especially if there aren't an exorbitant number of fields for the user to fill out. Let us know if you run into snags with that approach!
Photo of Lucas Villanueva

Lucas Villanueva

  • 282 Points 250 badge 2x thumb
Will do. Thank you for your guidance - I think we would have figured this out on our own eventually, but this definitely made it faster.