blacklight-gallery 0.7.0 → 0.8.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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b4fda01380884b93d14ce8d3bbf36132b82b3ec
|
4
|
+
data.tar.gz: e74c17bc14f0723b121095d0f0b706c3f8d4913a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ec1c482d1b18ddbe9c5058098d8b7c38bb9899e2f000ccbd1c26526c33e5053ea4148501d677b65837b4a2c90a11934c23f061c600cb7cb177f5d7fda86484c
|
7
|
+
data.tar.gz: 4b31cff43f788b527ba4b11c53300588da6a88b711ebb165981c0b9ec3331ab1856c0e5c135f3c146427894c222ca8c9a5b27dcd8fde5bfc3a14e13825eea204
|
@@ -10,6 +10,25 @@ module Blacklight
|
|
10
10
|
end.join().html_safe
|
11
11
|
end
|
12
12
|
|
13
|
+
def render_slideshow_tag(document, image_options = {}, url_options = {})
|
14
|
+
if blacklight_config.view_config(document_index_view_type).slideshow_method
|
15
|
+
method_name = blacklight_config.view_config(document_index_view_type).slideshow_method
|
16
|
+
send(method_name, document, image_options)
|
17
|
+
elsif blacklight_config.view_config(document_index_view_type).slideshow_field
|
18
|
+
url = slideshow_image_url(document)
|
19
|
+
|
20
|
+
image_tag url, image_options if url.present?
|
21
|
+
elsif has_thumbnail?(document)
|
22
|
+
render_thumbnail_tag(document, image_options, url_options.reverse_merge(suppress_link: true))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def slideshow_image_url(document)
|
27
|
+
if document.has? blacklight_config.view_config(document_index_view_type).slideshow_field
|
28
|
+
document.first(blacklight_config.view_config(document_index_view_type).slideshow_field)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
13
32
|
def gallery_wrapper_template(object)
|
14
33
|
format = document_partial_name(object, nil)
|
15
34
|
['index_gallery_%{format}_wrapper', 'index_gallery'].each do |str|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="item<%= ' active' if document_counter == 0 %>">
|
2
2
|
<div class="frame">
|
3
|
-
<%=
|
3
|
+
<%= render_slideshow_tag(document) %>
|
4
4
|
<div class="caption">
|
5
5
|
<%= index_presenter(document).label(document_show_link_field(document)) %>
|
6
6
|
</div>
|
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Blacklight::GalleryHelper, :type => :helper do
|
4
|
+
before do
|
5
|
+
allow(helper).to receive(:blacklight_configuration_context).and_return(double(evaluate_if_unless_configuration: true))
|
6
|
+
end
|
4
7
|
describe "#render_gallery_collection" do
|
5
8
|
let(:template) { double }
|
6
9
|
before do
|
@@ -25,4 +28,83 @@ describe Blacklight::GalleryHelper, :type => :helper do
|
|
25
28
|
expect(subject.virtual_path).to eq 'catalog/_index_gallery'
|
26
29
|
end
|
27
30
|
end
|
31
|
+
|
32
|
+
describe "render_slideshow_tag" do
|
33
|
+
let(:document) { instance_double(SolrDocument) }
|
34
|
+
|
35
|
+
it "calls the provided slideshow method" do
|
36
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_method => :xyz) ))
|
37
|
+
expect(helper).to receive_messages(:xyz => "some-slideshow")
|
38
|
+
expect(helper.render_slideshow_tag(document)).to eq 'some-slideshow'
|
39
|
+
end
|
40
|
+
|
41
|
+
it "creates an image tag from the given field" do
|
42
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_field => :xyz) ))
|
43
|
+
|
44
|
+
allow(document).to receive(:has?).with(:xyz).and_return(true)
|
45
|
+
allow(document).to receive(:first).with(:xyz).and_return("http://example.com/some.jpg")
|
46
|
+
expect(helper.render_slideshow_tag(document)).to match /img/
|
47
|
+
end
|
48
|
+
|
49
|
+
it "does not link to the document if the url options are false" do
|
50
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_method => :xyz) ))
|
51
|
+
allow(helper).to receive_messages(:xyz => "some-slideshow")
|
52
|
+
|
53
|
+
result = helper.render_slideshow_tag document, {}, false
|
54
|
+
expect(result).to eq "some-slideshow"
|
55
|
+
end
|
56
|
+
|
57
|
+
it "does not link to the document if the url options have :suppress_link" do
|
58
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_method => :xyz) ))
|
59
|
+
allow(helper).to receive_messages(:xyz => "some-slideshow")
|
60
|
+
|
61
|
+
result = helper.render_slideshow_tag document, {}, suppress_link: true
|
62
|
+
expect(result).to eq "some-slideshow"
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
it "returns nil if no slideshow is available" do
|
67
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
|
68
|
+
expect(helper.render_slideshow_tag document).to be_nil
|
69
|
+
end
|
70
|
+
|
71
|
+
it "returns nil if no slideshow is returned from the slideshow method" do
|
72
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_method => :xyz) ))
|
73
|
+
allow(helper).to receive_messages(:xyz => nil)
|
74
|
+
|
75
|
+
expect(helper.render_slideshow_tag document).to be_nil
|
76
|
+
end
|
77
|
+
|
78
|
+
it "returns nil if no slideshow is in the document" do
|
79
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_field => :xyz) ))
|
80
|
+
|
81
|
+
allow(document).to receive(:has?).with(:xyz).and_return(false)
|
82
|
+
|
83
|
+
expect(helper.render_slideshow_tag document).to be_nil
|
84
|
+
end
|
85
|
+
|
86
|
+
it "falls back to a thumbnail" do
|
87
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
|
88
|
+
allow(helper).to receive(:xyz).and_return('thumbnail-image')
|
89
|
+
|
90
|
+
expect(helper.render_slideshow_tag document).to eq 'thumbnail-image'
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "slideshow_url" do
|
95
|
+
it "pulls the configured slideshow field out of the document" do
|
96
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_field => :xyz) ))
|
97
|
+
document = instance_double(SolrDocument)
|
98
|
+
allow(document).to receive(:has?).with(:xyz).and_return(true)
|
99
|
+
allow(document).to receive(:first).with(:xyz).and_return("asdf")
|
100
|
+
expect(helper.slideshow_image_url document).to eq("asdf")
|
101
|
+
end
|
102
|
+
|
103
|
+
it "returns nil if the slideshow field doesn't exist" do
|
104
|
+
allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:slideshow_field => :xyz) ))
|
105
|
+
document = instance_double(SolrDocument)
|
106
|
+
allow(document).to receive(:has?).with(:xyz).and_return(false)
|
107
|
+
expect(helper.slideshow_image_url document).to be_nil
|
108
|
+
end
|
109
|
+
end
|
28
110
|
end
|
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: 0.
|
4
|
+
version: 0.8.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: 2017-
|
11
|
+
date: 2017-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
316
316
|
version: '0'
|
317
317
|
requirements: []
|
318
318
|
rubyforge_project:
|
319
|
-
rubygems_version: 2.
|
319
|
+
rubygems_version: 2.5.2
|
320
320
|
signing_key:
|
321
321
|
specification_version: 4
|
322
322
|
summary: Gallery display for Blacklight
|