summaryrefslogtreecommitdiff
path: root/src/client/view/completer.js
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-10 21:50:30 +0200
committerAlon Levy <alon@pobox.com>2015-04-10 21:50:30 +0200
commit4c56e301042189f5220543609130cef5c6a36bfa (patch)
tree1d8bad710950aadd8afaa92344c7cb82dab36f56 /src/client/view/completer.js
parent4e9277893a56ffe3141fe679c090fa6e1492dc79 (diff)
search: only complete on: click, completion, enter
Diffstat (limited to 'src/client/view/completer.js')
-rw-r--r--src/client/view/completer.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/client/view/completer.js b/src/client/view/completer.js
index f113b556..f9cf4688 100644
--- a/src/client/view/completer.js
+++ b/src/client/view/completer.js
@@ -41,6 +41,7 @@ var completer = (function (input_element, dropdown, base_config) {
dropdown_raw = dropdown[0],
dropdown_visible = false,
options_bus = new Bacon.Bus(),
+ completionsBus = new Bacon.Bus(),
options = [],
selected_index = -1,
input_element_raw = input_element[0],
@@ -208,6 +209,7 @@ var completer = (function (input_element, dropdown, base_config) {
completions(string).forEach(function(name) {
var suggestion = $('<div class="suggestion-item">' + name + '</div>');
suggestion.on('click', function(e) {
+ // TODO: move to handling element?
_applySuggestion(name);
input_element.focus();
});
@@ -272,6 +274,7 @@ var completer = (function (input_element, dropdown, base_config) {
new_text = start + cur.slice(completion_end);
setter(new_text, new_text.length);
oninput('', 0);
+ completionsBus.push(str);
}
function handleEnter() {
if (selected_index == -1) {
@@ -282,7 +285,10 @@ var completer = (function (input_element, dropdown, base_config) {
}
return {
+ // input bus
options: options_bus,
+ // output bus
+ completionsBus: completionsBus,
oninput: oninput,
next_option: next_option,
prev_option: prev_option,