blacklight-gallery 2.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +45 -0
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/blacklight_gallery/default.js +0 -1
  5. data/app/assets/javascripts/blacklight_gallery/masonry.js +1 -1
  6. data/app/assets/javascripts/blacklight_gallery/osd_viewer.js +1 -1
  7. data/app/assets/javascripts/blacklight_gallery/slideshow.js +1 -2
  8. data/app/assets/stylesheets/blacklight_gallery/_gallery.scss +11 -17
  9. data/app/assets/stylesheets/blacklight_gallery/_masonry.scss +55 -24
  10. data/app/assets/stylesheets/blacklight_gallery/_slideshow.scss +5 -3
  11. data/app/components/blacklight/gallery/document_component.html.erb +21 -0
  12. data/app/components/blacklight/gallery/document_component.rb +11 -0
  13. data/app/components/blacklight/gallery/slideshow_component.html.erb +12 -0
  14. data/app/components/blacklight/gallery/slideshow_component.rb +40 -0
  15. data/app/components/blacklight/gallery/slideshow_preview_component.html.erb +5 -0
  16. data/app/components/blacklight/gallery/slideshow_preview_component.rb +28 -0
  17. data/app/helpers/blacklight/gallery_helper.rb +0 -38
  18. data/app/models/concerns/blacklight/gallery/openseadragon_solr_document.rb +1 -1
  19. data/app/views/catalog/_document_gallery.html.erb +4 -3
  20. data/app/views/catalog/_document_masonry.html.erb +2 -3
  21. data/app/views/catalog/_document_slideshow.html.erb +26 -5
  22. data/app/views/catalog/_slideshow_modal.html.erb +2 -3
  23. data/blacklight-gallery.gemspec +4 -4
  24. data/config/locales/blacklight-gallery.ar.yml +7 -4
  25. data/lib/blacklight/gallery/engine.rb +0 -1
  26. data/lib/blacklight/gallery/version.rb +1 -1
  27. data/lib/generators/blacklight_gallery/install_generator.rb +10 -3
  28. data/lib/generators/blacklight_gallery/templates/blacklight_gallery.js +2 -1
  29. data/spec/components/blacklight/gallery/document_component_spec.rb +46 -0
  30. data/spec/components/blacklight/gallery/slideshow_component_spec.rb +67 -0
  31. data/spec/features/gallery_spec.rb +3 -4
  32. data/spec/features/masonry_spec.rb +2 -3
  33. data/spec/features/slideshow_spec.rb +0 -2
  34. data/spec/models/concerns/openseadragon_solr_document_spec.rb +1 -1
  35. data/spec/spec_helper.rb +4 -11
  36. data/spec/views/catalog/_document_slideshow.html.erb_spec.rb +15 -5
  37. metadata +43 -39
  38. data/.travis.yml +0 -21
  39. data/app/views/catalog/_grid_slideshow.html.erb +0 -11
  40. data/app/views/catalog/_index_gallery.html.erb +0 -14
  41. data/app/views/catalog/_index_masonry.html.erb +0 -8
  42. data/app/views/catalog/_index_masonry_default.html.erb +0 -1
  43. data/app/views/catalog/_index_slideshow.html.erb +0 -11
  44. data/app/views/catalog/_slideshow.html.erb +0 -23
  45. data/spec/helpers/blacklight/gallery_helper_spec.rb +0 -110
  46. data/spec/views/catalog/_index_gallery.html.erb_spec.rb +0 -22
  47. data/spec/views/catalog/_index_masonry.html.erb_spec.rb +0 -34
@@ -1,4 +1,5 @@
1
- <% # container for all documents in index view -%>
2
- <div id="documents" class="row gallery">
3
- <%= render_gallery_collection documents %>
1
+ <div class="container">
2
+ <div id="documents" class="<%= (Array(blacklight_config.view_config(document_index_view_type).classes || 'row-cols-2 row-cols-md-3') + ["row documents-#{document_index_view_type}"]).join(' ') %>">
3
+ <%= render documents, as: :document %>
4
+ </div>
4
5
  </div>
