rails4-autocomplete 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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