Skip to main content
Participating Frequently
Oct 25, 2010 11:41 AM UTC
Question

Navigation and Multiple Dynamically Added Views

I've been using the Navigation / NavigationParsley libraries for some time now to good effect. I was wondering if it was possible to use these libraries to allow navigation to multiple instances of the same view, where each view is dynamically added to the application by a user action. For example:-

We have an application which has a tab navigator in which users can load tabbed views. Each tab is the same view class, but with different data (like a web browser's tabbed interface). The user finds the information they'd like, and loads it into a tab. As such, each tab needs to have a different automationName configured on-the-fly after the user interaction. However the Navigation libraries seem to register destinations (the children of a container or tabs in this case)  upon finding a Waypoint. Unfortunately at this stage the container does not hold any children, as the user has yet to load the tabs.

Does anyone have suggestions on how to extend the functionality of these libraries to provide this sort of feature, or if this is already in consideration?

Many thanks,

Marc

This topic is closed to new replies. Start a new post to keep the conversation going.

8 replies

Anthony.R
Participant
Nov 10, 2010 9:02 PM UTC

Hello,

I've done something similar to this for an application I've been working on.  In my case I have an XML file that defines what modules should be loaded at runtime.  Once the modules are loaded I then also wire them up to Cairngorm navigation so that they work with Waypoints and Landmarks.

I've written up an entry on my blog about this solution if you'd like to have a look.

http://blogs.adobe.com/formnation/2010/11/controlling-navigation-of-dynamically-added-modules-in-cairngorm.html

Anthony

Translate
Participant
Nov 10, 2010 9:24 PM UTC

Hi anthony,

Although your solution may work, I dont like the idea of dispatching such events for managing the navigation points.

Actually, I'm expecting something more programmatic like:

NavigationManager.unregisterDestination(childToBeRemovedFromNavigation);

NavigationManager.registerDestination(childToBeAddedToNavigation);

Or something like that...

Translate
Anthony.R
Participant
Nov 10, 2010 9:32 PM UTC

Hi aalbericio9,

In my case this solution worked well since I only had to register all my destinations once.  I agree that in the case where you need to add and remove destinations multiple times dispatching an initialize event isn't the best idea.

At least is sounds like the Cairngorm folks are looking into adding support for the use case you are interested in.

Anthony

Translate
mpguerinAuthor
Participating Frequently
Nov 8, 2010 11:25 AM UTC

Anyone got any suggestions about this? Perhaps I need to rephrase my query a bit?

Translate
Participating Frequently
Nov 8, 2010 6:06 PM UTC

Hi,

yes, that is possible; very quick reply here: Some of our team are in the process of creating an isolated example of this.

Translate
mpguerinAuthor
Participating Frequently
Nov 8, 2010 6:27 PM UTC

Thanks for the response Alex, I look forward to seeing what your team up with as an example. Please keep me posted on this, as my efforts at attempting similar customisations lead to problems I was unable to resolve quickly.

Thanks again,

Marc

Translate