Hi, On Mon, Oct 13, 2014 at 2:59 AM, Colin Rogers < colin.rog...@objectconsulting.com.au> wrote:
> Wicketeers, > > I don't know if this is a bug, bad coding on my behalf or incompatible > components or what not. It's only a minor thing, but I thought it worth > raising (as usually, I end up learning something). > > I've created a quickstart, here; > > http://tenthart.com/wickettest2.zip > > The basic thing is that I have a DataView, with columns organised with an > OrderByBorder component. Wrapping those, I have a CheckGroup. It's the > CheckGroup that seems to trigger a weird behaviour in that the pageId > doesn't increment when the OrderByBorder link is clicked. This has the > knock on that StalePageException are raised (and handled) when going back > through history or more often, when opening links in new window (click > 'open in new window' and then click the link again the original window). > The affects are minor - the page refreshing and the click being ignored, so > nothing majorly important. > When you copy the url from the address bar from one tab/window to another the page id stays the same but another special counter changes - Page#renderCount. When you load the page in the second tab/window the renderCount increments with 1. If you use non-Ajax components/behaviors to interact with the page it may increment even more. Later when you go back to the first tab/window and try to use any component (Ajax or not) Wicket will check whether the the renderCount in the request url (e.g. in '3-1-ILinkListener~some~component' '3' is the pageId and '1' is the renderCount) matches with the renderCount of the page with id 3 in the pages' store. If it doesn't then a special PageStaleException is being thrown and Wicket just renders the page with its latest state and respectively renderCount+1. This is needed to prevent using stale/obsolete version of the page. E.g. if in the second tab/window you remove a panel for some entity and this panel contains a child component a link to edit this entity then trying to click on this link in the first tab/window will end with ComponentNotFoundException if there was no such check. > > Also, as an aside, the Wicket Debug box seems to have disappeared. > I haven't checked what is the reason for this to disappear. But above you listed only non-Ajax components. The Ajax debug window appears only if there is an Ajax behavior in the rendered page. Lately I don't see any usefulness in Ajax Debug Window. All the information is available in the browser's Dev tools. > > Anyway, has anyone got advice on this? Is it a bug? > > Cheers, > Col. > EMAIL DISCLAIMER This email message and its attachments are confidential > and may also contain copyright or privileged material. If you are not the > intended recipient, you may not forward the email or disclose or use the > information contained in it. If you have received this email message in > error, please advise the sender immediately by replying to this email and > delete the message and any associated attachments. Any views, opinions, > conclusions, advice or statements expressed in this email message are those > of the individual sender and should not be relied upon as the considered > view, opinion, conclusions, advice or statement of this company except > where the sender expressly, and with authority, states them to be the > considered view, opinion, conclusions, advice or statement of this company. > Every care is taken but we recommend that you scan any attachments for > viruses. >