Here is a use-case for my request below: Let's say I am implementing a traffic stop light Wicket component. There are only two states, on and off. The default state is off but I can manually change the state to on. (E.g. some component like a link outside of the traffic light wicket component).
WicketTrafficLight extends Panel { WicketTrafficLight() { super("trafficLight"); setDefaultModel(new Model<String>("EnabledLight")); } onAfterRender() { ... setDefaultModel(new Model<String>("DisabledLight")); } } Some Other Panel : addAjaxLink() { onClick() { setDefaultModel(new Model<String>("EnabledLight")); } } ... <span wicket:id="trafficLight"></span> -----Original Message----- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, January 25, 2011 1:01 PM To: users@wicket.apache.org Subject: Re: Call onAfterRender and change default model without error you didnt answer my question -igor On Tue, Jan 25, 2011 at 9:58 AM, Brown, Berlin [GCG-PFS] <berlin.br...@primerica.com> wrote: > If we can update the model object and changes its value without problem. > Shouldn't we also be able to assign a new model? > > onBeforeRender() { > ... > this.setDefaultModel(new ReadonlyStaticModel("state1")); > } > > onAfterRender() { > this.setDefaultModel(new ReadonlyStaticModel("state2-reset")); > } > > I guess I could use the backing model object as opposed to the model to > change the state. > ... Changed to: > > onBeforeRender() { > ... > getDefaultModel().set("state1")); > } > > onAfterRender() { > getDefaultModel().set("state2")); > } > > > -----Original Message----- > From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] > Sent: Tuesday, January 25, 2011 12:40 PM > To: users@wicket.apache.org > Subject: Re: Call onAfterRender and change default model without error > > whats the usecase? > > -igor > > On Tue, Jan 25, 2011 at 9:37 AM, Brown, Berlin [GCG-PFS] > <berlin.br...@primerica.com> wrote: >> I tried to do the following below but I got an error could not update >> component hierarchy. >> WicketMessage: Cannot modify component hierarchy after render phase >> has started (page version cant change then anymore) >> >> Is there an event method (like onAfterRender) that I could use >> without error? >> >> Component: >> >> onBeforeRender() { >> ... >> this.setDefaultModel(...); >> } >> >> onAfterRender() { >> this.setSetDefaultModel(...); >> } >> >> Berlin Brown (POL) >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org