summaryrefslogtreecommitdiff
path: root/src/client/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/view')
-rw-r--r--src/client/view/search.js2
-rw-r--r--src/client/view/textanalyser_input.js15
2 files changed, 14 insertions, 3 deletions
diff --git a/src/client/view/search.js b/src/client/view/search.js
index c6203c34..29e702d1 100644
--- a/src/client/view/search.js
+++ b/src/client/view/search.js
@@ -17,7 +17,7 @@ function init() {
matchStartOfString: true,
});
- search_completer.options.plug(textanalysis.suggestions_options);
+ search_completer.options.plug(textanalysis.suggestions_options.map('.nodes'));
search.on('input', search_on_submit);
search.on('keydown', function(e) {
if (e.which == 13 && !search_completer.handleEnter()) {
diff --git a/src/client/view/textanalyser_input.js b/src/client/view/textanalyser_input.js
index 184402b1..5ac72a72 100644
--- a/src/client/view/textanalyser_input.js
+++ b/src/client/view/textanalyser_input.js
@@ -89,9 +89,20 @@ function textanalyser_input(spec) {
},
analysisCompleter = completer(element, $(spec.completer_name), completer_spec),
document_keydown = new Bacon.Bus(),
- input_bus = new Bacon.Bus();
+ input_bus = new Bacon.Bus(),
+ selectionBus = element.asEventStream('selectstart input keyup').map(selectionStart).skipDuplicates();
- analysisCompleter.options.plug(textanalysis.suggestions_options);
+ analysisCompleter.options.plug(
+ textanalysis.suggestions_options
+ .combine(selectionBus, function (options, cursor) { return [options, cursor]; })
+ .combine(ta.on_analysis__output, function (both, output) { return both; })
+ .map(
+ function (both) {
+ var options = both[0],
+ cursor = both[1],
+ is_link = textanalysis.element_at_position__is_link(cursor);
+ return options[is_link ? 'links' : 'nodes'];
+ }));
util.assert(1 === element.length);