blacklight-spotlight 0.10.3 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/spotlight/_collapse_toggle.scss +18 -0
- data/app/assets/stylesheets/spotlight/_curation.scss +8 -2
- data/app/assets/stylesheets/spotlight/_spotlight.scss +1 -0
- data/app/controllers/spotlight/search_configurations_controller.rb +1 -1
- data/app/helpers/spotlight/jcrop_helper.rb +9 -1
- data/app/uploaders/spotlight/featured_image_uploader.rb +5 -1
- data/app/views/spotlight/appearances/edit.html.erb +1 -1
- data/app/views/spotlight/catalog/_status_header.html.erb +19 -0
- data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
- data/app/views/spotlight/search_configurations/_facets.html.erb +14 -1
- data/config/locales/spotlight.en.yml +4 -0
- data/db/migrate/20151204093112_add_reindexing_flag_to_spotlight_resources.rb +5 -0
- data/lib/spotlight/engine.rb +2 -0
- data/lib/spotlight/version.rb +1 -1
- data/lib/tasks/spotlight_tasks.rake +0 -2
- data/spec/features/javascript/search_config_admin_spec.rb +19 -0
- data/spec/helpers/spotlight/jcrop_helper_spec.rb +35 -0
- data/spec/models/spotlight/blacklight_configuration_spec.rb +11 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5017845fee1b7aec23f0ca3defacc0f32ad5ee02
|
4
|
+
data.tar.gz: 0f84e6b1bac2250f6125a7d299718127b596ee40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd56e28a84ec7f003693cce1c62252986002d850bad13745adc812e55faa288983f28c4cdc2bdcb2de3a1ba6d6f8f3b7ca31e161d54e55a621c8eb5faa86b611
|
7
|
+
data.tar.gz: 43163422ed9ae1d38cd4a8b56786effebfc3d3e7a6e9f94a28ee99ef98b756efe5a87417f1d7c6ef0e02f86c8d790de0d4606678bde06034281164c6a548a698
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.btn.collapse-toggle {
|
2
|
+
// adjust as needed, taken from bootstrap.css glyphicons
|
3
|
+
&:after {
|
4
|
+
// symbol for "opening" panels
|
5
|
+
color: $text-muted;
|
6
|
+
content: "\e114"; // chevron down
|
7
|
+
float: right;
|
8
|
+
font-family: "Glyphicons Halflings";
|
9
|
+
font-size: 0.8em;
|
10
|
+
line-height: 2em;
|
11
|
+
padding-left: 1ch;
|
12
|
+
}
|
13
|
+
|
14
|
+
&.collapsed:after {
|
15
|
+
// symbol for "collapsed" panels
|
16
|
+
content: "\e080"; //chevron right
|
17
|
+
}
|
18
|
+
}
|
@@ -42,19 +42,25 @@
|
|
42
42
|
display: inline-block;
|
43
43
|
padding-top: 0;
|
44
44
|
}
|
45
|
-
}
|
46
45
|
|
47
|
-
.panel-heading {
|
48
46
|
.publish-control {
|
49
47
|
display: inline;
|
50
48
|
.checkbox {
|
51
49
|
padding-top: 0;
|
52
50
|
}
|
53
51
|
}
|
52
|
+
|
54
53
|
.main {
|
55
54
|
display: inline-block;
|
56
55
|
vertical-align: text-bottom;
|
57
56
|
}
|
57
|
+
|
58
|
+
.btn-link.collapse-toggle {
|
59
|
+
// removing padding and margins to style this button as a simple link
|
60
|
+
// with the expected vertical alignment with the rest of the header.
|
61
|
+
margin: 0;
|
62
|
+
padding: 0;
|
63
|
+
}
|
58
64
|
}
|
59
65
|
|
60
66
|
.panel-heading.page {
|
@@ -47,7 +47,7 @@ module Spotlight
|
|
47
47
|
|
48
48
|
def exhibit_configuration_facet_params
|
49
49
|
@blacklight_configuration.blacklight_config.facet_fields.keys.each_with_object({}) do |element, result|
|
50
|
-
result[element] = [:show, :label, :weight]
|
50
|
+
result[element] = [:show, :label, :weight, :sort]
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -15,15 +15,23 @@ module Spotlight
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def default_thumbnail_jcrop_options
|
18
|
+
w, h = Spotlight::Engine.config.featured_image_thumb_size
|
19
|
+
|
18
20
|
{
|
19
21
|
croppable: true,
|
20
22
|
selector: 'featuredimage_image',
|
21
23
|
bg_color: 'black',
|
22
24
|
bg_opacity: '.4',
|
23
25
|
box_width: '600',
|
24
|
-
aspect_ratio:
|
26
|
+
aspect_ratio: w.to_f / h.to_f,
|
25
27
|
initial_set_select: '[0, 0, 100000, 100000]'
|
26
28
|
}
|
27
29
|
end
|
30
|
+
|
31
|
+
def default_site_thumbnail_jcrop_options
|
32
|
+
w, h = Spotlight::Engine.config.featured_image_square_size
|
33
|
+
|
34
|
+
default_thumbnail_jcrop_options.merge(aspect_ratio: w.to_f / h.to_f)
|
35
|
+
end
|
28
36
|
end
|
29
37
|
end
|
@@ -11,7 +11,11 @@ module Spotlight
|
|
11
11
|
end
|
12
12
|
|
13
13
|
version :thumb, from_version: :cropped do
|
14
|
-
process resize_to_fill:
|
14
|
+
process resize_to_fill: Spotlight::Engine.config.featured_image_thumb_size
|
15
|
+
end
|
16
|
+
|
17
|
+
version :square, from_version: :cropped do
|
18
|
+
process resize_to_fill: Spotlight::Engine.config.featured_image_square_size
|
15
19
|
end
|
16
20
|
|
17
21
|
def store_dir
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<div role="tabpanel" class="tab-pane" id="site-thumbnail">
|
40
40
|
<p class="instructions"><%= t(:'.site_thumbnail.help') %></p>
|
41
41
|
<%= f.fields_for(:thumbnail, current_exhibit.thumbnail || current_exhibit.build_thumbnail) do |m| %>
|
42
|
-
<%= render '/spotlight/featured_images/form', f: m, jcrop_options:
|
42
|
+
<%= render '/spotlight/featured_images/form', f: m, jcrop_options: default_site_thumbnail_jcrop_options %>
|
43
43
|
<% end %>
|
44
44
|
</div>
|
45
45
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="panel panel-info index-status">
|
2
|
+
<div class="panel-heading">
|
3
|
+
<h3 class="panel-title">Reindexing status</h3>
|
4
|
+
</div>
|
5
|
+
<div class="panel-body">
|
6
|
+
<p>
|
7
|
+
<span class="text-muted">2015-11-24 at 10:53 am:</span> Began reindexing a total of 55 items.
|
8
|
+
</p>
|
9
|
+
<p>
|
10
|
+
<span class="text-muted">2015-11-24 at 11:04 am:</span> Reindexed 32 of 55 items.
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<div class="progress">
|
14
|
+
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="58" aria-valuemin="0" aria-valuemax="100" style="width: 58%">58%
|
15
|
+
<span class="sr-only">Reindexing 58% complete</span>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="col-xs-12 col-sm-4 exhibit-card">
|
2
2
|
<div class="flipper">
|
3
3
|
<div class="card-front card-face">
|
4
|
-
<%= image_tag(exhibit.thumbnail.image.
|
4
|
+
<%= image_tag(exhibit.thumbnail.image.square.url) if exhibit.thumbnail.present? %>
|
5
5
|
<h2 class="card-title"><%= exhibit.title %></h2>
|
6
6
|
</div>
|
7
7
|
<div class="card-back card-face">
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<%= facet.hidden_field :weight, 'data-property' => 'weight' %>
|
13
13
|
<%= facet.check_box :show, checked: config.show, label: "", title: key %>
|
14
14
|
<div class="main row">
|
15
|
-
<div class="col-sm-
|
15
|
+
<div class="col-sm-5">
|
16
16
|
<h3 class="panel-title" data-in-place-edit-target=".edit-in-place" data-in-place-edit-field-target="[data-edit-field-target='true']">
|
17
17
|
<a href="#edit-in-place" class="field-label edit-in-place"><%= facet_field_label(key) %></a>
|
18
18
|
<%= facet.hidden_field :label, value: facet_field_label(key), class: 'form-control input-sm', data: {:"edit-field-target" => 'true'} %>
|
@@ -27,6 +27,19 @@
|
|
27
27
|
<% end %>
|
28
28
|
<% end %>
|
29
29
|
</div>
|
30
|
+
<div class="col-sm-2 pull-right">
|
31
|
+
<a class="btn btn-link collapse-toggle collapsed" role="button" data-toggle="collapse" href="#<%= key.parameterize %>_facet_options" aria-expanded="false" aria-controls="<%= key.parameterize %>_facet_options">
|
32
|
+
Options
|
33
|
+
</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
<div id="<%= key.parameterize %>_facet_options" class="options row collapse">
|
37
|
+
<div class="col-sm-12">
|
38
|
+
<%= facet.form_group :terms, label_col: 'col-md-2', label: { text: t(:'.sort_by.label') } do %>
|
39
|
+
<%= facet.radio_button :sort, 'count', label: t(:'.sort_by.count'), inline: true, checked: (config.sort.to_s == 'count' || config.sort.nil?) %>
|
40
|
+
<%= facet.radio_button :sort, 'index', label: t(:'.sort_by.index'), inline: true, checked: (config.sort.to_s == 'index') %>
|
41
|
+
<% end %>
|
42
|
+
</div>
|
30
43
|
</div>
|
31
44
|
</div>
|
32
45
|
</div>
|
data/lib/spotlight/engine.rb
CHANGED
@@ -91,6 +91,8 @@ module Spotlight
|
|
91
91
|
|
92
92
|
# Configure the CarrierWave file storage mechanism
|
93
93
|
Spotlight::Engine.config.uploader_storage = :file
|
94
|
+
Spotlight::Engine.config.featured_image_thumb_size = [400, 300]
|
95
|
+
Spotlight::Engine.config.featured_image_square_size = [400, 400]
|
94
96
|
|
95
97
|
initializer 'spotlight-assets.initialize' do
|
96
98
|
Rails.application.config.assets.precompile += %w( Jcrop.gif )
|
data/lib/spotlight/version.rb
CHANGED
@@ -82,6 +82,25 @@ feature 'Search Configuration Administration', js: true do
|
|
82
82
|
expect(page).not_to have_content('Genre')
|
83
83
|
expect(page).to have_content('Topic')
|
84
84
|
end
|
85
|
+
|
86
|
+
it 'allows the curator to select a different facet sort order' do
|
87
|
+
visit spotlight.edit_exhibit_search_configuration_path(exhibit)
|
88
|
+
click_link 'Facets'
|
89
|
+
|
90
|
+
within '.facet-config-genre_ssim' do
|
91
|
+
click_link 'Options'
|
92
|
+
expect(find(:css, '#blacklight_configuration_facet_fields_genre_ssim_sort_count')).to be_checked
|
93
|
+
|
94
|
+
choose 'Value'
|
95
|
+
end
|
96
|
+
|
97
|
+
click_button 'Save changes'
|
98
|
+
|
99
|
+
expect(page).to have_content('The exhibit was successfully updated.')
|
100
|
+
|
101
|
+
exhibit.reload
|
102
|
+
expect(exhibit.blacklight_config.facet_fields['genre_ssim'].sort).to eq 'index'
|
103
|
+
end
|
85
104
|
end
|
86
105
|
|
87
106
|
describe 'results' do
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Spotlight::JcropHelper do
|
4
|
+
describe '.default_thumbnail_jcrop_options' do
|
5
|
+
it 'produces a 4:3 aspect ratio by default' do
|
6
|
+
expect(helper.default_thumbnail_jcrop_options[:aspect_ratio]).to eq 4.0 / 3.0
|
7
|
+
end
|
8
|
+
|
9
|
+
context 'with a custom thumbnail size' do
|
10
|
+
before do
|
11
|
+
allow(Spotlight::Engine.config).to receive(:featured_image_thumb_size).and_return([7, 5])
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'produces a 7:5 aspect ratio' do
|
15
|
+
expect(helper.default_thumbnail_jcrop_options[:aspect_ratio]).to eq 7.0 / 5.0
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '.default_site_thumbnail_jcrop_options' do
|
21
|
+
it 'produces a 1:1 aspect ratio by default' do
|
22
|
+
expect(helper.default_site_thumbnail_jcrop_options[:aspect_ratio]).to eq 1
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'with a custom square thumbnail size' do
|
26
|
+
before do
|
27
|
+
allow(Spotlight::Engine.config).to receive(:featured_image_square_size).and_return([3, 2])
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'produces a 3:2 aspect ratio' do
|
31
|
+
expect(helper.default_site_thumbnail_jcrop_options[:aspect_ratio]).to eq 3.0 / 2.0
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -68,6 +68,17 @@ describe Spotlight::BlacklightConfiguration, type: :model do
|
|
68
68
|
expect(subject.blacklight_config.facet_fields.keys).to eq %w(c a b)
|
69
69
|
end
|
70
70
|
|
71
|
+
it 'allows the facet sort to be configured' do
|
72
|
+
subject.facet_fields['a'] = { sort: 'count' }
|
73
|
+
subject.facet_fields['b'] = { sort: 'index' }
|
74
|
+
|
75
|
+
blacklight_config.add_facet_field 'a'
|
76
|
+
blacklight_config.add_facet_field 'b'
|
77
|
+
|
78
|
+
expect(subject.blacklight_config.facet_fields['a'].sort).to eq 'count'
|
79
|
+
expect(subject.blacklight_config.facet_fields['b'].sort).to eq 'index'
|
80
|
+
end
|
81
|
+
|
71
82
|
context 'custom fields' do
|
72
83
|
it 'includes any custom fields' do
|
73
84
|
allow(subject).to receive_messages(custom_facet_fields: { 'a' => double(if: nil, :if= => true, merge!: true, validate!: true, normalize!: true) })
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight-spotlight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-12-
|
14
|
+
date: 2015-12-07 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -750,6 +750,7 @@ files:
|
|
750
750
|
- app/assets/stylesheets/spotlight/_bootstrap_overrides.scss
|
751
751
|
- app/assets/stylesheets/spotlight/_browse.scss
|
752
752
|
- app/assets/stylesheets/spotlight/_catalog.scss
|
753
|
+
- app/assets/stylesheets/spotlight/_collapse_toggle.scss
|
753
754
|
- app/assets/stylesheets/spotlight/_croppable.scss
|
754
755
|
- app/assets/stylesheets/spotlight/_curation.scss
|
755
756
|
- app/assets/stylesheets/spotlight/_edit_in_place.scss
|
@@ -1080,6 +1081,7 @@ files:
|
|
1080
1081
|
- db/migrate/20151117153210_change_spotlight_exhibit_published_default.rb
|
1081
1082
|
- db/migrate/20151124101123_remove_default_from_spotlight_exhibit.rb
|
1082
1083
|
- db/migrate/20151124105543_update_custom_field_names.rb
|
1084
|
+
- db/migrate/20151204093112_add_reindexing_flag_to_spotlight_resources.rb
|
1083
1085
|
- lib/blacklight/spotlight.rb
|
1084
1086
|
- lib/generators/spotlight/install_generator.rb
|
1085
1087
|
- lib/generators/spotlight/templates/catalog_controller.rb
|
@@ -1188,6 +1190,7 @@ files:
|
|
1188
1190
|
- spec/helpers/spotlight/application_helper_spec.rb
|
1189
1191
|
- spec/helpers/spotlight/browse_helper_spec.rb
|
1190
1192
|
- spec/helpers/spotlight/crud_link_helpers_spec.rb
|
1193
|
+
- spec/helpers/spotlight/jcrop_helper_spec.rb
|
1191
1194
|
- spec/helpers/spotlight/main_app_helpers_spec.rb
|
1192
1195
|
- spec/helpers/spotlight/navbar_helper_spec.rb
|
1193
1196
|
- spec/helpers/spotlight/pages_helper_spec.rb
|
@@ -1418,6 +1421,7 @@ test_files:
|
|
1418
1421
|
- spec/helpers/spotlight/application_helper_spec.rb
|
1419
1422
|
- spec/helpers/spotlight/browse_helper_spec.rb
|
1420
1423
|
- spec/helpers/spotlight/crud_link_helpers_spec.rb
|
1424
|
+
- spec/helpers/spotlight/jcrop_helper_spec.rb
|
1421
1425
|
- spec/helpers/spotlight/main_app_helpers_spec.rb
|
1422
1426
|
- spec/helpers/spotlight/navbar_helper_spec.rb
|
1423
1427
|
- spec/helpers/spotlight/pages_helper_spec.rb
|