Hi! In my understanding it should (IMHO) be possible to hook all ajax calls without doing anything on the server side. I think your "add onClick to an AjaxButton" issue involves attaching specific javascript (from the server side) to a specific button. That's not what I need, is it? I would have to roll out a new global ajax button having the amendments....no. That's an overkill (is it the only solution???).
I just want the indicator to become visible whenever any ajax request starts and the indicator to be again hidden whenever the ajax request stops/terminates. I do not want to affect the ajax behavior itself, I just want to add one intermediate function call. There should be a generic clicent-side (browser) hook or way to tweak this. I tried chaning the body onload setupfunc to the following, which had the result that all ajaxfallbackbuttons fell back into normal mode: function setupFunc() { document.getElementsByTagName('body')[0].onclick = clickFunc; hideBusysign(); Wicket.Ajax.registerPreCallHandler(showBusysign()); Wicket.Ajax.registerPostCallHandler(hideBusysign()); Wicket.Ajax.registerFailureHandler(hideBusysign()); } So I just want to add the show/hideBusysign in addition to the existing functionality. Do I have to fork wicket-ajax.js or is it possible to achieve it using scripting within the markup file? ** Martin 2008/6/8 Eyal Golan <[EMAIL PROTECTED]>: > check my posts on "add onClick to an AjaxButton" in the users list (I > couldn't get the URL for it ...) > It seems that you have a similar problem. > > Eyal > > On Sat, Jun 7, 2008 at 11:41 PM, Martin Makundi < > [EMAIL PROTECTED]> wrote: > >> Hi! >> >> Did I misunderstand something? I am not a javascript-wizard ;) I could >> make it work perfectly with non-ajax buttons and links but it does not >> seem to react to wicket ajax buttons. >> >> Here is the script code, pls take a look if there is a blatant bug (I >> assumed I do not need to make any modifications onto the server side): >> >> <script type="text/javascript"> >> /* >> * <div id="busysign">Loading ...</div> >> */ >> window.onload = setupFunc; >> >> Wicket.Ajax.registerPreCallHandler(showBusysign()); >> Wicket.Ajax.registerPostCallHandler(hideBusysign()); >> Wicket.Ajax.registerFailureHandler(hideBusysign()); >> >> function setupFunc() { >> document.getElementsByTagName('body')[0].onclick = clickFunc; >> hideBusysign(); >> } >> >> function hideBusysign() { >> document.getElementById('busysign').style.display ='none'; >> } >> >> function showBusysign() { >> document.getElementById('busysign').style.display ='inline'; >> } >> >> function clickFunc(eventData) { >> var clickedElement = (window.event) ? event.srcElement : >> eventData.target; >> if (clickedElement.tagName == 'BUTTON' || clickedElement.tagName >> == 'A' || clickedElement.parentNode.tagName == 'A' >> || (clickedElement.tagName == 'INPUT' && (clickedElement.type == >> 'BUTTON' || clickedElement.type == 'SUBMIT'))) { >> showBusysign(); >> } >> } >> </script> >> >> >> ** >> Martin >> >> 2008/6/7 Peter Thomas <[EMAIL PROTECTED]>: >> > On Sat, Jun 7, 2008 at 9:47 PM, Igor Vaynberg <[EMAIL PROTECTED]> >> > wrote: >> > >> >> wicket supports global javascript event handlers for this. either >> >> search the list or look inside wicet-ajax.js, i cant recall them off >> >> the top of my head. >> >> >> > >> > They are mentioned in this thread: >> > >> > http://www.nabble.com/Re%3A-ajax-progress-indicator-p17020185.html >> > >> > >> >> >> >> -igor >> >> >> >> On Sat, Jun 7, 2008 at 8:59 AM, Martin Makundi >> >> <[EMAIL PROTECTED]> wrote: >> >> > Hi! >> >> > >> >> > I am trying to maneuvre a lightweight gmail-style busy indicator to >> >> > stay in place whenever I click an operative button. >> >> > >> >> > The script seems to work fine with regular submit buttons, but I have >> >> > not found a proper way to reset the indicator in context with ajax >> >> > buttons and links. >> >> > >> >> > Is there an event I could bind this to, or do I have to push some >> >> > javascript from the server side / tweak the wicket-ajax.js? It would >> >> > be pretty nice if I could just overload/hook-to something on >> >> > javascript level. >> >> > >> >> > Here is my code: >> >> > >> >> > <style type="text/css"> >> >> > #busysign { >> >> > display: none; >> >> > float: right; >> >> > background: red; >> >> > margin-top: 5px; >> >> > margin-right: 5px; >> >> > z-index: 1000; >> >> > width: 200; >> >> > font-weight: bold; >> >> > text-align: center; >> >> > font-size: 1.3em; >> >> > } >> >> > </style> >> >> > <script type="text/javascript"> >> >> > window.onload = setupFunc; >> >> > >> >> > function setupFunc() { >> >> > document.getElementsByTagName('body')[0].onclick = clickFunc; >> >> > } >> >> > >> >> > function clickFunc(eventData) { >> >> > var clickedElement = (window.event) ? event.srcElement : >> >> eventData.target; >> >> > if (clickedElement.tagName == 'BUTTON' >> >> > || (clickedElement.tagName == 'INPUT' && (clickedElement.type == >> >> > 'button' || clickedElement.type == 'submit'))) { >> >> > document.getElementById('busysign').style.display ='inline'; >> >> > } >> >> > } >> >> > </script> >> >> > >> >> > >> >> > I would equally well appreciate if you had some alternative generic >> >> > lightweight solution :) >> >> > >> >> > >> >> > ** >> >> > Martin >> >> > >> >> > --------------------------------------------------------------------- >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> > >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Eyal Golan > [EMAIL PROTECTED] > > Visit: http://jvdrums.sourceforge.net/ > LinkedIn: http://www.linkedin.com/in/egolan74 > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]