not if your change of the flag results in change to the page version. try setversioned(false) on your component, if that doesnt help then store your state outside a model in a field or in metadata.
-igor On Tue, Jan 25, 2011 at 11:41 AM, Brown, Berlin [GCG-PFS] <berlin.br...@primerica.com> wrote: > "this still doesn't explain the need to switch it to disabled in > onafterrender... " > > Because in my traffic light scenario, I want to return to the original > state/value after the component has been rendered. If it were a traffic > light, I guess once it turns red, it has to return to disabled. > > Is there an other type of event method that I could use to set a value, > render the component and then return to the original value? > > > -----Original Message----- > From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] > Sent: Tuesday, January 25, 2011 2:32 PM > To: users@wicket.apache.org > Subject: Re: Call onAfterRender and change default model without error > > this still doesnt explain the need to switch it to disabled in > onafterrender... > > -igor > > On Tue, Jan 25, 2011 at 11:19 AM, Brown, Berlin [GCG-PFS] > <berlin.br...@primerica.com> wrote: >> 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 >> >> > > --------------------------------------------------------------------- > 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