aboutsummaryrefslogtreecommitdiffhomepage
path: root/themes/_global/js/autoCompleteTags.js
blob: 90bc982c2080ed61fe42e92b7707dd1f70d3231c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
jQuery(function($) {

  function split( val ) {
    return val.split( /,\s*/ );
  }
  function extractLast( term ) {
    return split( term ).pop();
  }


  $("#value").bind("keydown", function(event) {
    if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) {
      event.preventDefault();
    }
  }).autocomplete({
    source : function(request, response) {
      $.getJSON("./?view=tags", {
        term : extractLast(request.term),
        //id: $(':hidden#entry_id').val()
      }, response);
    },
    search : function() {
      // custom minLength
      var term = extractLast(this.value);
      if (term.length < 1) {
        return false;
      }
    },
    focus : function() {
      // prevent value inserted on focus
      return false;
    },
    select : function(event, ui) {
      var terms = split(this.value);
      // remove the current input
      terms.pop();
      // add the selected item
      terms.push(ui.item.value);
      // add placeholder to get the comma-and-space at the end
      terms.push("");
      this.value = terms.join(", ");
      return false;
    }
  });


});