Is anyone aware of a way to send a user back to the top of the current screen using an action?
I have a screen with a very long list of choice components in segmented mode (66 of them, to be exact), then at the end of the list is a ‘Submit’ button with a compound action attached. As part of that action sequence, I’d like to keep the user on the current screen, but send them back to the very top.
Can that be done?
I tried Link to Screen → This Item, but that reloads the screen with default component layout, which isn’t what I want.
I’m not aware of a way to do that currently @Darren_Murphy but I’d like to know myself! What does the Submit button currently do? Add a row? If so, where are the source data values coming from?
Yeah, it adds a row. The source data comes from a series of 66 user-specific columns which are tied to all the choice components. These get written out to a new row, and then all the user-specific values are cleared. What I want to do next is send them back to the top of the screen and ask them to do it all again (because, I’m a sadist ) …the 2nd pass actually writes another new row with a few values changed.
This would be a great use case for the floating button that @Jeff_Hager came up with a while back. It could be added to every screen for accessibility purposes so that users can return to the top of a screen at any time.
I don’t know a way to navigate to a specific component, so I don’t think this is currently possible without some more accessibility features added.
Yeah, agreed.
It could be argued (probably correctly), that lots of vertical scrolling is a sign of bad design. And normally I’d try to avoid that. But sometimes you get forced into a corner and you’re left with no choice…
I guess the ideal here would be to have a tabindex property on components, then you could simply navigate to any component on the screen. Maybe a feature request?
You could use a button that hides all items on screen the unhides them, it will take you to the top. If toggle is true then. and it just toggles does 1 action in between then toggles again. your done.
Created a user specific column (number type) to use as a toggle
Initial state of that column is empty, so I set the visibility of all components to only show when that value is empty
Then in the action sequence, the very first thing I do is increment that column (and everything on the screen disappears)
Then the other actions in the sequence; add row, set columns, notification, etc
And then finally, I do a set columns -> clear contents on the toggle column, and all components are back and we’ve been sent to the top of the screen.
There is a little bit of a delay between steps 3 and 5, so what I did was create another component with the opposite visibility condition (when toggle is not empty), and used this to provide some feedback for the user, eg. “Please be patient while we crunch your data…”
Great solution, (obvious really ), and saved me a bunch of work. Thanks!