Experiencing a wicket problem to do with UI state corruption when using ajax
tabbed panel. When the ajax links are rapidly clicked in succession various
validation errors appear relating  to panels that are hidden, form component
drop downs lose their display UI values and UI state basically becomes
"v.confused". Have not observed this behavior elsewhere but somehow it seems
like  the ajax requests are not stacking correctly or at least are losing
synch with the UI rerendering somehow. 

Below are all the steps (in brevity) so far attempted and some unanswered
questions I still have:-

(1) Tried IAjaxIndicatorAware on individual form components and overridden
tabbed panel links. Used this in conjunction with a server side request
throttler.  Basically wrote a timer class that intercepts onsubmit requests
and rejects (returns without processing further) on any entered with given 2
second interval  using standard Java api class implementations. This
approach does actually work but doesn't explain why we're having this
problem in first place?

(2) Tried a DIV interceptor approach hooking into
Wicket.Ajax.registerPreCallHandler, postcall, and failure. The idea was to
cover the entire screen with a  transparent div whilst asynch call being
made - however, problematic using IE 6 but works with firefox. Essentially,
seems IE deals with windowed and  windowless components and certain html
form components are windowed such as select. z-indexes are not respected
between the two types and therefore setting  div z-index higher than select
z-index doesn't work. tried workaround using an iframe (which covers both
z-indexes in IE6) but iframe transparency issues  meant access to underlying
form component.

(3) Looked at wicket-ajax.js - was interested with configuration of the
channels settings - but unsure how to get an appropriate configuration fix.
There is  an indicator between setting which gets read by reading  out of a
regex a character value of either 'd' or 's' where from what i can see 's'
ensures requests  are stacked. Found some help in an older newsgroup which
mentions that "{wicket has "ajax channels" with different channel modes such
as queue/disregard. that way you can disable certain groups of components
only by assigning them to the same ajax channel.}" Looking at the wicket
java api i  couldn't manage to find any handle to setting this flag up. Is
this a direct wicket-ajax.js edit and if so then my question would be "What
is an "elegant"  way to override the default to use 'd'?"

(4) Finally, switched the asynch flag to "false" by editing wicket-ajax.js
directly (this.type in request prototype class). This resolved the original
problem but uncertain what the consequences of doing this are. Is this safe
and is there any Java api accessible means to do this? In firefox by
inspecting  ajax responses via an ajax plugin, it seemed to indicate ajax
requests yet the page is flickering on rerender much like a full page
resubmission would. Does  ajax submission still work or is it the main UI
thread that now handles form submissions?


This e-mail (and any attachments) may contain privileged and/or confidential 
information. If you are not the intended recipient please do not disclose, 
copy, distribute, disseminate or take any action in reliance on it. If you have 
received this message in error please reply and tell us and then delete it. 
Should you wish to communicate with us by e-mail we cannot guarantee the 
security of any data outside our own computer systems. For the protection of 
Legal & General's systems and staff, incoming emails will be automatically 
scanned.

Any information contained in this message may be subject to applicable terms 
and conditions and must not be construed as giving investment advice within or 
outside the United Kingdom.

The following companies are subsidiary companies of the Legal & General Group 
Plc which are authorised and regulated by the Financial Services Authority for 
advising and arranging the products shown: Legal & General Partnership Services 
Limited (insurance and mortgages), Legal & General Insurance Limited 
(insurance), Legal & General Assurance Society Limited 
(life assurance, pensions and investments), Legal & General Unit Trust Managers 
Limited and Legal & General Portfolio Management Services Limited (investments).

They are registered in England under numbers shown.
The registered office is Temple Court, 11 Queen Victoria Street, London EC4N 
4TP.

Legal & General Partnership Services Limited: 5045000 Legal & General Assurance 
Society Limited: 166055 Legal & General (Unit Trust Managers) Limited: 1009418 
Legal & General (Portfolio Management Services) Limited: 2457525 Legal & 
General Insurance Limited: 423930

They are registered with the Financial Services Authority under numbers shown. 
You can check this at www.fsa.gov.uk/register

Legal & General Partnership Services Limited: 300792 Legal & General Assurance 
Society Limited: 117659 Legal & General (Unit Trust Managers) Limited: 119273 
Legal & General (Portfolio Management Services) Limited: 146786 Legal & General 
Insurance Limited: 202050


-------------------------------------------------------------------------
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

Reply via email to