recordselect 3.3.2 → 3.3.3

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ data.tar.gz: e8159d9a713401f593434b51de0dedf9a4caa019
4
+ metadata.gz: 96a5a44a3671f03c89d0c87aee1e93b53c96c3b6
5
+ SHA512:
6
+ data.tar.gz: 6c30d217a4be293c002f96a4703dabd0f36e2f2e2140ffe1be83146e072da1644d4e045deb18d68d6bf121ccfe45955f795fed6602a0b0acdb8804b916872b61
7
+ metadata.gz: 39aff08d2163bee6999df71dd46bb486b123761a910aa7e13135f6d154ef9abe7148d2efbeaefcd343fc7d70a164c71f40d202eb2fbb242af84602e28c68d30c
@@ -101,14 +101,11 @@ if (typeof(jQuery.fn.delayedObserver) === 'undefined') {
101
101
 
102
102
  jQuery(document).ready(function() {
103
103
  RecordSelect.document_loaded = true;
104
- jQuery(document).on('ajax:before', 'div.record-select * li.record a', function(event) {
104
+ jQuery(document).on('click', 'div.record-select li.record', function(event) {
105
105
  var link = jQuery(this);
106
- if (link) {
107
- if (RecordSelect.notify(link) == false) {
108
- return false;
109
- } else {
110
- link.toggleClass("selected");
111
- }
106
+ if (link.length) {
107
+ RecordSelect.select_item(link);
108
+ return false;
112
109
  }
113
110
  return true;
114
111
  });
@@ -117,12 +114,11 @@ jQuery(document).ready(function() {
117
114
  var RecordSelect = new Object();
118
115
  RecordSelect.document_loaded = false;
119
116
 
120
- RecordSelect.notify = function(item) {
117
+ RecordSelect.select_item = function(item) {
121
118
  var e = item.closest('.record-select-handler');
122
119
  var onselect = e.get(0).onselect || e.attr('onselect');
123
120
  if (typeof onselect != 'function') onselect = eval(onselect);
124
- if (onselect)
125
- {
121
+ if (onselect) {
126
122
  try {
127
123
  var label = jQuery.trim(item.find('label').first().text());
128
124
  if (!label) label = item.text();
@@ -130,9 +126,7 @@ RecordSelect.notify = function(item) {
130
126
  } catch(e) {
131
127
  alert(e);
132
128
  }
133
- return false;
134
129
  }
135
- else return true;
136
130
  }
137
131
 
138
132
  RecordSelect.observe = function(id) {
@@ -1,13 +1,10 @@
1
1
  document.observe("dom:loaded", function() {
2
2
  RecordSelect.document_loaded = true;
3
- document.on('ajax:before', 'div.record-select * li.record a', function(event) {
3
+ document.on('click', 'div.record-select li.record', function(event) {
4
4
  var link = event.findElement();
5
5
  if (link) {
6
- if (RecordSelect.notify(link) == false) {
7
- event.stop();
8
- } else {
9
- link.toggleClassName("selected");
10
- }
6
+ RecordSelect.select_item(link);
7
+ event.stop();
11
8
  }
12
9
  return true;
13
10
  });
@@ -28,20 +25,17 @@ Form.Element.AfterActivity = function(element, callback, delay) {
28
25
  var RecordSelect = new Object();
29
26
  RecordSelect.document_loaded = false;
30
27
 
31
- RecordSelect.notify = function(item) {
28
+ RecordSelect.select_item = function(item) {
32
29
  var e = Element.up(item, '.record-select-handler');
33
30
  var onselect = e.onselect || e.getAttribute('onselect');
34
31
  if (typeof onselect != 'function') onselect = eval(onselect);
35
- if (onselect)
36
- {
32
+ if (onselect) {
37
33
  try {
38
34
  onselect(item.parentNode.id.substr(2), (item.down('label') || item).innerHTML.unescapeHTML(), e);
39
35
  } catch(e) {
40
36
  alert(e);
41
37
  }
42
- return false;
43
38
  }
44
- else return true;
45
39
  };
46
40
 
47
41
  RecordSelect.observe = function(id) {
@@ -38,19 +38,19 @@
38
38
  clear: both;
39
39
  }
40
40
 
41
- .record-select a {
41
+ .record-select .record, .record-select a {
42
+ cursor: pointer;
42
43
  color: #0066cc;
43
44
  text-decoration: none;
44
45
  }
45
46
 
46
- .record-select ol a {
47
+ .record-select ol .record, .record-select ol a {
47
48
  display: block;
48
- zoom: 1;
49
49
  background-color: #e6f2ff;
50
50
  padding: 2px 4px;
51
51
  }
52
52
 
53
- .record-select ol .even a {
53
+ .record-select ol .even {
54
54
  background-color: #ffffff;
55
55
  }
56
56
 
@@ -70,6 +70,16 @@
70
70
  vertical-align: middle;
71
71
  }
72
72
 
73
+ .record-select ol .current,
74
+ .record-select ol li:hover {
75
+ background-color: #ffff88;
76
+ }
77
+ .record-select ol li a:hover {
78
+ color: inherit;
79
+ background-color: inherit;
80
+ }
81
+
82
+ .record-select ol li.found:hover,
73
83
  .record-select ol .found {
74
84
  text-align: center;
75
85
  font-style: italic;
@@ -78,14 +88,8 @@
78
88
  border-bottom: 1px solid #afd0f5;
79
89
  }
80
90
 
81
- .record-select ol .current a,
82
- .record-select ol a:hover {
83
- background-color: #ffff88;
84
- }
85
-
86
- .record-select ol a.selected {
87
- background-color: #666;
88
- color: #fff;
91
+ .record-select ol li.found:hover {
92
+ background-color: inherit;
89
93
  }
90
94
 
91
95
  .record-select-container {
@@ -18,7 +18,7 @@ next_url = url_for(pagination_url_params.merge(:page => page.next.number)) if pa
18
18
  <% end -%>
19
19
  <% page.items.each do |record| -%>
20
20
  <li class="record <%= cycle 'odd', 'even' %>" id="rs<%= record.id -%>">
21
- <%= render_record_in_list(record, controller) %>
21
+ <%= render_record_from_config(record) %>
22
22
  </li>
23
23
  <% end -%>
24
24
  <% if page.next? -%>
@@ -17,8 +17,6 @@ module RecordSelect
17
17
  @label = options[:label]
18
18
 
19
19
  @include = options[:include]
20
-
21
- @link = options[:link]
22
20
  end
23
21
 
24
22
  def self.js_framework=(framework)
@@ -88,11 +86,6 @@ module RecordSelect
88
86
  @label ||= proc {|r| r.to_label}
89
87
  end
90
88
 
91
- # whether wrap the text returned by label in a link or not
92
- def link?
93
- @link.nil? || @link
94
- end
95
-
96
89
  protected
97
90
 
98
91
  # A singularized underscored version of the model we're browsing
@@ -1,18 +1,9 @@
1
1
  module ActionDispatch
2
2
  module Routing
3
- RECORD_SELECT_ROUTING = {
4
- :collection => {:browse => :get},
5
- :member => {:select => :post}
6
- }
7
3
  class Mapper
8
4
  module Base
9
5
  def record_select_routes
10
- collection do
11
- ActionDispatch::Routing::RECORD_SELECT_ROUTING[:collection].each {|name, type| send(type, name)}
12
- end
13
- member do
14
- ActionDispatch::Routing::RECORD_SELECT_ROUTING[:member].each {|name, type| send(type, name)}
15
- end
6
+ get :browse, :on => :collection
16
7
  end
17
8
  end
18
9
  end
@@ -163,17 +163,6 @@ module RecordSelectHelper
163
163
  end
164
164
 
165
165
  private
166
- # render the record using the renderer and add a link to select the record
167
- def render_record_in_list(record, controller_path)
168
- text = render_record_from_config(record)
169
- if record_select_config.link?
170
- url_options = {:controller => controller_path, :action => :select, :id => record.id}
171
- link_to text, url_options, :method => :post, :remote => true, :class => ''
172
- else
173
- text
174
- end
175
- end
176
-
177
166
 
178
167
  # uses renderer (defaults to record_select_config.label) to determine how the given record renders.
179
168
  def render_record_from_config(record, renderer = record_select_config.label)
@@ -2,7 +2,7 @@ module RecordSelect
2
2
  module Version
3
3
  MAJOR = 3
4
4
  MINOR = 3
5
- PATCH = 2
5
+ PATCH = 3
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,13 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recordselect
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease:
6
- segments:
7
- - 3
8
- - 3
9
- - 2
10
- version: 3.3.2
4
+ version: 3.3.3
11
5
  platform: ruby
12
6
  authors:
13
7
  - Sergio Cambra
@@ -17,53 +11,38 @@ autorequire:
17
11
  bindir: bin
18
12
  cert_chain: []
19
13
 
20
- date: 2013-10-14 00:00:00 Z
14
+ date: 2014-05-19 00:00:00 Z
21
15
  dependencies:
22
16
  - !ruby/object:Gem::Dependency
23
- type: :development
24
17
  requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
18
  requirements:
27
- - - ">="
19
+ - &id004
20
+ - ">="
28
21
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
22
  version: "0"
33
23
  version_requirements: *id001
34
24
  prerelease: false
25
+ type: :development
35
26
  name: shoulda
36
27
  - !ruby/object:Gem::Dependency
37
- type: :development
38
28
  requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
29
  requirements:
41
30
  - - ~>
42
31
  - !ruby/object:Gem::Version
43
- hash: 23
44
- segments:
45
- - 1
46
- - 0
47
- - 0
48
32
  version: 1.0.0
49
33
  version_requirements: *id002
50
34
  prerelease: false
35
+ type: :development
51
36
  name: bundler
52
37
  - !ruby/object:Gem::Dependency
53
- type: :runtime
54
38
  requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
39
  requirements:
57
40
  - - ">="
58
41
  - !ruby/object:Gem::Version
59
- hash: 5
60
- segments:
61
- - 3
62
- - 1
63
- - 3
64
42
  version: 3.1.3
65
43
  version_requirements: *id003
66
44
  prerelease: false
45
+ type: :runtime
67
46
  name: rails
68
47
  description: RecordSelect is a Rails widget to help you pick one record out of many. I designed it as a more usable and performant alternative to generating a massive dropdown list
69
48
  email: activescaffold@googlegroups.com
@@ -106,35 +85,25 @@ files:
106
85
  homepage: http://github.com/scambra/recordselect
107
86
  licenses:
108
87
  - MIT
88
+ metadata: {}
89
+
109
90
  post_install_message:
110
91
  rdoc_options: []
111
92
 
112
93
  require_paths:
113
94
  - lib
114
95
  required_ruby_version: !ruby/object:Gem::Requirement
115
- none: false
116
96
  requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
97
+ - *id004
123
98
  required_rubygems_version: !ruby/object:Gem::Requirement
124
- none: false
125
99
  requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- hash: 3
129
- segments:
130
- - 0
131
- version: "0"
100
+ - *id004
132
101
  requirements: []
133
102
 
134
103
  rubyforge_project:
135
- rubygems_version: 1.8.24
104
+ rubygems_version: 2.0.7
136
105
  signing_key:
137
- specification_version: 3
106
+ specification_version: 4
138
107
  summary: RecordSelect widget as a replacement for massive drop down lists
139
108
  test_files:
140
109
  - test/recordselect_test.rb