You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "George Christman (JIRA)" <ji...@apache.org> on 2014/10/16 14:41:33 UTC
[jira] [Comment Edited] (TAP5-2402) autocomplete typeahead
suggestions appear/disappear with keystrokes
[ https://issues.apache.org/jira/browse/TAP5-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173696#comment-14173696 ]
George Christman edited comment on TAP5-2402 at 10/16/14 12:40 PM:
-------------------------------------------------------------------
Lance, something I forgot to add, but would be important would be the ability to set some of the typeahead options.
Example,
limit: spec.limit
hint: spec.hint
highlight: spec.highlight.
was (Author: gchristman):
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)