@@ -1,4 +1,3 @@
1
- <% # container for all documents in index view -%>
2
- <div id="documents" class="row" data-behavior="masonry-gallery">
3
- <%= render collection: documents, as: :document, partial: 'index_masonry', locals: {count: documents.count} %>
1
+ <div id="documents" class="<%= (Array(blacklight_config.view_config(document_index_view_type).classes) + ["documents-#{document_index_view_type}"]).join(' ') %>">
2
+ <%= render documents, as: :document %>
4
3
  </div>
@@ -1,10 +1,31 @@
1
- <% # container for all documents in slideshow view -%>
2
- <div id="documents" class="row slideshow-documents">
1
+ <div id="documents" class="<%= (Array(blacklight_config.view_config(document_index_view_type).classes) + ["documents-#{document_index_view_type}"]).join(' ') %>">
3
2
  <div class="grid">
4
- <%= render collection: documents, as: :document, partial: 'grid_slideshow' %>
3
+ <%= render((blacklight_config.view_config(document_index_view_type).preview_component || Blacklight::Gallery::SlideshowPreviewComponent).with_collection(documents)) %>
5
4
  </div>
6
5
 
7
- <%= render layout: 'slideshow_modal', locals: {documents: documents} do %>
8
- <%= render partial: 'slideshow', locals: {documents: documents} %>
6
+ <%= render layout: 'slideshow_modal' do %>
7
+ <div id="slideshow" class="slideshow-presenter">
8
+ <!-- Wrapper for slides -->
9
+ <div class="slideshow-inner">
10
+ <%= render documents, as: :document %>
11
+ </div>
12
+
13
+ <!-- Controls -->
14
+ <a class="left carousel-control prev" href="#slideshow" data-slide="prev">
15
+ <%= blacklight_icon 'chevron_left', { additional_options: { label_context: 'previous_image' }} %>
16
+ </a>
17
+ <a class="right carousel-control next" href="#slideshow" data-slide="next">
18
+ <%= blacklight_icon 'chevron_right', { additional_options: { label_context: 'next_image' }} %>
19
+ </a>
20
+
21
+ <div class="controls text-center">
22
+ <button class="btn btn-sm btn-link" data-behavior="pause-slideshow" aria-label="<%= t('blacklight_gallery.catalog.slideshow.pause') %>">
23
+ <%= blacklight_icon 'pause_slideshow' %>
24
+ </button>
25
+ <button class="btn btn-sm btn-link" data-behavior="start-slideshow" aria-label="<%= t('blacklight_gallery.catalog.slideshow.start') %>">
26
+ <%= blacklight_icon 'start_slideshow' %>
27
+ </button>
28
+ </div>
29
+ </div>
9
30
  <% end %>
10
31
  </div>
@@ -3,9 +3,8 @@
3
3
  <div class="modal-dialog modal-xl">
4
4
  <div class="modal-content">
5
5
  <div class="modal-header">
6
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
7
- <span class="sr-only">close</span>
8
- <span aria-hidden="true">×</span>
6
+ <button type="button" class="blacklight-modal-close close" data-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
7
+ <span aria-hidden="true">&times;</span>
9
8
  </button>
10
9
  </div>
11
10
  <div class="modal-body">
@@ -17,10 +17,9 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "rails", '~> 5.1'
21
- spec.add_dependency 'blacklight', '~> 7.7'
20
+ spec.add_dependency "rails", '>= 5.1', '< 7'
21
+ spec.add_dependency 'blacklight', '~> 7.12'
22
22
  spec.add_dependency "bootstrap", "~> 4.0"
23
- spec.add_dependency "openseadragon", ">= 0.2.0"
24
23
 
25
24
  spec.add_development_dependency "rake"
26
25
  spec.add_development_dependency 'sqlite3'
@@ -31,6 +30,7 @@ Gem::Specification.new do |spec|
31
30
  spec.add_development_dependency "solr_wrapper"
