javascriptSupport.require( "<module name>" ).with( <args> ) - if your
module returns a function
javascriptSupport.require( "<module name>" ).invoke( "<method name>"
).with( "<args>" ) if your module export named functions

Take a look at the t5 sources to see how things are used.

-- 
Chris

On Wed, Aug 31, 2016 at 9:36 AM, Qbyte Consulting <[email protected]
> wrote:

> How can I trigger the locate function from the component Java after login
> success, what replaces .addScript?
>
> Sent from my iPhone
>
> > On 31 Aug 2016, at 08:07, Chris Poulsen <[email protected]> wrote:
> >
> > The javaScriptSupport.addScript is deprectated in 5.4 iirc.
> >
> > Instead I would use a module for the locate function, the url can be
> passed
> > as an init parameter to require or stored somewhere in the DOM (the
> former
> > probably makes the most sense in this case.
> >
> > Also I would use the tapestry ajax module (
> > http://tapestry.apache.org/current/coffeescript/ajax.html) instead of
> > $.ajax as that will give you some code that understands the responses
> that
> > tapestry may generate in from an event handler (error screen, additional
> > stuff added using ajaxResponseRenderer etc.)
> >
> > There is also a helper for adding url parameters (
> > http://tapestry.apache.org/current/coffeescript/utils.html)
> >
> > --
> > Chris
> >
> >
> > On Wed, Aug 31, 2016 at 1:19 AM, Qbyte Consulting <
> [email protected]
> >> wrote:
> >
> >> I could not get the form method to work, so ended up passing an
> eventlink
> >> url to my javascript and adding parameters to it. Works a treat and
> simple.
> >>
> >>                Link link =
> >> componentResources.createEventLink("geolocation", null);
> >>                final String eventLinkURI = link.toAbsoluteURI();
> >>                ajaxResponseRenderer.addCallback(new
> JavaScriptCallback()
> >> {
> >>                    @Override
> >>                    public void run(JavaScriptSupport javascriptSupport)
> {
> >>                        javascriptSupport.addScript(
> >>                                "locate('" + eventLinkURI + "');");
> >>                    }
> >>                });
> >>
> >>
> >> function locate(eventLinkURI) {
> >>    if (navigator.geolocation) {
> >>        navigator.geolocation
> >>                .getCurrentPosition(function (position)
> >>                {
> >>                    var geolink = eventLinkURI
> >>                        + "?lat=" + position.coords.latitude
> >>                        + "&long=" + position.coords.longitude;
> >>                    $.ajax({url: geolink});
> >>                }, geoError);
> >>    }
> >> }
> >>
> >>
> >> On Tue, Aug 30, 2016 at 12:11 PM, Chris Poulsen <[email protected]
> >
> >> wrote:
> >>
> >>> Use a form, request parameters or url context - The usual way of
> sending
> >>> data to the server.
> >>>
> >>> --
> >>> Chris
> >>>
> >>> On Tue, Aug 30, 2016 at 11:56 AM, Qbyte Consulting <
> >>> [email protected]> wrote:
> >>>
> >>>> I get JS to populate the hidden form fields, they are passed as
> >>> parameters
> >>>> to the page, but they are empty strings?
> >>>>
> >>>> function locate() {
> >>>>    //Geolocation
> >>>>    if (navigator.geolocation) {
> >>>>        navigator.geolocation
> >>>>                .getCurrentPosition(function (position)
> >>>>                {
> >>>>                    $("#latitude").val(position.
> >>>> coords.latitude.toString());
> >>>>
> >>>> $("#longitude").val(position.coords.longitude.toString());
> >>>>                }, geoError);
> >>>>        $("#locateForm").submit();
> >>>>    }
> >>>> }
> >>>>
> >>>> On Tue, Aug 30, 2016 at 8:24 AM, Nathan Quirynen <
> >>>> [email protected]> wrote:
> >>>>
> >>>>> Hi
> >>>>>
> >>>>> I guess you could do something like the following:
> >>>>>
> >>>>> Create a component just containing two hidden fields and in the after
> >>>>> render event of this component run a javascript module where you get
> >>> the
> >>>>> longitude and latitude and set these values to your hidden fields.
> >>>>> Add two parameters (latitude and longitude) to the components java
> >>> class
> >>>>> to which you pass the latitude and longitude properties from your
> >> page
> >>>> that
> >>>>> have to be set when submitting the form. Use these parameters in your
> >>>>> component as the values for your hidden fields.
> >>>>> Then you can add this component inside any form where you need.
> >>>>>
> >>>>> Nathan
> >>>>>
> >>>>>
> >>>>>
> >>>>>> On 30/08/16 01:10, Qbyte Consulting wrote:
> >>>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> Does anyone have an idea how to pass latitude and longitude as
> >> hidden
> >>>>>> values in a login for with T5.4, or any other tricks to get this
> >> data
> >>>> into
> >>>>>> a component?
> >>>>>>
> >>>>>> John
> >>>>>
> >>>>> ------------------------------------------------------------
> >> ---------
> >>>>> 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]
>
>

Reply via email to