Hi Manfred,

The #refresh(PartialPageUpdateHandler) methods are useful if you update the
specific component.
They do not help if you repaint a parent of such a component.
In your case you will need to destroy the component (grid, chart) in your
action callback (e.g. onUpdate(), onClick()).
You can do this in your code or with AjaxRequestTarget.Listener. If you do
the Listener then you can donate it to Wicket JQuery UI project.

On Tue, Sep 10, 2019 at 10:52 AM Manfred Bergmann <m...@software-by-mabe.com>
wrote:

> Hi Sebastian.
>
> Thanks for the additional explanation.
> But I'm not fully sure for how this is supposed to work in my case given
> this structure/hierarchy:
> page -> panel(a) -> panel(b) -> grid/chart
>
> Where panel (a) is replaced. Any instance of panel (b) can have a
> grid/chart
> but it can also host something else (depends on what is being displayed).
> I understand that when panel (a) is replaced it is garbage collected and
> all
> content on it as well in which case a reload for the grid/chart on panel(b)
> won't work?
>
>
> Regards,
> Manfred
>
>
>
>
> Sebastien wrote
> > Hi Manfred,
> >
> > Sorry, my previous answer was incomplete.
> > Kendo components do usually have two methods for ajax, #reload and
> > #refresh.
> > Reload aims to reload the component (ie reattach to the dom) while
> refresh
> > aim to refresh the data only.
> > IIRC, grid and chart are different in the sense that grid does have its
> > datasource aware of the request cycle so it is safe to reattach/reload
> the
> > component, the datasource will be destroyed from the dom. That's
> > unfortunately not the case of the chart (you can open an issue, I can try
> > to figure out if it's achievable).
> > One nice way to refresh the data without having the reload/reattach the
> > component is to use the event bus. Your master page/component will
> > send/broadcast a RefreshEvent or RefreshChatEvent that will be catched by
> > the component hosting the chart (or the chart itself if you have
> overriden
> > it). Then just call refesh...
> >
> > Thanks and best regards,
> > Sebastien
> >
> >
> > On Mon, Sep 9, 2019, 23:29 Manfred Bergmann &lt;
>
> > mb@
>
> > &gt; wrote:
> >
> >> Hi Sebastian.
> >>
> >> OK, but I don't really see how reusing instances of a Kendo Grid really
> >> works in a component based design where the parents of where the Grids
> >> are
> >> placed are replaced on the page.
> >>
> >> In particular we have a three panes border layout, kind of a
> >> 'master-detail'
> >> plus a tree on the left side.
> >> The right most pane is the 'detail' pane where panels are replaced
> >> depending
> >> on selection on the 'master' pane. Those panels can contain Kendo Grid
> >> but
> >> some do not. So I have no other chance of creating new instances of
> Kendo
> >> Grids (DataTable).
> >> So switching through the 'master' selections creates new Kendo Grids, or
> >> Charts adding up datasources on the DOM root.
> >>
> >> I don't see how just using Chart/DataTable#refresh really should work?
> >>
> >>
> >> Manfred
> >>
> >>
> >>
> >> Sebastien wrote
> >> > Hi Manfred,
> >> >
> >> > The recommended way to refresh kendo ui components - those bound to a
> >> > datasource - is to read from the datasource.
> >> >
> >> > See Chart#refresh, it should solve the problem.
> >> >
> >> > Thanks and best regards,
> >> > Sébastien
> >>
> >>
> >>
> >> --
> >> Sent from:
> >> http://apache-wicket.1842946.n4.nabble.com/Users-forum-f1842947.html
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
>
> > users-unsubscribe@.apache
>
> >> For additional commands, e-mail:
>
> > users-help@.apache
>
> >>
> >>
>
>
>
> --
> Sent from:
> http://apache-wicket.1842946.n4.nabble.com/Users-forum-f1842947.html
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

Reply via email to