hello,

I stripped down the demo to make it easy to test and illustrate the issue :)

you can download a working project from
http://gwiki.be/tapestry/tapestry-atmosphere-cometd-demo.5.4.0.simplified.tgz

after unpacking the tar file and executing `mvn jetty:run`, the page
http://localhost:8080/ will show a graph and a table.

after a couple of seconds, the table will start showing updates. if
the javascript calls would be executed fine, the graph would follow
the updates shown in the table.

you will see straightforward feedback in the console where you
executed the mvn jetty:run.

the javascript code that is added through the addDataPoint call in
line 69 of org.lazan.t5.atmosphere.demo.pages.Index.java is not
executed, where the same call to addDataPoint gets executed when
called by addRandomPoint in afterRender and onSuccess.

click the 'AddPoint' button a couple of times to confirm that the same
addCallback gets executed correctly when clicked interactively, but
not when called automatically...

thanks for your feedback, g.

On 5 February 2016 at 13:33, danny de cock <danny.dec...@gmail.com> wrote:
> yes, they are ajax calls...  I will produce a stripped-down version of
> the project that illustrates the problem...  when adding a submit
> button that executes the same javascript script or when called from
> afterRender, it works, when called through the onAjaxEvent call, it
> does not...
>
> will upload the source  this evening...
>
> thanks, g.
>
> On 5 February 2016 at 13:00, JumpStart
> <geoff.callender.jumpst...@gmail.com> wrote:
>> Crazy thought, but have you confirmed with a web inspector that your request 
>> is XHR?
>>
>>> On 5 Feb 2016, at 6:59 PM, g <g...@gwiki.be> wrote:
>>>
>>> yes, the js file is a module and is found in META-INF/modules.
>>>
>>> the file looks as follows:
>>> define(["jquery"], function($) {
>>>    var privateFunc = function(args) {
>>>    alert('bingo! it works! ==========');
>>>    var arg=args.arg;
>>>    console.log('arg',arg);
>>>    };
>>>    return { publicFunc: privateFunc};
>>>    });
>>>
>>> this is a simplification of the javascript file of
>>> https://stackoverflow.com/questions/18796381/tapestry-5-4-call-jquery-more-than-once
>>>
>>> the difference between my code and probably your and Geoff's code is
>>> that I call the ajaxResponseRender.addCallback(...) directly from an
>>> onAjaxEvent() method and that you are using the ajaxResponseRender it
>>> only if request.isXHR() is true:
>>>    void onEventHandler(...) {
>>>        if (request.isXHR()) {
>>>            ajaxResponseRenderer.addCallback(new JavaScriptCallback...);
>>>        }
>>>    }
>>>
>>> where my handler is structured without the request test:
>>>    void onEventHandler(...) {
>>>        ajaxResponseRenderer.addCallback(new JavaScriptCallback...);
>>>    }
>>>
>>> I have already tested whether adding the test would solve the issue,
>>> but to no avail...
>>>
>>> I am porting the cometd-demo from uklance (cf.
>>> https://github.com/uklance/tapestry-cometd) to tapestry 5.4.  this is
>>> a push application in which this addCallback structure without the
>>> request.isXHR-test works fine in 5.3.8...
>>>
>>> thanks for your feedback, g.
>>>
>>> On 5 February 2016 at 11:23, Carlos Montero Canabal
>>> <carlosmonterocana...@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> Your js file you required is a js module??? I use many times require in a 
>>>> callback in tapestry 5.4.0 and it works perfect.
>>>>
>>>> Regards
>>>>
>>>> Carlos Montero
>>>>
>>>> Enviado desde mi iPhone
>>>>
>>>>> El 5 feb 2016, a las 2:15, g <g...@gwiki.be> escribió:
>>>>>
>>>>> hello geoff,
>>>>>
>>>>> thanks for your feedback, and indeed: I believe it looks very much
>>>>> like a tapestry 5.4 bug ;-)
>>>>>
>>>>> thanks & kind regards, g.
>>>>>
>>>>> On 5 February 2016 at 02:00, JumpStart
>>>>> <geoff.callender.jumpst...@gmail.com> wrote:
>>>>>> Sorry, just looked at your stack overflow example and I’m baffled as to 
>>>>>> why it wouldn’t work.
>>>>>>
>>>>>> Geoff
>>>>>>
>>>>>>> On 5 Feb 2016, at 8:55 AM, JumpStart 
>>>>>>> <geoff.callender.jumpst...@gmail.com> wrote:
>>>>>>>
>>>>>>> Here are some working examples that may help.
>>>>>>>
>>>>>>> In a callback:
>>>>>>>
>>>>>>>     
>>>>>>> http://jumpstart.doublenegative.com.au/jumpstart7/examples/javascript/modal/1
>>>>>>>
>>>>>>> In afterRender:
>>>>>>>
>>>>>>>     
>>>>>>> http://jumpstart.doublenegative.com.au/jumpstart7/examples/javascript/robust
>>>>>>>
>>>>>>> Geoff
>>>>>>>
>>>>>>>> On 5 Feb 2016, at 6:52 AM, g <g...@gwiki.be> wrote:
>>>>>>>>
>>>>>>>> hello,
>>>>>>>>
>>>>>>>> I noticed some inconsistent behavior when calling
>>>>>>>> "jss.require(javascript).invoke(functionname).with(arguments)".
>>>>>>>>
>>>>>>>> if the call is made inside a construct
>>>>>>>> "ajaxResponseRenderer.addCallback(new JavaScriptCallback() {public
>>>>>>>> void run(JavaScriptSupport jss);}", the javascript code is NOT
>>>>>>>> executed, where calling the same code inside void afterRender(){}, it
>>>>>>>> DOES get executed correctly.
>>>>>>>>
>>>>>>>> so, I think there is a problem/bug in the code of the current 5.4.0
>>>>>>>> tapestry when processing the jss.require inside a
>>>>>>>> JavaScriptCallback...
>>>>>>>> my code works fine in 5.3.8 when using the jss.addScript() rather than
>>>>>>>> the jss.require...
>>>>>>>>
>>>>>>>> I posted sample source code on stackoverflow, but have not gotten any
>>>>>>>> feedback so far:
>>>>>>>> http://stackoverflow.com/questions/35127426/ajaxresponserenderer-addcallback-calling-requirejavascript-is-never-executed-f
>>>>>>>>
>>>>>>>> thanks for your feedback, g.
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to