blacklight 6.14.1 → 6.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '0781d81bd7e6f463adbda8b8c18ce4e36b1d942e'
4
- data.tar.gz: 9eb7e235b9c918d98a464a67970d4ada88d7305f
3
+ metadata.gz: 06d38d95ca2b94c85c6bfe14077f338c8fa276f8
4
+ data.tar.gz: f35d49bcdf90238709a06a7f16dfa898dd38a761
5
5
  SHA512:
6
- metadata.gz: 712ee1f20420f59b322bcfa87f2fcbde9485e4b592f336cf83a40a6d4c36c3ba35ea40f3eb68b609fb81414729540789c610aa74fd0646425b7f34823bae8ed7
7
- data.tar.gz: 75adfcc650cb16ee515d0a6180a0e9de4bfd12d2d85ac4faf22db20dfa21dbd46345da050321eb334428d0511bcf23dd0662ab79aa11e47d6a81a3b2bc7a9c4f
6
+ metadata.gz: 3562e9f56ffb61d1c5995f9312f138384b5f47d7d0ce150fcbcf348fe91e3cd3fc9584f021e3e21e53728da1bf97d10408f5b5f4346bc213c6a9b274607d959c
7
+ data.tar.gz: 1584a23ffb76aabe4b21a6260be9fafe46dadeae7fd96834c79ad2c223b2714073d69b838acce7af65fc58955b585e80828efd3db702523d5635dcafecf6a93b
@@ -5,20 +5,22 @@ notifications:
5
5
  email: false
6
6
 
7
7
  rvm:
8
- - 2.4.1
8
+ - 2.5.0
9
9
 
10
10
  matrix:
11
11
  include:
12
- - rvm: 2.4.1
13
- env: "RAILS_VERSION=4.2.8"
14
- - rvm: 2.2.7
15
- env: "RAILS_VERSION=5.0.3"
16
- - rvm: 2.3.4
17
- env: "RAILS_VERSION=5.1.1"
18
- - rvm: jruby-9.1.7.0
19
- env: "RAILS_VERSION=5.0.3 JRUBY_OPTS=\"-J-Xms512m -J-Xmx1024m\""
12
+ - rvm: 2.5.0
13
+ env: "RAILS_VERSION=5.2.0"
14
+ - rvm: 2.4.4
15
+ env: "RAILS_VERSION=4.2.10"
16
+ - rvm: 2.2.10
17
+ env: "RAILS_VESION=5.0.7"
18
+ - rvm: 2.3.7
19
+ env: "RAILS_VERSION=5.1.6"
20
+ - rvm: jruby-9.1.17.0
21
+ env: "RAILS_VERSION=5.2.0 JRUBY_OPTS=\"-J-Xms512m -J-Xmx1024m\""
20
22
  allow_failures:
21
- - rvm: jruby-9.1.7.0
23
+ - rvm: jruby-9.1.17.0
22
24
  fast_finish: true
23
25
 
24
26
  before_install:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.14.1
1
+ 6.15.0
@@ -49,7 +49,7 @@
49
49
  var unique_id = form.attr("data-doc-id") || Math.random();
50
50
  // if form is currently using method delete to change state,
51
51
  // then checkbox is currently checked
52
- var checked = (form.find("input[name=_method][value=delete]").size() != 0);
52
+ var checked = (form.find("input[name=_method][value=delete]").length != 0);
53
53
 
54
54
  var checkbox = $('<input type="checkbox">')
55
55
  .addClass( options.css_class )
@@ -9,31 +9,22 @@ Blacklight = function() {
9
9
  for(var i = 0; i < buffer.length; i++) {
10
10
  buffer[i].call();
11
11
  }
12
- },
13
-
14
- listeners: function () {
15
- var listeners = [];
16
- if (typeof Turbolinks !== 'undefined' && Turbolinks.supported) {
17
- // Turbolinks 5
18
- if (Turbolinks.BrowserAdapter) {
19
- listeners.push('turbolinks:load');
20
- } else {
21
- // Turbolinks < 5
22
- listeners.push('page:load', 'ready');
23
- }
24
- } else {
25
- listeners.push('ready');
26
- }
27
-
28
- return listeners.join(' ');
29
12
  }
30
13
  };
31
14
  }();
32
15
 
33
16
  // turbolinks triggers page:load events on page transition
