OK, maybe it's better to follow up on this while it hot. I'm not entirely certain what to do and where. I'd assume that when a user clicks elsewhere, which raises an AjaxRequestTarget I'll have to add a functionality to destroy the chart/grid as part of the AjaxRequestTarget. But since the click can be anywhere, should this listener be part of the Grid/Chart component? Can you briefly guide me on what to do?
Manfred Manfred Bergmann wrote > Hi Martin. > > OK, thanks. That looks like a doable solution. > I'd go for the Listener but I'll probably have to ask some more when I'm > going to implement it. > > > Manfred > > > > Martin Grigorov-4 wrote >> 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 < > >> mb@ > >> > >> 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 < >>> >>> > mb@ >>> >>> > > 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-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-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