Commit 7b325179 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

Merge branch 'fnordmetric2' of github.com:paulasmuth/fnordmetric-dev into adminui_singleMetricView

parents c16b0ae1 ca67a31d
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ if (FnordMetric.views === undefined) {

FnordMetric.util.Autocomplete = function(elem, input, callback) {
  var source = [];
  // /metrics
  var position;
  var list = document.createElement("ul");
  var items;
@@ -56,23 +55,28 @@ FnordMetric.util.Autocomplete = function(elem, input, callback) {

  function init() {

    input.addEventListener('focus', function() {
    input.addEventListener('input', function() {
      if (input.value.length == 0) {
        resetList();
        if (list.parentNode == elem) {
          elem.removeChild(list);
        }
        return;
      }
      items = FnordMetric.util.filterStringArray(
        source, input.value, 10);
      resetList();
      renderListItems();
      elem.appendChild(list);
    }, false);

    input.addEventListener('blur', function() {
      console.log(list);
      if (list.parentNode == elem) {
        elem.removeChild(list);
      }
    }, false);

    input.addEventListener('input', function() {
      items = FnordMetric.util.filterStringArray(
        source, input.value);
      resetList();
      renderListItems();
      elem.appendChild(list);
    }, false);

    input.addEventListener('keydown', function(e) {
      switch (e.keyCode) {
@@ -81,10 +85,9 @@ FnordMetric.util.Autocomplete = function(elem, input, callback) {
          e.preventDefault();
          if (current_value.length > 0){
            input.value = current_value;
          }
          resetList();
          } else {
          callback(input.value);
          }
          break;
        /* Up arrow */
        case 38:
+3 −2
Original line number Diff line number Diff line
@@ -361,12 +361,13 @@ FnordMetric.util.htmlEscape = function(str) {


/* returns all words that includes filter */
FnordMetric.util.filterStringArray = function(strings, filter) {
FnordMetric.util.filterStringArray = function(strings, filter, limit) {
  //FIXME ?
  var data = [];
  strings.map(function(string) {
    if (string.indexOf(filter) > -1) {
    if (string.indexOf(filter) > -1 && limit > 0) {
      data.push(string);
      limit--;
    }
  });
  return data;