From 8a3cb6d5f015364a9747cd7301524aa7bf7fb831 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 21 Jun 2013 14:07:08 -0700 Subject: [PATCH] Inline --- js/lib/d3.combobox.js | 46 ++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/js/lib/d3.combobox.js b/js/lib/d3.combobox.js index 36a8f946d..2f8a69bc3 100644 --- a/js/lib/d3.combobox.js +++ b/js/lib/d3.combobox.js @@ -150,32 +150,6 @@ d3.combobox = function() { var prevValue, prevCompletion; - function autocomplete(e, data) { - - var value = input.property('value'), - match; - - for (var i = 0; i < data.length; i++) { - if (data[i].value.toLowerCase().indexOf(value.toLowerCase()) === 0) { - match = data[i].value; - break; - } - } - - // backspace - if (e.keyCode === 8) { - prevValue = value; - prevCompletion = ''; - - } else if (value && match && value !== prevValue + prevCompletion) { - prevValue = value; - prevCompletion = match.substr(value.length); - input.property('value', prevValue + prevCompletion); - input.node().setSelectionRange(value.length, value.length + prevCompletion.length); - } - } - - function highlight() { container .selectAll('a') @@ -204,7 +178,25 @@ d3.combobox = function() { document.activeElement === input.node()) show(); else return hide(); - autocomplete(e, data); + var match; + + for (var i = 0; i < data.length; i++) { + if (data[i].value.toLowerCase().indexOf(value.toLowerCase()) === 0) { + match = data[i].value; + break; + } + } + + // backspace + if (e.keyCode === 8) { + prevValue = value; + prevCompletion = ''; + } else if (value && match && value !== prevValue + prevCompletion) { + prevValue = value; + prevCompletion = match.substr(value.length); + input.property('value', prevValue + prevCompletion); + input.node().setSelectionRange(value.length, value.length + prevCompletion.length); + } updateSize();