32
31
  spec.add_development_dependency "engine_cart", "~> 2.0"
33
32
  spec.add_development_dependency "capybara"
34
- spec.add_development_dependency 'chromedriver-helper'
33
+ spec.add_development_dependency 'webdrivers'
34
+ spec.add_development_dependency 'rexml' # pending https://github.com/SeleniumHQ/selenium/issues/9001
35
35
  spec.add_development_dependency "selenium-webdriver", '>= 3.13.1'
36
36
  end
@@ -1,16 +1,19 @@
1
1
  ar:
2
2
  blacklight:
3
+ icon:
4
+ chevron_left_previous_image: 'الصورة السابقة'
5
+ chevron_right_next_image: 'الصورة التالية'
3
6
  search:
4
7
  view:
5
8
  gallery: "معرض الصور"
6
- slideshow: "عرض متتابع"
9
+ slideshow: "عرض الصور"
7
10
  masonry: "عرض الصور كمجموعة"
8
11
  blacklight_gallery:
9
12
  catalog:
10
13
  grid_slideshow:
11
- missing_image: "صورة غير موجودة"
14
+ missing_image: 'غير موجود'
12
15
  modal_slideshow:
13
16
  counter: "%{counter} من %{count}"
14
17
  slideshow:
15
- pause: "وقفة عرض الشرائح"
16
- start: "بدء عرض الشرائح"
18
+ pause: وقف عرض الصور
19
+ start: بدء عرض الصور
@@ -3,7 +3,6 @@ require 'blacklight'
3
3
  module Blacklight
4
4
  module Gallery
5
5
  class Engine < Rails::Engine
6
- require 'openseadragon'
7
6
  end
8
7
  end
9
8
  end
@@ -1,5 +1,5 @@
1
1
  module Blacklight
2
2
  module Gallery
3
- VERSION = "2.0.0"
3
+ VERSION = "3.0.1"
4
4
  end
5
5
  end
@@ -8,13 +8,18 @@ module BlacklightGallery
8
8
  def assets
9
9
  copy_file "blacklight_gallery.css.scss", "app/assets/stylesheets/blacklight_gallery.css.scss"
10
10
  copy_file "blacklight_gallery.js", "app/assets/javascripts/blacklight_gallery.js"
11
+
12
+ insert_into_file "app/assets/javascripts/application.js", after: '//= require blacklight/blacklight' do
13
+ "\n//= require blacklight_gallery"
14
+ end
11
15
  end
12
16
 
13
17
  def configuration
14
18
  inject_into_file 'app/controllers/catalog_controller.rb', after: "configure_blacklight do |config|" do
15
- "\n config.view.gallery.partials = [:index_header, :index]" \
16
- "\n config.view.masonry.partials = [:index]" \
17
- "\n config.view.slideshow.partials = [:index]\n\n" \
19
+ "\n config.view.gallery.document_component = Blacklight::Gallery::DocumentComponent" \
20
+ "\n # config.view.gallery.classes = 'row-cols-2 row-cols-md-3'" \
21
+ "\n config.view.masonry.document_component = Blacklight::Gallery::DocumentComponent" \
22
+ "\n config.view.slideshow.document_component = Blacklight::Gallery::SlideshowComponent" \
18
23
  "\n config.show.tile_source_field = :content_metadata_image_iiif_info_ssm" \
19
24
  "\n config.show.partials.insert(1, :openseadragon)"
20
25
  end
@@ -27,6 +32,8 @@ module BlacklightGallery
27
32
  end
28
33
 
29
34
  def add_openseadragon
35
+ gem "openseadragon", ">= 0.2.0"
36
+ Bundler.with_clean_env { run 'bundle install' }
30
37
  generate 'openseadragon:install'
31
38
  end
32
39
  end
