blacklight-spotlight 3.0.0.alpha.8 → 3.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/app/assets/images/blacklight/arrow-alt-circle-left.svg +1 -0
- data/app/assets/images/blacklight/arrow-alt-circle-right.svg +1 -0
- data/app/assets/javascripts/spotlight/admin/{add_new_page_button.js → add_new_button.js} +7 -0
- data/app/assets/javascripts/spotlight/admin/block_mixins/autocompleteable.js +4 -4
- data/app/assets/javascripts/spotlight/admin/blocks/browse_block.js +55 -1
- data/app/assets/javascripts/spotlight/admin/blocks/browse_group_categories_block.js +88 -0
- data/app/assets/javascripts/spotlight/admin/blocks/pages_block.js +1 -1
- data/app/assets/javascripts/spotlight/admin/blocks/solr_documents_base_block.js +1 -1
- data/app/assets/javascripts/spotlight/admin/blocks/uploaded_items_block.js +7 -2
- data/app/assets/javascripts/spotlight/admin/crop.es6 +11 -0
- data/app/assets/javascripts/spotlight/admin/croppable.js +1 -1
- data/app/assets/javascripts/spotlight/admin/index.js +0 -2
- data/app/assets/javascripts/spotlight/admin/search_typeahead.js +2 -2
- data/app/assets/javascripts/spotlight/admin/sir-trevor/block_controls.js +21 -12
- data/app/assets/javascripts/spotlight/admin/sir-trevor/locales.js +11 -3
- data/app/assets/javascripts/spotlight/user/browse_group_categories.js +59 -0
- data/app/assets/javascripts/spotlight/user/index.js +1 -0
- data/app/assets/stylesheets/spotlight/_accessibility.scss +1 -1
- data/app/assets/stylesheets/spotlight/_breadcrumbs.scss +8 -0
- data/app/assets/stylesheets/spotlight/_browse.scss +16 -0
- data/app/assets/stylesheets/spotlight/_catalog.scss +6 -6
- data/app/assets/stylesheets/spotlight/_curation.scss +6 -0
- data/app/assets/stylesheets/spotlight/_featured_browse_categories_block.scss +214 -83
- data/app/assets/stylesheets/spotlight/_header.scss +1 -1
- data/app/assets/stylesheets/spotlight/_item_text_block.scss +6 -0
- data/app/assets/stylesheets/spotlight/_pages.scss +10 -5
- data/app/assets/stylesheets/spotlight/_report_a_problem.scss +5 -2
- data/app/assets/stylesheets/spotlight/_spotlight.scss +2 -0
- data/app/assets/stylesheets/spotlight/_translations.scss +7 -0
- data/app/assets/stylesheets/spotlight/browse_group_categories_block.scss +69 -0
- data/app/builders/spotlight/bootstrap_breadcrumbs_builder.rb +1 -2
- data/app/controllers/concerns/spotlight/search_helper.rb +2 -8
- data/app/controllers/spotlight/appearances_controller.rb +0 -12
- data/app/controllers/spotlight/browse_controller.rb +7 -3
- data/app/controllers/spotlight/catalog_controller.rb +1 -1
- data/app/controllers/spotlight/concerns/application_controller.rb +13 -2
- data/app/controllers/spotlight/exhibits_controller.rb +2 -3
- data/app/controllers/spotlight/featured_images_controller.rb +1 -1
- data/app/controllers/spotlight/groups_controller.rb +80 -0
- data/app/controllers/spotlight/pages_controller.rb +6 -9
- data/app/controllers/spotlight/resources/csv_upload_controller.rb +1 -1
- data/app/controllers/spotlight/searches_controller.rb +7 -19
- data/app/controllers/spotlight/translations_controller.rb +46 -0
- data/app/helpers/spotlight/application_helper.rb +1 -1
- data/app/helpers/spotlight/crop_helper.rb +4 -1
- data/app/helpers/spotlight/crud_link_helpers.rb +1 -1
- data/app/helpers/spotlight/main_app_helpers.rb +1 -1
- data/app/jobs/spotlight/add_uploads_from_csv.rb +30 -5
- data/app/mailers/spotlight/indexing_complete_mailer.rb +3 -2
- data/app/models/concerns/spotlight/exhibit_defaults.rb +1 -1
- data/app/models/concerns/spotlight/translatables.rb +17 -1
- data/app/models/sir_trevor_rails/blocks/browse_group_categories_block.rb +25 -0
- data/app/models/spotlight/ability.rb +2 -0
- data/app/models/spotlight/about_page.rb +3 -1
- data/app/models/spotlight/blacklight_configuration.rb +2 -1
- data/app/models/spotlight/contact.rb +1 -1
- data/app/models/spotlight/custom_field.rb +3 -3
- data/app/models/spotlight/exhibit.rb +18 -4
- data/app/models/spotlight/feature_page.rb +3 -1
- data/app/models/spotlight/featured_image.rb +29 -12
- data/app/models/spotlight/group.rb +22 -0
- data/app/models/spotlight/group_member.rb +11 -0
- data/app/models/spotlight/home_page.rb +3 -1
- data/app/models/spotlight/main_navigation.rb +2 -2
- data/app/models/spotlight/masthead.rb +1 -1
- data/app/models/spotlight/page.rb +5 -1
- data/app/models/spotlight/page_configurations.rb +6 -0
- data/app/models/spotlight/page_content.rb +2 -0
- data/app/models/spotlight/resources/csv_upload.rb +2 -1
- data/app/models/spotlight/resources/iiif_manifest.rb +8 -6
- data/app/models/spotlight/resources/upload.rb +1 -1
- data/app/models/spotlight/search.rb +10 -1
- data/app/models/spotlight/solr_document_sidecar.rb +7 -5
- data/app/models/spotlight/temporary_image.rb +8 -0
- data/app/services/spotlight/exhibit_import_export_service.rb +482 -0
- data/app/services/spotlight/solr_document_builder.rb +1 -0
- data/app/values/custom_field_name.rb +1 -0
- data/app/views/catalog/_save_search.html.erb +1 -1
- data/app/views/spotlight/about_pages/_empty.html.erb +5 -5
- data/app/views/spotlight/browse/_search.html.erb +5 -3
- data/app/views/spotlight/browse/_search_title.html.erb +2 -1
- data/app/views/spotlight/browse/index.html.erb +13 -0
- data/app/views/spotlight/catalog/_document.html.erb +2 -4
- data/app/views/spotlight/catalog/index.iiif_json.jbuilder +22 -0
- data/app/views/spotlight/contacts/_form.html.erb +1 -1
- data/app/views/spotlight/feature_pages/_empty.html.erb +5 -5
- data/app/views/spotlight/featured_images/_form.html.erb +1 -1
- data/app/views/spotlight/featured_images/_upload_form.html.erb +1 -1
- data/app/views/spotlight/home_pages/_empty.html.erb +3 -3
- data/app/views/spotlight/indexing_complete_mailer/documents_indexed.html.erb +9 -0
- data/app/views/spotlight/pages/_form.html.erb +2 -2
- data/app/views/spotlight/searches/_form.html.erb +13 -0
- data/app/views/spotlight/searches/_group.html.erb +27 -0
- data/app/views/spotlight/searches/_search.html.erb +1 -0
- data/app/views/spotlight/searches/index.html.erb +58 -17
- data/app/views/spotlight/shared/_honeypot_field.html.erb +4 -0
- data/app/views/spotlight/shared/_report_a_problem.html.erb +7 -10
- data/app/views/spotlight/sir_trevor/blocks/_browse_block.html.erb +1 -0
- data/app/views/spotlight/sir_trevor/blocks/_browse_group_categories_block.html.erb +44 -0
- data/app/views/spotlight/sir_trevor/blocks/_uploaded_items_block.html.erb +7 -1
- data/app/views/spotlight/translations/_browse_categories.html.erb +29 -3
- data/app/views/spotlight/translations/_general.html.erb +7 -7
- data/app/views/spotlight/translations/_groups.html.erb +34 -0
- data/app/views/spotlight/translations/_import.html.erb +24 -0
- data/app/views/spotlight/translations/_metadata.html.erb +1 -1
- data/app/views/spotlight/translations/_page.html.erb +5 -5
- data/app/views/spotlight/translations/_pages.html.erb +4 -4
- data/app/views/spotlight/translations/_pages_table.html.erb +5 -5
- data/app/views/spotlight/translations/_search_fields.html.erb +3 -3
- data/app/views/spotlight/translations/edit.html.erb +14 -6
- data/app/views/spotlight/translations/show.yaml.yamlbuilder +81 -0
- data/config/i18n-tasks.yml +7 -0
- data/config/locales/spotlight.ar.yml +47 -24
- data/config/locales/spotlight.en.yml +182 -127
- data/config/routes.rb +16 -1
- data/db/migrate/20200403161512_add_subtitle_to_searches.rb +7 -0
- data/db/migrate/20210113092223_create_spotlight_groups.rb +23 -0
- data/lib/generators/spotlight/install_generator.rb +23 -2
- data/lib/generators/spotlight/templates/config/initializers/sir_trevor_rails.rb +10 -0
- data/lib/generators/spotlight/templates/config/initializers/spotlight_initializer.rb +3 -1
- data/lib/spotlight/engine.rb +27 -3
- data/lib/spotlight/upload_field_config.rb +1 -0
- data/lib/spotlight/version.rb +1 -1
- data/spec/controllers/spotlight/about_pages_controller_spec.rb +3 -3
- data/spec/controllers/spotlight/browse_controller_spec.rb +24 -1
- data/spec/controllers/spotlight/catalog_controller_spec.rb +1 -1
- data/spec/controllers/spotlight/contacts_controller_spec.rb +2 -2
- data/spec/controllers/spotlight/feature_pages_controller_spec.rb +11 -0
- data/spec/controllers/spotlight/groups_controller_spec.rb +103 -0
- data/spec/controllers/spotlight/home_pages_controller_spec.rb +2 -2
- data/spec/controllers/spotlight/resources/csv_upload_controller_spec.rb +4 -4
- data/spec/controllers/spotlight/resources/upload_controller_spec.rb +2 -2
- data/spec/controllers/spotlight/searches_controller_spec.rb +10 -3
- data/spec/controllers/spotlight/translations_controller_spec.rb +53 -2
- data/spec/controllers/spotlight/view_configurations_controller_spec.rb +1 -1
- data/spec/examples.txt +1437 -1389
- data/spec/factories/featured_images.rb +4 -0
- data/spec/factories/group.rb +17 -0
- data/spec/factories/searches.rb +11 -1
- data/spec/features/add_contacts_spec.rb +1 -1
- data/spec/features/browse_category_admin_spec.rb +39 -7
- data/spec/features/browse_category_navigation_spec.rb +44 -0
- data/spec/features/browse_category_spec.rb +2 -2
- data/spec/features/catalog_spec.rb +2 -2
- data/spec/features/create_exhibit_spec.rb +5 -4
- data/spec/features/dashboard_spec.rb +7 -7
- data/spec/features/edit_search_fields_spec.rb +2 -2
- data/spec/features/exhibits/administration_spec.rb +3 -3
- data/spec/features/exhibits/edit_metadata_fields_spec.rb +1 -1
- data/spec/features/exhibits/language_create_edit_spec.rb +3 -3
- data/spec/features/exhibits/translation_editing_spec.rb +57 -8
- data/spec/features/home_page_spec.rb +13 -4
- data/spec/features/item_admin_spec.rb +4 -4
- data/spec/features/javascript/about_page_admin_spec.rb +1 -1
- data/spec/features/javascript/block_controls_spec.rb +3 -1
- data/spec/features/javascript/blocks/browse_group_categories_block_spec.rb +64 -0
- data/spec/features/javascript/blocks/uploaded_items_block_spec.rb +4 -1
- data/spec/features/javascript/browse_group_admin_spec.rb +45 -0
- data/spec/features/javascript/edit_in_place_spec.rb +3 -3
- data/spec/features/javascript/feature_page_admin_spec.rb +1 -1
- data/spec/features/javascript/search_config_admin_spec.rb +1 -1
- data/spec/features/report_a_problem_spec.rb +6 -5
- data/spec/helpers/spotlight/crud_link_helpers_spec.rb +3 -3
- data/spec/helpers/spotlight/pages_helper_spec.rb +2 -2
- data/spec/i18n_spec.rb +0 -2
- data/spec/jobs/spotlight/add_uploads_from_csv_spec.rb +13 -1
- data/spec/mailers/spotlight/indexing_complete_mailer_spec.rb +11 -1
- data/spec/models/sir_trevor_rails/blocks/browse_group_categories_block_spec.rb +41 -0
- data/spec/models/solr_document_spec.rb +2 -3
- data/spec/models/spotlight/access_controls_enforcement_search_builder_spec.rb +1 -0
- data/spec/models/spotlight/exhibit_spec.rb +18 -2
- data/spec/models/spotlight/featured_image_spec.rb +27 -0
- data/spec/models/spotlight/group_spec.rb +19 -0
- data/spec/models/spotlight/main_navigation_spec.rb +1 -1
- data/spec/models/spotlight/page_spec.rb +6 -1
- data/spec/models/spotlight/resources/upload_spec.rb +43 -79
- data/spec/models/spotlight/role_spec.rb +3 -3
- data/spec/models/spotlight/search_spec.rb +30 -3
- data/spec/{serializers/spotlight/exhibit_export_serializer_spec.rb → services/spotlight/exhibit_import_export_service_spec.rb} +168 -23
- data/spec/services/spotlight/iiif_resource_resolver_spec.rb +1 -1
- data/spec/services/spotlight/solr_document_builder_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/spec/support/features/test_features_helpers.rb +15 -0
- data/spec/test_app_templates/Gemfile.extra +1 -3
- data/spec/test_app_templates/catalog_controller.rb +6 -3
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
- data/spec/views/shared/_exhibit_navbar.html.erb_spec.rb +1 -1
- data/spec/views/spotlight/browse/index.html.erb_spec.rb +2 -0
- data/spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb +1 -1
- data/spec/views/spotlight/dashboards/_reindexing_activity.html.erb_spec.rb +6 -6
- data/spec/views/spotlight/metadata_configurations/_metadata_field.html.erb_spec.rb +3 -3
- data/spec/views/spotlight/pages/show.html.erb_spec.rb +1 -0
- data/spec/views/spotlight/search_configurations/_facets.html.erb_spec.rb +1 -1
- data/spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb +7 -8
- data/spec/views/spotlight/translations/_import.html.erb_spec.rb +24 -0
- data/vendor/assets/javascripts/leaflet-iiif.js +46 -21
- data/vendor/assets/javascripts/tiny-slider.js +3218 -0
- data/vendor/assets/stylesheets/tiny-slider.css +1 -0
- metadata +399 -284
- data/app/serializers/spotlight/exhibit_export_serializer.rb +0 -205
- data/app/serializers/spotlight/featured_image_representer.rb +0 -29
- data/app/serializers/spotlight/main_navigation_representer.rb +0 -13
- data/app/serializers/spotlight/page_representer.rb +0 -33
- data/vendor/assets/javascripts/handlebars-v1.3.0.js +0 -2746
@@ -12,7 +12,7 @@
|
|
12
12
|
<div class="modal-body">
|
13
13
|
<%= f.text_field :title, label: t(:'spotlight.saved_search.title') %>
|
14
14
|
<%= label_tag :id, t(:'spotlight.saved_search.id'), class: 'col-form-label' %>
|
15
|
-
<%= select_tag :id, options_for_select(current_exhibit.searches.map { |s| [s.
|
15
|
+
<%= select_tag :id, options_for_select(current_exhibit.searches.map { |s| [s.full_title, s.id] }), include_blank: true, class: 'form-control' %>
|
16
16
|
<%= render_hash_as_hidden_fields(search_state.params_for_search.except(:qt, :page, :utf8)) %>
|
17
17
|
</div>
|
18
18
|
<div class="modal-footer d-flex flex-row-reverse justify-content-start">
|
@@ -4,23 +4,23 @@
|
|
4
4
|
|
5
5
|
<ol>
|
6
6
|
<li>
|
7
|
-
To add content to this page,
|
7
|
+
To add content to this page, select the Edit button above to enter edit mode.
|
8
8
|
</li>
|
9
9
|
<li>
|
10
|
-
In
|
10
|
+
In edit mode, select the plus sign icon to display the widget selection panel. This panel displays a range of widgets, each of which adds a different type of content to the page.
|
11
11
|
</li>
|
12
12
|
<li>
|
13
|
-
Select a widget to configure.
|
13
|
+
Select a widget to configure. Select <b>Save changes</b> when you're ready to add it to the page.
|
14
14
|
</li>
|
15
15
|
<li>
|
16
16
|
Repeat the steps above to continue adding widgets to build out the page. To work more efficiently, you can configure multiple widgets before saving the page. Use the icons in the lower right of the widget configuration panel to preview, reorder, or delete widgets.
|
17
17
|
</li>
|
18
18
|
<li>
|
19
|
-
Use the checkbox in the <
|
19
|
+
Use the checkbox in the <b>Options</b> tab to publish or unpublish the page.
|
20
20
|
</li>
|
21
21
|
<li>
|
22
22
|
Visit the Spotlight <%= link_to 'documentation pages', 'https://github.com/projectblacklight/spotlight/wiki' %> to learn more about creating exhibit pages.
|
23
23
|
</li>
|
24
24
|
</ol>
|
25
25
|
</div>
|
26
|
-
<% end %>
|
26
|
+
<% end %>
|
@@ -1,12 +1,14 @@
|
|
1
1
|
<%= cache [@exhibit, search, I18n.locale] do %>
|
2
|
+
<% group ||= @group %>
|
2
3
|
<div class="col-md-4 col-12 category">
|
3
|
-
<%= link_to spotlight.exhibit_browse_path(@exhibit, search) do %>
|
4
|
+
<%= link_to group.present? ? spotlight.exhibit_browse_group_path(@exhibit, group, search) : spotlight.exhibit_browse_path(@exhibit, search) do %>
|
4
5
|
<div class="image-overlay">
|
5
6
|
<%= image_tag(search.thumbnail_image_url || 'spotlight/default_browse_thumbnail.jpg', class: 'img-responsive', alt: '') %>
|
6
7
|
<div class="text-overlay">
|
7
8
|
<h2 class="browse-category-title">
|
8
|
-
|
9
|
-
|
9
|
+
<span class="title"><%= search.title%></span>
|
10
|
+
<% if search.subtitle.present? %><span class="category-subtitle"><%= search.subtitle %></span><% end %>
|
11
|
+
<small class="item-count"><%= t :'spotlight.browse.search.item_count', count: search.count %></small>
|
10
12
|
</h2>
|
11
13
|
</div>
|
12
14
|
</div>
|
@@ -1,2 +1,3 @@
|
|
1
|
-
|
1
|
+
<span class="title"><%= search.title %></span>
|
2
|
+
<% if search.subtitle.present? %><span class="subtitle"><%= search.subtitle %></span><% end %>
|
2
3
|
<small class="item-count"><%= t :'spotlight.browse.search.item_count', count: params[:browse_q] ? parent_search_count: search.count %></small>
|
@@ -2,6 +2,19 @@
|
|
2
2
|
<% set_html_page_title(title) %>
|
3
3
|
<h1 class="sr-only"><%= title %></h1>
|
4
4
|
|
5
|
+
<% if @groups.any? # active %>
|
6
|
+
<ul class="browse-group-navigation nav nav-pills justify-content-center">
|
7
|
+
<li class="nav-item">
|
8
|
+
<%= link_to t('spotlight.exhibits.groups.all'), exhibit_browse_index_path(current_exhibit), class: "nav-link #{'active' if @group.blank?}" %>
|
9
|
+
</li>
|
10
|
+
<% @groups.each do |group| %>
|
11
|
+
<li class="nav-item">
|
12
|
+
<%= link_to group.title, exhibit_browse_groups_path(current_exhibit, group), class: "nav-link #{'active' if @group.present? && @group.id == group.id}" %>
|
13
|
+
</li>
|
14
|
+
<% end %>
|
15
|
+
</ul>
|
16
|
+
<% end %>
|
17
|
+
|
5
18
|
<div class="browse-landing row">
|
6
19
|
<%= render collection: @searches, partial: 'spotlight/browse/search' %>
|
7
20
|
</div>
|
@@ -1,4 +1,2 @@
|
|
1
|
-
<% #
|
2
|
-
|
3
|
-
<%= render_document_partials document, blacklight_config.view_config(document_index_view_type).partials, :document_counter => document_counter %>
|
4
|
-
</div>
|
1
|
+
<% # try to render the blacklight provided catalog/document partial; rails tries to render spotlight/catalog/document explicitly.. -%>
|
2
|
+
<%= render 'catalog/document', local_assigns %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
json.set! :@context, 'http://iiif.io/api/presentation/2/context.json'
|
4
|
+
json.set! :@id, exhibit_iiif_collection_url(page: params[:page]&.to_i)
|
5
|
+
json.set! :@type, 'sc:Collection'
|
6
|
+
json.label current_exhibit.title
|
7
|
+
json.viewingHint 'top'
|
8
|
+
json.description current_exhibit.description if current_exhibit.description
|
9
|
+
json.manifests do
|
10
|
+
json.array!(@response.documents) do |doc|
|
11
|
+
next unless doc.first(Spotlight::Engine.config.iiif_manifest_field)
|
12
|
+
|
13
|
+
json.set! :@id, doc.first(Spotlight::Engine.config.iiif_manifest_field)
|
14
|
+
json.set! :@type, 'sc:manifest'
|
15
|
+
json.label presenter(doc).label(document_show_link_field(doc)).to_str
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
json.total @response.total
|
20
|
+
json.first exhibit_iiif_collection_url(page: nil)
|
21
|
+
|
22
|
+
json.next exhibit_iiif_collection_url(page: @response.next_page) unless @response.last_page? || @response.out_of_range?
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<%= f.fields_for :avatar, (@contact.avatar || @contact.build_avatar) do |af| %>
|
10
10
|
<div data-cropper="<%= af.object.model_name.singular_route_key %>" data-form-prefix="<%= form_prefix(af) %>">
|
11
11
|
<%= field_set_tag(t(:'.avatar.header')) do %>
|
12
|
-
<p class="instructions"><%= t(:'featured_images.form.crop_area.
|
12
|
+
<p class="instructions"><%= t(:'featured_images.form.crop_area.help_html', scope: [:spotlight], thing: 'contact photo') %></p>
|
13
13
|
|
14
14
|
<div>
|
15
15
|
<%= af.radio_button(:source, :remote, label: t(:'.source.remote.label')) %>
|
@@ -4,23 +4,23 @@
|
|
4
4
|
|
5
5
|
<ol>
|
6
6
|
<li>
|
7
|
-
To add content to this page,
|
7
|
+
To add content to this page, select the Edit button above to enter edit mode.
|
8
8
|
</li>
|
9
9
|
<li>
|
10
|
-
In
|
10
|
+
In edit mode, select the plus sign icon to display the widget selection panel. This panel displays a range of widgets, each of which adds a different type of content to the page.
|
11
11
|
</li>
|
12
12
|
<li>
|
13
|
-
Select a widget to configure.
|
13
|
+
Select a widget to configure. Select <b>Save changes</b> when you're ready to add it to the page.
|
14
14
|
</li>
|
15
15
|
<li>
|
16
16
|
Repeat the steps above to continue adding widgets to build out the page. To work more efficiently, you can configure multiple widgets before saving the page. Use the icons in the lower right of the widget configuration panel to preview, reorder, or delete widgets.
|
17
17
|
</li>
|
18
18
|
<li>
|
19
|
-
Note the <
|
19
|
+
Note the <b>Options</b> and <b>Thumbnail</b> tabs at the top of the page in edit mode. Options in these tabs enable you to publish or unpublish the page, turn on or off the page sidebar, and create a thumbnail image to represent the page.
|
20
20
|
</li>
|
21
21
|
<li>
|
22
22
|
Visit the Spotlight <%= link_to 'documentation pages', 'https://github.com/projectblacklight/spotlight/wiki' %> to learn more about creating exhibit pages.
|
23
23
|
</li>
|
24
24
|
</ol>
|
25
25
|
</div>
|
26
|
-
<% end %>
|
26
|
+
<% end %>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
</div>
|
31
31
|
<% end %>
|
32
32
|
<%= field_set_tag(t(:'.source.remote.header')) do %>
|
33
|
-
<p class="instructions"><%= t(:'.crop_area.
|
33
|
+
<p class="instructions"><%= t(:'.crop_area.help_html', thing: crop_type) %></p>
|
34
34
|
<%= iiif_cropper_tags f, initial_crop_selection: initial_crop_selection %>
|
35
35
|
<% end %>
|
36
36
|
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</div>
|
13
13
|
<% end %>
|
14
14
|
<%= field_set_tag(t(:'.source.remote.header')) do %>
|
15
|
-
<p class="instructions"><%= t(:'.crop_area.
|
15
|
+
<p class="instructions"><%= t(:'.crop_area.help_html', thing: crop_type) %></p>
|
16
16
|
<%= iiif_cropper_tags f, initial_crop_selection: initial_crop_selection %>
|
17
17
|
<% end %>
|
18
18
|
</div>
|
@@ -20,14 +20,14 @@
|
|
20
20
|
<% end %>
|
21
21
|
|
22
22
|
<% if Spotlight::Engine.config.resource_partials.any? %>
|
23
|
-
<li>Add items to the exhibit. Go to the <%= link_to "Curation > Items", admin_exhibit_catalog_path(current_exhibit) %> page and
|
23
|
+
<li>Add items to the exhibit. Go to the <%= link_to "Curation > Items", admin_exhibit_catalog_path(current_exhibit) %> page and select <b>Add items</b>. You can add items individually or in bulk via a CSV file.</li>
|
24
24
|
<% end %>
|
25
25
|
|
26
26
|
<% if can? :update, current_exhibit.blacklight_configuration %>
|
27
|
-
<li>Use the other
|
27
|
+
<li>Use the other curation pages, such as <%= link_to "Curation > Metadata", edit_exhibit_metadata_configuration_path(current_exhibit) %> and <%= link_to "Curation > Search", edit_exhibit_search_configuration_path(current_exhibit) %>, to customize the way various features are presented to exhibit visitors.</li>
|
28
28
|
<% end %>
|
29
29
|
|
30
30
|
<li>Visit the Spotlight <%= link_to "documentation pages", "https://github.com/projectblacklight/spotlight/wiki" %> to learn how to add and edit feature pages, about pages, custom browse categories, and more.</li>
|
31
31
|
</ol>
|
32
32
|
<% end %>
|
33
|
-
</div>
|
33
|
+
</div>
|
@@ -1,3 +1,12 @@
|
|
1
1
|
<p><%= t :".title" %></p>
|
2
2
|
|
3
3
|
<p><%= t :".body", count: @number, title: @exhibit.title %></p>
|
4
|
+
|
5
|
+
<% if @errors.length > 0 %>
|
6
|
+
<p><%= t :".errors", default: :'spotlight.catalog.reindex_progress_panel.error' %></p>
|
7
|
+
<ul>
|
8
|
+
<% @errors.each do |index, message| %>
|
9
|
+
<li><%= t :'.error', index: index, message: message.to_sentence %>
|
10
|
+
<% end %>
|
11
|
+
</ul>
|
12
|
+
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# TODO: the "if @page.persisted?" business below could possibly be done w/ some clever polymorphic routing.
|
3
3
|
# Leaving as-is for now since technically you can't get to the new page form anyway.
|
4
4
|
%>
|
5
|
-
<%= bootstrap_form_for([spotlight, @page.exhibit, @page], role: 'form', html: { data: configurations_for_current_page.merge('form-observer': true)}) do |f| %>
|
5
|
+
<%= bootstrap_form_for(@page, url: url_for([spotlight, @page.exhibit, @page, format: nil]), role: 'form', html: { data: configurations_for_current_page.merge('form-observer': true)}) do |f| %>
|
6
6
|
<%= render @page.lock if @page.lock and not @page.lock.stale? and not @page.lock.current_session? %>
|
7
7
|
<% if @page.errors.any? %>
|
8
8
|
<div id="error_explanation">
|
@@ -40,7 +40,7 @@
|
|
40
40
|
</div>
|
41
41
|
<div class="form-group">
|
42
42
|
<%= f.label :content, class: 'sr-only' %>
|
43
|
-
<%= f.text_area_without_bootstrap :content, value: { data: f.object.content.as_json }.to_json, class: content_editor_class(f.object), data: { 'block-types':
|
43
|
+
<%= f.text_area_without_bootstrap :content, value: { data: f.object.content.as_json }.to_json, class: content_editor_class(f.object), data: { 'block-types': SirTrevorRails::Block.custom_block_types } %>
|
44
44
|
</div>
|
45
45
|
</div>
|
46
46
|
|
@@ -16,6 +16,10 @@
|
|
16
16
|
<a href="#search-description" aria-controls="search-description" role="tab" data-toggle="tab" class="nav-link active"><%= t(:'.search_description') %></a>
|
17
17
|
</li>
|
18
18
|
|
19
|
+
<li role="presentation" class="nav-item">
|
20
|
+
<a href="#search-group" aria-controls="search-group" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.search_group') %></a>
|
21
|
+
</li>
|
22
|
+
|
19
23
|
<li role="presentation" class="nav-item">
|
20
24
|
<a href="#search-masthead" aria-controls="search-masthead" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.search_masthead') %></a>
|
21
25
|
</li>
|
@@ -29,6 +33,7 @@
|
|
29
33
|
<div class="tab-content">
|
30
34
|
<div role="tabpanel" class="tab-pane active" id="search-description">
|
31
35
|
<%= f.text_field :title, control_col: "col-sm-5" %>
|
36
|
+
<%= f.text_field :subtitle, control_col: "col-sm-5" %>
|
32
37
|
<%= f.text_area :long_description, rows: 5 %>
|
33
38
|
<%= f.form_group :search_box, label: { text: t(:'.search_box.label'), class: 'pt-0' }, help: t(:'.search_box.help_block') do %>
|
34
39
|
<%= f.check_box :search_box, label: t(:'.search_box.checkbox_label') %>
|
@@ -49,6 +54,14 @@
|
|
49
54
|
</div>
|
50
55
|
<% end %>
|
51
56
|
</div>
|
57
|
+
<div role="tabpanel" class="tab-pane" id="search-group">
|
58
|
+
<% if @groups.present? %>
|
59
|
+
<p class="instructions"><%= t(:'.group.help') %></p>
|
60
|
+
<%= f.collection_check_boxes(:group_ids, @groups, :id, :title, hide_label: true) %>
|
61
|
+
<% else %>
|
62
|
+
<p class="instructions"><%= t(:'.group.help_no_groups') %></p>
|
63
|
+
<% end %>
|
64
|
+
</div>
|
52
65
|
<div role="tabpanel" class="tab-pane" id="search-masthead">
|
53
66
|
<%= f.fields_for :masthead, (@search.masthead || @search.build_masthead) do |m| %>
|
54
67
|
<p class="instructions"><%= t(:'.masthead.help') %></p>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<% group = f.object %>
|
2
|
+
<%= render layout: 'spotlight/shared/dd3_item', locals: { id: group.id.to_s, field: f, dd3_content_classes: "group" , enabled_method: :published, label_method: :title, label: group.title } do |_, section| %>
|
3
|
+
<% case section when nil %>
|
4
|
+
<div class="d-flex flex-grow-1">
|
5
|
+
<div>
|
6
|
+
<%= f.check_box :published, inline: true, hide_label: true %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="flex-grow-1 mx-2 main">
|
10
|
+
<h4 class="card-title h6 mb-0" data-in-place-edit-target=".edit-in-place" data-in-place-edit-field-target="[data-edit-field-target='true']">
|
11
|
+
<a href="#edit-in-place" class="field-label edit-in-place"><%= group.title %></a>
|
12
|
+
<%= f.hidden_field :title, value: group.title , class: 'form-control form-control-sm title-field', data: {:"edit-field-target" => 'true'} %>
|
13
|
+
</h4>
|
14
|
+
|
15
|
+
<div class="card-text">
|
16
|
+
<div class=""><%= t :'spotlight.searches.group.category_count', count: group.searches.count %> <%= t :'spotlight.searches.group.unpublished_count', count: group.searches.unpublished.count %> • <%= link_to t(:'helpers.action.view'), exhibit_browse_groups_path(current_exhibit, group) %></div>
|
17
|
+
<%= f.hidden_field :id %>
|
18
|
+
<%= f.hidden_field :weight, data: {property: "weight"} %>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<div class="flex m-2">
|
22
|
+
<div class="card-text">
|
23
|
+
<%= exhibit_delete_link(group) %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
<% end %>
|
@@ -3,7 +3,6 @@
|
|
3
3
|
<% end %>
|
4
4
|
|
5
5
|
<%= curation_page_title %>
|
6
|
-
<h2><%= t(:'.categories_header') %></h2>
|
7
6
|
|
8
7
|
<% if @searches.empty? %>
|
9
8
|
<%= t :'.no_saved_searches' %>
|
@@ -13,24 +12,66 @@
|
|
13
12
|
</p>
|
14
13
|
<% end %>
|
15
14
|
<% else %>
|
16
|
-
<
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<% end %>
|
22
|
-
<%= bootstrap_form_for @exhibit, url: update_all_exhibit_searches_path(@exhibit), layout: :horizontal, control_col: 'col-sm-10' do |f| %>
|
15
|
+
<div role="tabpanel">
|
16
|
+
<ul class="nav nav-tabs" role="tablist">
|
17
|
+
<li role="presentation" class="nav-item">
|
18
|
+
<a href="#browse-categories" aria-controls="browse-categories" role="tab" data-toggle="tab" class="nav-link active"><%= t(:'.categories_header') %></a>
|
19
|
+
</li>
|
23
20
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
<li role="presentation" class="nav-item">
|
22
|
+
<a href="#browse-groups" aria-controls="browse-groups" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.groups_header') %></a>
|
23
|
+
</li>
|
24
|
+
</ul>
|
25
|
+
<div class="tab-content">
|
26
|
+
<div role="tabpanel" class="tab-pane active" id="browse-categories">
|
27
|
+
<p class="instructions"><%= t(:'.categories_instructions') %></p>
|
28
|
+
<% unless @exhibit.searchable? %>
|
29
|
+
<p class="instructions alert-warning">
|
30
|
+
<%= t(:'.not_searchable_html', href: link_to(t(:'spotlight.configuration.sidebar.search_configuration'), spotlight.edit_exhibit_search_configuration_path(@exhibit))) %>
|
31
|
+
</p>
|
28
32
|
<% end %>
|
29
|
-
|
30
|
-
</div>
|
33
|
+
<%= bootstrap_form_for @exhibit, url: update_all_exhibit_searches_path(@exhibit), layout: :horizontal, control_col: 'col-sm-10' do |f| %>
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
<div class="panel-group dd search_admin" id="nested-pages" data-behavior="nestable" data-max-depth="1">
|
36
|
+
<ol class="dd-list">
|
37
|
+
<%= f.fields_for :searches do |p| %>
|
38
|
+
<%= render partial: 'search', locals: { f: p} %>
|
39
|
+
<% end %>
|
40
|
+
</ol>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div class="float-right">
|
44
|
+
<%= submit_tag t(:'helpers.action.update_all'), class: "btn btn-primary" %>
|
45
|
+
</div>
|
46
|
+
<% end %>
|
47
|
+
</div>
|
48
|
+
<div role="tabpanel" class="tab-pane" id="browse-groups">
|
49
|
+
<div class="instructions"><%= t(:'.groups_instructions_html') %></div>
|
50
|
+
<%= bootstrap_form_for @exhibit, url: update_all_exhibit_groups_path(@exhibit), layout: :horizontal, control_col: 'col-sm-10' do |f| %>
|
51
|
+
|
52
|
+
<div class="panel-group dd search_admin" id="nested-pages" data-behavior="nestable" data-max-depth="1">
|
53
|
+
<ol class="dd-list">
|
54
|
+
<%= f.fields_for :groups do |p| %>
|
55
|
+
<%= render partial: 'group', locals: { f: p} %>
|
56
|
+
<% end %>
|
57
|
+
</ol>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div class="float-right">
|
61
|
+
<%= submit_tag t(:'helpers.action.update_all'), class: "btn btn-primary" %>
|
62
|
+
</div>
|
63
|
+
<% end %>
|
64
|
+
<%= form_for :group, url: spotlight.exhibit_groups_path(current_exhibit), html: {class: "expanded-add-button"} do |f|%>
|
65
|
+
<a href='#add-new' class="btn btn-primary" data-turbolinks="false" data-expanded-add-button="true" data-field-target="[data-title-field]">
|
66
|
+
<%= t(:'.add_new_group') %> <%= blacklight_icon('chevron_right') %>
|
67
|
+
<span data-title-field="true" class="input-field">
|
68
|
+
<%= f.text_field(:title) %>
|
69
|
+
<%= f.submit t(:'.save'), data: {behavior: "save"} %>
|
70
|
+
<%= f.submit t(:'.cancel'), data: {behavior: "cancel"} %>
|
71
|
+
</span>
|
72
|
+
</a>
|
73
|
+
<%- end -%>
|
74
|
+
</div>
|
34
75
|
</div>
|
35
|
-
|
76
|
+
</div>
|
36
77
|
<% end %>
|
@@ -2,20 +2,17 @@
|
|
2
2
|
<div class="row justify-content-center">
|
3
3
|
<% contact_form ||= Spotlight::ContactForm.new current_url: request.original_url %>
|
4
4
|
<%= bootstrap_form_for contact_form, url: spotlight.exhibit_contact_form_path(current_exhibit, contact_form), layout: :horizontal, label_col: 'col-sm-3', control_col: 'col-sm-9', html: { class: 'col-md-offset-2 col-md-8 my-3 '} do |f| %>
|
5
|
-
|
6
5
|
<h2><%= t(:'.title') %></h2>
|
6
|
+
<div class="alert alert-primary"><%= t('.reporting_from', url: contact_form.current_url) %></div>
|
7
|
+
<%= f.text_area :message, rows: 4 %>
|
7
8
|
<%= f.text_field :name %>
|
8
|
-
|
9
|
-
<% honeypot_field_name = Spotlight::Engine.config.spambot_honeypot_email_field %>
|
10
|
-
<%= f.email_field honeypot_field_name, label: t(:'.honeypot_field_explanation') %>
|
11
|
-
</span>
|
9
|
+
<%= render '/spotlight/shared/honeypot_field', f: f %>
|
12
10
|
<%= f.email_field :email %>
|
13
|
-
<%= f.text_area :message, rows: 7 %>
|
14
11
|
<%= f.hidden_field :current_url %>
|
15
|
-
<div class="form-actions">
|
16
|
-
<div class="
|
17
|
-
|
18
|
-
|
12
|
+
<div class="form-actions row">
|
13
|
+
<div class="col offset-sm-3">
|
14
|
+
<%= f.submit nil, class: 'btn btn-primary' %>
|
15
|
+
<%= link_to t(:'helpers.action.cancel'), '#', class: 'btn-sizing', data: { 'behavior' => 'cancel-link' } %>
|
19
16
|
</div>
|
20
17
|
</div>
|
21
18
|
<% end %>
|