tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George Christman (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAP5-2402) autocomplete typeahead suggestions appear/disappear with keystrokes
Date Thu, 16 Oct 2014 12:40:34 GMT

    [ https://issues.apache.org/jira/browse/TAP5-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173696#comment-14173696
] 

George Christman commented on TAP5-2402:
----------------------------------------

Lance, something I forgot to add but would be important is the ability to set some of the
typeahead options. 

Example,
      limit: spec.limit
      hint: spec.hint
      highlight: spec.highlight. 

> autocomplete typeahead suggestions appear/disappear with keystrokes
> -------------------------------------------------------------------
>
>                 Key: TAP5-2402
>                 URL: https://issues.apache.org/jira/browse/TAP5-2402
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.4
>            Reporter: George Christman
>            Assignee: Lance
>
> The tapestry autocomplete mixin uses typeahead.js 0.9.3 which seems to have a bug where
the suggestions appear/disappear which each key stroke. This seems to have been resolved in
the latest version of typeahead.js 0.10.5. I have successfully implemented it locally and
resolved the issue. I'm recommending we upgrade the typeahead.js and it's connector to the
latest version. 
> https://twitter.github.io/typeahead.js/
> http://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.min.js
> Below is a working connector. 
> {code}
> define(["t5/core/dom", "t5/core/ajax", "./jquery", "t5/core/utils", "./vendor/typeahead.bundle.min"],
function(dom, ajax, $, _arg) {
>     var exports, extendURL, init;
>     extendURL = _arg.extendURL;
>     init = function(spec) {
>         var $field;
>         $field = $(document.getElementById(spec.id));
>         var suggestions = new Bloodhound({
>             datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
>             queryTokenizer: Bloodhound.tokenizers.whitespace,
>             limit: 5,
>             dupDetector: function(remoteMatch, localMatch) {
>                 return remoteMatch.value === localMatch.value;
>             },
>             remote: {
>                 url: spec.url,
>                 replace: function(uri, query) {
>                     return extendURL(uri, {
>                         "t:input": query
>                     });
>                 },
>                 filter: function(response) {
>                     return $.map(response.matches, function(value) {
>                         return {value: value};
>                     });
>                 }
>             }
>         });
>         suggestions.initialize();
>         return $field.typeahead(
>                 {
>                     hint: false,
>                     highlight: true,
>                     minLength: spec.minChars
>                 },
>         {
>             displayKey: 'value',
>             source: suggestions.ttAdapter()
>         }
>         );
>     };
>     return exports = init;
> });
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message