Confirm deletion in modal screen how to go back 2 stacks steps or rewind to home screen?

@Nicolas “seems you are a specialist on handling stacks”. Maybe you have a solution for my app.

Lets say I have a simple database model with only one collection “students”.

The home screen lists all students.

If you press + button you can add new students If you select a student by pressing the right arrow you can edit the student or delete the student.

If you want to delete the student you need to press the right icon in the header which opens a modal confirmation screen

Now if the user presses the DELETE button the following action is triggered

The problem now is the record is deleted correct the modal screen is closed but the app returns to the “ModifyStudent” screen where the deleted user is still presented. This screen should now also trigger automatically a “Link back” or the stack should be rewinded to the “Home” screen which I would do in by example a SWIFT IOS app.

Is there a solution to fix that common task?

Hey there @RonDeveloper

There aren’t necessarily “stacks” like you would think with using Adalo when you have to scroll back to reload data from the initial list screen. You can simply switch your link from “Back” to the “Home” screen with a “Float Right” transition for a similar appearance to the back transition.

I think there are stacks in a Adalo. The program flow I showed is simplified. If the Home screen has a back button too, where in the logic you should go bak to an other menu and you link not back from the confirmation screen but direct to the home screen you will get back to the modal window if you press back on the home screen and not to the correct screen that’s the problem in Adalo. You need to link back screen to screen to get the correct navigation logic.

I understand exactly what you’re saying. If the record has been deleted, it should skip back 2 steps to skip the record detail screen and back to the list screen.

However, the link “:arrow_left: Back” is very literal in Adalo.

Here’s a quick workaround:
You can put a hidden countdown timer (make the colors transparent) with a visibility setting sometimes visible if ‘record name’ or ‘record id’ (you know, whichever parameter you have that’s a required field) > is equal to > empty. Add an action to this countdown timer to link back. This will perform the linking back action twice when a record is deleted, thus eliminating the ‘stack’

Thanks for your answer, I appreciate that very much. I’ve similar approach. I’ve implemented a message group with sometimes visible telling the user “recored deleted successfully” with a button OK. If the user taps OK I’m triggering an action “Link back”. However a rewind stack to any screen would be helpful.

I’d like to test your recommended workaround with the countdown timer. If I understand correctly, the shortest time for the countdown timer is 1 second, which means there is a 1 second delay before the “automatic back trigger” will fire, correct? :thinking:

Please upvote the feature request

As a workaround you can have a true/false field in Users table ‘GoBack’
Update Logged in user 'Go Back = True
Then a condition on the page actions of the page you want to skip. If Logged in user ‘Go Back’ = True then Link Back. Unfortunately with Adalo apps being slow it is sometimes still possible to click another element on the screen before the automatic ‘back’ has happend.

@RonDeveloper as you rightly say, you can’t just link back to home because then your user can go back to the submit screen and you get double records and all sorts of trouble.

1 Like

I agree with you. This is a fundamental feature that should be implemented soon.

I still stand by my first reply. Adalo doesn’t “stack” pages as you think and it doesn’t create lag by linking to different screens instead of going back twice.

From my testing with a large app, going to a new screen after deleting a previous record does not hinder performance. nor does it double any records as @Rozza has stated. I have no idea what @Rozza meant by “double records and all sorts of trouble” as I’ve never run into any issues linking back to the initial list screen after a record deletion modal.

The “Back” link acts exactly like a browser back button. The information on the previous screen is still refreshed on-load after a link back action.

If they were, in fact, stacks, then when clicking on a record on a long list and clicking back would retain its location on the viewport, but it doesn’t. The entire screen and list are refreshed and the user is scrolled to the top of the screen.

So that means: creating the countdown timer or the on-page action with the conditions are both much slower methods for your users than simply linking to the initial list screen after the record has been deleted.

The problem from my point of view is if you link back to the initial list and on that list screen is a back button too the user will get to the screen in my app “are you sure delete record” even if the record has already been deleted.

A second example: I have a popup menu with a few options which the user can select like: delete, insert, view list etc. If the user selects an option I will link to the corresponding screen. NOW if the user goes back the popup menu is still open, which I feel is not the gold standard in an app. The menu should be closed if the user has selected a menu option.

Or am I missing something?

Correct, so instead of using a back link there, send them to a specific screen.

So don’t use back in this situation either, the same thing. Use a link to your specific record details screen instead of linking back.

Ohhhh. Now I understand :wink: what you mean! I’ll replace any “link back” links to the screen that the back option should lead to and see what happens!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.