app/assets/javascripts/lolita/tab.js in lolita-3.2.0.rc.5 vs app/assets/javascripts/lolita/tab.js in lolita-3.2.0.rc.6

- old
+ new

@@ -1,5 +1,7 @@ +//= require jquery +//= require jquery-ui-1.8.13.min $(function(){ // Send ajax request with all forms data for given tabs block. function save_tab(tabs){ var data="" tabs.find("form").each(function(){ @@ -40,13 +42,13 @@ if ( event.keyCode == 46 || event.keyCode == 8 ) { // let it happen, don't do anything } else { // Ensure that it is a number and stop the keypress - if (event.keyCode < 48 || event.keyCode > 57 ) { + if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) { event.preventDefault(); - } + } } }) $("select[data-polymorphic-url]").live("change",function(){ var url = $(this).attr("data-polymorphic-url") @@ -72,7 +74,34 @@ } } }) }) + + $("input[data-autocomplete-url]").live("keyup.autocomplete", function(){ + $(this).autocomplete({ + source: function(request, response){ + $.getJSON(this.element.data("autocomplete-url"), { + term: request.term + }, response) + }, + focus: function(){ + return false; + }, + select: function(event, ui){ + console.log(ui.item.value); + var li = $("<li></li>").appendTo($(this).closest(".autocomplete-container").find("ul")); + li.text(ui.item.value); + $("<a href=''></a>").text(ui.item.delete_link).appendTo(li); + $("<input type='hidden'>").attr("name", ui.item.name).val(ui.item.id).appendTo(li); + this.value = ""; + return false; + } + }); + }); + + $(".autocomplete-container ul li a").live("click", function(){ + $(this).closest("li").remove(); + return false; + }) })