recordselect 3.4.0 → 3.4.1
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 +7 -0
- data/app/assets/javascripts/jquery/record_select.js +17 -9
- data/lib/record_select/version.rb +1 -1
- metadata +64 -86
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 097b55b2bcf91b9610442b574be4a9359fbd3828
|
4
|
+
data.tar.gz: b98335628b3b439807428a33bdc8d03793738255
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e5b2934d61d0cc0a6dbdce8269d4217f169b3dea3af9227effe4e2bad429d340df960f37109b9fc1a93f39eaf3762abf3620937140d002fb5810c528ce3b16ed
|
7
|
+
data.tar.gz: 3f274babc93311a0a941054be6092910d6d0278e12fbcb5e361149aedc2ca818f29e7a6950a5db8f6784d5a9916aaab7ce7e604b997436c0c90905e2aa420e9a
|
@@ -88,7 +88,8 @@ if (typeof(jQuery.fn.delayedObserver) === 'undefined') {
|
|
88
88
|
else {
|
89
89
|
if (el.data('timer')) { clearTimeout(el.data('timer')); }
|
90
90
|
el.data('timer', setTimeout(function(){
|
91
|
-
el.data('callback')
|
91
|
+
var callback = el.data('callback');
|
92
|
+
if (callback) callback.apply(el);
|
92
93
|
}, el.data('delay') * 1000));
|
93
94
|
el.data('oldval', el.val());
|
94
95
|
}
|
@@ -183,7 +184,7 @@ RecordSelect.Abstract = Class.extend({
|
|
183
184
|
open: function() {
|
184
185
|
if (this.is_open()) return;
|
185
186
|
var _this = this;
|
186
|
-
jQuery.rails.fire(_this.obj, '
|
187
|
+
jQuery.rails.fire(_this.obj, 'recordselect:before');
|
187
188
|
_this.container.html('');
|
188
189
|
_this.container.show();
|
189
190
|
var params = _this.obj.data('params');
|
@@ -200,6 +201,7 @@ RecordSelect.Abstract = Class.extend({
|
|
200
201
|
else {
|
201
202
|
_this.container.find('.text-input').val(_this.obj.val());
|
202
203
|
RecordSelect.observe(_this.container.find('form').attr('id'));
|
204
|
+
_this.container.hide(); // needed to get right document height to position first time
|
203
205
|
_this.show();
|
204
206
|
jQuery(document.body).mousedown(jQuery.proxy(_this, "onbodyclick"));
|
205
207
|
}
|
@@ -211,19 +213,25 @@ RecordSelect.Abstract = Class.extend({
|
|
211
213
|
* positions and reveals the recordselect
|
212
214
|
*/
|
213
215
|
show: function() {
|
214
|
-
var offset = this.obj.offset()
|
215
|
-
if (this.fixed) offset.top -=
|
216
|
-
var top = this.obj.outerHeight() + offset.top;
|
216
|
+
var offset = this.obj.offset(), scroll = jQuery(window).scrollTop(), window_height = jQuery(window).height();
|
217
|
+
if (this.fixed) offset.top -= scroll; // get fixed position
|
218
|
+
var top = this.obj.outerHeight() + offset.top, document_height = jQuery(document).height();
|
217
219
|
|
218
220
|
this.container.show();
|
221
|
+
var height = this.container.outerHeight();
|
219
222
|
this.container.css('left', offset.left);
|
220
223
|
this.container.css('top', '');
|
221
224
|
this.container.css('bottom', '');
|
222
|
-
if (this.fixed && top +
|
223
|
-
this.container.css('bottom',
|
225
|
+
if (this.fixed && top + height > window_height) {
|
226
|
+
this.container.css('bottom', window_height - offset.top);
|
224
227
|
} else {
|
225
|
-
|
226
|
-
if (
|
228
|
+
var below_space = window_height-(top-scroll), above_space = offset.top - scroll, position;
|
229
|
+
if (below_space < height) {
|
230
|
+
if (above_space >= height) position = 'bottom';
|
231
|
+
else position = above_space < below_space ? 'top' : 'bottom';
|
232
|
+
} else position = 'top';
|
233
|
+
if (position == 'top') this.container.css('top', top);
|
234
|
+
else this.container.css('bottom', document_height - offset.top);
|
227
235
|
}
|
228
236
|
|
229
237
|
if (this._use_iframe_mask()) {
|
metadata
CHANGED
@@ -1,79 +1,70 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: recordselect
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 3
|
8
|
-
- 4
|
9
|
-
- 0
|
10
|
-
version: 3.4.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.4.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Sergio Cambra
|
14
8
|
- Volker Hochstein
|
15
9
|
- Lance Ivy
|
16
10
|
autorequire:
|
17
11
|
bindir: bin
|
18
12
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
- !ruby/object:Gem::Dependency
|
23
|
-
type: :development
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
33
|
-
version_requirements: *id001
|
13
|
+
date: 2014-12-26 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
34
16
|
name: shoulda
|
35
|
-
|
36
|
-
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
37
22
|
type: :development
|
38
|
-
|
39
|
-
|
40
|
-
requirements:
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - '>='
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: bundler
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
41
33
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 23
|
44
|
-
segments:
|
45
|
-
- 1
|
46
|
-
- 0
|
47
|
-
- 0
|
34
|
+
- !ruby/object:Gem::Version
|
48
35
|
version: 1.0.0
|
49
|
-
|
50
|
-
name: bundler
|
36
|
+
type: :development
|
51
37
|
prerelease: false
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
hash: 5
|
60
|
-
segments:
|
61
|
-
- 3
|
62
|
-
- 1
|
63
|
-
- 3
|
64
|
-
version: 3.1.3
|
65
|
-
version_requirements: *id003
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.0
|
43
|
+
- !ruby/object:Gem::Dependency
|
66
44
|
name: rails
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 3.1.3
|
50
|
+
type: :runtime
|
67
51
|
prerelease: false
|
68
|
-
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 3.1.3
|
57
|
+
description: RecordSelect is a Rails widget to help you pick one record out of many.
|
58
|
+
I designed it as a more usable and performant alternative to generating a massive
|
59
|
+
dropdown list
|
69
60
|
email: activescaffold@googlegroups.com
|
70
61
|
executables: []
|
71
|
-
|
72
62
|
extensions: []
|
73
|
-
|
74
|
-
|
63
|
+
extra_rdoc_files:
|
64
|
+
- README
|
65
|
+
files:
|
66
|
+
- MIT-LICENSE
|
75
67
|
- README
|
76
|
-
files:
|
77
68
|
- app/assets/images/record_select/accept.png
|
78
69
|
- app/assets/images/record_select/cross.gif
|
79
70
|
- app/assets/images/record_select/next.gif
|
@@ -100,44 +91,31 @@ files:
|
|
100
91
|
- lib/record_select/helpers/record_select_helper.rb
|
101
92
|
- lib/record_select/version.rb
|
102
93
|
- lib/recordselect.rb
|
103
|
-
- vendor/assets/javascripts/jquery.visible.min.js
|
104
|
-
- MIT-LICENSE
|
105
|
-
- README
|
106
94
|
- test/recordselect_test.rb
|
95
|
+
- vendor/assets/javascripts/jquery.visible.min.js
|
107
96
|
homepage: http://github.com/scambra/recordselect
|
108
|
-
licenses:
|
97
|
+
licenses:
|
109
98
|
- MIT
|
99
|
+
metadata: {}
|
110
100
|
post_install_message:
|
111
101
|
rdoc_options: []
|
112
|
-
|
113
|
-
require_paths:
|
102
|
+
require_paths:
|
114
103
|
- lib
|
115
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
hash: 49
|
121
|
-
segments:
|
122
|
-
- 1
|
123
|
-
- 9
|
124
|
-
- 1
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - '>='
|
107
|
+
- !ruby/object:Gem::Version
|
125
108
|
version: 1.9.1
|
126
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
hash: 3
|
132
|
-
segments:
|
133
|
-
- 0
|
134
|
-
version: "0"
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
135
114
|
requirements: []
|
136
|
-
|
137
115
|
rubyforge_project:
|
138
|
-
rubygems_version:
|
116
|
+
rubygems_version: 2.4.5
|
139
117
|
signing_key:
|
140
|
-
specification_version:
|
118
|
+
specification_version: 4
|
141
119
|
summary: RecordSelect widget as a replacement for massive drop down lists
|
142
|
-
test_files:
|
120
|
+
test_files:
|
143
121
|
- test/recordselect_test.rb
|