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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c21b5d524e9bed8533d92a81ba337d0b067420b
|
4
|
+
data.tar.gz: 5f3b5e99e9893bbd46f03d0071b5928fe7c62278
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8ff6429852f75b60f14bf598380ae7292fbb016d42cbda9e49834e9c85bc21bd72bf2ad202518d52a96011b1f26f29626883ff30b1b40557654523fca6db05e
|
7
|
+
data.tar.gz: 5bb896d91d017978d73559e8b9d9d5a411d388552846b58ad50f9b90ef29cd465335e6efcaee6d17d9fa3a81561d000c14b878b66cb5cb0b8c53723d8f4700a7
|
data/CHANGELOG.md
CHANGED
@@ -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
|
+
[](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.
|
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
|
-
|
63
|
-
|
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
|
-
|
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
|
-
|
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);
|
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.
|
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-
|
11
|
+
date: 2014-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|