Send user to top of screen with action

Hurry! The sooner you finish the sooner they release copying tabs / components :stuck_out_tongue_closed_eyes:

3 Likes

kill-myself

6 Likes

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.

7 Likes

Superb!

So here is what I did:

  1. Created a user specific column (number type) to use as a toggle
  2. Initial state of that column is empty, so I set the visibility of all components to only show when that value is empty
  3. Then in the action sequence, the very first thing I do is increment that column (and everything on the screen disappears)
  4. Then the other actions in the sequence; add row, set columns, notification, etc
  5. 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 :crazy_face:), and saved me a bunch of work. Thanks!

4 Likes

:slight_smile:

Whilst this is a really nice solution, unfortunately the issue I described here makes it unusable from a user experience perspective. So I’m afraid it looks like I’ll have to go back to the multiple screens/clickety-click option :sob:

I’m sorry. What does it not do?

Functionally, I think it works fine.
But there seems to be some sort of race condition going on with the action sequence that ends up creating a very confusing user experience. It’s almost like the toggle is being flipped multiple times (it isn’t) and so the screen switches between the two states 2 or 3 times before finally settling down.

I’m not exactly sure what is going on, which is why I posted that other question. It could be because some actions are being fired before a previous action is completed, or maybe it’s a data sync issue with several actions firing one after the other. But without knowing what the expected behaviour should be, that’s just wild speculation.

This is a fairly extreme example (with 70+ components on the screen, all being toggled on/off rapidly), but I’ve also observed similar behaviour with just a handful of components.

Make the toggle invisible during the event.

You mean set component visibility according to the state of the toggle, yes?
That’s precisely what I’m doing.

I know these aren’t ideal solutions but until we have real fixes …I’m just trying to help you get to that point :slight_smile:

yep, I understand.
And I think that your solution is fine.
The problem isn’t with your solution, the problem appears to be that Glide is misbehaving and refusing to do what I’m asking/expecting it to do.

Send video of this naughty behavior, that may help me :imp:

The toggle isn’t a actual toggle is it? When I said toggle you just need it to toggle a cell’s value from like zero to 1 or true to false and when that value changes they go invisible, I didn’t mean an actual real toggle button. I apologize, I did say button, I was at work and distracted. I say button a lot recently, Glide overload I think.

haha, no…
This is how I set it up (from my earlier post):

I’ll see if I can make a video that shows the behaviour.

Okay, here is a video (I recorded this on my phone).

Notes:

  1. I added the “SCREEN ONE” & “SCREEN TWO” components at the top to make it more obvious what is going on. (NB: It’s the same screen both times, with component visibility being toggled)
  2. You’ll notice that when I tap the submit button (0:20), it initially switches to “SCREEN TWO”, and it looks like everything has worked.
  3. But then several seconds later (0:29) it flicks back to “SCREEN ONE” :scream:
  4. And then finally at 0:38 it bounces back to “SCREEN TWO”

The expected behaviour is that after I tap the submit button at the bottom of the screen, it should:

  • Hide all the choice components and text components associated with SCREEN ONE :white_check_mark:
  • Take me to the top of the screen :white_check_mark:
  • Expose the text components associated with SCREEN TWO :white_check_mark:
  • Reset all the choice components (clear values) :white_check_mark: (kinda…, but see below)
  • Expose all the choice components in their reset state :x:
  • STAY THERE! :x::x:

One thing to note is that when the choice components are unhidden, it’s obvious that the ‘clear values’ action hasn’t completed yet. And this is what leads me to believe there is a race condition going on.

Below is what the action sequence looks like:

2 Likes

How is you sheet setup? I would think that each question was a column and each row was a user. If that was the case your next screen would just link to same sheet but you would have it be the rest of the questions and since you stayed on the same row the action to set column would be able to set the entire row with 1 simple action. But since its multiple choice it causes the issue of that…

How far aside from these choices have you gotten with the project? Do you plan on turning this into a template? If not are you comfortable with using a script instead of glide logic?

Send me a copy of the sheet, just the sheet, I just need a list of your options, I think theres a much easier way to do this…Nevermind. I’m just reading them from the video.

This is what the choice options look like in the sheet:

Essentially, there are 66 pairs. Each pair fills one of the choice components.

When the selections are written back to the sheet, it looks like this:

The value in Col F indicates the “Feedback Type”.
Columns C & D are the user that provided the feedback, and the subject of the feedback, respectively.
In the video I shared earlier, in stage 1 the user is being asked to describe how the subject “Is”, and in stage 2 they are asked to describe how the subject “Could be”. Both set of responses are written to the same sheet.

I am developing a set of scripts that will process and summarise the results.

But none of this is really relevant (as far as I can see).