34
- // If app isn't using turbolinks, this event will never be triggered, no prob.
35
- $(document).on(Blacklight.listeners(), function() {
36
- Blacklight.activate();
37
- });
38
-
39
-
17
+ // If app isn't using turbolinks, this event will never be triggered, no prob.
18
+ // $(document).on('ready') is deprecated in JQuery 1.8
19
+ if (typeof Turbolinks !== 'undefined' && Turbolinks.supported) {
20
+ // Turbolinks 5
21
+ if (Turbolinks.BrowserAdapter) {
22
+ $(document).on('turbolinks:load', function() { Blacklight.activate(); });
23
+ } else {
24
+ // Turbolinks < 5
25
+ $(document).on('page:load', function() { Blacklight.activate(); });
26
+ $(document).ready(function() { Blacklight.activate(); });
27
+ }
28
+ } else {
29
+ $(document).ready(function() { Blacklight.activate(); });
30
+ }
@@ -56,7 +56,7 @@ module Blacklight::Catalog
56
56
  search_session['id'] = params[:search_id]
57
57
  search_session['per_page'] = params[:per_page]
58
58
 
59
- if params[:redirect] and (params[:redirect].starts_with?('/') or params[:redirect] =~ URI.regexp)
59
+ if params[:redirect] and (params[:redirect].starts_with?('/') or params[:redirect] =~ URI::DEFAULT_PARSER.make_regexp)
60
60
  uri = URI.parse(params[:redirect])
61
61
  path = uri.query ? "#{uri.path}?#{uri.query}" : uri.path
62
62
  redirect_to path, status: 303
@@ -42,7 +42,22 @@ module Blacklight::TokenBasedUser
42
42
  end
43
43
 
44
44
  def export_secret_token
45
- ActiveSupport::KeyGenerator.new(Rails.application.secrets.secret_key_base).generate_key('encrypted user session key')[0..(key_len - 1)]
45
+ secret_key_generator.generate_key('encrypted user session key')[0..(key_len - 1)]
46
+ end
47
+
48
+ def secret_key_generator
49
+ @secret_key_generator ||= begin
50
+ app = Rails.application
51
+
52
+ secret_key_base = if app.respond_to?(:credentials)
53
+ # Rails 5.2+
54
+ app.credentials.secret_key_base
55
+ else
56
+ # Rails <= 5.1
57
+ app.secrets.secret_key_base
58
+ end
59
+ ActiveSupport::KeyGenerator.new(secret_key_base)
60
+ end
46
61
  end
47
62
 
48
63
  def message_encryptor
@@ -116,7 +116,9 @@ module Blacklight::BlacklightHelperBehavior
116
116
  # @param [Blacklight::Solr::Response] response
117
117
  # @return [Boolean]
118
118
  def should_show_spellcheck_suggestions? response
119
- response.total <= spell_check_max and response.spelling.words.any?
119
+ response.total <= spell_check_max &&
120
+ !response.spelling.nil? &&
121
+ response.spelling.words.any?
120
122
  end
121
123
 
122
124
  ##
@@ -18,6 +18,8 @@ module Blacklight
18
18
  ##
19
19
  # Render "document actions" area for navigation header
20
20
  # (normally renders "Saved Searches", "History", "Bookmarks")
21
+ # These things are added by add_nav_action and the default config is
22
+ # provided by DefaultComponentConfiguration
21
23
  #
22
24
  # @param [Hash] options
23
25
  # @return [String]
@@ -8,6 +8,11 @@ module Blacklight::Document
8
8
  include ::ActiveModel::Conversion
9
9
 
10
10
  module ClassMethods
11
+ # This is actually an ActiveRecord method starting in Rails 5.2
12
+ def polymorphic_name
13
+ base_class.name
14
+ end
15
+
11
16
  def primary_key
12
17
  unique_key
13
18
  end
@@ -1,7 +1,7 @@
1
1
  <div class="panel panel-default facet_limit blacklight-<%= facet_field.key.parameterize %> <%= 'facet_limit-active' if facet_field_in_params?(facet_field.key) %>">
2
2
  <div class="<%= "collapsed" if should_collapse_facet?(facet_field) %> collapse-toggle panel-heading" data-toggle="collapse" data-target="#<%= facet_field_id(facet_field) %>">
3
3
  <h3 class="panel-title facet-field-heading">
