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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1eb86d2b4a964fa439b38733a97efb61faa03e3db7a4a51a0ffa4daea379fe9d
4
- data.tar.gz: 2444a4e758791ecb567d8f2f3aa0ee16a14a8cd20e3b4652a4b1b565a9511f0f
3
+ metadata.gz: cb2770ee329bb6bc941864e6e371eab6f676a5aba369c9ece4aebb244703089d
4
+ data.tar.gz: ed51729efb72aa983fbe046995ab9b633cd31923a083f05579912b496a192942
5
5
  SHA512:
6
- metadata.gz: 423928f6a8c0b71b04a8ac60a4bff7b2581aacb0a398bb4d7c933ba6c87e4b92540871e9709870e8342f7471830995552ba465e2c19357d0fa4b5637b80c5d10
7
- data.tar.gz: 9799b189b778c9a34ca56fcb794143f328cbac9cb9ce7df829c18c23146842b6f8c961ac866c7692cc9eef31923dc0d0a012171afe658fe5778e91a5cdd18651
6
+ metadata.gz: f40f9917b407aa32b7cb5b0040fd69dde006f911cea0470ddf56c885985e84232ac70488db753a8b3d07efae7e48e3915474f98e9832ad1518c279e5de0347e8
7
+ data.tar.gz: faa8fe7325e92e8cc8694b67c89229c9f346471f06415069b0c5736efa797a1dba040e4b5033559639c36ac52ea21a05b5699b3ab081530aca23d2712bc342a5
@@ -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 Rails 8 beta, importmap and esbuild
42
+ # BLACKLIGHT EDGE, can test with latest rails, importmap and esbuild
40
43
  #
41
44
 
42
- - rails_version: "~> 8.0.0"
43
- blacklight_version: '{ "git": "https://github.com/projectblacklight/blacklight.git" }'
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.0"
49
- blacklight_version: '{ "git": "https://github.com/projectblacklight/blacklight.git" }'
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, with beta cause that's all that's out as we write this
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.0.beta'
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.0.beta'
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
- # allow direct git and other with serialized json kw args
19
- if ENV['BLACKLIGHT_VERSION'].start_with?("{")
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.0
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
- <div class="d-flex flex-column mr-1 me-1">
7
- <%= label_tag(begin_input_name, t("blacklight.range_limit.range_begin_short"), class: 'text-muted small mb-1') %>
8
- <%= number_field_tag(begin_input_name,
9
- begin_value_default,
10
- min: range_config[:min_value],
11
- max: range_config[:max_value],
12
- class: "form-control form-control-sm range_begin")
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
- <div class="d-flex flex-column ml-1 ms-1">
17
- <%= label_tag(end_input_name, t("blacklight.range_limit.range_end_short"), class: 'text-muted small mb-1') %>
18
- <%= number_field_tag(end_input_name,
19
- end_value_default,
20
- min: range_config[:min_value],
21
- max: range_config[:max_value],
22
- class: "form-control form-control-sm range_end")
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', '< 9'
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,6 +1,6 @@
1
1
  {
2
2
  "name": "blacklight-range-limit",
3
- "version": "9.1.0",
3
+ "version": "9.2.0",
4
4
  "description": "A range facet UI component plugin for blacklight",
5
5
  "type": "module",
6
6
 
@@ -1,10 +1,8 @@
1
1
  gem 'rails-controller-testing'
2
2
 
3
3
  if ENV['BLACKLIGHT_VERSION']
4
- # allow direct git and other with serialized json kw args
5
- require 'json'
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.1.0
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: '9'
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: '9'
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.6.9
285
+ rubygems_version: 3.7.1
284
286
  specification_version: 4
285
287
  summary: Blacklight Range Limit plugin
286
288
  test_files: