+1. It can be tedious sometimes figuring out how to update components that are on the other side of the tree from the onClick.
best, jim On 5/30/07, Jonathan Locke <[EMAIL PROTECTED]> wrote: > > > Maybe another way to auto-ajax-update a component would be to have it do > that whenever its model changes. There are a lot of caveats with model > change notifications, but that seems to be a pretty clean idea if the rules > for model changes were respected. Might make a good RFE for next Wicket > version. > > > Jonathan Locke wrote: > > > > > > It shouldn't be hard to write the method you're talking about. To find > > all the components using the same model as a given component, just walk > > the component hierarchy using visitChildren() and add any component which > > returns true for sameInnermostModel(component). > > > > There is a more general case of this problem though where one area of a > > web page may need to be updated because some completely unrelated area > > changed. This I'm handling by hand right now, but I was asking a day or > > two ago if there was a way to add a component to every ajax request (Eelco > > answered that you can do this by implementing a request processor, I > > think). It seems to be pretty common in an AJAX request to want a global > > feedback component to update. Maybe we could have a poor-man's version of > > this where if you override some boolean method, your component will get > > auto-ajax-updated on every AJAX request. For many problems, this would be > > convenient because it's easier to just update the thing every time than to > > think about all the places it might need to be updated. > > > > > > dukejansen wrote: > >> > >> I have some state which backs two panels, Panel A and Panel B, that may > >> be included as part of other panels. Ultimately they are both on the same > >> page, and their backing state is shared via the model class that backs > >> both of them. Panel A has an Ajax event handler which modifies the > >> backing model state, after which I want to force Panel A and Panel B to > >> repaint. > >> > >> I've dealt with this in a few different ways so far, and they all bother > >> me: > >> > >> 1. Walk up the containership tree and back down again until I find the > >> panel with a known ID or which implements a specific marker interface, > >> finding it that way. (Or do a full DFS of the tree to be thorough.) > >> > >> 2. Assume how my Panel is included and how the other Panel are included, > >> and explicitly walk up and back down the containership tree. This is > >> fragile because if I decide to rework panel containership, the method > >> could fail. > >> > >> Is there some better way of doing this that I'm missing? A best practice > >> for reaching out to siblings and cousins? > >> > >> Or something more fundamental to trigger refreshes of all componets > >> backed by that model? Seems like a common use case. A component updates > >> some state as part of ajax event, then wants to use ajax to repaint any > >> other components backed by that state. > >> > >> Interested to hear how others have solved this problem. > >> > >> -Jason > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Best-Practices-for-accessing-repainting-sibling-cousin-components--tf3841514.html#a10883894 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user