Iโve needed to switch to a detail view from form views in order to save data frequently - weโve lost data when the users keep a screen open during long routes.
Iโm needing to keep the user on the screen until key data is completed and the design has worked out thus far but unfortunately the user has access to this back button where they can navigate away from the screen. Iโd also like to keep them from navigating away from the screen until all required fields are entered.
Are there any ways of doing this? Thanks
The only way I know to โdisableโ it, is to put the view in question on the bottom bar. Primary views always reset that spot to be the hamburger menu.
A possible trick, though I donโt know if it will work, could be placing it as a primary but then conditionally hiding it. Iโm not sure what AppSheet would do in that instance.
Thanks Dave I have a few ideas on conditionally hiding it but what has worked best for you?
If it works, I would just put FALSE in the Show If, especially if you donโt ever want it to actually be visible on the bar.
Got it. Thanks Dave
Hi Dave, just wanted to make sure I didnโt miss anything here. I placed the form on the bottom menu to make it a โprimaryโ view and hid the view but Iโm still getting the back arrow. We simply want to make it a free-standing form and not include it in the standard navigation sequence. Is there another setting missed? .
Ah. Nope, seems like you did it right. But it also seems like AppSheet is too smart. It must know that itโs still hidden and therefore should show the back button.
So, new idea, try keeping everything as it is except switch the viewโs Show If to: CONTEXT("View")="Route_Begin_Detail"
This should make the detail view visible on the bottom bar only if they are already on that view by some other method. That means if they click on it, nothing happens, they are already there. Because the primary view is visible, the back button should not be present and should be the menu icon instead.
No luck
Hmm, well then, Iโm stumped. Because this is basically the opposite of a problem I helped solve a while ago. Where another user was trying to LINKTOFILTEREDVIEW to a view that was on his primary and thus was messing up his ability to go back.
Iโm not sure how to force AppSheet to recognize it shouldnโt put a back button in this case. Perhaps the Show If logic is calculated after the logic for the back/menu button. In which case, does initiating a sync make the back button go away once youโre on that view already?
Iโve seen that as well. Sync will in a sense reset the form - eliminating the arrow. Since the sync disrupts the flow on the form. Is there a way to officially โcloseโ a form - removing it from the navigation sequence? Iโve not seen anything referencing a close in AppSheet before - just thinkingโฆ Iโll try a few more things and report back for the record.
Thanks Dave
Ah, then the only suggestion I have would be to force a sync upon the initial navigation to that view. That should hopefully do it.
Hi Dave, just for the books looks like the sync did not work. I set up the following on the LINKtoView back to the Main Menu to force the sync. The system did sync but the screen still displayed the back arrow.
Well, Iโm more or less completely stumped on it. I canโt think of any other settings combinations that would do it. All I know is that if the view the user is on is a primary view, AppSheet should theoretically be showing the menu button instead of back option. But, there must be some other logic issue at play. Perhaps support could shed more light on it.
(out of curiousity, did you attempt to clear your editorโs browser cache? just in case its a weird thing like that)
Iโll give clearing the cache a try Sent a note over to support too. Keep you posted.
A million thanks Dave!
No.
Hi @Daisy_Ramirez and @Bahbus I have the same problem. Did you find a solution to prevent user from using back button?
What Iโve done now is, I changed the viewโs display name to:
โDonโt press the back arrowโ
Nothing new from me.
Hi Fabian, I ended up โhidingโ the Cancel button and displaying it only on the screens where its appropriate. Hereโs the expression I have in place:
IFS(
CONTEXT(View)=โRoute_Beginโ," โ,
CONTEXT(View)=โRoute_Collectionโ,โ โ,
CONTEXT(View)=โBIN_Move_Siteโ,โ โ,
CONTEXT(View)=โBIN Move Activityโ,โ ",
TRUE,โCancelโ)
The Cancel option is still there so if a user presses anywhere in the area they can access it but we have not had any issues. Fingers crossed it stays that way
See where Iโve set this up below:
More efficient, especially for larger lists of possibilities, and safer:
IF(
IN(
CONTEXT("View"),
LIST(
"BIN Move Activity",
"BIN_Move_Site",
"Route_Begin",
"Route_Collection"
)
),
"",
"Cancel"
)
Perfect! Will update now โ Thanks Steve!
User | Count |
---|---|
38 | |
35 | |
27 | |
23 | |
18 |