How can I have multiple routable master/detail views simultaneously visible?


For example, the main view is of a widget. A widget can have multiple texts. The ‘preview’ part of the page shows its texts, and another shows an editor of a single text. So far, standard. But a widget can also have multiple cliparts. The clipart selector is always visible, and the preview part of the page shows all the widgets cliparts, and a single clipart can be selected (& moved, deleted etc.)

How can we build the router so that we can route to:

/texts/new /texts/1 or /cliparts/new /cliparts/1

but both the text editor and clipart editor are always visible? Is there a way to do this in a parent route, or is the only way to have each leaf route implement renderTemplate and do all the renders of all the editors?

Or do we need to introduce a generic model that encompasses all the editable things a widget can have? In this example that makes sense semantically, but in our actual app, not so much.

Route renderTemplate with two Outlets

The way that I have ended up doing this is to use {{render Widget}} helpers in a top-level route, and the routes for the widgets override renderTemplate to do nothing.

I hope that some day outlets give some sort of control over when/whether they are disconnected, or renderTemplate in a route gives a means to NOT disconnect the outlets other non-parent routes rendered into.