rails3-jquery-autocomplete 0.9.1 → 1.0.0
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.
- data/{CHANGELOG.MD → CHANGELOG.md} +1 -0
- data/README.markdown +13 -7
- data/Rakefile +1 -1
- data/lib/{generators/templates → assets/javascripts}/autocomplete-rails-uncompressed.js +0 -0
- data/lib/{generators/templates → assets/javascripts}/autocomplete-rails.js +1 -1
- data/lib/generators/autocomplete/install_generator.rb +1 -1
- data/lib/generators/autocomplete/uncompressed_generator.rb +1 -1
- data/lib/rails3-jquery-autocomplete.rb +4 -0
- data/lib/rails3-jquery-autocomplete/orm/mongoid.rb +5 -1
- data/lib/rails3-jquery-autocomplete/rails/engine.rb +5 -0
- data/lib/rails3-jquery-autocomplete/version.rb +1 -1
- data/test/lib/rails3-jquery-autocomplete/orm/mongoid_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +91 -145
data/README.markdown
CHANGED
@@ -17,10 +17,6 @@ on how to use this gem with ActiveRecord [here](http://github.com/crowdint/rails
|
|
17
17
|
You can find a [detailed example](http://github.com/crowdint/rails3-jquery-autocomplete-app/tree/mongoid)
|
18
18
|
on how to use this gem with MongoID [here](http://github.com/crowdint/rails3-jquery-autocomplete-app/tree/mongoid). (Same thing, different branch)
|
19
19
|
|
20
|
-
## MongoMapper
|
21
|
-
|
22
|
-
TODO
|
23
|
-
|
24
20
|
## Before you start
|
25
21
|
|
26
22
|
Make sure your project is using jQuery-UI and the autocomplete widget
|
@@ -44,6 +40,8 @@ Install it
|
|
44
40
|
|
45
41
|
bundle install
|
46
42
|
|
43
|
+
### Rails 3.0.x
|
44
|
+
|
47
45
|
Run the generator
|
48
46
|
|
49
47
|
rails generate autocomplete:install
|
@@ -52,6 +50,14 @@ And include autocomplete-rails.js on your layouts
|
|
52
50
|
|
53
51
|
javascript_include_tag "autocomplete-rails.js"
|
54
52
|
|
53
|
+
### Rails 3.1.x
|
54
|
+
|
55
|
+
Just add it to your app/assets/javascripts/application.js file
|
56
|
+
|
57
|
+
//= require jquery
|
58
|
+
//= require jquery_ujs
|
59
|
+
//= require autocomplete
|
60
|
+
|
55
61
|
## Upgrading from older versions
|
56
62
|
|
57
63
|
If you are upgrading from a previous version, run the generator after installing to replace the javascript file.
|
@@ -226,7 +232,7 @@ A javascript event named *railsAutocomplete.select* is fired on the input field
|
|
226
232
|
If you are using [Formtastic](http://github.com/justinfrench/formtastic), you automatically get the *autocompleted_input* helper on *semantic_form_for*:
|
227
233
|
|
228
234
|
semantic_form_for @product do |f|
|
229
|
-
f.
|
235
|
+
f.input :brand_name, :as => :autocomplete, :url => autocomplete_brand_name_products_path
|
230
236
|
end
|
231
237
|
|
232
238
|
The only difference with the original helper is that you must specify the autocomplete url using the *:url* option.
|
@@ -281,9 +287,9 @@ Then you'll have access to the following helper:
|
|
281
287
|
An example on how to use it:
|
282
288
|
|
283
289
|
scenario "Autocomplete" do
|
284
|
-
lambda do
|
290
|
+
lambda do
|
285
291
|
Brand.create! [
|
286
|
-
{:name => "Alpha"},
|
292
|
+
{:name => "Alpha"},
|
287
293
|
{:name => "Beta"},
|
288
294
|
{:name => "Gamma"}
|
289
295
|
]
|
data/Rakefile
CHANGED
@@ -14,7 +14,7 @@ end
|
|
14
14
|
|
15
15
|
task :uglify do
|
16
16
|
require 'uglifier'
|
17
|
-
file_folder = "lib/
|
17
|
+
file_folder = "lib/assets/javascripts"
|
18
18
|
File.open("#{file_folder}/autocomplete-rails.js", "w") do |f|
|
19
19
|
f << Uglifier.compile(File.read("#{file_folder}/autocomplete-rails-uncompressed.js"))
|
20
20
|
end
|
File without changes
|
@@ -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
|
-
$(document).ready(function(){$("input[data-autocomplete]").railsAutocomplete()}),function(a){var b=null;a.fn.railsAutocomplete=function(){return this.live("focus",function(){this.railsAutoCompleter||(this.railsAutoCompleter=new a.railsAutocomplete(this))})},a.railsAutocomplete=function(a){_e=a,this.init(_e)},a.railsAutocomplete.fn=a.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},a.railsAutocomplete.fn.extend=a.railsAutocomplete.extend=a.extend,a.railsAutocomplete.fn.extend({init:function(a){function c(a){return b(a).pop().replace(/^\s+/,"")}
|
16
|
+
$(document).ready(function(){$("input[data-autocomplete]").railsAutocomplete()}),function(a){var b=null;a.fn.railsAutocomplete=function(){return this.live("focus",function(){this.railsAutoCompleter||(this.railsAutoCompleter=new a.railsAutocomplete(this))})},a.railsAutocomplete=function(a){_e=a,this.init(_e)},a.railsAutocomplete.fn=a.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},a.railsAutocomplete.fn.extend=a.railsAutocomplete.extend=a.extend,a.railsAutocomplete.fn.extend({init:function(a){function b(b){return b.split(a.delimiter)}function c(a){return b(a).pop().replace(/^\s+/,"")}a.delimiter=$(a).attr("data-delimiter")||null,$(a).autocomplete({source:function(b,d){$.getJSON($(a).attr("data-autocomplete"),{term:c(b.term)},function(){$(arguments[0]).each(function(b,c){var d={};d[c.id]=c,$(a).data(d)}),d.apply(null,arguments)})},search:function(){var a=c(this.value);if(a.length<2)return!1},focus:function(){return!1},select:function(c,d){var f=b(this.value);f.pop(),f.push(d.item.value);if(a.delimiter!=null)f.push(""),this.value=f.join(a.delimiter);else{this.value=f.join(""),$(this).attr("data-id-element")&&$($(this).attr("data-id-element")).val(d.item.id);if($(this).attr("data-update-elements")){var g=$(this).data(d.item.id.toString()),h=$.parseJSON($(this).attr("data-update-elements"));for(var i in h)$(h[i]).val(g[i])}}var j=this.value;return $(this).bind("keyup.clearId",function(){$(this).val().trim()!=j.trim()&&($($(this).attr("data-id-element")).val(""),$(this).unbind("keyup.clearId"))}),$(this).trigger("railsAutocomplete.select",d),!1}})}})}(jQuery)
|
@@ -4,6 +4,10 @@ require 'rails3-jquery-autocomplete/autocomplete'
|
|
4
4
|
module Rails3JQueryAutocomplete
|
5
5
|
autoload :Orm , 'rails3-jquery-autocomplete/orm'
|
6
6
|
autoload :FormtasticPlugin , 'rails3-jquery-autocomplete/formtastic_plugin'
|
7
|
+
|
8
|
+
unless ::Rails.version < "3.1"
|
9
|
+
require 'rails3-jquery-autocomplete/rails/engine'
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
class ActionController::Base
|
@@ -22,7 +22,11 @@ module Rails3JQueryAutocomplete
|
|
22
22
|
limit = get_autocomplete_limit(options)
|
23
23
|
order = get_autocomplete_order(method, options)
|
24
24
|
|
25
|
-
|
25
|
+
if is_full_search
|
26
|
+
search = '.*' + term + '.*'
|
27
|
+
else
|
28
|
+
search = '^' + term
|
29
|
+
end
|
26
30
|
items = model.where(method.to_sym => /#{search}/i).limit(limit).order_by(order)
|
27
31
|
end
|
28
32
|
end
|
@@ -37,7 +37,7 @@ module Rails3JQueryAutocomplete
|
|
37
37
|
|
38
38
|
context 'not a full search' do
|
39
39
|
should 'do stuff' do
|
40
|
-
mock(@model).where({:field=>/^query
|
40
|
+
mock(@model).where({:field=>/^query/i}).mock!.limit(10).
|
41
41
|
mock!.order_by([[:order, :asc]])
|
42
42
|
|
43
43
|
get_autocomplete_items(@parameters)
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,171 +1,126 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails3-jquery-autocomplete
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 9
|
9
|
-
- 1
|
10
|
-
version: 0.9.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- David Padilla
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-09-20 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rails
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70272998070460 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 3
|
32
|
-
- 0
|
33
|
-
version: "3.0"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.0'
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: sqlite3-ruby
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: *70272998070460
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: sqlite3-ruby
|
27
|
+
requirement: &70272998069940 !ruby/object:Gem::Requirement
|
40
28
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 0
|
47
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
48
33
|
type: :development
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: mongoid
|
52
34
|
prerelease: false
|
53
|
-
|
35
|
+
version_requirements: *70272998069940
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mongoid
|
38
|
+
requirement: &70272998069320 !ruby/object:Gem::Requirement
|
54
39
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
hash: 15
|
59
|
-
segments:
|
60
|
-
- 2
|
61
|
-
- 0
|
62
|
-
- 0
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
63
43
|
version: 2.0.0
|
64
44
|
type: :development
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: mongo_mapper
|
68
45
|
prerelease: false
|
69
|
-
|
46
|
+
version_requirements: *70272998069320
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: mongo_mapper
|
49
|
+
requirement: &70272998068800 !ruby/object:Gem::Requirement
|
70
50
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
- 9
|
78
|
-
version: "0.9"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.9'
|
79
55
|
type: :development
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: bson_ext
|
83
56
|
prerelease: false
|
84
|
-
|
57
|
+
version_requirements: *70272998068800
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: bson_ext
|
60
|
+
requirement: &70272998068200 !ruby/object:Gem::Requirement
|
85
61
|
none: false
|
86
|
-
requirements:
|
62
|
+
requirements:
|
87
63
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
hash: 27
|
90
|
-
segments:
|
91
|
-
- 1
|
92
|
-
- 3
|
93
|
-
- 0
|
64
|
+
- !ruby/object:Gem::Version
|
94
65
|
version: 1.3.0
|
95
66
|
type: :development
|
96
|
-
version_requirements: *id005
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: shoulda
|
99
67
|
prerelease: false
|
100
|
-
|
68
|
+
version_requirements: *70272998068200
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: shoulda
|
71
|
+
requirement: &70272998067700 !ruby/object:Gem::Requirement
|
101
72
|
none: false
|
102
|
-
requirements:
|
73
|
+
requirements:
|
103
74
|
- - ~>
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
hash: 33
|
106
|
-
segments:
|
107
|
-
- 2
|
108
|
-
- 11
|
109
|
-
- 1
|
75
|
+
- !ruby/object:Gem::Version
|
110
76
|
version: 2.11.1
|
111
77
|
type: :development
|
112
|
-
version_requirements: *id006
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: uglifier
|
115
78
|
prerelease: false
|
116
|
-
|
79
|
+
version_requirements: *70272998067700
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: uglifier
|
82
|
+
requirement: &70272998067300 !ruby/object:Gem::Requirement
|
117
83
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
|
122
|
-
segments:
|
123
|
-
- 0
|
124
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
125
88
|
type: :development
|
126
|
-
version_requirements: *id007
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: rr
|
129
89
|
prerelease: false
|
130
|
-
|
90
|
+
version_requirements: *70272998067300
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: rr
|
93
|
+
requirement: &70272998066840 !ruby/object:Gem::Requirement
|
131
94
|
none: false
|
132
|
-
requirements:
|
133
|
-
- -
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
|
136
|
-
segments:
|
137
|
-
- 0
|
138
|
-
version: "0"
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
139
99
|
type: :development
|
140
|
-
version_requirements: *id008
|
141
|
-
- !ruby/object:Gem::Dependency
|
142
|
-
name: rcov
|
143
100
|
prerelease: false
|
144
|
-
|
101
|
+
version_requirements: *70272998066840
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: rcov
|
104
|
+
requirement: &70272998047460 !ruby/object:Gem::Requirement
|
145
105
|
none: false
|
146
|
-
requirements:
|
147
|
-
- -
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
|
150
|
-
segments:
|
151
|
-
- 0
|
152
|
-
version: "0"
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
153
110
|
type: :development
|
154
|
-
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70272998047460
|
155
113
|
description: Use jQuery's autocomplete plugin with Rails 3.
|
156
114
|
email: david.padilla@crowdint.com
|
157
115
|
executables: []
|
158
|
-
|
159
116
|
extensions: []
|
160
|
-
|
161
117
|
extra_rdoc_files: []
|
162
|
-
|
163
|
-
|
118
|
+
files:
|
119
|
+
- lib/assets/javascripts/autocomplete-rails-uncompressed.js
|
120
|
+
- lib/assets/javascripts/autocomplete-rails.js
|
164
121
|
- lib/cucumber/autocomplete.rb
|
165
122
|
- lib/generators/autocomplete/install_generator.rb
|
166
123
|
- lib/generators/autocomplete/uncompressed_generator.rb
|
167
|
-
- lib/generators/templates/autocomplete-rails-uncompressed.js
|
168
|
-
- lib/generators/templates/autocomplete-rails.js
|
169
124
|
- lib/rails3-jquery-autocomplete/autocomplete.rb
|
170
125
|
- lib/rails3-jquery-autocomplete/form_helper.rb
|
171
126
|
- lib/rails3-jquery-autocomplete/formtastic_plugin.rb
|
@@ -173,11 +128,12 @@ files:
|
|
173
128
|
- lib/rails3-jquery-autocomplete/orm/mongo_mapper.rb
|
174
129
|
- lib/rails3-jquery-autocomplete/orm/mongoid.rb
|
175
130
|
- lib/rails3-jquery-autocomplete/orm.rb
|
131
|
+
- lib/rails3-jquery-autocomplete/rails/engine.rb
|
176
132
|
- lib/rails3-jquery-autocomplete/simple_form_plugin.rb
|
177
133
|
- lib/rails3-jquery-autocomplete/version.rb
|
178
134
|
- lib/rails3-jquery-autocomplete.rb
|
179
135
|
- lib/steak/autocomplete.rb
|
180
|
-
- CHANGELOG.
|
136
|
+
- CHANGELOG.md
|
181
137
|
- LICENSE
|
182
138
|
- README.markdown
|
183
139
|
- Rakefile
|
@@ -190,41 +146,31 @@ files:
|
|
190
146
|
- test/lib/rails3-jquery-autocomplete/orm/mongoid_test.rb
|
191
147
|
- test/lib/rails3-jquery-autocomplete_test.rb
|
192
148
|
- test/test_helper.rb
|
193
|
-
has_rdoc: true
|
194
149
|
homepage: http://github.com/crowdint/rails3-jquery-autocomplete
|
195
150
|
licenses: []
|
196
|
-
|
197
151
|
post_install_message:
|
198
152
|
rdoc_options: []
|
199
|
-
|
200
|
-
require_paths:
|
153
|
+
require_paths:
|
201
154
|
- lib
|
202
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
203
156
|
none: false
|
204
|
-
requirements:
|
205
|
-
- -
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
|
208
|
-
|
209
|
-
- 0
|
210
|
-
version: "0"
|
211
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - ! '>='
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '0'
|
161
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
162
|
none: false
|
213
|
-
requirements:
|
214
|
-
- -
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
|
217
|
-
segments:
|
218
|
-
- 0
|
219
|
-
version: "0"
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
220
167
|
requirements: []
|
221
|
-
|
222
168
|
rubyforge_project:
|
223
|
-
rubygems_version: 1.
|
169
|
+
rubygems_version: 1.8.6
|
224
170
|
signing_key:
|
225
171
|
specification_version: 3
|
226
172
|
summary: Use jQuery's autocomplete plugin with Rails 3.
|
227
|
-
test_files:
|
173
|
+
test_files:
|
228
174
|
- test/form_helper_test.rb
|
229
175
|
- test/generators/autocomplete/install_generator_test.rb
|
230
176
|
- test/generators/autocomplete/uncompressed_generator_test.rb
|