chosen-rails 0.9.7.1 → 0.9.8

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/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (C) 2011 by Tse-Ching Ho
1
+ Copyright (C) 2011-2012 by Tse-Ching Ho
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  module Chosen
2
2
  module Rails
3
- VERSION = "0.9.7.1"
4
- EDITOR_VERSION = "0.9.7"
3
+ VERSION = "0.9.8"
4
+ EDITOR_VERSION = "0.9.8"
5
5
  end
6
6
  end
@@ -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
- regex = new RegExp('^' + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
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
- regex = new RegExp('^' + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
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
 
@@ -52,6 +52,9 @@
52
52
  padding: 0 0 0 8px
53
53
  color: #444444
54
54
  text-decoration: none
55
+ .chzn-default
56
+ color: #999
57
+ .chzn-single
55
58
  span
56
59
  margin-right: 26px
57
60
  display: block
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.7.1
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-02-26 00:00:00.000000000 +08:00
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: &70140411288040 !ruby/object:Gem::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: *70140411288040
24
+ version_requirements: *70127787354960
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: thor
28
- requirement: &70140411287540 !ruby/object:Gem::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: *70140411287540
35
+ version_requirements: *70127787354420
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: bundler
39
- requirement: &70140411287020 !ruby/object:Gem::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: *70140411287020
46
+ version_requirements: *70127787353860
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: rails
50
- requirement: &70140411286480 !ruby/object:Gem::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: *70140411286480
57
+ version_requirements: *70127787353280
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: sass
61
- requirement: &70140411286000 !ruby/object:Gem::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: *70140411286000
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.6.2
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