You've got it. Real documentation coming Real Soon Now.

On Tue, Jun 18, 2013 at 8:30 AM, George Christman
<gchrist...@cardaddy.com>wrote:

> I believe I figured this out, if someone could confirm I'm doing this
> correctly, I'd appreciate it.
>
> I added the following to the resource package,
> META-INF/modules/custom-autocomplete.js
>
> I removed @Import(library="context:js/custom-autocomplete.js")
>
> and changed the require to
> jsSupport.require("custom-autocomplete").with(spec);
>
> It does appear to work, but I'd like to be sure it's being done correctly.
> Thanks
>
>
>
>
> On Tue, Jun 18, 2013 at 11:06 AM, George Christman
> <gchrist...@cardaddy.com>wrote:
>
> > Hello everyone, I'm trying to familiarize myself with some of t5.4. I've
> > been trying to build a sample mixin based off from the Tap autocomplete,
> > but seem to have stumbled on JavaScriptSupport require. I'm not sure how
> to
> > import my custom js and call the initialize method while still being able
> > to pass in my json parameters.
> >
> > What I've tried.
> >
> > .class
> >
> > @Import(library="context:js/custom-autocomplete.js")
> > public class CustomAutocomplete {
> >
> > @Environmental
> >     private JavaScriptSupport jsSupport;
> >
> > void afterRender() {
> >         Link link = resources.createEventLink(EVENT_NAME);
> >
> >         JSONObject spec = new JSONObject("id", field.getClientId(),
> >                 "url", link.toString()).put("minChars", minChars);
> >
> >         jsSupport.require("js/custom-autocomplete").with(spec);
> >     }
> >
> >
> > .js
> >
> > define(["./dom", "./ajax", "jquery", "bootstrap"], function(dom, ajax,
> $) {
> >     var doLookup, exports, init;
> >     doLookup = function($field, url, query, process) {
> >         $field.addClass("ajax-wait");
> >         return ajax(url, {
> >             parameters: {
> >                 "t:input": query
> >             },
> >             success: function(response) {
> >                 $field.removeClass("ajax-wait");
> >                 return process(response.json.matches);
> >             }
> >         });
> >     };
> >     init = function(spec) {
> >         var $field;
> >         $field = $(document.getElementById(spec.id));
> >         return $field.typeahead({
> >             minLength: spec.minChars,
> >             source: function(query, process) {
> >                 doLookup($field, spec.url, query, process);
> >             }
> >         });
> >     };
> >     return exports = init;
> > }
> >
> > I receive the following error.
> >
> > "NetworkError: 404 /asset.gz/module/js/custom-autocomplete.js -
> > http://localhost:8080/TapDemo/asset.gz/module/js/custom-autocomplete.js";
> >
> > Could someone help me to understand what I'm may be doing wrong? Thanks.
> >
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Reply via email to