@@ -1 +1,2 @@
1
- //= require blacklight_gallery/default
1
+ //= require blacklight_gallery/default
2
+ //= require blacklight_gallery/osd_viewer
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Blacklight::Gallery::DocumentComponent, type: :component do
6
+ subject(:component) { described_class.new(document: document, **attr) }
7
+
8
+ let(:attr) { {} }
9
+ let(:view_context) { controller.view_context }
10
+ let(:render) do
11
+ component.render_in(view_context)
12
+ end
13
+
14
+ let(:rendered) do
15
+ Capybara::Node::Simple.new(render)
16
+ end
17
+
18
+ let(:document) do
19
+ SolrDocument.new(
20
+ id: 'x',
21
+ thumbnail_path_ss: 'http://example.com/image.jpg',
22
+ title_tsim: 'This is my document title'
23
+ )
24
+ end
25
+
26
+ let(:blacklight_config) do
27
+ CatalogController.blacklight_config.deep_copy.tap do |config|
28
+ config.track_search_session = false
29
+ config.index.thumbnail_field = 'thumbnail_path_ss'
30
+ end
31
+ end
32
+
33
+ before do
34
+ allow(controller).to receive(:blacklight_config).and_return(blacklight_config)
35
+ allow(view_context).to receive(:current_search_session).and_return(nil)
36
+ allow(view_context).to receive(:search_session).and_return({})
37
+
38
+ # dumb hack to get our stubbing into the thumbnail component
39
+ allow(controller).to receive(:view_context).and_return(view_context)
40
+ end
41
+
42
+ it 'has a thumbnail and caption' do
43
+ expect(rendered).to have_selector '.document-thumbnail img'
44
+ expect(rendered).to have_selector '.caption', text: 'This is my document title'
45
+ end
46
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Blacklight::Gallery::SlideshowComponent, type: :component do
6
+ subject(:component) { described_class.new(document: document, **attr) }
7
+
8
+ let(:attr) { {} }
9
+ let(:view_context) { controller.view_context }
10
+ let(:render) do
11
+ component.render_in(view_context)
12
+ end
13
+
14
+ let(:rendered) do
15
+ Capybara::Node::Simple.new(render)
16
+ end
17
+
18
+ let(:blacklight_config) { Blacklight::Configuration.new }
19
+
20
+ before do
21
+ allow(view_context).to receive(:blacklight_config).and_return(blacklight_config)
22
+ end
23
+
24
+ describe '#slideshow_tag' do
25
+ subject { rendered }
26
+
27
+ let(:document) { SolrDocument.new({}) }
28
+
29
+ context 'with a slideshow method' do
30
+ let(:blacklight_config) { Blacklight::Configuration.new.tap { |config| config.index.slideshow_method = :xyz } }
31
+
32
+ it 'calls the provided slideshow method' do
33
+ expect(view_context).to receive_messages(xyz: 'some-slideshow')
34
+ expect(rendered).to have_text 'some-slideshow'
35
+ end
36
+
37
+ it 'does not render an image if the method returns nothing' do
38
+ expect(view_context).to receive_messages(xyz: nil)
39
+ expect(rendered).not_to have_selector 'img'
40
+ end
41
+ end
42
+
43
+ context 'with a field' do
44
+ let(:blacklight_config) { Blacklight::Configuration.new.tap { |config| config.index.slideshow_field = :xyz } }
45
+ let(:document) { SolrDocument.new({ xyz: 'http://example.com/some.jpg' }) }
46
+
47
+ it { is_expected.to have_selector 'img[src="http://example.com/some.jpg"]' }
48
+
49
+ context 'without data in the field' do
50
+ let(:document) { SolrDocument.new({}) }
51
+
52
+ it { is_expected.not_to have_selector 'img' }
53
+ end
54
+ end
55
+
56
+ context 'with nothing configured' do
57
+ it { is_expected.not_to have_selector 'img' }
58
+ end
59
+
60
+ context 'falling back to a thumbnail' do
61
+ let(:blacklight_config) { Blacklight::Configuration.new.tap { |config| config.index.thumbnail_field = :xyz } }
62
+ let(:document) { SolrDocument.new({ xyz: 'http://example.com/thumb.jpg' }) }
63
+
64
+ it { is_expected.to have_selector 'img[src="http://example.com/thumb.jpg"]' }
65
+ end
66
+ end
67
+ end
@@ -4,8 +4,7 @@ describe "Gallery view", :type => :feature do
4
4
  before { visit search_catalog_path :q => 'medicine', :view => 'gallery' }
