Hi Thiago,

Thanks for your email.

1) I am not using form submissions for that. I am using input hidden
fields as temporary variables because the input hidden seem to be
visible from zone-updater.js while the javascript library (not module) I
am using for the mouse tracking is not, and I don't know why. Should I
include the library in the "require" of the zone-updater.js? how can I
do that if it is not in META-INF/assets?

2) I read the document you suggest. It seems interesting but I can't
fully understand it. I think you mean this snippet.

require(["t5/core/ajax", "jquery"], function (ajax, $) {
    // Creating a callback to be invoked with <p id="result"> is clicked.
    $('#result').click(function() {
        ajax('answer', {
            element: $('#result'), // This doesn't need to be the same
element as the one two lines above
            // Callback called when the request is finished.
            // response.json is the object returned by the event handler
method
            success: function(response) {
                $('#result').text(response.json.origin);
            }
        });
    });
});


How can I transform it to call my onTrack method when on mouse move
occurs on any p of a certain class "trackedParagraph"? I don't need to
process any response since onTrack just saves things in a DB. Maybe
something like this?

require(["t5/core/ajax", "jquery"], function (ajax, $) {
    $('p.trackedParagraph').mousemove(function() {
        ajax('track'), {
                mouseX: $('#mouseXField'),
                mouseY: $('#mouseYField'),
                ...
                queryParameterName: $('#fieldName')
        });
    });
});

Would something like that work? Sorry, maybe my problem is that I am not
familiar with jQuery notation.

And more important. Will this avoid calling onActivate() again on the
page? Because my current solution seems to work, but the biggest
efficiency problem is that every AJAX call executes onActivate().


El 08/04/17 a las 00:37, Thiago H. de Paula Figueiredo escribió:
> I suggest you to not use form submissions for this. Also, take a look at
> https://tapestry.apache.org/ajax-and-zones.html, session Invoking
> server-side event handler methods from JavaScript, which shows how to
> easily call server-side event handlers from JavaScript from Tapestry 5.4.2
> (which should be released soon) and on.
> 
> On Fri, Apr 7, 2017 at 6:35 AM, Phyambre <phy....@gmail.com> wrote:
> 
>> Hi Daniel,
>>
>> I checked your project.
>>
>> My JavaScript libraries are similar to yours, also fire and forget and
>> also transparent to the server.
>>
>> My problem is when I manage the AJAX events in Tapestry.
>>
>> Regards,
>>
>> Phy
>>
>> El 07/04/17 a las 15:29, Daniel Jue escribió:
>>> Hi, I'm not sure this is what you need, but here is a library we used
>>> during a DARPA program to collect UI statistics including hovering, etc:
>>> https://github.com/draperlaboratory/User-ALE
>>>
>>> On the browser side it's fire and forget, and there is a separate server
>>> set up to collect the stats information (i.e. it is transparent to your
>> web
>>> app/tapestry app server)
>>>
>>> You the developer add in the places you want events to fire, such as on
>>> buttons, or mouse tracking in general.
>>>
>>> Here's a demo page:
>>> http://draperlaboratory.github.io/user-ale/test_app/index.html
>>>
>>>
>>>
>>> On Fri, Apr 7, 2017 at 2:12 AM, JumpStart <
>>> geoff.callender.jumpst...@gmail.com> wrote:
>>>
>>>> I’ll answer it this way:
>>>>
>>>>         http://jumpstart.doublenegative.com.au/jumpstart7/examples/
>>>> navigation/onactivateandonpassivate/3 <http://jumpstart.
>>>> doublenegative.com.au/jumpstart7/examples/navigation/
>>>> onactivateandonpassivate/3>
>>>>
>>>> Hope this helps,
>>>>
>>>> Geoff
>>>>
>>>>> On 7 Apr 2017, at 2:07 PM, Phyambre <phy....@gmail.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I would like to do mouse tracking with tapestry (know the coordinates
>> of
>>>>> the mouse, the path of the DOM tree to the element that is being
>> pointed
>>>>> and the text of that element).
>>>>>
>>>>> Currently I have a solution that works, but I think it is terribly
>>>>> inefficient and I hope you can make any suggestions to improve it.
>>>>>
>>>>> I have a JS library that calculates all those values and writes them to
>>>>> "input hidden" form fields in my .tml
>>>>>
>>>>> Then I used the ZoneUpdater mixin:
>>>>>
>>>>> http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/onevent
>>>>>
>>>>> I modified ZoneUpdater.java by adding a List attribute. That list will
>>>>> contain the ids of the "input hidden fields" as you can see below.
>>>>>
>>>>> Then, in the TML file, instead of
>>>>>
>>>>> |<input t:type="TextField" t:id="firstName" t:mixins="zoneUpdater"
>>>>> t:clientEvent="keyup" t:event="firstNameChanged" t:zone="nameZone"
>>>> /><br/>|
>>>>> I have
>>>>>
>>>>> <p class="paragraph" t:type="any" t:mixins="zoneUpdater"
>>>>> ZoneUpdater.clientEvent="mousemove" ZoneUpdater.event="track"
>>>>>            ZoneUpdater.zone="textZone"
>>>>> ZoneUpdater.fields="['documentHeightVal', 'documentWidthVal',
>>>>> 'windowHeightVal',
>>>>>            'windowWidthVal', 'windowOffsetYVal', 'windowOffsetXVal',
>>>>> 'mouseYVal','mouseXVal', 'domPathVal',
>>>>> 'overTextVal']">${currentParagraph}</p>
>>>>>
>>>>> then in zone-updater.js I add all those values to the URL.
>>>>>
>>>>> Finally, in my page file, the onTrack() method is executed.
>>>>>
>>>>> The problem here is that onActivate() is also being exectued, and
>>>>> onActivate() has a lot of stuff that I want to execute only once (when
>>>>> the page loads) and not every time the user moves the mouse.
>>>>>
>>>>> Is there any other solution that does not trigger onActivate() every
>>>>> time that the user moves the mouse on a component?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Phy.
>>>>>
>>>>>
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> 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