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 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