rails4-autocomplete 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67d43d6200d867dfa660c7d8fe93dcb5a8546292
4
- data.tar.gz: 7b9fba67e4fb6672cabfd1384505d359cb7c1f2a
3
+ metadata.gz: 2c21b5d524e9bed8533d92a81ba337d0b067420b
4
+ data.tar.gz: 5f3b5e99e9893bbd46f03d0071b5928fe7c62278
5
5
  SHA512:
6
- metadata.gz: b905d780fa6433efdf9733fee3fa17aa1685bb8b461c11b89ec15ce19eb05fb7c8dad2721df5219b65c775f475d51a2ffa0fbe5cd3938e5c10f4ab68e46d972e
7
- data.tar.gz: 07d208993bf187f9579ef4b1d134f51d1aa97440a612eefaa22c91ab46692bcb0bb7b03a7570635f38d91b0c45b8bc21bd7761a84cd2fc6906e0ec0a0bc5294b
6
+ metadata.gz: b8ff6429852f75b60f14bf598380ae7292fbb016d42cbda9e49834e9c85bc21bd72bf2ad202518d52a96011b1f26f29626883ff30b1b40557654523fca6db05e
7
+ data.tar.gz: 5bb896d91d017978d73559e8b9d9d5a411d388552846b58ad50f9b90ef29cd465335e6efcaee6d17d9fa3a81561d000c14b878b66cb5cb0b8c53723d8f4700a7
@@ -1,5 +1,6 @@
1
1
  # Changelog
2
2
  * 1.1.0 Fixed issue with options initialization, options now used only with initialization by specific input id
3
+ * 1.0.9 Fixed a problem in the change function. It was trying to parse as JSON a undefined value
3
4
  * 1.0.8 Options can be passed to jQuery autocomplete initializer
4
5
  * 1.0.7
5
6
  * mongoid: escape regular expression in search
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  ## Status
2
+ [![Build Status](https://secure.travis-ci.org/peterwillcn/rails4-autocomplete.png)](http://travis-ci.org/peterwillcn/rails4-autocomplete.png)
2
3
 
3
4
  Unfortunately, I don't have much time to work on this gem, I'm looking for
4
5
  someone to help with its maintenance. Send me an email if you are interested in
@@ -246,6 +247,13 @@ A javascript event named *railsAutocomplete.select* is fired on the input field
246
247
  alert(data.item.id);
247
248
  });
248
249
 
250
+ ### Custom message when not results are found
251
+
252
+ You can pass a custom message for when there is not results found. For this the element must have a data attribute named ```data-autocomplete-label```. For example:
253
+
254
+ autocomplete_field_tag 'address', '', address_autocomplete_path, :size => 75,
255
+ :"data-autocomplete-label" => "Sorry, nothing found."
256
+
249
257
  ## Formtastic
250
258
 
251
259
  If you are using [Formtastic](http://github.com/justinfrench/formtastic), you automatically get the *autocompleted_input* helper on *semantic_form_for*:
@@ -39,7 +39,7 @@
39
39
  };
40
40
 
41
41
  jQuery.railsAutocomplete.fn = jQuery.railsAutocomplete.prototype = {
42
- railsAutocomplete: '0.0.1'
42
+ railsAutocomplete: '0.0.2'
43
43
  };
44
44
 
45
45
  jQuery.railsAutocomplete.fn.extend = jQuery.railsAutocomplete.extend = jQuery.extend;
@@ -59,8 +59,12 @@
59
59
  term: extractLast( request.term )
