flex4logoutnavigatetourl

Flex logout functionality in AIR application


After login, I am navigating from Login ViewStack to Application ViewStack in Flex 4 AIR application.

In the Application ViewStack, datagrids and other controls are populated with data from server.

Now, on logout, I am switching back to Login ViewStack. However, on login again, I can see data populated earlier.

How could I reset all the fields in Application ViewStack on logout. I thought of 2 approaches:

1. Reset all fields in the Application ViewStack individually. But, then for every addition of control, I have to update logout.
2. Could I use navigateToURL() in AIR application to solve this problem?

Solution

  • From your description I'm a little confused - I'm assuming that your application ViewStack has a number of different views, and you need to have each of them clear their state when logout occurs.

    I can think of a couple of ideas: 1) Have each of the views add an event listener for a logout event, and dispatch the event when logout occurs. The event listener would clear the data when logout occurs.

    2) Iterate through the ViewStack children, and call a logout method on each one.

    My personal preference is for (1), since (2) requires that all the children of the ViewStack implement the logout method - too tightly coupled for reuse.