JS call on AJAX zone update

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

JS call on AJAX zone update

Adam X
Hi,

I know I'm missing something, but what's the easiest, cleanest
Tapestry way to hook a JS function whenever zone is updated via AJAX?

For example, something simple like: alert('zone updated');

Adam

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: JS call on AJAX zone update

Chris Poulsen
Take a look at
http://tapestry.apache.org/current/coffeescript/events.html#section-16 to
see which events to listen for

On Thu, Sep 15, 2016 at 9:40 AM, Adam X <[hidden email]> wrote:

> Hi,
>
> I know I'm missing something, but what's the easiest, cleanest
> Tapestry way to hook a JS function whenever zone is updated via AJAX?
>
> For example, something simple like: alert('zone updated');
>
> Adam
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: JS call on AJAX zone update

Adam X
Thanks for that pointer. But I'm no javascript expert. I tried the
following two attempts, neither worked:

<script>
$('#myZone').on("t5:zone:update",function(){
  alert('changed');
});
</script>

Is there something obvious that I'm doing wrong?

<script>
$("#myZone").change(function() {
  alert('changed');
});
</script>

Adam

On Thu, Sep 15, 2016 at 10:01 AM, Chris Poulsen <[hidden email]> wrote:

> Take a look at
> http://tapestry.apache.org/current/coffeescript/events.html#section-16 to
> see which events to listen for
>
> On Thu, Sep 15, 2016 at 9:40 AM, Adam X <[hidden email]> wrote:
>
>> Hi,
>>
>> I know I'm missing something, but what's the easiest, cleanest
>> Tapestry way to hook a JS function whenever zone is updated via AJAX?
>>
>> For example, something simple like: alert('zone updated');
>>
>> Adam
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: JS call on AJAX zone update

Adam X
I was able to do this with an ajax renderer callback. This example
helped me: http://jumpstart.doublenegative.com.au/jumpstart7/examples/javascript/modal/1

Thanks!

On Thu, Sep 15, 2016 at 10:13 AM, Adam X <[hidden email]> wrote:

> Thanks for that pointer. But I'm no javascript expert. I tried the
> following two attempts, neither worked:
>
> <script>
> $('#myZone').on("t5:zone:update",function(){
>   alert('changed');
> });
> </script>
>
> Is there something obvious that I'm doing wrong?
>
> <script>
> $("#myZone").change(function() {
>   alert('changed');
> });
> </script>
>
> Adam
>
> On Thu, Sep 15, 2016 at 10:01 AM, Chris Poulsen <[hidden email]> wrote:
>> Take a look at
>> http://tapestry.apache.org/current/coffeescript/events.html#section-16 to
>> see which events to listen for
>>
>> On Thu, Sep 15, 2016 at 9:40 AM, Adam X <[hidden email]> wrote:
>>
>>> Hi,
>>>
>>> I know I'm missing something, but what's the easiest, cleanest
>>> Tapestry way to hook a JS function whenever zone is updated via AJAX?
>>>
>>> For example, something simple like: alert('zone updated');
>>>
>>> Adam
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: JS call on AJAX zone update

Chris Poulsen
You did not specify whether it was a specific zone / zoneupdate you wanted
to react on as opposed to all on page. Hence binding a listener on the
document seemed like a good suggestion.

You should avoid using JS directly in the page (like in your example) - Use
modules instead.

For reference such a module could look like this:

(function()
{
    define( [ "t5/core/dom", "t5/core/events" ], function( dom, events )
    {
        dom.onDocument(events.zone.didUpdate, function() {
            alert( 'updated' );
        });

        return null;
    } );

} ).call( this )

On Thu, Sep 15, 2016 at 10:38 AM, Adam X <[hidden email]> wrote:

> I was able to do this with an ajax renderer callback. This example
> helped me: http://jumpstart.doublenegative.com.au/jumpstart7/examples/
> javascript/modal/1
>
> Thanks!
>
> On Thu, Sep 15, 2016 at 10:13 AM, Adam X <[hidden email]> wrote:
> > Thanks for that pointer. But I'm no javascript expert. I tried the
> > following two attempts, neither worked:
> >
> > <script>
> > $('#myZone').on("t5:zone:update",function(){
> >   alert('changed');
> > });
> > </script>
> >
> > Is there something obvious that I'm doing wrong?
> >
> > <script>
> > $("#myZone").change(function() {
> >   alert('changed');
> > });
> > </script>
> >
> > Adam
> >
> > On Thu, Sep 15, 2016 at 10:01 AM, Chris Poulsen <[hidden email]>
> wrote:
> >> Take a look at
> >> http://tapestry.apache.org/current/coffeescript/events.html#section-16
> to
> >> see which events to listen for
> >>
> >> On Thu, Sep 15, 2016 at 9:40 AM, Adam X <[hidden email]> wrote:
> >>
> >>> Hi,
> >>>
> >>> I know I'm missing something, but what's the easiest, cleanest
> >>> Tapestry way to hook a JS function whenever zone is updated via AJAX?
> >>>
> >>> For example, something simple like: alert('zone updated');
> >>>
> >>> Adam
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: JS call on AJAX zone update

Adam X
Thank You Chris. This is exactly what I ended up doing :)

On Thu, Sep 15, 2016 at 11:08 AM, Chris Poulsen <[hidden email]> wrote:

> You did not specify whether it was a specific zone / zoneupdate you wanted
> to react on as opposed to all on page. Hence binding a listener on the
> document seemed like a good suggestion.
>
> You should avoid using JS directly in the page (like in your example) - Use
> modules instead.
>
> For reference such a module could look like this:
>
> (function()
> {
>     define( [ "t5/core/dom", "t5/core/events" ], function( dom, events )
>     {
>         dom.onDocument(events.zone.didUpdate, function() {
>             alert( 'updated' );
>         });
>
>         return null;
>     } );
>
> } ).call( this )
>
> On Thu, Sep 15, 2016 at 10:38 AM, Adam X <[hidden email]> wrote:
>
>> I was able to do this with an ajax renderer callback. This example
>> helped me: http://jumpstart.doublenegative.com.au/jumpstart7/examples/
>> javascript/modal/1
>>
>> Thanks!
>>
>> On Thu, Sep 15, 2016 at 10:13 AM, Adam X <[hidden email]> wrote:
>> > Thanks for that pointer. But I'm no javascript expert. I tried the
>> > following two attempts, neither worked:
>> >
>> > <script>
>> > $('#myZone').on("t5:zone:update",function(){
>> >   alert('changed');
>> > });
>> > </script>
>> >
>> > Is there something obvious that I'm doing wrong?
>> >
>> > <script>
>> > $("#myZone").change(function() {
>> >   alert('changed');
>> > });
>> > </script>
>> >
>> > Adam
>> >
>> > On Thu, Sep 15, 2016 at 10:01 AM, Chris Poulsen <[hidden email]>
>> wrote:
>> >> Take a look at
>> >> http://tapestry.apache.org/current/coffeescript/events.html#section-16
>> to
>> >> see which events to listen for
>> >>
>> >> On Thu, Sep 15, 2016 at 9:40 AM, Adam X <[hidden email]> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> I know I'm missing something, but what's the easiest, cleanest
>> >>> Tapestry way to hook a JS function whenever zone is updated via AJAX?
>> >>>
>> >>> For example, something simple like: alert('zone updated');
>> >>>
>> >>> Adam
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: [hidden email]
>> >>> For additional commands, e-mail: [hidden email]
>> >>>
>> >>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...