5
5
 
6
6
  it "should display results in a galley view" do
7
- expect(page).to have_selector("#documents.gallery")
8
- expect(page).to have_selector(".gallery .document .thumbnail .caption")
9
- expect(page).to have_content("Strong Medicine speaks")
7
+ expect(page).to have_selector("#documents.documents-gallery")
8
+ expect(page).to have_selector(".caption", text: "Strong Medicine speaks")
10
9
  end
11
- end
10
+ end
@@ -4,8 +4,7 @@ describe "Masonry view", :type => :feature do
4
4
  before { visit search_catalog_path :q => 'medicine', :view => 'masonry' }
5
5
 
6
6
  it "should display results in a galley view" do
7
- expect(page).to have_selector("#documents[data-behavior='masonry-gallery']")
8
- expect(page).to have_selector(".masonry.document .thumbnail")
9
- expect(page).to have_selector('.masonry.document .caption', text: "Strong Medicine speaks", visible: false)
7
+ expect(page).to have_selector("#documents.documents-masonry")
8
+ expect(page).to have_selector('.document .caption', text: "Strong Medicine speaks", visible: false)
10
9
  end
11
10
  end
@@ -3,7 +3,6 @@ require 'spec_helper'
3
3
  describe "Slideshow", :js, :type => :feature do
4
4
 
5
5
  it "should open when one of the grid panes are clicked" do
6
- pending 'flappy test'
7
6
  visit search_catalog_path( :q => 'medicine', :view => 'slideshow' )
8
7
  expect(page).to have_content "You searched for:"
9
8
  within ".view-type" do
@@ -11,7 +10,6 @@ describe "Slideshow", :js, :type => :feature do
11
10
  end
12
11
 
13
12
  find('.grid [data-slide-to="0"]').click
14
- expect(page).to have_selector '#slideshow', visible: true
15
13
  end
16
14
 
17
15
  end
@@ -13,7 +13,7 @@ describe Blacklight::Gallery::OpenseadragonSolrDocument do
13
13
 
14
14
  context 'when not configured for the view' do
15
15
  let(:fields) { { some_field: 'data' } }
16
- let(:view_config) { double('ViewConfig') }
16
+ let(:view_config) { double('ViewConfig', tile_source_field: nil) }
17
17
  it 'returns nil' do
18
18
  expect(subject).to be_nil
19
19
  end
@@ -9,19 +9,11 @@ require 'rspec/rails'
9
9
  require 'rspec/active_model/mocks'
10
10
 
11
11
  require 'selenium-webdriver'
12
- require 'chromedriver-helper'
12
+ require 'webdrivers'
13
13
 
14
- Capybara.javascript_driver = :headless_chrome
15
14
 
16
- Capybara.register_driver :headless_chrome do |app|
17
- capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
18
- chromeOptions: { args: %w[headless disable-gpu no-sandbox] }
19
- )
20
-
21
- Capybara::Selenium::Driver.new(app,
22
- browser: :chrome,
23
- desired_capabilities: capabilities)
24
- end
15
+ Capybara.javascript_driver = :selenium_chrome_headless
16
+ Capybara.disable_animation = true
25
17
 
26
18
  require 'blacklight'
27
19
  require 'blacklight/gallery'
@@ -29,5 +21,6 @@ require 'blacklight/gallery'
29
21
  RSpec.configure do |c|
30
22
  c.infer_spec_type_from_file_location!
31
23
  c.full_backtrace = true
