summaryrefslogtreecommitdiff
path: root/src/client/view
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-13 14:06:29 +0200
committerAlon Levy <alon@pobox.com>2015-04-13 14:06:29 +0200
commit5bfc1efe4516ab27dca1315549655fcc5327a396 (patch)
tree110201d789366154050e3ce330c46b006bc02a62 /src/client/view
parent348ac301c8c7f1619c2f715208c5a7e09e26c73c (diff)
client search/completer: use '|' only for separation, append on enter from complete
Diffstat (limited to 'src/client/view')
-rw-r--r--src/client/view/completer.js4
-rw-r--r--src/client/view/layouts.js2
-rw-r--r--src/client/view/search.js10
3 files changed, 9 insertions, 7 deletions
diff --git a/src/client/view/completer.js b/src/client/view/completer.js
index f9cf4688..368690c3 100644
--- a/src/client/view/completer.js
+++ b/src/client/view/completer.js
@@ -125,7 +125,7 @@ var completer = (function (input_element, dropdown, base_config) {
new RegExp(rz_config.separator_string) : anyof_re(base && base.triggerEnd || ' ')),
hideOnTab: base && base.hasOwnProperty('hideOnTab') ? base.hideOnTab : true,
matchStartOfString: (base && base.matchStartOfString) || rz_config.node_edge_separator,
- appendSpaceOnEnter: (base && base.appendSpaceOnEnter) || false,
+ appendOnCompletion: (base && base.appendOnCompletion) || '',
quoteSpaceContaining: (base && base.quoteSpaceContaining) || false,
};
}
@@ -270,7 +270,7 @@ var completer = (function (input_element, dropdown, base_config) {
}
function _applySuggestion(str) {
var cur = getter(),
- start = cur.slice(0, completion_start) + str + (config.appendSpaceOnEnter ? ' ' : ''),
+ start = cur.slice(0, completion_start) + str + config.appendOnCompletion,
new_text = start + cur.slice(completion_end);
setter(new_text, new_text.length);
oninput('', 0);
diff --git a/src/client/view/layouts.js b/src/client/view/layouts.js
index 83fb16ac..a384ee4c 100644
--- a/src/client/view/layouts.js
+++ b/src/client/view/layouts.js
@@ -226,7 +226,7 @@ function(consts, $, d3, _) {
d = _.object(_.pluck(nodes, "id"), nodes);
console.log('zen off: restoring fixed for ' + _.size(nodes));
_.each(_.keys(layout._zen_mode__fixed), function (node_id) {
- if (d[node_id] !== undefined) {
+ if (d[node_id] !== undefined && layout._zen_mode__fixed[node_id]) {
d[node_id].fixed = layout._zen_mode__fixed[node_id];
} else {
console.log('missing ' + node_id);
diff --git a/src/client/view/search.js b/src/client/view/search.js
index d11d8218..35edd8e7 100644
--- a/src/client/view/search.js
+++ b/src/client/view/search.js
@@ -13,9 +13,10 @@ var focus = function() {
function init() {
search_completer = completer(search, search_completer_element,
{
- triggerStart:' |',
- triggerEnd:' |',
+ triggerStart:'|',
+ triggerEnd:'|',
matchStartOfString: true,
+ appendOnCompletion:'|',
});
search_completer.options.plug(textanalysis.suggestions_options.map('.nodes'));
@@ -49,13 +50,14 @@ function init() {
function search_on_submit(text) {
var r,
selector = function (obj) { return attribute_match(obj, r); };
+ text_processed = text[text.length - 1] == '|' ? text.slice(0, text.length - 1) : text;
try {
- r = new RegExp(text.replace(/ /, '|'), 'i');
+ r = new RegExp(text_processed, 'i');
} catch (e) {
return; // don't clear selection either
}
- if (text.length > 0) {
+ if (text_processed.length > 0) {
selection.byVisitors(selector, selector);
} else {
selection.clear();