Add "View selected" to list of behaviors that can trigger event actions

The following are the “Event action” choices for a deck view. I think the choices are the same or similar for table view and some other views.

2X_a_ace9e7d8d2fcb90d89d67c5332d441e49bb15f91.png

What we don’t have is a “View selected” or “View accessed” trigger. I would like to have an action that makes sure that the latest information from the Google sheet is displayed properly in a detail view that is accessed from the bottom menu (that is, is a “Primary View”). Thanks for your consideration.

Status Open
7 7 1,027
7 Comments
Koichi_Tsuji
Participant V

”makes sure that the latest information” sounds bit tricky from the prospective of web app like Appsheet. yes, it is no doubt appreciated if use is always seeing the most latest data when they access to the app. To do that, I assume Appsheet has setting “Sync upon launching” to make sure the app is reading most latest data when the app is launched by the user. However, this is not perfect solutions, as the app is no way to detect the change swiftly if the other user change the data while we are loggin in to the app.

The perfect world should be “Appsheet is ability and capability of converting ANT data source to REALTIME data base” When the data source is changed, then the change is pushed to the client, i.e user device. Some data base like Google Firebase, can do that, but REALTIME DB sort of features should be achieved by Appsheet dev team, no matter what DB the app creator connects!

This should be super challenging tasks, but I hope this will happen and keep fingers crossed.

GreenFlux
Participant V

@Kirk_Masden, you can add “&”&at="&(NOW()+1)" to the end of any DEEPLINK to force a sync prior to the view loading.
LINKTOVIEW("ViewName")&"&at="&(NOW()+1)

However, you would need an action button to send the user to this view first, so it would not be triggered by simply clicking the view in the bottom nav bar. It will get you close to what you want though.

Kirk_Masden
Participant V

@tsuji_koichi and @GreenFlux! Thanks to both of you for your responses. To clarify, I have found that there are situations where writing a value to a sheet can force AppSheet to recalculate that value immediately and insure that the value showing on the screen is not based on out-of-date data:

This little “trick” tends to be necessary when data is spread over different sheets or tables, which seems to get in the way of instant recalculation of data sometimes.

My interest in being able to invoke an action when a view is accessed from the bottom menu has to do with my desire to force such a recalculation. Of course, forcing a sync would do the same thing but, unless I’m mistaken, such a forced sync would cause the user to wait. An action that says “write the sum of A and B to the sheet” instantly insures that the sum is displayed correctly without requiring the user to wait for the sync to finish.

Kirk_Masden
Participant V

Thanks for this @GreenFlux! I thought I wrote a response but I can’t see it now.

I just learned about “&at=”&(NOW()+1) today. It’s a good idea but, as you say, it doesn’t work when the view is accessed from the bottom menu.

Another way to do what I want to do when I use a deep link for navigation is to use a group action and put my write-to-sheet action and the navigation action inside it.

Kirk_Masden
Participant V

I felt the need for this again today. I would like to get rid of an “expensive” virtual column that includes a SELECT() expression. It is needed to trigger a warning message in a “detail” view if the number of a certain type of record falls below a certain level. If I could make the app implement an action using this expression when the detail view is selected from the bottom bar, I could get rid of the virtual column. Without that capability, I think I need to leave the virtual column, even though it slows down the sync.

Status changed to: Open
Pratyusha
Community Manager
Community Manager
 
Kirk_Masden
Participant V

I was thinking I wanted this again today.  It would allow me to get rid of an expensive virtual column because I could just use an action to make the app write it to sheet when this view is accessed from the bottom menu.