chosen-rails 0.9.7.1 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +1 -1
- data/lib/chosen-rails/version.rb +2 -2
- data/vendor/assets/images/chosen-sprite.png +0 -0
- data/vendor/assets/javascripts/chosen.jquery.coffee +7 -4
- data/vendor/assets/javascripts/chosen.proto.coffee +7 -4
- data/vendor/assets/javascripts/lib/abstract-chosen.coffee +1 -0
- data/vendor/assets/stylesheets/chosen.css.sass +3 -0
- metadata +13 -15
data/LICENSE
CHANGED
data/lib/chosen-rails/version.rb
CHANGED
Binary file
|
@@ -40,7 +40,7 @@ class Chosen extends AbstractChosen
|
|
40
40
|
if @is_multiple
|
41
41
|
container_div.html '<ul class="chzn-choices"><li class="search-field"><input type="text" value="' + @default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>'
|
42
42
|
else
|
43
|
-
container_div.html '<a href="javascript:void(0)" class="chzn-single"><span>' + @default_text + '</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'
|
43
|
+
container_div.html '<a href="javascript:void(0)" class="chzn-single chzn-default"><span>' + @default_text + '</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'
|
44
44
|
|
45
45
|
@form_field_jq.hide().after container_div
|
46
46
|
@container = ($ '#' + @container_id)
|
@@ -108,7 +108,7 @@ class Chosen extends AbstractChosen
|
|
108
108
|
container_mousedown: (evt) ->
|
109
109
|
if !@is_disabled
|
110
110
|
target_closelink = if evt? then ($ evt.target).hasClass "search-choice-close" else false
|
111
|
-
if evt and evt.type is "mousedown"
|
111
|
+
if evt and evt.type is "mousedown" and not @results_showing
|
112
112
|
evt.stopPropagation()
|
113
113
|
if not @pending_destroy_click and not target_closelink
|
114
114
|
if not @active_field
|
@@ -187,7 +187,7 @@ class Chosen extends AbstractChosen
|
|
187
187
|
if data.selected and @is_multiple
|
188
188
|
this.choice_build data
|
189
189
|
else if data.selected and not @is_multiple
|
190
|
-
@selected_item.find("span").text data.text
|
190
|
+
@selected_item.removeClass("chzn-default").find("span").text data.text
|
191
191
|
this.single_deselect_control_build() if @allow_single_deselect
|
192
192
|
|
193
193
|
this.search_field_disabled()
|
@@ -315,6 +315,7 @@ class Chosen extends AbstractChosen
|
|
315
315
|
results_reset: (evt) ->
|
316
316
|
@form_field.options[0].selected = true
|
317
317
|
@selected_item.find("span").text @default_text
|
318
|
+
@selected_item.addClass("chzn-default") if not @is_multiple
|
318
319
|
this.show_search_field_default()
|
319
320
|
$(evt.target).remove();
|
320
321
|
@form_field_jq.trigger "change"
|
@@ -332,6 +333,7 @@ class Chosen extends AbstractChosen
|
|
332
333
|
else
|
333
334
|
@search_results.find(".result-selected").removeClass "result-selected"
|
334
335
|
@result_single_selected = high
|
336
|
+
@selected_item.removeClass("chzn-default")
|
335
337
|
|
336
338
|
high.addClass "result-selected"
|
337
339
|
|
@@ -383,7 +385,8 @@ class Chosen extends AbstractChosen
|
|
383
385
|
results = 0
|
384
386
|
|
385
387
|
searchText = if @search_field.val() is @default_text then "" else $('<div/>').text($.trim(@search_field.val())).html()
|
386
|
-
|
388
|
+
regexAnchor = if @search_contains then "" else "^"
|
389
|
+
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
387
390
|
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
388
391
|
|
389
392
|
for option in @results_data
|
@@ -16,7 +16,7 @@ class Chosen extends AbstractChosen
|
|
16
16
|
super()
|
17
17
|
|
18
18
|
# HTML Templates
|
19
|
-
@single_temp = new Template('<a href="javascript:void(0)" class="chzn-single"><span>#{default}</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>')
|
19
|
+
@single_temp = new Template('<a href="javascript:void(0)" class="chzn-single chzn-default"><span>#{default}</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>')
|
20
20
|
@multi_temp = new Template('<ul class="chzn-choices"><li class="search-field"><input type="text" value="#{default}" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>')
|
21
21
|
@choice_temp = new Template('<li class="search-choice" id="#{id}"><span>#{choice}</span><a href="javascript:void(0)" class="search-choice-close" rel="#{position}"></a></li>')
|
22
22
|
@no_results_temp = new Template('<li class="no-results">' + @results_none_found + ' "<span>#{terms}</span>"</li>')
|
@@ -101,7 +101,7 @@ class Chosen extends AbstractChosen
|
|
101
101
|
container_mousedown: (evt) ->
|
102
102
|
if !@is_disabled
|
103
103
|
target_closelink = if evt? then evt.target.hasClassName "search-choice-close" else false
|
104
|
-
if evt and evt.type is "mousedown"
|
104
|
+
if evt and evt.type is "mousedown" and not @results_showing
|
105
105
|
evt.stop()
|
106
106
|
if not @pending_destroy_click and not target_closelink
|
107
107
|
if not @active_field
|
@@ -179,7 +179,7 @@ class Chosen extends AbstractChosen
|
|
179
179
|
if data.selected and @is_multiple
|
180
180
|
this.choice_build data
|
181
181
|
else if data.selected and not @is_multiple
|
182
|
-
@selected_item.down("span").update( data.html )
|
182
|
+
@selected_item.removeClassName("chzn-default").down("span").update( data.html )
|
183
183
|
this.single_deselect_control_build() if @allow_single_deselect
|
184
184
|
|
185
185
|
this.search_field_disabled()
|
@@ -308,6 +308,7 @@ class Chosen extends AbstractChosen
|
|
308
308
|
results_reset: (evt) ->
|
309
309
|
@form_field.options[0].selected = true
|
310
310
|
@selected_item.down("span").update(@default_text)
|
311
|
+
@selected_item.addClassName("chzn-default") if not @is_multiple
|
311
312
|
this.show_search_field_default()
|
312
313
|
evt.target.remove()
|
313
314
|
@form_field.simulate("change") if typeof Event.simulate is 'function'
|
@@ -322,6 +323,7 @@ class Chosen extends AbstractChosen
|
|
322
323
|
this.result_deactivate high
|
323
324
|
else
|
324
325
|
@search_results.descendants(".result-selected").invoke "removeClassName", "result-selected"
|
326
|
+
@selected_item.removeClassName("chzn-default")
|
325
327
|
@result_single_selected = high
|
326
328
|
|
327
329
|
high.addClassName("result-selected")
|
@@ -374,7 +376,8 @@ class Chosen extends AbstractChosen
|
|
374
376
|
results = 0
|
375
377
|
|
376
378
|
searchText = if @search_field.value is @default_text then "" else @search_field.value.strip().escapeHTML()
|
377
|
-
|
379
|
+
regexAnchor = if @search_contains then "" else "^"
|
380
|
+
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
378
381
|
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
379
382
|
|
380
383
|
for option in @results_data
|
@@ -29,6 +29,7 @@ class AbstractChosen
|
|
29
29
|
@result_single_selected = null
|
30
30
|
@allow_single_deselect = if @options.allow_single_deselect? and @form_field.options[0]? and @form_field.options[0].text is "" then @options.allow_single_deselect else false
|
31
31
|
@disable_search_threshold = @options.disable_search_threshold || 0
|
32
|
+
@search_contains = @options.search_contains || false
|
32
33
|
@choices = 0
|
33
34
|
@results_none_found = @options.no_results_text or "No results match"
|
34
35
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chosen-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
-
default_executable:
|
12
|
+
date: 2012-03-15 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: railties
|
17
|
-
requirement: &
|
16
|
+
requirement: &70127787354960 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: '3.0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *70127787354960
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: thor
|
28
|
-
requirement: &
|
27
|
+
requirement: &70127787354420 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: '0.14'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *70127787354420
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: bundler
|
39
|
-
requirement: &
|
38
|
+
requirement: &70127787353860 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ~>
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
version: '1.0'
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *70127787353860
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: rails
|
50
|
-
requirement: &
|
49
|
+
requirement: &70127787353280 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
53
52
|
- - ~>
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
version: '3.0'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
57
|
+
version_requirements: *70127787353280
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
59
|
name: sass
|
61
|
-
requirement: &
|
60
|
+
requirement: &70127787348600 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ~>
|
@@ -66,7 +65,7 @@ dependencies:
|
|
66
65
|
version: '3.1'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
68
|
+
version_requirements: *70127787348600
|
70
69
|
description: Chosen is a javascript library of select box enhancer for jQuery and
|
71
70
|
Protoype. This gem integrates Chosen with Rails asset pipeline for easy of use.
|
72
71
|
email:
|
@@ -94,7 +93,6 @@ files:
|
|
94
93
|
- vendor/assets/javascripts/lib/abstract-chosen.coffee
|
95
94
|
- vendor/assets/javascripts/lib/select-parser.coffee
|
96
95
|
- vendor/assets/stylesheets/chosen.css.sass
|
97
|
-
has_rdoc: true
|
98
96
|
homepage: https://github.com/tsechingho/chosen-rails
|
99
97
|
licenses: []
|
100
98
|
post_install_message:
|
@@ -115,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
113
|
version: '0'
|
116
114
|
requirements: []
|
117
115
|
rubyforge_project:
|
118
|
-
rubygems_version: 1.
|
116
|
+
rubygems_version: 1.8.17
|
119
117
|
signing_key:
|
120
118
|
specification_version: 3
|
121
119
|
summary: Integrate Chosen javascript library with Rails asset pipeline
|