> I think you might have over-complicated your design. Yes, I also think so, but unfortunately currently I'm not able to redesign it, and I try to find a quick solution. :-/ (please have a look at my reply to andreas mail. There is some code...)
> should be simple to update the parent which in turn delegates that responsibility to the children. It is -somehow- the way you described. I think... hmm... but not very good implemented it seems. > Take a quick look over how Decebal implemented his Wicket-Dashboards Ok, thanx, I will do... > Otherwise I suggest you get rid of the addOrReplace() and move that logic > into your onBeforeRender() methods for those panels to update themself. Are markup modifications handled different by onBeforeRender() / add() compared to onConfigure() / addOrReplace()? Or do I also have to use addOrReplace() in onBeforeRender()? Patrick Am 07.10.2014 21:47, schrieb Paul Bors: > I think you might have over-complicated your design. > Your use-case is quite simple, you have user input that filters the > display. It might be that there are a lot of panels to be updated but then > again it should be simple to update the parent which in turn delegates that > responsibility to the children. > > Take a quick look over how Decebal implemented his Wicket-Dashboards as in > his project the entire dashboard is refreshed when adding a new panel which > in turn can be quite complicated. > > His code and examples are at: > https://github.com/decebals/wicket-dashboard > > Study his design and see how much of that you can apply to your page. > > Otherwise I suggest you get rid of the addOrReplace() and move that logic > into your onBeforeRender() methods for those panels to update themself. > > On Tue, Oct 7, 2014 at 12:43 PM, Patrick Davids < > patrick.dav...@nubologic.com> wrote: > >> Hi Paul, >> thanx for replying. >> >> Oh, I use Ajax very heavily in this case. Thats why I said: "the panel >> works quite good for ajax rendering and refreshing use-cases" >> >> Hmm... ok... I think I missed some details. I try to explain. >> >> My page contains two sections seperated from each other. >> A kind of data-entry and a kind of displaying the results. >> >> The section which displays the results is a quite complicated panel, >> having an RefreshingView for about 30 (I will name them) sub-panels. >> >> These sub-panels addOrReplace() an inner container while rendering itself. >> And the replacement depends on my model object type. >> >> So, my sub-panel class has a hugh knowledge about how to render the >> results. >> >> On entering some data on the data-entry section I refresh the whole >> panel in the display section with all its sub-panels using Ajax. And >> this works great. >> Some of the sub-panels also rerender/refresh own there own, by listening >> to events etc pepe. All this behaviours are working very well. >> >> The only disadvantage is, using addOrReplace(), I have a heavy >> detaching/attaching situation and a performance problem. >> >> So, the best solution for now would be, keeping my panel implementation >> as it is, but just having my models detached only once, not for iteration. >> >> And here I dont have any idea how to solve that... :-/ >> >> thanx and kind regards >> Patrick >> >> Am 07.10.2014 17:52, schrieb Paul Bors: >>> Why not use Ajax? >>> >>> addOrReplace() is really for when you need the full request cycle and >> have >>> the page rendered on the server side. With Ajax you get your target for >>> which you can add all the components you want to refresh on the page. >>> >>> Given the day and age we live in, I don't think there is a need to even >>> worry about browsers that do not support Ajax. Than again, that depends >> on >>> your product's requirements. >>> >>> Otherwise, you can keep on using addOrReplace() but stop using instaceof >>> and start using Generics. >>> If you need an example code-snippet of that let me know and I'll dig some >>> out for you. >>> >>> On Tue, Oct 7, 2014 at 9:51 AM, Patrick Davids < >> patrick.dav...@nubologic.com >>>> wrote: >>> >>>> Hi all, >>>> I have a panel, which renders a inner markupcontainer (different panels >>>> for different ways of displaying my model object) depending on its model >>>> objects type. >>>> >>>> I do this by addOrReplace() the inner panel in an onConfigure() having >>>> an "if instanceof"; and it also iterates over a list... >>>> >>>> I'm not sure, if it is a good solution (I dont like the instanceof >>>> approach), but the panel works quite good for ajax rendering and >>>> refreshing use-cases. >>>> >>>> But, the addOrReplace() has one big disadvantage. >>>> It forces to detach the model on each iteration, so on each iteration I >>>> get a database access to retrieve it again. >>>> >>>> Is there anyway to keep the model attached until the entire request >>>> cycle is finished? >>>> >>>> >>>> Or should I try to find complete other solution for this kind of "high >>>> dynamic iterating panel"? >>>> Is it better to use e.g. Fragments to display a model object in >>>> different ways depending on its state? >>>> >>>> Please give some inspirations... I ran out of ideas. Help! >>>> >>>> kind regards :-) >>>> Patrick >>>> --------------------------------------------------------------------- >>>> 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