24
+ c.include ViewComponent::TestHelpers, type: :component
32
25
  #onfig.assets.precompile += %w(spotlight/default_thumbnail.jpg spotlight/default_browse_thumbnail.jpg)
33
26
  end
@@ -1,17 +1,27 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "catalog/_document_slideshow.html.erb", :type => :view do
4
- let(:blacklight_config) { Blacklight::Configuration.new }
4
+ let(:blacklight_config) do
5
+ Blacklight::Configuration.new do |config|
6
+ config.track_search_session = false
7
+ end
8
+ end
5
9
 
6
10
  let(:document) { stub_model(::SolrDocument) }
7
11
 
8
12
  before do
9
- allow(view).to receive_messages(blacklight_config: blacklight_config)
10
- allow(view).to receive_messages(documents: [document])
11
- allow(view).to receive(:blacklight_configuration_context).and_return(double(evaluate_if_unless_configuration: true))
13
+ allow(view).to receive_messages(
14
+ blacklight_config: blacklight_config,
15
+ documents: [document],
16
+ document_index_view_type: 'slideshow',
17
+ document_counter_with_offset: 1
18
+ )
19
+ allow(view).to receive(:current_search_session).and_return(nil)
20
+ allow(view).to receive(:search_session).and_return({})
21
+ allow(view).to receive(:search_state).and_return(Blacklight::SearchState.new({}, blacklight_config))
12
22
  end
13
23
 
14
- it "should have a edit tag form" do
24
+ it 'has a modal' do
15
25
  render
16
26
  expect(rendered).to have_selector '#slideshow-modal'
17
27
  expect(rendered).to have_selector '[data-slide="prev"]'
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-gallery
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-04 00:00:00.000000000 Z
11
+ date: 2021-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '5.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: blacklight
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '7.7'
39
+ version: '7.12'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '7.7'
46
+ version: '7.12'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bootstrap
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +58,6 @@ dependencies:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '4.0'
55
- - !ruby/object:Gem::Dependency
56
- name: openseadragon
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 0.2.0
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 0.2.0
69
61
  - !ruby/object:Gem::Dependency
70
62
  name: rake
71
63
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +185,21 @@ dependencies:
193
185
  - !ruby/object:Gem::Version
194
186
  version: '0'
195
187
  - !ruby/object:Gem::Dependency
196
- name: chromedriver-helper
188
+ name: webdrivers
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: rexml
197
203
  requirement: !ruby/object:Gem::Requirement
198
204
  requirements:
199
205
  - - ">="
@@ -220,16 +226,16 @@ dependencies:
220
226
  - - ">="
221
227
  - !ruby/object:Gem::Version
222
228
  version: 3.13.1
223
- description:
229
+ description:
224
230
  email:
225
231
  - cabeer@stanford.edu
226
232
  executables: []
227
233
  extensions: []
228
234
  extra_rdoc_files: []
229
235
  files:
236
+ - ".github/workflows/ruby.yml"
230
237
  - ".gitignore"
231
238
  - ".solr_wrapper.yml"
232
- - ".travis.yml"
233
239
  - Gemfile
234
240
  - LICENSE.txt
235
241
  - README.md
@@ -254,19 +260,19 @@ files:
254
260
  - app/assets/stylesheets/blacklight_gallery/_osd_viewer.scss
255
261
  - app/assets/stylesheets/blacklight_gallery/_slideshow.scss
256
262
  - app/assets/stylesheets/blacklight_gallery/default.scss
263
+ - app/components/blacklight/gallery/document_component.html.erb
264
+ - app/components/blacklight/gallery/document_component.rb
265
+ - app/components/blacklight/gallery/slideshow_component.html.erb
266
+ - app/components/blacklight/gallery/slideshow_component.rb
267
+ - app/components/blacklight/gallery/slideshow_preview_component.html.erb
268
+ - app/components/blacklight/gallery/slideshow_preview_component.rb
257
269
  - app/helpers/blacklight/gallery_helper.rb
258
270
  - app/helpers/blacklight/openseadragon_helper.rb
