blacklight-gallery 4.5.4 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +37 -34
- data/app/components/blacklight/gallery/openseadragon_embed_component.html.erb +19 -0
- data/app/components/blacklight/gallery/openseadragon_embed_component.rb +60 -0
- data/app/helpers/blacklight/openseadragon_helper.rb +2 -1
- data/app/views/catalog/_openseadragon_default.html.erb +1 -48
- data/lib/blacklight/gallery/version.rb +1 -1
- data/spec/features/slideshow_spec.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3f0a42b90e61a4eb36e76d0be574f4d8f3f2a8c55afb3de20e69bca1f88a086
|
4
|
+
data.tar.gz: b74abe92f757dd6a2cfd6a7043364915a591030fd1bd6560bb6f64f973d80f94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bdc5e6d5bb2eba2f1d425513ce9d8623e73968734601c2fc239cb9937b809cfb7b86a6e3334ace2cd4c4a0d3155448597258b259f2d66ed329c95f43d2e5c77
|
7
|
+
data.tar.gz: f8019948c79a90819b928c8548430fd7df8dce919de4f3d3e0a331ab54e344c4d7ed2f987c9df937f308663ca360c6cde6a751b06edeebfc1f3458423b9ad48d
|
data/.github/workflows/ruby.yml
CHANGED
@@ -2,9 +2,9 @@ name: CI
|
|
2
2
|
|
3
3
|
on:
|
4
4
|
push:
|
5
|
-
branches: [
|
5
|
+
branches: [main]
|
6
6
|
pull_request:
|
7
|
-
branches: [
|
7
|
+
branches: [main]
|
8
8
|
|
9
9
|
jobs:
|
10
10
|
test:
|
@@ -13,42 +13,45 @@ jobs:
|
|
13
13
|
name: test (ruby ${{ matrix.ruby }} / rails ${{ matrix.rails_version }} / blacklight ${{ matrix.blacklight_version }} ${{ matrix.additional_name }})
|
14
14
|
strategy:
|
15
15
|
matrix:
|
16
|
-
ruby: [2
|
17
|
-
rails_version: [
|
18
|
-
blacklight_version: [
|
16
|
+
ruby: ["3.2", "3.3"]
|
17
|
+
rails_version: ["7.0.4"]
|
18
|
+
blacklight_version: ["~> 7.0"]
|
19
19
|
experimental: [false]
|
20
|
-
additional_engine_cart_rails_options: [
|
21
|
-
additional_name: [
|
20
|
+
additional_engine_cart_rails_options: [""]
|
21
|
+
additional_name: [""]
|
22
22
|
include:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
23
|
+
- ruby: "3.1"
|
24
|
+
rails_version: 6.1.7
|
25
|
+
blacklight_version: "~> 7.0"
|
26
|
+
experimental: false
|
27
|
+
additional_name: Rails 6.1, Ruby 3.1
|
28
|
+
- ruby: "3.2"
|
29
|
+
rails_version: "7.0.4"
|
30
|
+
blacklight_version: "~> 8.0"
|
31
|
+
experimental: false
|
32
|
+
additional_name: Blacklight 8
|
33
|
+
- ruby: "3.2"
|
34
|
+
rails_version: "7.0.4"
|
35
|
+
blacklight_version: "github"
|
36
|
+
experimental: true
|
37
|
+
additional_name: Blacklight main branch
|
38
|
+
- ruby: "3.2"
|
39
|
+
rails_version: "7.0.4"
|
40
|
+
blacklight_version: "github"
|
41
|
+
experimental: true
|
42
|
+
additional_engine_cart_rails_options: -a propshaft
|
43
|
+
additional_name: "/ Propshaft"
|
41
44
|
env:
|
42
45
|
RAILS_VERSION: ${{ matrix.rails_version }}
|
43
46
|
BLACKLIGHT_VERSION: ${{ matrix.blacklight_version }}
|
44
47
|
ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test ${{ matrix.additional_engine_cart_rails_options }}"
|
45
48
|
steps:
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
49
|
+
- uses: actions/checkout@v4
|
50
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
51
|
+
uses: ruby/setup-ruby@v1
|
52
|
+
with:
|
53
|
+
ruby-version: ${{ matrix.ruby }}
|
54
|
+
- name: Install dependencies with Rails ${{ matrix.rails_version }}
|
55
|
+
run: bundle install
|
56
|
+
- name: Run tests
|
57
|
+
run: bundle exec rake
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="openseadragon-container <%= class_names(classes) %>">
|
2
|
+
<div class="osd-toolbar row">
|
3
|
+
<div class="col-md-6 pagination">
|
4
|
+
<% if count > 1 %>
|
5
|
+
<% osd_config = osd_config_referencestrip.merge(osd_config) %>
|
6
|
+
<a id="<%= id_prefix %>-previous"><%= render Blacklight::Gallery::Icons::ChevronLeftComponent.new %></a>
|
7
|
+
<span id="<%= id_prefix %>-page">1</span> of <%= count %>
|
8
|
+
<a id="<%= id_prefix %>-next"><%= render Blacklight::Gallery::Icons::ChevronRightComponent.new %></a>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
11
|
+
<div class="col-md-6 controls">
|
12
|
+
<a id="<%= id_prefix %>-zoom-in"><%= render Blacklight::Gallery::Icons::AddCircleComponent.new %></a>
|
13
|
+
<a id="<%= id_prefix %>-zoom-out"><%= render Blacklight::Gallery::Icons::RemoveCircleComponent.new %></a>
|
14
|
+
<a id="<%= id_prefix %>-home"><%= render Blacklight::Gallery::Icons::ResizeSmallComponent.new %></a>
|
15
|
+
<a id="<%= id_prefix %>-full-page"><%= render Blacklight::Gallery::Icons::CustomFullscreenComponent.new %></a>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<%= helpers.openseadragon_picture_tag image, class: 'osd-image row', data: { openseadragon: osd_config } %>
|
19
|
+
</div>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Blacklight
|
4
|
+
module Gallery
|
5
|
+
class OpenseadragonEmbedComponent < Blacklight::Component
|
6
|
+
attr_reader :document, :presenter, :classes
|
7
|
+
|
8
|
+
def initialize(document:, presenter:, view_config: nil, classes: [], **kwargs)
|
9
|
+
super
|
10
|
+
|
11
|
+
@document = document
|
12
|
+
@presenter = presenter
|
13
|
+
@view_config = view_config
|
14
|
+
@classes = classes
|
15
|
+
end
|
16
|
+
|
17
|
+
def image
|
18
|
+
@image ||= document.to_openseadragon(view_config)
|
19
|
+
end
|
20
|
+
|
21
|
+
def count
|
22
|
+
Array(image).length
|
23
|
+
end
|
24
|
+
|
25
|
+
def view_config
|
26
|
+
@view_config || presenter.view_config
|
27
|
+
end
|
28
|
+
|
29
|
+
def render?
|
30
|
+
!image.nil?
|
31
|
+
end
|
32
|
+
|
33
|
+
def osd_config
|
34
|
+
{
|
35
|
+
crossOriginPolicy: false,
|
36
|
+
zoomInButton: "#{id_prefix}-zoom-in",
|
37
|
+
zoomOutButton: "#{id_prefix}-zoom-out",
|
38
|
+
homeButton: "#{id_prefix}-home",
|
39
|
+
fullPageButton: "#{id_prefix}-full-page",
|
40
|
+
nextButton: "#{id_prefix}-next",
|
41
|
+
previousButton: "#{id_prefix}-previous"
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
def osd_config_referencestrip
|
46
|
+
{
|
47
|
+
showReferenceStrip: true,
|
48
|
+
referenceStripPosition: 'OUTSIDE',
|
49
|
+
referenceStripScroll: 'vertical',
|
50
|
+
referenceStripWidth: 100,
|
51
|
+
referenceStripBackgroundColor: 'transparent'
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
55
|
+
def id_prefix
|
56
|
+
"osd-#{Blacklight::OpenseadragonHelper.mint_id}".to_param
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -1,48 +1 @@
|
|
1
|
-
|
2
|
-
view_config = local_assigns[:view_config] || blacklight_config&.view_config(:show)
|
3
|
-
image = document.to_openseadragon(view_config)
|
4
|
-
id_prefix = osd_html_id_prefix
|
5
|
-
%>
|
6
|
-
<%
|
7
|
-
osd_config = {
|
8
|
-
crossOriginPolicy: false,
|
9
|
-
zoomInButton: "#{id_prefix}-zoom-in",
|
10
|
-
zoomOutButton: "#{id_prefix}-zoom-out",
|
11
|
-
homeButton: "#{id_prefix}-home",
|
12
|
-
fullPageButton: "#{id_prefix}-full-page",
|
13
|
-
nextButton: "#{id_prefix}-next",
|
14
|
-
previousButton: "#{id_prefix}-previous"
|
15
|
-
}
|
16
|
-
|
17
|
-
osd_config_referencestrip = {
|
18
|
-
showReferenceStrip: true,
|
19
|
-
referenceStripPosition: 'OUTSIDE',
|
20
|
-
referenceStripScroll: 'vertical',
|
21
|
-
referenceStripWidth: 100,
|
22
|
-
referenceStripBackgroundColor: 'transparent'
|
23
|
-
}
|
24
|
-
%>
|
25
|
-
|
26
|
-
<% unless image.nil? %>
|
27
|
-
<% count = Array(image).length %>
|
28
|
-
<div class="openseadragon-container <%= osd_container_class %>">
|
29
|
-
<div class="osd-toolbar row">
|
30
|
-
<div class="col-md-6 pagination">
|
31
|
-
<% if count > 1 %>
|
32
|
-
<% osd_config = osd_config_referencestrip.merge(osd_config) %>
|
33
|
-
<a id="<%= id_prefix %>-previous"><%= render Blacklight::Gallery::Icons::ChevronLeftComponent.new %></a>
|
34
|
-
<span id="<%= id_prefix %>-page">1</span> of <%= count %>
|
35
|
-
<a id="<%= id_prefix %>-next"><%= render Blacklight::Gallery::Icons::ChevronRightComponent.new %></a>
|
36
|
-
<% end %>
|
37
|
-
</div>
|
38
|
-
<div class="col-md-6 controls">
|
39
|
-
<a id="<%= id_prefix %>-zoom-in"><%= render Blacklight::Gallery::Icons::AddCircleComponent.new %></a>
|
40
|
-
<a id="<%= id_prefix %>-zoom-out"><%= render Blacklight::Gallery::Icons::RemoveCircleComponent.new %></a>
|
41
|
-
<a id="<%= id_prefix %>-home"><%= render Blacklight::Gallery::Icons::ResizeSmallComponent.new %></a>
|
42
|
-
<a id="<%= id_prefix %>-full-page"><%= render Blacklight::Gallery::Icons::CustomFullscreenComponent.new %></a>
|
43
|
-
</div>
|
44
|
-
</div>
|
45
|
-
<%= openseadragon_picture_tag image, class: 'osd-image row', data: { openseadragon: osd_config } %>
|
46
|
-
</div>
|
47
|
-
|
48
|
-
<% end %>
|
1
|
+
<%= render Blacklight::Gallery::OpenseadragonEmbedComponent.new(document: document, presenter: document_presenter(document), view_config: local_assigns[:view_config], classes: [osd_container_class]) %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe 'Slideshow', default_max_wait_time:
|
3
|
+
RSpec.describe 'Slideshow', default_max_wait_time: 20, js: true do
|
4
4
|
|
5
5
|
it 'opens when one of the grid panes is clicked' do
|
6
6
|
visit search_catalog_path( q: 'medicine', view: 'slideshow' )
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight-gallery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -239,6 +239,8 @@ files:
|
|
239
239
|
- app/components/blacklight/gallery/icons/resize_small_component.rb
|
240
240
|
- app/components/blacklight/gallery/icons/slideshow_component.rb
|
241
241
|
- app/components/blacklight/gallery/icons/start_slideshow_component.rb
|
242
|
+
- app/components/blacklight/gallery/openseadragon_embed_component.html.erb
|
243
|
+
- app/components/blacklight/gallery/openseadragon_embed_component.rb
|
242
244
|
- app/components/blacklight/gallery/slideshow_component.html.erb
|
243
245
|
- app/components/blacklight/gallery/slideshow_component.rb
|
244
246
|
- app/components/blacklight/gallery/slideshow_preview_component.html.erb
|
@@ -319,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
319
321
|
- !ruby/object:Gem::Version
|
320
322
|
version: '0'
|
321
323
|
requirements: []
|
322
|
-
rubygems_version: 3.5.
|
324
|
+
rubygems_version: 3.5.9
|
323
325
|
signing_key:
|
324
326
|
specification_version: 4
|
325
327
|
summary: Gallery display for Blacklight
|