Think about presenting your "subwizards" in a modal window and keeping them decoupled from your main (i.e. top-level) wizard. For instance, in your main wizard's "associate a doohickey" step, the user could click a "create doohickey" link/button that would open the doohickey creation wizard in a modal window without leaving the the main wizard's current step. Obviously, the wizards need to communicate in some way, but that could be as simple as passing your main wizard's backing model (e.g. a WidgetBuilderBean) into each subwizard and letting the subwizard add to that model object in its onFinish method.

We wrote a shipment receiving wizard a couple of months ago and "spliced in" a subwizard to add shipment contents. Even though we added support for multiple overview bars to try to make it clear when you're in the subwizard instead of the main wizard, it's still a confusing UI in my opinion. In retrospect, displaying that subwizard in a modal window would be much more intuitive for the user and easier to implement. We'll probably rewrite it that way eventually...


-Ryan
On Sep 26, 2007, at 7:02 AM, Matt Jensen wrote:


I don't think you're missing anything.  Yes, I could do that. :-)

My real questions are 1) is there a better way, and 2) if not, and if I were to implement this, does anybody have opinions on how to set it up so that it will be useful to the widest audience possible? I imagine that somebody, somewhere, would have a use for this functionality. I would like to make it reusable and contribute it back--the project deserves my help. But I'm too new to Wicket to be 100% certain that I know the "right way" to do it.

That's why I posted to the dev list. Plenty of folks here should know the right/most widely applicable way to do it.

Thanks for your response!

--Matt

Maeder Thomas wrote:
 Hi Matt,

Perhaps I'm missing something, but why don't you just make your own
IWizardModel implementation? It would hold your wizard steps and
subwizards and map whatever behaviour you want to the IWizardModel
interface.
Thomas



Reply via email to