259
271
  - app/models/concerns/blacklight/gallery/openseadragon_solr_document.rb
260
272
  - app/views/catalog/_document_gallery.html.erb
261
273
  - app/views/catalog/_document_masonry.html.erb
262
274
  - app/views/catalog/_document_slideshow.html.erb
263
- - app/views/catalog/_grid_slideshow.html.erb
264
- - app/views/catalog/_index_gallery.html.erb
265
- - app/views/catalog/_index_masonry.html.erb
266
- - app/views/catalog/_index_masonry_default.html.erb
267
- - app/views/catalog/_index_slideshow.html.erb
268
275
  - app/views/catalog/_openseadragon_default.html.erb
269
- - app/views/catalog/_slideshow.html.erb
270
276
  - app/views/catalog/_slideshow_modal.html.erb
271
277
  - blacklight-gallery.gemspec
272
278
  - config/locales/blacklight-gallery.ar.yml
@@ -299,17 +305,16 @@ files:
299
305
  - solr/conf/xslt/example_atom.xsl
300
306
  - solr/conf/xslt/example_rss.xsl
301
307
  - solr/conf/xslt/luke.xsl
308
+ - spec/components/blacklight/gallery/document_component_spec.rb
309
+ - spec/components/blacklight/gallery/slideshow_component_spec.rb
302
310
  - spec/features/gallery_spec.rb
303
311
  - spec/features/masonry_spec.rb
304
312
  - spec/features/slideshow_spec.rb
305
- - spec/helpers/blacklight/gallery_helper_spec.rb
306
313
  - spec/models/concerns/openseadragon_solr_document_spec.rb
307
314
  - spec/spec_helper.rb
308
315
  - spec/test_app_templates/Gemfile.extra
309
316
  - spec/test_app_templates/lib/generators/test_app_generator.rb
310
317
  - spec/views/catalog/_document_slideshow.html.erb_spec.rb
311
- - spec/views/catalog/_index_gallery.html.erb_spec.rb
312
- - spec/views/catalog/_index_masonry.html.erb_spec.rb
313
318
  - spec/views/catalog/_openseadragon_default.html.erb_spec.rb
314
319
  - vendor/assets/javascripts/imagesloaded.min.js
315
320
  - vendor/assets/javascripts/masonry.min.js
@@ -317,7 +322,7 @@ homepage: https://github.com/projectblacklight/blacklight-gallery
317
322
  licenses:
318
323
  - Apache 2.0
319
324
  metadata: {}
320
- post_install_message:
325
+ post_install_message:
321
326
  rdoc_options: []
322
327
  require_paths:
323
328
  - lib
@@ -332,20 +337,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
332
337
  - !ruby/object:Gem::Version
333
338
  version: '0'
334
339
  requirements: []
335
- rubygems_version: 3.0.3
336
- signing_key:
340
+ rubygems_version: 3.2.3
341
+ signing_key:
337
342
  specification_version: 4
338
343
  summary: Gallery display for Blacklight
339
344
  test_files:
345
+ - spec/components/blacklight/gallery/document_component_spec.rb
346
+ - spec/components/blacklight/gallery/slideshow_component_spec.rb
340
347
  - spec/features/gallery_spec.rb
341
348
  - spec/features/masonry_spec.rb
342
349
  - spec/features/slideshow_spec.rb
343
- - spec/helpers/blacklight/gallery_helper_spec.rb
344
350
  - spec/models/concerns/openseadragon_solr_document_spec.rb
345
351
  - spec/spec_helper.rb
346
352
  - spec/test_app_templates/Gemfile.extra
347
353
  - spec/test_app_templates/lib/generators/test_app_generator.rb
348
354
  - spec/views/catalog/_document_slideshow.html.erb_spec.rb
349
- - spec/views/catalog/_index_gallery.html.erb_spec.rb
350
- - spec/views/catalog/_index_masonry.html.erb_spec.rb
351
355
  - spec/views/catalog/_openseadragon_default.html.erb_spec.rb