blacklight_range_limit 9.1.0 → 9.2.0
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 +4 -4
- data/.github/workflows/ruby.yml +37 -11
- data/Gemfile +2 -18
- data/VERSION +1 -1
- data/app/components/blacklight_range_limit/range_form_component.html.erb +14 -18
- data/app/components/blacklight_range_limit/range_input_component.html.erb +9 -0
- data/app/components/blacklight_range_limit/range_input_component.rb +14 -0
- data/blacklight_range_limit.gemspec +1 -1
- data/lib/blacklight_range_limit/controller_override.rb +14 -7
- data/package.json +1 -1
- data/spec/test_app_templates/Gemfile.extra +2 -4
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cb2770ee329bb6bc941864e6e371eab6f676a5aba369c9ece4aebb244703089d
|
|
4
|
+
data.tar.gz: ed51729efb72aa983fbe046995ab9b633cd31923a083f05579912b496a192942
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f40f9917b407aa32b7cb5b0040fd69dde006f911cea0470ddf56c885985e84232ac70488db753a8b3d07efae7e48e3915474f98e9832ad1518c279e5de0347e8
|
|
7
|
+
data.tar.gz: faa8fe7325e92e8cc8694b67c89229c9f346471f06415069b0c5736efa797a1dba040e4b5033559639c36ac52ea21a05b5699b3ab081530aca23d2712bc342a5
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -34,42 +34,68 @@ jobs:
|
|
|
34
34
|
# that'd be too much. Plus BL can't *generate* every one even though it
|
|
35
35
|
# can be made to work with every one. We test with some good significant
|
|
36
36
|
# representative samples.
|
|
37
|
+
#
|
|
38
|
+
# If 'blacklight_version' includes `://`, will be understood as github url,
|
|
39
|
+
# used for testing off blacklight main.
|
|
37
40
|
|
|
38
41
|
include:
|
|
39
|
-
# BLACKLIGHT EDGE, can test with
|
|
42
|
+
# BLACKLIGHT EDGE, can test with latest rails, importmap and esbuild
|
|
40
43
|
#
|
|
41
44
|
|
|
42
|
-
- rails_version: "~> 8.0.
|
|
43
|
-
blacklight_version: '
|
|
45
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
46
|
+
blacklight_version: 'https://github.com/projectblacklight/blacklight.git'
|
|
44
47
|
ruby: "3.3"
|
|
45
48
|
additional_name: "/ importmap-rails"
|
|
46
49
|
additional_engine_cart_rails_options: "--css=bootstrap"
|
|
47
50
|
|
|
48
|
-
- rails_version: "~> 8.0.
|
|
49
|
-
blacklight_version: '
|
|
51
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
52
|
+
blacklight_version: 'https://github.com/projectblacklight/blacklight.git'
|
|
50
53
|
ruby: "3.3"
|
|
51
54
|
additional_name: "/ esbuild"
|
|
52
55
|
additional_engine_cart_rails_options: "--css=bootstrap --javascript=esbuild"
|
|
53
56
|
|
|
54
|
-
# BLACKLIGHT 9
|
|
55
|
-
# and with Rails 8.0 only for simplicity
|
|
57
|
+
# BLACKLIGHT 9 and with Rails 8 and 8.1
|
|
56
58
|
#
|
|
57
59
|
|
|
60
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
61
|
+
blacklight_version: '~> 9.0'
|
|
62
|
+
ruby: "3.4"
|
|
63
|
+
additional_name: "/ importmap-rails"
|
|
64
|
+
additional_engine_cart_rails_options: "--css=bootstrap"
|
|
65
|
+
|
|
66
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
67
|
+
blacklight_version: '~> 9.0'
|
|
68
|
+
ruby: "3.4"
|
|
69
|
+
additional_name: "/ esbuild"
|
|
70
|
+
additional_engine_cart_rails_options: "--css=bootstrap --javascript=esbuild"
|
|
71
|
+
|
|
58
72
|
- rails_version: "~> 8.0.0"
|
|
59
|
-
blacklight_version: '~> 9.0
|
|
73
|
+
blacklight_version: '~> 9.0'
|
|
60
74
|
ruby: "3.4"
|
|
61
75
|
additional_name: "/ importmap-rails"
|
|
62
76
|
additional_engine_cart_rails_options: "--css=bootstrap"
|
|
63
77
|
|
|
64
78
|
- rails_version: "~> 8.0.0"
|
|
65
|
-
blacklight_version: '~> 9.0
|
|
79
|
+
blacklight_version: '~> 9.0'
|
|
66
80
|
ruby: "3.4"
|
|
67
81
|
additional_name: "/ esbuild"
|
|
68
82
|
additional_engine_cart_rails_options: "--css=bootstrap --javascript=esbuild"
|
|
69
83
|
|
|
70
84
|
|
|
71
|
-
# BLACKLIGHT 8, can test with use importmaps and esbuild
|
|
72
|
-
#
|
|
85
|
+
# BLACKLIGHT 8, can test with use importmaps and esbuild, also rails 8 and 8.1
|
|
86
|
+
# and a bit of 7.2
|
|
87
|
+
|
|
88
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
89
|
+
blacklight_version: "~> 8.0"
|
|
90
|
+
ruby: "3.3"
|
|
91
|
+
additional_name: "/ importmap-rails, propshaft"
|
|
92
|
+
additional_engine_cart_rails_options: "-a propshaft --css=bootstrap"
|
|
93
|
+
|
|
94
|
+
- rails_version: "~> 8.1.0.rc1"
|
|
95
|
+
blacklight_version: "~> 8.0"
|
|
96
|
+
ruby: "3.3"
|
|
97
|
+
additional_engine_cart_rails_options: "-a propshaft --javascript=esbuild --css=bootstrap"
|
|
98
|
+
additional_name: "/ esbuild, propshaft"
|
|
73
99
|
|
|
74
100
|
- rails_version: "~> 8.0.0"
|
|
75
101
|
blacklight_version: "~> 8.0"
|
data/Gemfile
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
require 'json'
|
|
3
2
|
|
|
4
3
|
source 'https://rubygems.org'
|
|
5
4
|
|
|
@@ -10,14 +9,9 @@ group :test do
|
|
|
10
9
|
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
|
|
11
10
|
end
|
|
12
11
|
|
|
13
|
-
# While gemspec allows BL8 and some people are using BL8... the build
|
|
14
|
-
# has never actually passed on BL8 yet. We may choose to run tests on
|
|
15
|
-
# a blacklight version other than the latest allowed by gemspec, to get
|
|
16
|
-
# tests to pass, or to test on older BL still supported here.
|
|
17
12
|
if ENV['BLACKLIGHT_VERSION']
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
gem "blacklight", **JSON.parse(ENV['BLACKLIGHT_VERSION'])
|
|
13
|
+
if ENV['BLACKLIGHT_VERSION'].include?("://")
|
|
14
|
+
gem "blacklight", git: ENV['BLACKLIGHT_VERSION']
|
|
21
15
|
else
|
|
22
16
|
gem "blacklight", ENV['BLACKLIGHT_VERSION']
|
|
23
17
|
end
|
|
@@ -45,16 +39,6 @@ else
|
|
|
45
39
|
else
|
|
46
40
|
gem 'rails', ENV['RAILS_VERSION']
|
|
47
41
|
end
|
|
48
|
-
|
|
49
|
-
case ENV['RAILS_VERSION']
|
|
50
|
-
when /^6.0/
|
|
51
|
-
gem 'sass-rails', '>= 6'
|
|
52
|
-
gem 'webpacker', '~> 4.0'
|
|
53
|
-
when /^5.[12]/
|
|
54
|
-
gem 'sass-rails', '~> 5.0'
|
|
55
|
-
gem 'sprockets', '~> 3.7'
|
|
56
|
-
gem 'thor', '~> 0.20'
|
|
57
|
-
end
|
|
58
42
|
end
|
|
59
43
|
end
|
|
60
44
|
# END ENGINE_CART BLOCK
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
9.
|
|
1
|
+
9.2.0
|
|
@@ -3,25 +3,21 @@
|
|
|
3
3
|
|
|
4
4
|
<div class="range-limit-input-group">
|
|
5
5
|
<div class="d-flex justify-content-between align-items-end">
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
%>
|
|
14
|
-
</div>
|
|
6
|
+
<%= render BlacklightRangeLimit::RangeInputComponent.new(
|
|
7
|
+
input_name: begin_input_name,
|
|
8
|
+
input_value: begin_value_default,
|
|
9
|
+
label_text: t("blacklight.range_limit.range_begin_short"),
|
|
10
|
+
min_value: range_config[:min_value],
|
|
11
|
+
max_value: range_config[:max_value],
|
|
12
|
+
css_class: "range_begin") %>
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
%>
|
|
24
|
-
</div>
|
|
14
|
+
<%= render BlacklightRangeLimit::RangeInputComponent.new(
|
|
15
|
+
input_name: end_input_name,
|
|
16
|
+
input_value: end_value_default,
|
|
17
|
+
label_text: t("blacklight.range_limit.range_end_short"),
|
|
18
|
+
min_value: range_config[:min_value],
|
|
19
|
+
max_value: range_config[:max_value],
|
|
20
|
+
css_class: "range_end") %>
|
|
25
21
|
</div>
|
|
26
22
|
<div class="d-flex justify-content-end mt-2">
|
|
27
23
|
<%= submit_tag t('blacklight.range_limit.submit_limit'), class: @classes[:submit], name: nil %>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="d-flex flex-column mr-1 me-1">
|
|
2
|
+
<%= label_tag @input_name, @label_text, class: 'text-muted small mb-1' %>
|
|
3
|
+
<%= number_field_tag @input_name,
|
|
4
|
+
@input_value,
|
|
5
|
+
min: @min_value,
|
|
6
|
+
max: @max_value,
|
|
7
|
+
class: "form-control form-control-sm #{@css_class}" %>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BlacklightRangeLimit
|
|
4
|
+
class RangeInputComponent < Blacklight::Component
|
|
5
|
+
def initialize(input_name:, input_value:, label_text:, min_value:, max_value:, css_class:)
|
|
6
|
+
@input_name = input_name
|
|
7
|
+
@input_value = input_value
|
|
8
|
+
@label_text = label_text
|
|
9
|
+
@min_value = min_value
|
|
10
|
+
@max_value = max_value
|
|
11
|
+
@css_class = css_class
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
|
17
17
|
|
|
18
18
|
s.license = 'Apache 2.0'
|
|
19
19
|
|
|
20
|
-
s.add_dependency 'blacklight', '>= 7.25.2', '<
|
|
20
|
+
s.add_dependency 'blacklight', '>= 7.25.2', '< 10'
|
|
21
21
|
s.add_dependency 'view_component', ">= 2.54", "< 5"
|
|
22
22
|
|
|
23
23
|
s.add_development_dependency 'rspec', '~> 3.0'
|
|
@@ -8,18 +8,17 @@ module BlacklightRangeLimit
|
|
|
8
8
|
|
|
9
9
|
RANGE_LIMIT_FIELDS = [:range_end, :range_field, :range_start].freeze
|
|
10
10
|
|
|
11
|
+
included do
|
|
12
|
+
# have to do this in before_action so it's done before any application level
|
|
13
|
+
# before_actions, that might do something that needs it
|
|
14
|
+
before_action :_range_limit_add_search_state_fields, only: :range_limit
|
|
15
|
+
end
|
|
16
|
+
|
|
11
17
|
# Action method of our own!
|
|
12
18
|
# Delivers a _partial_ that's a display of a single fields range facets.
|
|
13
19
|
# Used when we need a second Solr query to get range facets, after the
|
|
14
20
|
# first found min/max from result set.
|
|
15
21
|
def range_limit
|
|
16
|
-
# The builder in this action will need our special range_limit fields, so we
|
|
17
|
-
# must allow them.
|
|
18
|
-
if blacklight_config.search_state_fields
|
|
19
|
-
missing_keys = RANGE_LIMIT_FIELDS - blacklight_config.search_state_fields
|
|
20
|
-
blacklight_config.search_state_fields.concat(missing_keys)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
22
|
@facet = blacklight_config.facet_fields[params[:range_field]]
|
|
24
23
|
raise ActionController::RoutingError, 'Not Found' unless @facet&.range
|
|
25
24
|
|
|
@@ -40,6 +39,14 @@ module BlacklightRangeLimit
|
|
|
40
39
|
render BlacklightRangeLimit::RangeSegmentsComponent.new(facet_field: @presenter), layout: !request.xhr?
|
|
41
40
|
end
|
|
42
41
|
|
|
42
|
+
def _range_limit_add_search_state_fields
|
|
43
|
+
# The builder in this action will need our special range_limit fields, so we
|
|
44
|
+
# must allow them.
|
|
45
|
+
blacklight_config.search_state_fields ||= []
|
|
46
|
+
missing_keys = RANGE_LIMIT_FIELDS - blacklight_config.search_state_fields
|
|
47
|
+
blacklight_config.search_state_fields.concat(missing_keys)
|
|
48
|
+
end
|
|
49
|
+
|
|
43
50
|
class_methods do
|
|
44
51
|
def default_range_config
|
|
45
52
|
BlacklightRangeLimit.default_range_config
|
data/package.json
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
gem 'rails-controller-testing'
|
|
2
2
|
|
|
3
3
|
if ENV['BLACKLIGHT_VERSION']
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if ENV['BLACKLIGHT_VERSION'].start_with?("{")
|
|
7
|
-
gem "blacklight", **JSON.parse(ENV['BLACKLIGHT_VERSION'])
|
|
4
|
+
if ENV['BLACKLIGHT_VERSION'].include?("://")
|
|
5
|
+
gem "blacklight", git: ENV['BLACKLIGHT_VERSION']
|
|
8
6
|
else
|
|
9
7
|
gem "blacklight", ENV['BLACKLIGHT_VERSION']
|
|
10
8
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blacklight_range_limit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Rochkind
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: 7.25.2
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
22
|
+
version: '10'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: 7.25.2
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '10'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: view_component
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -196,6 +196,8 @@ files:
|
|
|
196
196
|
- app/components/blacklight_range_limit/range_facet_component.rb
|
|
197
197
|
- app/components/blacklight_range_limit/range_form_component.html.erb
|
|
198
198
|
- app/components/blacklight_range_limit/range_form_component.rb
|
|
199
|
+
- app/components/blacklight_range_limit/range_input_component.html.erb
|
|
200
|
+
- app/components/blacklight_range_limit/range_input_component.rb
|
|
199
201
|
- app/components/blacklight_range_limit/range_segments_component.html.erb
|
|
200
202
|
- app/components/blacklight_range_limit/range_segments_component.rb
|
|
201
203
|
- app/presenters/blacklight_range_limit/facet_field_presenter.rb
|
|
@@ -280,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
280
282
|
- !ruby/object:Gem::Version
|
|
281
283
|
version: '0'
|
|
282
284
|
requirements: []
|
|
283
|
-
rubygems_version: 3.
|
|
285
|
+
rubygems_version: 3.7.1
|
|
284
286
|
specification_version: 4
|
|
285
287
|
summary: Blacklight Range Limit plugin
|
|
286
288
|
test_files:
|