4
- <%= link_to facet_field_label(facet_field.key), "#", :"data-no-turbolink" => true %>
4
+ <%= link_to facet_field_label(facet_field.key), "#", :"data-turbolinks" => false, :"data-no-turbolink" => true %>
5
5
  </h3>
6
6
  </div>
7
7
  <div id="<%= facet_field_id(facet_field) %>" class="panel-collapse facet-content <%= should_collapse_facet?(facet_field) ? 'collapse' : 'in' %>">
@@ -39,7 +39,7 @@ module Blacklight
39
39
  ##
40
40
  # === Single document request configuration
41
41
  ##
42
- # The solr rqeuest handler to use when requesting only a single document
42
+ # The solr request handler to use when requesting only a single document
43
43
  document_solr_request_handler: 'document',
44
44
  # THe path to send single document requests to solr
45
45
  document_solr_path: nil,
@@ -9,12 +9,12 @@ module Blacklight
9
9
  return if has_blacklight_assets?
10
10
 
11
11
  contents = "\n//\n// Required by Blacklight\n"
12
- contents += "//= require jquery\n" if rails_5_1?
12
+ contents += "//= require jquery\n" if needs_jquery?
13
13
  contents += "//= require blacklight/blacklight\n"
14
14
 
15
15
  marker = if turbolinks?
16
16
  '//= require turbolinks'
17
- elsif rails_5_1?
17
+ elsif needs_jquery?
18
18
  '//= require rails-ujs'
19
19
  else
20
20
  '//= require jquery_ujs'
@@ -27,13 +27,13 @@ module Blacklight
27
27
 
28
28
  # This is not a default in Rails 5.1
29
29
  def add_jquery
30
- gem 'jquery-rails' if rails_5_1?
30
+ gem 'jquery-rails' if needs_jquery?
31
31
  end
32
32
 
33
33
  private
34
34
 
35
- def rails_5_1?
36
- Rails.version =~ /5\.1/
35
+ def needs_jquery?
36
+ Rails.version >= '5.1'
37
37
  end
38
38
 
39
39
  def turbolinks?
@@ -50,7 +50,19 @@ describe "Facets" do
50
50
  expect(page).to have_selector '.facet-values li:first', text: "Japanese drama"
51
51
  expect(page).to have_css '.facet-values li', count: 20
52
52
  end
53
-
53
+
54
+ it 'is able to expand facets when javascript is enabled', js: true do
55
+ visit root_path
56
+
57
+ expect(page).to have_css('#facet-format', visible: false)
58
+
59
+ page.find('h3.facet-field-heading a', text: 'Format').click
60
+
61
+ sleep(1) # let facet animation finish and wait for it to potentially re-collapse
62
+
63
+ expect(page).to have_css('#facet-format', visible: true) # assert that it didn't re-collapse
64
+ end
65
+
54
66
  describe '"More" links' do
55
67
  it 'has default more link with sr-only text' do
56
68
  visit root_path
@@ -240,7 +240,7 @@ describe BlacklightHelper do
240
240
  response = double(total: 10)
241
241
  expect(helper.should_show_spellcheck_suggestions? response).to be false
242
242
  end
243
- it "onlies show suggestions if there are very few results" do
243
+ it "only shows suggestions if there are very few results" do
244
244
  response = double(total: 4, spelling: double(words: [1]))
245
245
  expect(helper.should_show_spellcheck_suggestions? response).to be true
246
246
  end
@@ -248,6 +248,10 @@ describe BlacklightHelper do
248
248
  response = double(total: 4, spelling: double(words: []))
249
249
  expect(helper.should_show_spellcheck_suggestions? response).to be false
250
250
  end
251
+ it "does not show suggestions if spelling is not available" do
252
+ response = double(total: 4, spelling: nil)
253
+ expect(helper.should_show_spellcheck_suggestions? response).to be false
254
+ end
251
255
  end
252
256
 
253
257
  describe "#render_document_partials" do
@@ -1,4 +1,5 @@
1
1
  if ENV['RAILS_VERSION'].nil? || ENV['RAILS_VERSION'] =~ /^5\./ || ENV['RAILS_VERSION'] == 'edge'
2
2
  gem 'rails-controller-testing'
3
+ gem 'thor', '~> 0.20'
3
4
  gem 'deprecation'
4
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.14.1
4
+ version: 6.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2018-01-30 00:00:00.000000000 Z
20
+ date: 2018-04-26 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails