diff options
author | Philip Arndt <p@arndt.io> | 2014-02-02 22:31:09 -0800 |
---|---|---|
committer | Philip Arndt <p@arndt.io> | 2014-02-02 22:31:09 -0800 |
commit | a6ec37c7f54660d34a6b6f1496fea9f825543cc7 (patch) | |
tree | 57286eb5a09e4742c2400619b76cf507771d3d7e /app/views/refinery/shared | |
parent | d891009d8b26cbccfc7fcdec645e1e2382c641bc (diff) | |
parent | 320275b324a8c0cb3e46a10ea43b1391ee86c874 (diff) | |
download | refinerycms-blog-a6ec37c7f54660d34a6b6f1496fea9f825543cc7.tar.gz refinerycms-blog-a6ec37c7f54660d34a6b6f1496fea9f825543cc7.tar.bz2 refinerycms-blog-a6ec37c7f54660d34a6b6f1496fea9f825543cc7.zip |
Merge pull request #368 from refinery/rails4
Rails 4 support.
Diffstat (limited to 'app/views/refinery/shared')
-rw-r--r-- | app/views/refinery/shared/admin/_autocomplete.html.erb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/views/refinery/shared/admin/_autocomplete.html.erb b/app/views/refinery/shared/admin/_autocomplete.html.erb index 97d4ac8..1131f89 100644 --- a/app/views/refinery/shared/admin/_autocomplete.html.erb +++ b/app/views/refinery/shared/admin/_autocomplete.html.erb @@ -1 +1,46 @@ <% content_for :stylesheets, stylesheet_link_tag("refinery/blog/ui-lightness/jquery-ui-1.8.13.custom") %> +<% content_for :javascripts do %> +<script> + function split(val) { + return val.split(/,\s*/); + } + function extractLast(term) { + return split(term).pop(); + } + $(document).ready(function(){ + $('<%= dom_id %>').bind("keydown", function(event) { + if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) { + event.preventDefault() + } + }).autocomplete({ + source: function(request, response) { + $.getJSON("<%= url %>", { + term: extractLast(request.term) + }, response); + }, + search: function() { + // custom minLength + var term = extractLast(this.value); + if (term.length < 2) { + 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; + } + }); + }) +</script> +<% end %> |