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]