blacklight_range_limit 1.0.0pre1
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/.gitignore +21 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +141 -0
- data/Rakefile +5 -0
- data/VERSION +1 -0
- data/app/helpers/range_limit_helper.rb +89 -0
- data/app/views/blacklight_range_limit/_range_limit_panel.html.erb +74 -0
- data/app/views/blacklight_range_limit/_range_segments.html.erb +14 -0
- data/blacklight_range_limit.gemspec +23 -0
- data/config/routes.rb +6 -0
- data/lib/blacklight_range_limit.rb +55 -0
- data/lib/blacklight_range_limit/controller_override.rb +139 -0
- data/lib/blacklight_range_limit/engine.rb +17 -0
- data/lib/blacklight_range_limit/route_sets.rb +12 -0
- data/lib/blacklight_range_limit/segment_calculation.rb +103 -0
- data/lib/blacklight_range_limit/version.rb +10 -0
- data/lib/blacklight_range_limit/view_helper_override.rb +82 -0
- data/lib/generators/blacklight_range_limit/assets_generator.rb +25 -0
- data/lib/generators/blacklight_range_limit/blacklight_range_limit_generator.rb +11 -0
- data/lib/generators/blacklight_range_limit/templates/public/javascripts/flot/excanvas.min.js +1 -0
- data/lib/generators/blacklight_range_limit/templates/public/javascripts/flot/jquery.flot.js +2513 -0
- data/lib/generators/blacklight_range_limit/templates/public/javascripts/flot/jquery.flot.selection.js +328 -0
- data/lib/generators/blacklight_range_limit/templates/public/javascripts/range_limit_distro_facets.js +211 -0
- data/lib/generators/blacklight_range_limit/templates/public/javascripts/range_limit_slider.js +83 -0
- data/lib/generators/blacklight_range_limit/templates/public/stylesheets/blacklight_range_limit.css +13 -0
- metadata +122 -0
@@ -0,0 +1,83 @@
|
|
1
|
+
jQuery(document).ready(function($) {
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
$(".range_limit .profile .range.slider_js").each(function() {
|
8
|
+
var range_element = $(this);
|
9
|
+
|
10
|
+
var boundaries = min_max(this);
|
11
|
+
var min = boundaries[0];
|
12
|
+
var max = boundaries[1];
|
13
|
+
|
14
|
+
if (min && max) {
|
15
|
+
$(this).contents().wrapAll('<div style="display:none" />');
|
16
|
+
|
17
|
+
var range_element = $(this);
|
18
|
+
var form = $(range_element).closest(".range_limit").find("form.range_limit");
|
19
|
+
var begin_el = form.find("input.range_begin");
|
20
|
+
var end_el = form.find("input.range_end");
|
21
|
+
|
22
|
+
$(this).slider({
|
23
|
+
range: true,
|
24
|
+
min: min,
|
25
|
+
max: max+1,
|
26
|
+
values: [min, max+1],
|
27
|
+
slide: function(event, ui) {
|
28
|
+
begin_el.val(ui.values[0]);
|
29
|
+
|
30
|
+
end_el.val(Math.max(ui.values[1]-1, ui.values[0]));
|
31
|
+
}
|
32
|
+
});
|
33
|
+
|
34
|
+
|
35
|
+
begin_el.val(min);
|
36
|
+
end_el.val(max);
|
37
|
+
|
38
|
+
begin_el.change( function() {
|
39
|
+
var val = parseInt($(this).val());
|
40
|
+
if ( isNaN(val) || val < min) {
|
41
|
+
//for weird data, set slider at min
|
42
|
+
val = min;
|
43
|
+
}
|
44
|
+
range_element.slider("values", 0, val);
|
45
|
+
});
|
46
|
+
|
47
|
+
end_el.change( function() {
|
48
|
+
var val = parseInt($(this).val());
|
49
|
+
if ( isNaN(val) || val > max ) {
|
50
|
+
//weird entry, set slider to max
|
51
|
+
val = max;
|
52
|
+
}
|
53
|
+
range_element.slider("values", 1, val+1);
|
54
|
+
});
|
55
|
+
|
56
|
+
}
|
57
|
+
});
|
58
|
+
|
59
|
+
// returns two element array min/max as numbers. If there is a limit applied,
|
60
|
+
// it's boundaries are are limits. Otherwise, min/max in current result
|
61
|
+
// set as sniffed from HTML. Pass in a DOM element for a div.range
|
62
|
+
// Will return NaN as min or max in case of error or other weirdness.
|
63
|
+
function min_max(range_element) {
|
64
|
+
var current_limit = $(range_element).closest(".limit_content.range_limit").find(".current")
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
var min = max = parseInt(current_limit.find(".single").text())
|
69
|
+
if ( isNaN(min)) {
|
70
|
+
min = parseInt(current_limit.find(".from").first().text());
|
71
|
+
max = parseInt(current_limit.find(".to").first().text());
|
72
|
+
}
|
73
|
+
|
74
|
+
if (isNaN(min) || isNaN(max)) {
|
75
|
+
//no current limit, take from results min max included in spans
|
76
|
+
min = parseInt($(range_element).find(".min").first().text());
|
77
|
+
max = parseInt($(range_element).find(".max").first().text());
|
78
|
+
}
|
79
|
+
|
80
|
+
return [min, max]
|
81
|
+
}
|
82
|
+
|
83
|
+
});
|
metadata
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: blacklight_range_limit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 1923831947
|
5
|
+
prerelease: 5
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
- pre
|
11
|
+
- 1
|
12
|
+
version: 1.0.0pre1
|
13
|
+
platform: ruby
|
14
|
+
authors:
|
15
|
+
- Jonathan Rochkind
|
16
|
+
autorequire:
|
17
|
+
bindir: bin
|
18
|
+
cert_chain: []
|
19
|
+
|
20
|
+
date: 2011-06-22 00:00:00 Z
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: rails
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 7
|
31
|
+
segments:
|
32
|
+
- 3
|
33
|
+
- 0
|
34
|
+
version: "3.0"
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: blacklight
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
version: "0"
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
51
|
+
description:
|
52
|
+
email:
|
53
|
+
- blacklight-development@googlegroups.com
|
54
|
+
executables: []
|
55
|
+
|
56
|
+
extensions: []
|
57
|
+
|
58
|
+
extra_rdoc_files: []
|
59
|
+
|
60
|
+
files:
|
61
|
+
- .gitignore
|
62
|
+
- MIT-LICENSE
|
63
|
+
- README.rdoc
|
64
|
+
- Rakefile
|
65
|
+
- VERSION
|
66
|
+
- app/helpers/range_limit_helper.rb
|
67
|
+
- app/views/blacklight_range_limit/_range_limit_panel.html.erb
|
68
|
+
- app/views/blacklight_range_limit/_range_segments.html.erb
|
69
|
+
- blacklight_range_limit.gemspec
|
70
|
+
- config/routes.rb
|
71
|
+
- lib/blacklight_range_limit.rb
|
72
|
+
- lib/blacklight_range_limit/controller_override.rb
|
73
|
+
- lib/blacklight_range_limit/engine.rb
|
74
|
+
- lib/blacklight_range_limit/route_sets.rb
|
75
|
+
- lib/blacklight_range_limit/segment_calculation.rb
|
76
|
+
- lib/blacklight_range_limit/version.rb
|
77
|
+
- lib/blacklight_range_limit/view_helper_override.rb
|
78
|
+
- lib/generators/blacklight_range_limit/assets_generator.rb
|
79
|
+
- lib/generators/blacklight_range_limit/blacklight_range_limit_generator.rb
|
80
|
+
- lib/generators/blacklight_range_limit/templates/public/javascripts/flot/excanvas.min.js
|
81
|
+
- lib/generators/blacklight_range_limit/templates/public/javascripts/flot/jquery.flot.js
|
82
|
+
- lib/generators/blacklight_range_limit/templates/public/javascripts/flot/jquery.flot.selection.js
|
83
|
+
- lib/generators/blacklight_range_limit/templates/public/javascripts/range_limit_distro_facets.js
|
84
|
+
- lib/generators/blacklight_range_limit/templates/public/javascripts/range_limit_slider.js
|
85
|
+
- lib/generators/blacklight_range_limit/templates/public/stylesheets/blacklight_range_limit.css
|
86
|
+
homepage: http://projectblacklight.org/
|
87
|
+
licenses: []
|
88
|
+
|
89
|
+
post_install_message:
|
90
|
+
rdoc_options: []
|
91
|
+
|
92
|
+
require_paths:
|
93
|
+
- lib
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ">"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
hash: 25
|
109
|
+
segments:
|
110
|
+
- 1
|
111
|
+
- 3
|
112
|
+
- 1
|
113
|
+
version: 1.3.1
|
114
|
+
requirements: []
|
115
|
+
|
116
|
+
rubyforge_project: blacklight
|
117
|
+
rubygems_version: 1.7.2
|
118
|
+
signing_key:
|
119
|
+
specification_version: 3
|
120
|
+
summary: Blacklight Range Limit plugin
|
121
|
+
test_files: []
|
122
|
+
|