You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Fernando Wermus <fe...@gmail.com> on 2009/09/25 17:42:23 UTC
AjaxLink refresh and calling the constructor again.
On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <fernando.wermus@gmail.com
> wrote:
> Hi all,
>
> I have this:
>
>
> add(new PanelModulo("module","players","myPlayers.jpg", new
> PropertyModel(modelo,"players"), true){
>
> private static final long serialVersionUID = -3739151258006568848L;
>
> @Override public Panel getPanelContenido(String id, IModel modelo) {
>
> return new Resumen(id, modelo);
>
> }
>
> });
>
>
> I have a AjaxLink which takes the component module (component above) and
> added to the target. I see ajax wicket debug making the request but, I
> realized that It didn't call the constructor again, instead of It just re
> send the old render. I needed because the new PropertyModel(modelo,
> "players") would come with new data.
>
>
> What am I doing wrong?
>
>
> ps: The constructor call getPanelContenido() method.
>
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus
Re: AjaxLink refresh and calling the constructor again.
Posted by Pedro Santos <pe...@gmail.com>.
In the case of ListDataProvider, it is an very simple interface. I believe
the most repeaters with complexity enough that an simple mutable list can't
resolve, wish to have they own ListDataProvider.
If you figure out an generic ListDataProvider to complex data
calculation/search/access, let us know...
On Fri, Sep 25, 2009 at 3:21 PM, Fernando Wermus
<fe...@gmail.com>wrote:
> Pedro,
> I chose the second option and now is working. What I do not understand
> is why there isnt a ListDataProvider (provided by wicket) that accepts
> models.
>
> On Fri, Sep 25, 2009 at 2:23 PM, Pedro Santos <pe...@gmail.com> wrote:
>
> > 1 - be sure to work on those list items. You are working on new ones?
> Keep
> > an referent to this list, call list.clear() and add those new items on
> it.
> >
> > 2 - how about to implement your own IDataProvider? ListDataProvider is a
> > very simple implementation that helds one single list
> >
> > On Fri, Sep 25, 2009 at 1:52 PM, Fernando Wermus
> > <fe...@gmail.com>wrote:
> >
> > > I do.
> > > I realized the following:
> > >
> > > ListDataProvider which I extend to get the data show, doesnt take
> > models!!
> > >
> > >
> > > It only takes list. When ayaxlink is called, the ListDataProvider is
> > > refreshed but with old data because It lacks of a model.
> > >
> > > There is a mail talking about this issue.
> > >
> > >
> > > http://osdir.com/ml/users-wicket.apache.org/2009-03/msg01175.html
> > >
> > >
> > >
> > > On Fri, Sep 25, 2009 at 1:42 PM, Pedro Santos <pe...@gmail.com>
> > wrote:
> > >
> > > > ajax wicket debug making the request but, I realized that It didn't
> > call
> > > > the constructor again
> > > >
> > > > the components add to ajax request target already are instantiated.
> You
> > > > need
> > > > to resolve the complexity of new data refresh on your component
> model.
> > > See
> > > > if at some point you are updating players property in an object
> outside
> > > the
> > > > model.
> > > >
> > > > On Fri, Sep 25, 2009 at 12:42 PM, Fernando Wermus <
> > > > fernando.wermus@gmail.com
> > > > > wrote:
> > > >
> > > > > On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <
> > > > > fernando.wermus@gmail.com
> > > > > > wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > I have this:
> > > > > >
> > > > > >
> > > > > > add(new PanelModulo("module","players","myPlayers.jpg", new
> > > > > > PropertyModel(modelo,"players"), true){
> > > > > >
> > > > > > private static final long serialVersionUID =
> -3739151258006568848L;
> > > > > >
> > > > > > @Override public Panel getPanelContenido(String id, IModel
> modelo)
> > {
> > > > > >
> > > > > > return new Resumen(id, modelo);
> > > > > >
> > > > > > }
> > > > > >
> > > > > > });
> > > > > >
> > > > > >
> > > > > > I have a AjaxLink which takes the component module (component
> > above)
> > > > and
> > > > > > added to the target. I see ajax wicket debug making the request
> > but,
> > > I
> > > > > > realized that It didn't call the constructor again, instead of It
> > > just
> > > > re
> > > > > > send the old render. I needed because the new
> PropertyModel(modelo,
> > > > > > "players") would come with new data.
> > > > > >
> > > > > >
> > > > > > What am I doing wrong?
> > > > > >
> > > > > >
> > > > > > ps: The constructor call getPanelContenido() method.
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Fernando Wermus.
> > > > > >
> > > > > > www.linkedin.com/in/fernandowermus
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Fernando Wermus.
> > > > >
> > > > > www.linkedin.com/in/fernandowermus
> > > > >
> > > > > --
> > > > > Fernando Wermus.
> > > > >
> > > > > www.linkedin.com/in/fernandowermus
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Pedro Henrique Oliveira dos Santos
> > > >
> > >
> > >
> > >
> > > --
> > > Fernando Wermus.
> > >
> > > www.linkedin.com/in/fernandowermus
> > >
> >
> >
> >
> > --
> > Pedro Henrique Oliveira dos Santos
> >
>
>
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>
--
Pedro Henrique Oliveira dos Santos
Re: AjaxLink refresh and calling the constructor again.
Posted by Fernando Wermus <fe...@gmail.com>.
Pedro,
I chose the second option and now is working. What I do not understand
is why there isnt a ListDataProvider (provided by wicket) that accepts
models.
On Fri, Sep 25, 2009 at 2:23 PM, Pedro Santos <pe...@gmail.com> wrote:
> 1 - be sure to work on those list items. You are working on new ones? Keep
> an referent to this list, call list.clear() and add those new items on it.
>
> 2 - how about to implement your own IDataProvider? ListDataProvider is a
> very simple implementation that helds one single list
>
> On Fri, Sep 25, 2009 at 1:52 PM, Fernando Wermus
> <fe...@gmail.com>wrote:
>
> > I do.
> > I realized the following:
> >
> > ListDataProvider which I extend to get the data show, doesnt take
> models!!
> >
> >
> > It only takes list. When ayaxlink is called, the ListDataProvider is
> > refreshed but with old data because It lacks of a model.
> >
> > There is a mail talking about this issue.
> >
> >
> > http://osdir.com/ml/users-wicket.apache.org/2009-03/msg01175.html
> >
> >
> >
> > On Fri, Sep 25, 2009 at 1:42 PM, Pedro Santos <pe...@gmail.com>
> wrote:
> >
> > > ajax wicket debug making the request but, I realized that It didn't
> call
> > > the constructor again
> > >
> > > the components add to ajax request target already are instantiated. You
> > > need
> > > to resolve the complexity of new data refresh on your component model.
> > See
> > > if at some point you are updating players property in an object outside
> > the
> > > model.
> > >
> > > On Fri, Sep 25, 2009 at 12:42 PM, Fernando Wermus <
> > > fernando.wermus@gmail.com
> > > > wrote:
> > >
> > > > On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <
> > > > fernando.wermus@gmail.com
> > > > > wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > I have this:
> > > > >
> > > > >
> > > > > add(new PanelModulo("module","players","myPlayers.jpg", new
> > > > > PropertyModel(modelo,"players"), true){
> > > > >
> > > > > private static final long serialVersionUID = -3739151258006568848L;
> > > > >
> > > > > @Override public Panel getPanelContenido(String id, IModel modelo)
> {
> > > > >
> > > > > return new Resumen(id, modelo);
> > > > >
> > > > > }
> > > > >
> > > > > });
> > > > >
> > > > >
> > > > > I have a AjaxLink which takes the component module (component
> above)
> > > and
> > > > > added to the target. I see ajax wicket debug making the request
> but,
> > I
> > > > > realized that It didn't call the constructor again, instead of It
> > just
> > > re
> > > > > send the old render. I needed because the new PropertyModel(modelo,
> > > > > "players") would come with new data.
> > > > >
> > > > >
> > > > > What am I doing wrong?
> > > > >
> > > > >
> > > > > ps: The constructor call getPanelContenido() method.
> > > > >
> > > > >
> > > > > --
> > > > > Fernando Wermus.
> > > > >
> > > > > www.linkedin.com/in/fernandowermus
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Fernando Wermus.
> > > >
> > > > www.linkedin.com/in/fernandowermus
> > > >
> > > > --
> > > > Fernando Wermus.
> > > >
> > > > www.linkedin.com/in/fernandowermus
> > > >
> > >
> > >
> > >
> > > --
> > > Pedro Henrique Oliveira dos Santos
> > >
> >
> >
> >
> > --
> > Fernando Wermus.
> >
> > www.linkedin.com/in/fernandowermus
> >
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus
Re: AjaxLink refresh and calling the constructor again.
Posted by Pedro Santos <pe...@gmail.com>.
1 - be sure to work on those list items. You are working on new ones? Keep
an referent to this list, call list.clear() and add those new items on it.
2 - how about to implement your own IDataProvider? ListDataProvider is a
very simple implementation that helds one single list
On Fri, Sep 25, 2009 at 1:52 PM, Fernando Wermus
<fe...@gmail.com>wrote:
> I do.
> I realized the following:
>
> ListDataProvider which I extend to get the data show, doesnt take models!!
>
>
> It only takes list. When ayaxlink is called, the ListDataProvider is
> refreshed but with old data because It lacks of a model.
>
> There is a mail talking about this issue.
>
>
> http://osdir.com/ml/users-wicket.apache.org/2009-03/msg01175.html
>
>
>
> On Fri, Sep 25, 2009 at 1:42 PM, Pedro Santos <pe...@gmail.com> wrote:
>
> > ajax wicket debug making the request but, I realized that It didn't call
> > the constructor again
> >
> > the components add to ajax request target already are instantiated. You
> > need
> > to resolve the complexity of new data refresh on your component model.
> See
> > if at some point you are updating players property in an object outside
> the
> > model.
> >
> > On Fri, Sep 25, 2009 at 12:42 PM, Fernando Wermus <
> > fernando.wermus@gmail.com
> > > wrote:
> >
> > > On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <
> > > fernando.wermus@gmail.com
> > > > wrote:
> > >
> > > > Hi all,
> > > >
> > > > I have this:
> > > >
> > > >
> > > > add(new PanelModulo("module","players","myPlayers.jpg", new
> > > > PropertyModel(modelo,"players"), true){
> > > >
> > > > private static final long serialVersionUID = -3739151258006568848L;
> > > >
> > > > @Override public Panel getPanelContenido(String id, IModel modelo) {
> > > >
> > > > return new Resumen(id, modelo);
> > > >
> > > > }
> > > >
> > > > });
> > > >
> > > >
> > > > I have a AjaxLink which takes the component module (component above)
> > and
> > > > added to the target. I see ajax wicket debug making the request but,
> I
> > > > realized that It didn't call the constructor again, instead of It
> just
> > re
> > > > send the old render. I needed because the new PropertyModel(modelo,
> > > > "players") would come with new data.
> > > >
> > > >
> > > > What am I doing wrong?
> > > >
> > > >
> > > > ps: The constructor call getPanelContenido() method.
> > > >
> > > >
> > > > --
> > > > Fernando Wermus.
> > > >
> > > > www.linkedin.com/in/fernandowermus
> > > >
> > >
> > >
> > >
> > > --
> > > Fernando Wermus.
> > >
> > > www.linkedin.com/in/fernandowermus
> > >
> > > --
> > > Fernando Wermus.
> > >
> > > www.linkedin.com/in/fernandowermus
> > >
> >
> >
> >
> > --
> > Pedro Henrique Oliveira dos Santos
> >
>
>
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>
--
Pedro Henrique Oliveira dos Santos
Re: AjaxLink refresh and calling the constructor again.
Posted by Fernando Wermus <fe...@gmail.com>.
I do.
I realized the following:
ListDataProvider which I extend to get the data show, doesnt take models!!
It only takes list. When ayaxlink is called, the ListDataProvider is
refreshed but with old data because It lacks of a model.
There is a mail talking about this issue.
http://osdir.com/ml/users-wicket.apache.org/2009-03/msg01175.html
On Fri, Sep 25, 2009 at 1:42 PM, Pedro Santos <pe...@gmail.com> wrote:
> ajax wicket debug making the request but, I realized that It didn't call
> the constructor again
>
> the components add to ajax request target already are instantiated. You
> need
> to resolve the complexity of new data refresh on your component model. See
> if at some point you are updating players property in an object outside the
> model.
>
> On Fri, Sep 25, 2009 at 12:42 PM, Fernando Wermus <
> fernando.wermus@gmail.com
> > wrote:
>
> > On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <
> > fernando.wermus@gmail.com
> > > wrote:
> >
> > > Hi all,
> > >
> > > I have this:
> > >
> > >
> > > add(new PanelModulo("module","players","myPlayers.jpg", new
> > > PropertyModel(modelo,"players"), true){
> > >
> > > private static final long serialVersionUID = -3739151258006568848L;
> > >
> > > @Override public Panel getPanelContenido(String id, IModel modelo) {
> > >
> > > return new Resumen(id, modelo);
> > >
> > > }
> > >
> > > });
> > >
> > >
> > > I have a AjaxLink which takes the component module (component above)
> and
> > > added to the target. I see ajax wicket debug making the request but, I
> > > realized that It didn't call the constructor again, instead of It just
> re
> > > send the old render. I needed because the new PropertyModel(modelo,
> > > "players") would come with new data.
> > >
> > >
> > > What am I doing wrong?
> > >
> > >
> > > ps: The constructor call getPanelContenido() method.
> > >
> > >
> > > --
> > > Fernando Wermus.
> > >
> > > www.linkedin.com/in/fernandowermus
> > >
> >
> >
> >
> > --
> > Fernando Wermus.
> >
> > www.linkedin.com/in/fernandowermus
> >
> > --
> > Fernando Wermus.
> >
> > www.linkedin.com/in/fernandowermus
> >
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus
Re: AjaxLink refresh and calling the constructor again.
Posted by Pedro Santos <pe...@gmail.com>.
ajax wicket debug making the request but, I realized that It didn't call
the constructor again
the components add to ajax request target already are instantiated. You need
to resolve the complexity of new data refresh on your component model. See
if at some point you are updating players property in an object outside the
model.
On Fri, Sep 25, 2009 at 12:42 PM, Fernando Wermus <fernando.wermus@gmail.com
> wrote:
> On Fri, Sep 25, 2009 at 12:38 PM, Fernando Wermus <
> fernando.wermus@gmail.com
> > wrote:
>
> > Hi all,
> >
> > I have this:
> >
> >
> > add(new PanelModulo("module","players","myPlayers.jpg", new
> > PropertyModel(modelo,"players"), true){
> >
> > private static final long serialVersionUID = -3739151258006568848L;
> >
> > @Override public Panel getPanelContenido(String id, IModel modelo) {
> >
> > return new Resumen(id, modelo);
> >
> > }
> >
> > });
> >
> >
> > I have a AjaxLink which takes the component module (component above) and
> > added to the target. I see ajax wicket debug making the request but, I
> > realized that It didn't call the constructor again, instead of It just re
> > send the old render. I needed because the new PropertyModel(modelo,
> > "players") would come with new data.
> >
> >
> > What am I doing wrong?
> >
> >
> > ps: The constructor call getPanelContenido() method.
> >
> >
> > --
> > Fernando Wermus.
> >
> > www.linkedin.com/in/fernandowermus
> >
>
>
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>
--
Pedro Henrique Oliveira dos Santos