rails3-jquery-autocomplete 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
@@ -50,6 +50,10 @@
|
|
50
50
|
jQuery.getJSON( jQuery(e).attr('data-autocomplete'), {
|
51
51
|
term: extractLast( request.term )
|
52
52
|
}, function() {
|
53
|
+
if(arguments[0].length == 0) {
|
54
|
+
arguments[0] = []
|
55
|
+
arguments[0][0] = { id: "", label: "no existing match" }
|
56
|
+
}
|
53
57
|
jQuery(arguments[0]).each(function(i, el) {
|
54
58
|
var obj = {};
|
55
59
|
obj[el.id] = el;
|
@@ -58,6 +62,20 @@
|
|
58
62
|
response.apply(null, arguments);
|
59
63
|
});
|
60
64
|
},
|
65
|
+
change: function( event, ui ) {
|
66
|
+
if(jQuery(jQuery(this).attr('data-id-element')).val() == "") {
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
jQuery(jQuery(this).attr('data-id-element')).val(ui.item ? ui.item.id : "");
|
70
|
+
var update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
|
71
|
+
var data = ui.item ? jQuery(this).data(ui.item.id.toString()) : {};
|
72
|
+
if(update_elements && jQuery(update_elements['id']).val() == "") {
|
73
|
+
return;
|
74
|
+
}
|
75
|
+
for (var key in update_elements) {
|
76
|
+
jQuery(update_elements[key]).val(ui.item ? data[key] : "");
|
77
|
+
}
|
78
|
+
},
|
61
79
|
search: function() {
|
62
80
|
// custom minLength
|
63
81
|
var term = extractLast( this.value );
|
@@ -99,8 +117,7 @@
|
|
99
117
|
jQuery(this).unbind('keyup.clearId');
|
100
118
|
}
|
101
119
|
});
|
102
|
-
jQuery(
|
103
|
-
|
120
|
+
jQuery(e).trigger('railsAutocomplete.select', ui);
|
104
121
|
return false;
|
105
122
|
}
|
106
123
|
});
|
@@ -13,4 +13,4 @@
|
|
13
13
|
* Example:
|
14
14
|
* <input type="text" data-autocomplete="/url/to/autocomplete" data-id-element="#id_field">
|
15
15
|
*/
|
16
|
-
(function(
|
16
|
+
(function(e){var t=null;e.fn.railsAutocomplete=function(){return this.live("focus",function(){this.railsAutoCompleter||(this.railsAutoCompleter=new e.railsAutocomplete(this))})},e.railsAutocomplete=function(e){_e=e,this.init(_e)},e.railsAutocomplete.fn=e.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},e.railsAutocomplete.fn.extend=e.railsAutocomplete.extend=e.extend,e.railsAutocomplete.fn.extend({init:function(t){function n(e){return e.split(t.delimiter)}function r(e){return n(e).pop().replace(/^\s+/,"")}t.delimiter=e(t).attr("data-delimiter")||null,e(t).autocomplete({source:function(n,i){e.getJSON(e(t).attr("data-autocomplete"),{term:r(n.term)},function(){arguments[0].length==0&&(arguments[0]=[],arguments[0][0]={id:"",label:"no existing match"}),e(arguments[0]).each(function(n,r){var i={};i[r.id]=r,e(t).data(i)}),i.apply(null,arguments)})},change:function(t,n){if(e(e(this).attr("data-id-element")).val()=="")return;e(e(this).attr("data-id-element")).val(n.item?n.item.id:"");var r=e.parseJSON(e(this).attr("data-update-elements")),i=n.item?e(this).data(n.item.id.toString()):{};if(r&&e(r["id"]).val()=="")return;for(var s in r)e(r[s]).val(n.item?i[s]:"")},search:function(){var e=r(this.value);if(e.length<2)return!1},focus:function(){return!1},select:function(r,i){var s=n(this.value);s.pop(),s.push(i.item.value);if(t.delimiter!=null)s.push(""),this.value=s.join(t.delimiter);else{this.value=s.join(""),e(this).attr("data-id-element")&&e(e(this).attr("data-id-element")).val(i.item.id);if(e(this).attr("data-update-elements")){var o=e(this).data(i.item.id.toString()),u=e.parseJSON(e(this).attr("data-update-elements"));for(var a in u)e(u[a]).val(o[a])}}var f=this.value;return e(this).bind("keyup.clearId",function(){e(this).val().trim()!=f.trim()&&(e(e(this).attr("data-id-element")).val(""),e(this).unbind("keyup.clearId"))}),e(t).trigger("railsAutocomplete.select",i),!1}})}}),e(document).ready(function(){e("input[data-autocomplete]").railsAutocomplete()})})(jQuery);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails3-jquery-autocomplete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -272,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
272
272
|
version: '0'
|
273
273
|
segments:
|
274
274
|
- 0
|
275
|
-
hash:
|
275
|
+
hash: 1040916271291185994
|
276
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
277
|
none: false
|
278
278
|
requirements:
|
@@ -281,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
281
281
|
version: '0'
|
282
282
|
segments:
|
283
283
|
- 0
|
284
|
-
hash:
|
284
|
+
hash: 1040916271291185994
|
285
285
|
requirements: []
|
286
286
|
rubyforge_project:
|
287
287
|
rubygems_version: 1.8.23
|