|author||Elliot Smith <firstname.lastname@example.org>||2016-04-18 16:59:05 +0100|
|committer||Richard Purdie <email@example.com>||2016-06-13 22:04:29 +0100|
toaster: work-around our lack of a synchronous fetch for typeaheads
The Twitter typeahead.js library expects the developer to use a source which does a local search for matching suggestions, then falls back to a remote search if that doesn't return enough results. However, in Toaster, we don't do any caching of the suggestions for a typeahead, so our source only works in asynchronous mode. Consequently, we see fewer than the expected number of suggestions if the typeahead has already shown suggestions matching a query. For example, searching for "meta-n" in the layers typeahead will show the results for this query; but when the query changes to "meta-ne", a new set of results is fetched, which mostly overlaps with the results for "meta-n". The typeahead assumes that the overlapping items are locally cached and have been delivered synchronously, and just appends the new results which don't overlap with the previous query. But because we don't provide any results synchronously, we just end up with the single non-overlapping result in the drop-down. This can be fixed by hacking typeahead.js so that instead of appending asynchronous results, we always overwrite and redraw the whole typeahead menu. This is a temporary fix, and should be properly fixed (when we have time), perhaps by using typeahead.js's associated Bloodhound library. Added a note about the hack to the license file as an explanation of why the unminified JS file is included in Toaster. Signed-off-by: Elliot Smith <firstname.lastname@example.org> Signed-off-by: Michael Wood <email@example.com>
Diffstat (limited to 'LICENSE')
1 files changed, 1 insertions, 1 deletions
@@ -9,6 +9,6 @@ Foundation and individual contributors.
* jQuery is redistributed under the MIT license.
-* Twitter typeahead.js redistributed under the MIT license.
+* Twitter typeahead.js redistributed under the MIT license. Note that the JS source has one small modification, so the full unminified file is currently included to make it obvious where this is.
* QUnit is redistributed under the MIT license.