60
60
  }, function() {
61
61
  if(arguments[0].length == 0) {
62
- arguments[0] = []
63
- arguments[0][0] = { id: "", label: "no existing match" }
62
+ var label = "No existing matches";
63
+ if(jQuery(e).attr('data-autocomplete-label') !== undefined) {
64
+ label = jQuery(e).attr('data-autocomplete-label');
65
+ }
66
+ arguments[0] = []
67
+ arguments[0][0] = { id: "", label: label }
64
68
  }
65
69
  jQuery(arguments[0]).each(function(i, el) {
66
70
  var obj = {};
@@ -75,7 +79,10 @@
75
79
  return;
76
80
  }
77
81
  jQuery(jQuery(this).attr('data-id-element')).val(ui.item ? ui.item.id : "");
78
- var update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
82
+ var update_elements = false;
83
+ if (jQuery(this).attr('data-update-elements')) {
84
+ update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
85
+ }
79
86
  var data = ui.item ? jQuery(this).data(ui.item.id.toString()) : {};
80
87
  if(update_elements && jQuery(update_elements['id']).val() == "") {
81
88
  return;
@@ -99,8 +106,10 @@
99
106
  var terms = split( this.value );
100
107
  // remove the current input
101
108
  terms.pop();
102
- // add the selected item
103
- terms.push( ui.item.value );
109
+ // add the selected item only if it has something
110
+ if (ui.item.id != ""){
111
+ terms.push( ui.item.value );
112
+ }
104
113
  // add placeholder to get the comma-and-space at the end
105
114
  if (e.delimiter != null) {
106
115
  terms.push( "" );
@@ -1 +1 @@
1
- (function(jQuery){var self=null;var options={};jQuery.fn.railsAutocomplete=function(){var handler=function(){if(!this.railsAutoCompleter){this.railsAutoCompleter=new jQuery.railsAutocomplete(this)}};options[this.selector.replace("#","")]=arguments[0];if(jQuery.fn.on!==undefined){return $(document).on("focus",this.selector,handler)}else{return this.live("focus",handler)}};jQuery.railsAutocomplete=function(e){_e=e;this.init(_e)};jQuery.railsAutocomplete.fn=jQuery.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"};jQuery.railsAutocomplete.fn.extend=jQuery.railsAutocomplete.extend=jQuery.extend;jQuery.railsAutocomplete.fn.extend({init:function(e){e.delimiter=jQuery(e).attr("data-delimiter")||null;function split(val){return val.split(e.delimiter)}function extractLast(term){return split(term).pop().replace(/^\s+/,"")}jQuery(e).autocomplete($.extend({source:function(request,response){jQuery.getJSON(jQuery(e).attr("data-autocomplete"),{term:extractLast(request.term)},function(){if(arguments[0].length==0){arguments[0]=[];arguments[0][0]={id:"",label:"no existing match"}}jQuery(arguments[0]).each(function(i,el){var obj={};obj[el.id]=el;jQuery(e).data(obj)});response.apply(null,arguments)})},change:function(event,ui){if(jQuery(jQuery(this).attr("data-id-element")).val()==""){return}jQuery(jQuery(this).attr("data-id-element")).val(ui.item?ui.item.id:"");var update_elements=jQuery.parseJSON(jQuery(this).attr("data-update-elements"));var data=ui.item?jQuery(this).data(ui.item.id.toString()):{};if(update_elements&&jQuery(update_elements.id).val()==""){return}for(var key in update_elements){jQuery(update_elements[key]).val(ui.item?data[key]:"")}},search:function(){var term=extractLast(this.value);if(term.length<2){return false}},focus:function(){return false},select:function(event,ui){var terms=split(this.value);terms.pop();terms.push(ui.item.value);if(e.delimiter!=null){terms.push("");this.value=terms.join(e.delimiter)}else{this.value=terms.join("");if(jQuery(this).attr("data-id-element")){jQuery(jQuery(this).attr("data-id-element")).val(ui.item.id)}if(jQuery(this).attr("data-update-elements")){var data=jQuery(this).data(ui.item.id.toString());var update_elements=jQuery.parseJSON(jQuery(this).attr("data-update-elements"));for(var key in update_elements){jQuery(update_elements[key]).val(data[key])}}}var remember_string=this.value;jQuery(this).bind("keyup.clearId",function(){if(jQuery(this).val().trim()!=remember_string.trim()){jQuery(jQuery(this).attr("data-id-element")).val("");jQuery(this).unbind("keyup.clearId")}});jQuery(e).trigger("railsAutocomplete.select",ui);return false}},options[e.id]))}});jQuery(document).ready(function(){jQuery("input[data-autocomplete]").railsAutocomplete()})})(jQuery);
1
+ (function(jQuery){var self=null;var options={};jQuery.fn.railsAutocomplete=function(){var handler=function(){if(!this.railsAutoCompleter){this.railsAutoCompleter=new jQuery.railsAutocomplete(this)}};options[this.selector.replace("#","")]=arguments[0];if(jQuery.fn.on!==undefined){return $(document).on("focus",this.selector,handler)}else{return this.live("focus",handler)}};jQuery.railsAutocomplete=function(e){_e=e;this.init(_e)};jQuery.railsAutocomplete.fn=jQuery.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"};jQuery.railsAutocomplete.fn.extend=jQuery.railsAutocomplete.extend=jQuery.extend;jQuery.railsAutocomplete.fn.extend({init:function(e){e.delimiter=jQuery(e).attr("data-delimiter")||null;function split(val){return val.split(e.delimiter)}function extractLast(term){return split(term).pop().replace(/^\s+/,"")}jQuery(e).autocomplete($.extend({source:function(request,response){jQuery.getJSON(jQuery(e).attr("data-autocomplete"),{term:extractLast(request.term)},function(){if(arguments[0].length==0){arguments[0]=[];arguments[0][0]={id:"",label:"no existing match"}}jQuery(arguments[0]).each(function(i,el){var obj={};obj[el.id]=el;jQuery(e).data(obj)});response.apply(null,arguments)})},change:function(event,ui){if(jQuery(jQuery(this).attr("data-id-element")).val()==""){return}jQuery(jQuery(this).attr("data-id-element")).val(ui.item?ui.item.id:"");var update_elements=jQuery.parseJSON(jQuery(this).attr("data-update-elements"));var data=ui.item?jQuery(this).data(ui.item.id.toString()):{};if(update_elements&&jQuery(update_elements.id).val()==""){return}for(var key in update_elements){jQuery(update_elements[key]).val(ui.item?data[key]:"")}},search:function(){var term=extractLast(this.value);if(term.length<2){return false}},focus:function(){return false},select:function(event,ui){var terms=split(this.value);terms.pop();terms.push(ui.item.value);if(e.delimiter!=null){terms.push("");this.value=terms.join(e.delimiter)}else{this.value=terms.join("");if(jQuery(this).attr("data-id-element")){jQuery(jQuery(this).attr("data-id-element")).val(ui.item.id)}if(jQuery(this).attr("data-update-elements")){var data=jQuery(this).data(ui.item.id.toString());var update_elements=jQuery.parseJSON(jQuery(this).attr("data-update-elements"));for(var key in update_elements){jQuery(update_elements[key]).val(data[key])}}}var remember_string=this.value;jQuery(this).bind("keyup.clearId",function(){if(jQuery(this).val().trim()!=remember_string.trim()){jQuery(jQuery(this).attr("data-id-element")).val("");jQuery(this).unbind("keyup.clearId")}});jQuery(e).trigger("railsAutocomplete.select",ui);return false}},options[e.id]))}});jQuery(document).ready(function(){jQuery("input[data-autocomplete]").railsAutocomplete()})})(jQuery);
@@ -1,3 +1,3 @@
1
1
  module Rails4Autocomplete
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails4-autocomplete
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - alex_tian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-03 00:00:00.000000000 Z
11
+ date: 2014-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails