blacklight-spotlight 5.2.4 → 5.3.1

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.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -5
  3. data/app/assets/javascripts/spotlight/spotlight.esm.js +1679 -1228
  4. data/app/assets/javascripts/spotlight/spotlight.esm.js.map +1 -1
  5. data/app/assets/javascripts/spotlight/spotlight.js +1682 -1231
  6. data/app/assets/javascripts/spotlight/spotlight.js.map +1 -1
  7. data/app/assets/stylesheets/spotlight/_spotlight.scss +0 -2
  8. data/app/components/spotlight/analytics/aggregation_component.html.erb +1 -1
  9. data/app/components/spotlight/document_admin_table_component.html.erb +2 -2
  10. data/app/components/spotlight/edit_view_links_component.html.erb +1 -1
  11. data/app/components/spotlight/header_component.html.erb +1 -1
  12. data/app/components/spotlight/tag_list_form_component.html.erb +1 -1
  13. data/app/components/spotlight/tag_selector_component.html.erb +2 -2
  14. data/app/components/spotlight/translations/subheading_component.html.erb +1 -1
  15. data/app/controllers/spotlight/bulk_actions_controller.rb +2 -2
  16. data/app/controllers/spotlight/bulk_updates_controller.rb +2 -2
  17. data/app/controllers/spotlight/catalog_controller.rb +2 -2
  18. data/app/controllers/spotlight/contact_forms_controller.rb +1 -1
  19. data/app/controllers/spotlight/exhibits_controller.rb +1 -1
  20. data/app/controllers/spotlight/featured_images_controller.rb +1 -1
  21. data/app/controllers/spotlight/pages_controller.rb +1 -1
  22. data/app/controllers/spotlight/resources_controller.rb +1 -1
  23. data/app/controllers/spotlight/searches_controller.rb +3 -4
  24. data/app/controllers/spotlight/solr_controller.rb +1 -1
  25. data/app/controllers/spotlight/tags_controller.rb +1 -1
  26. data/app/controllers/spotlight/versions_controller.rb +1 -1
  27. data/app/javascript/spotlight/admin/add_another.js +22 -15
  28. data/app/javascript/spotlight/admin/add_image_selector.js +27 -25
  29. data/app/javascript/spotlight/admin/add_new_button.js +47 -43
  30. data/app/javascript/spotlight/admin/blacklight_configuration.js +52 -38
  31. data/app/javascript/spotlight/admin/block_mixins/autocompleteable.js +68 -60
  32. data/app/javascript/spotlight/admin/block_mixins/formable.js +55 -47
  33. data/app/javascript/spotlight/admin/block_mixins/plustextable.js +19 -20
  34. data/app/javascript/spotlight/admin/blocks/block.js +20 -16
  35. data/app/javascript/spotlight/admin/blocks/browse_block.js +42 -37
  36. data/app/javascript/spotlight/admin/blocks/browse_group_categories_block.js +33 -31
  37. data/app/javascript/spotlight/admin/blocks/iframe_block.js +14 -11
  38. data/app/javascript/spotlight/admin/blocks/link_to_search_block.js +4 -7
  39. data/app/javascript/spotlight/admin/blocks/oembed_block.js +13 -10
  40. data/app/javascript/spotlight/admin/blocks/pages_block.js +20 -13
  41. data/app/javascript/spotlight/admin/blocks/resources_block.js +150 -117
  42. data/app/javascript/spotlight/admin/blocks/rule_block.js +11 -10
  43. data/app/javascript/spotlight/admin/blocks/search_result_block.js +16 -17
  44. data/app/javascript/spotlight/admin/blocks/solr_documents_base_block.js +123 -64
  45. data/app/javascript/spotlight/admin/blocks/solr_documents_block.js +8 -8
  46. data/app/javascript/spotlight/admin/blocks/solr_documents_carousel_block.js +63 -43
  47. data/app/javascript/spotlight/admin/blocks/solr_documents_embed_block.js +9 -9
  48. data/app/javascript/spotlight/admin/blocks/solr_documents_features_block.js +17 -16
  49. data/app/javascript/spotlight/admin/blocks/solr_documents_grid_block.js +6 -7
  50. data/app/javascript/spotlight/admin/blocks/uploaded_items_block.js +84 -64
  51. data/app/javascript/spotlight/admin/crop.js +203 -156
  52. data/app/javascript/spotlight/admin/croppable.js +4 -4
  53. data/app/javascript/spotlight/admin/croppable_modal.js +59 -37
  54. data/app/javascript/spotlight/admin/edit_in_place.js +50 -47
  55. data/app/javascript/spotlight/admin/exhibits.js +52 -41
  56. data/app/javascript/spotlight/admin/form_observer.js +59 -53
  57. data/app/javascript/spotlight/admin/iiif.js +26 -25
  58. data/app/javascript/spotlight/admin/index.js +44 -47
  59. data/app/javascript/spotlight/admin/locks.js +14 -14
  60. data/app/javascript/spotlight/admin/multi_image_selector.js +127 -111
  61. data/app/javascript/spotlight/admin/pages.js +21 -21
  62. data/app/javascript/spotlight/admin/progress_monitor.js +67 -65
  63. data/app/javascript/spotlight/admin/readonly_checkbox.js +3 -3
  64. data/app/javascript/spotlight/admin/search_typeahead.js +55 -43
  65. data/app/javascript/spotlight/admin/select_related_input.js +17 -17
  66. data/app/javascript/spotlight/admin/sir-trevor/block_controls.js +100 -84
  67. data/app/javascript/spotlight/admin/sir-trevor/block_limits.js +36 -31
  68. data/app/javascript/spotlight/admin/sir-trevor/locales.js +52 -39
  69. data/app/javascript/spotlight/admin/spotlight_nestable.js +112 -90
  70. data/app/javascript/spotlight/admin/tabs.js +16 -3
  71. data/app/javascript/spotlight/admin/translation_progress.js +13 -7
  72. data/app/javascript/spotlight/admin/users.js +41 -41
  73. data/app/javascript/spotlight/admin/visibility_toggle.js +4 -4
  74. data/app/javascript/spotlight/controllers/clipboard_controller.js +14 -0
  75. data/app/javascript/spotlight/controllers/index.js +4 -2
  76. data/app/javascript/spotlight/controllers/tag_selector_controller.js +116 -79
  77. data/app/javascript/spotlight/core.js +18 -15
  78. data/app/javascript/spotlight/index.js +4 -4
  79. data/app/javascript/spotlight/user/browse_group_categories.js +24 -22
  80. data/app/javascript/spotlight/user/carousel.js +23 -19
  81. data/app/javascript/spotlight/user/clear_form_button.js +15 -15
  82. data/app/javascript/spotlight/user/index.js +4 -4
  83. data/app/javascript/spotlight/user/zpr_links.js +18 -18
  84. data/app/models/spotlight/analytics/ga.rb +0 -1
  85. data/app/models/spotlight/custom_field.rb +1 -1
  86. data/app/models/spotlight/resources/iiif_manifest_v3.rb +2 -2
  87. data/app/services/spotlight/exhibit_import_export_service.rb +0 -2
  88. data/app/views/blacklight/nav/_bookmark.html.erb +1 -1
  89. data/app/views/catalog/_remove_tags.html.erb +1 -1
  90. data/app/views/layouts/spotlight/base.html.erb +1 -1
  91. data/app/views/shared/_header_navbar.html.erb +1 -1
  92. data/app/views/shared/_masthead.html.erb +2 -2
  93. data/app/views/shared/_site_sidebar.html.erb +1 -1
  94. data/app/views/shared/_user_util_links.html.erb +2 -2
  95. data/app/views/spotlight/about_pages/_contacts.html.erb +1 -1
  96. data/app/views/spotlight/accessibility/alt_text.html.erb +1 -1
  97. data/app/views/spotlight/admin_users/index.html.erb +11 -9
  98. data/app/views/spotlight/appearances/edit.html.erb +1 -1
  99. data/app/views/spotlight/browse/_search_box.html.erb +1 -1
  100. data/app/views/spotlight/bulk_updates/_download.html.erb +1 -1
  101. data/app/views/spotlight/bulk_updates/_progress_panel.html.erb +6 -6
  102. data/app/views/spotlight/bulk_updates/edit.html.erb +1 -1
  103. data/app/views/spotlight/catalog/_admin_header.html.erb +1 -1
  104. data/app/views/spotlight/catalog/_admin_index_header_default.html.erb +1 -1
  105. data/app/views/spotlight/catalog/_curation_mode_toggle_default.html.erb +1 -1
  106. data/app/views/spotlight/catalog/_document.html.erb +2 -2
  107. data/app/views/spotlight/catalog/_document_admin_table.html.erb +1 -1
  108. data/app/views/spotlight/catalog/_edit_sidecar.html.erb +1 -1
  109. data/app/views/spotlight/catalog/_index_compact_default.html.erb +1 -1
  110. data/app/views/spotlight/catalog/_reindex_progress_panel.html.erb +6 -6
  111. data/app/views/spotlight/catalog/select_image.html.erb +1 -1
  112. data/app/views/spotlight/contact_mailer/report_problem.html.erb +2 -2
  113. data/app/views/spotlight/exhibits/_contact.html.erb +2 -2
  114. data/app/views/spotlight/exhibits/_delete.html.erb +2 -2
  115. data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
  116. data/app/views/spotlight/exhibits/_export.html.erb +1 -1
  117. data/app/views/spotlight/exhibits/_form.html.erb +2 -2
  118. data/app/views/spotlight/exhibits/_languages.html.erb +7 -7
  119. data/app/views/spotlight/exhibits/_missing_exhibits.html.erb +1 -1
  120. data/app/views/spotlight/locks/_lock.html.erb +2 -2
  121. data/app/views/spotlight/metadata_configurations/edit.html.erb +1 -1
  122. data/app/views/spotlight/pages/_order_pages.html.erb +3 -3
  123. data/app/views/spotlight/pages/preview.html.erb +1 -1
  124. data/app/views/spotlight/pages/show.html.erb +2 -2
  125. data/app/views/spotlight/resources/_form.html.erb +1 -1
  126. data/app/views/spotlight/resources/csv_upload/_form.html.erb +1 -1
  127. data/app/views/spotlight/resources/upload/_form.html.erb +1 -1
  128. data/app/views/spotlight/roles/index.html.erb +5 -5
  129. data/app/views/spotlight/search_configurations/_search_fields.html.erb +1 -1
  130. data/app/views/spotlight/search_configurations/edit.html.erb +1 -1
  131. data/app/views/spotlight/searches/index.html.erb +2 -2
  132. data/app/views/spotlight/shared/_configuration_sidebar.html.erb +1 -1
  133. data/app/views/spotlight/shared/_curation_sidebar.html.erb +1 -1
  134. data/app/views/spotlight/shared/_dd3_item.html.erb +1 -1
  135. data/app/views/spotlight/sir_trevor/_sir_trevor_block_array.html.erb +1 -1
  136. data/app/views/spotlight/sir_trevor/blocks/_browse_block.html.erb +1 -1
  137. data/app/views/spotlight/sir_trevor/blocks/_browse_group_categories_block.html.erb +1 -1
  138. data/app/views/spotlight/sir_trevor/blocks/_featured_pages_block.html.erb +2 -2
  139. data/app/views/spotlight/sir_trevor/blocks/_link_to_search_block.html.erb +1 -1
  140. data/app/views/spotlight/sir_trevor/blocks/_rule_block.html.erb +1 -1
  141. data/app/views/spotlight/sir_trevor/blocks/_search_results_block.html.erb +1 -1
  142. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_block.html.erb +1 -1
  143. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +1 -1
  144. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_features_block.html.erb +1 -1
  145. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb +1 -1
  146. data/app/views/spotlight/sites/edit_exhibits.html.erb +3 -3
  147. data/app/views/spotlight/translations/_browse_categories.html.erb +2 -2
  148. data/app/views/spotlight/translations/_general.html.erb +21 -21
  149. data/app/views/spotlight/translations/_groups.html.erb +1 -1
  150. data/app/views/spotlight/translations/_metadata.html.erb +8 -8
  151. data/app/views/spotlight/translations/_pages_table.html.erb +2 -2
  152. data/app/views/spotlight/translations/_search_fields.html.erb +13 -13
  153. data/app/views/spotlight/translations/edit.html.erb +5 -5
  154. data/config/importmap.rb +0 -1
  155. data/lib/generators/spotlight/assets/propshaft_generator.rb +0 -1
  156. data/lib/generators/spotlight/templates/solr/conf/admin-extra.html +31 -31
  157. data/lib/spotlight/version.rb +1 -1
  158. data/spec/factories/contact_images.rb +1 -1
  159. data/spec/factories/exhibit_thumbnails.rb +1 -1
  160. data/spec/factories/featured_images.rb +1 -1
  161. data/spec/support/features/test_features_helpers.rb +12 -3
  162. metadata +12 -64
  163. data/app/assets/stylesheets/spotlight/typeahead.scss +0 -77
  164. data/app/javascript/spotlight/admin/copy_email_addresses.js +0 -7
  165. data/vendor/assets/javascripts/jquery.waitforimages.min.js +0 -2
@@ -1,37 +1,41 @@
1
1
  export default class {
2
2
  connect() {
3
3
  if ($.fn.carousel) {
4
- const $carousel = $('.carousel');
4
+ const $carousel = $(".carousel")
5
5
 
6
6
  // updates the aria-describedby on the next and prev btns
7
7
  const updateAriaDescribedBy = function ($carousel) {
8
- const $activeItem = $carousel.find('.carousel-item.active');
9
- const $items = $carousel.find('.carousel-item');
10
- const curIndex = $items.index($activeItem);
11
- const prevIndex = (curIndex - 1 + $items.length) % $items.length;
12
- const nextIndex = (curIndex + 1) % $items.length;
8
+ const $activeItem = $carousel.find(".carousel-item.active")
9
+ const $items = $carousel.find(".carousel-item")
10
+ const curIndex = $items.index($activeItem)
11
+ const prevIndex = (curIndex - 1 + $items.length) % $items.length
12
+ const nextIndex = (curIndex + 1) % $items.length
13
13
 
14
- const prevDataId = $items.eq(prevIndex).data('id');
15
- const nextDataId = $items.eq(nextIndex).data('id');
14
+ const prevDataId = $items.eq(prevIndex).data("id")
15
+ const nextDataId = $items.eq(nextIndex).data("id")
16
16
  if (prevDataId) {
17
- $carousel.find('.carousel-control-prev').attr('aria-describedby', 'carousel-caption-' + prevDataId);
17
+ $carousel
18
+ .find(".carousel-control-prev")
19
+ .attr("aria-describedby", "carousel-caption-" + prevDataId)
18
20
  }
19
21
  if (nextDataId) {
20
- $carousel.find('.carousel-control-next').attr('aria-describedby', 'carousel-caption-' + nextDataId);
22
+ $carousel
23
+ .find(".carousel-control-next")
24
+ .attr("aria-describedby", "carousel-caption-" + nextDataId)
21
25
  }
22
- };
26
+ }
23
27
 
24
28
  // on initial page load, set the aria-describedby on the btns for each carousel
25
29
  $carousel.each(function () {
26
- const $this = $(this);
27
- $this.carousel();
28
- updateAriaDescribedBy($this);
29
- });
30
+ const $this = $(this)
31
+ $this.carousel()
32
+ updateAriaDescribedBy($this)
33
+ })
30
34
 
31
35
  // on slide change
32
- $carousel.on('slid.bs.carousel', function () {
33
- updateAriaDescribedBy($(this));
34
- });
36
+ $carousel.on("slid.bs.carousel", function () {
37
+ updateAriaDescribedBy($(this))
38
+ })
35
39
  }
36
40
  }
37
- }
41
+ }
@@ -1,23 +1,23 @@
1
1
  export default class {
2
2
  connect() {
3
- var $clearBtn = $('.btn-reset');
4
- var $input = $clearBtn.prev('#browse_q');
5
- var btnCheck = function(){
6
- if ($input.val() !== '') {
7
- $clearBtn.css('display', 'block');
3
+ var $clearBtn = $(".btn-reset")
4
+ var $input = $clearBtn.prev("#browse_q")
5
+ var btnCheck = function () {
6
+ if ($input.val() !== "") {
7
+ $clearBtn.css("display", "block")
8
8
  } else {
9
- $clearBtn.css('display', 'none');
9
+ $clearBtn.css("display", "none")
10
10
  }
11
- };
11
+ }
12
12
 
13
- btnCheck();
14
- $input.on('keyup', function() {
15
- btnCheck();
16
- });
13
+ btnCheck()
14
+ $input.on("keyup", function () {
15
+ btnCheck()
16
+ })
17
17
 
18
- $clearBtn.on('click', function(event) {
19
- event.preventDefault();
20
- $input.val('');
21
- });
18
+ $clearBtn.on("click", function (event) {
19
+ event.preventDefault()
20
+ $input.val("")
21
+ })
22
22
  }
23
23
  }
@@ -1,7 +1,7 @@
1
- import BrowseGroupCateogries from 'spotlight/user/browse_group_categories'
2
- import Carousel from 'spotlight/user/carousel'
3
- import ClearFormButton from 'spotlight/user/clear_form_button'
4
- import ZprLinks from 'spotlight/user/zpr_links'
1
+ import BrowseGroupCateogries from "spotlight/user/browse_group_categories"
2
+ import Carousel from "spotlight/user/carousel"
3
+ import ClearFormButton from "spotlight/user/clear_form_button"
4
+ import ZprLinks from "spotlight/user/zpr_links"
5
5
 
6
6
  export default class {
7
7
  connect() {
@@ -1,13 +1,13 @@
1
- import OpenSeadragon from 'openseadragon';
1
+ import OpenSeadragon from "openseadragon"
2
2
 
3
3
  export default class {
4
4
  connect() {
5
- $('.zpr-link').on('click', function() {
6
- var modalDialog = $('#blacklight-modal .modal-dialog');
7
- var modalContent = modalDialog.find('.modal-content')
8
- modalDialog.removeClass('modal-lg')
9
- modalDialog.addClass('modal-xl')
10
- modalContent.html('<div id="osd-modal-container"></div>');
5
+ $(".zpr-link").on("click", function () {
6
+ var modalDialog = $("#blacklight-modal .modal-dialog")
7
+ var modalContent = modalDialog.find(".modal-content")
8
+ modalDialog.removeClass("modal-lg")
9
+ modalDialog.addClass("modal-xl")
10
+ modalContent.html('<div id="osd-modal-container"></div>')
11
11
  var controls = `<div class="controls d-flex justify-content-center justify-content-md-end">
12
12
  <div class="custom-close-controls pe-3 pt-3">
13
13
  <button type="button" class="btn btn-dark" data-bs-dismiss="modal" aria-hidden="true">${Spotlight.ZprLinks.close}</button>
@@ -19,18 +19,18 @@ export default class {
19
19
  <div id="empty-div-required-by-osd"></div>
20
20
  </div>`
21
21
 
22
- $('#osd-modal-container').append('<div id="osd-div"></div>');
23
- $('#osd-modal-container').append(controls);
22
+ $("#osd-modal-container").append('<div id="osd-div"></div>')
23
+ $("#osd-modal-container").append(controls)
24
24
 
25
- $('#blacklight-modal').modal('show');
26
-
27
- $('#blacklight-modal').one('hidden.bs.modal', function (event) {
28
- modalDialog.removeClass('modal-xl')
29
- modalDialog.addClass('modal-lg')
30
- });
25
+ $("#blacklight-modal").modal("show")
26
+
27
+ $("#blacklight-modal").one("hidden.bs.modal", function () {
28
+ modalDialog.removeClass("modal-xl")
29
+ modalDialog.addClass("modal-lg")
30
+ })
31
31
 
32
32
  OpenSeadragon({
33
- id: 'osd-div',
33
+ id: "osd-div",
34
34
  zoomInButton: "osd-zoom-in",
35
35
  zoomOutButton: "osd-zoom-out",
36
36
  // This is a hack where OpenSeadragon (if using mapped buttons) requires you
@@ -39,8 +39,8 @@ export default class {
39
39
  fullPageButton: "empty-div-required-by-osd",
40
40
  nextButton: "empty-div-required-by-osd",
41
41
  previousButton: "empty-div-required-by-osd",
42
- tileSources: [$(this).data('iiif-tilesource')]
42
+ tileSources: [$(this).data("iiif-tilesource")],
43
43
  })
44
- });
44
+ })
45
45
  }
46
46
  }
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'signet/oauth_2/client'
4
3
  require 'google/analytics/data'
5
4
 
6
5
  module Spotlight
@@ -127,7 +127,7 @@ module Spotlight
127
127
  end
128
128
 
129
129
  def update_sidecar_data_after_field_name_change
130
- Spotlight::RenameSidecarFieldJob.perform_later(exhibit, field_before_last_save, self.field, slug_before_last_save, slug)
130
+ Spotlight::RenameSidecarFieldJob.perform_later(exhibit, field_before_last_save, field, slug_before_last_save, slug)
131
131
  end
132
132
 
133
133
  def document_model
@@ -28,8 +28,8 @@ module Spotlight
28
28
  @resources ||=
29
29
  canvases
30
30
  .flat_map(&:items).select { |item| item.type == 'AnnotationPage' }
31
- .flat_map(&:items).select { |item| item.motivation == 'painting' }
32
- .flat_map(&:body)
31
+ .flat_map(&:items).select { |item| item.motivation == 'painting' }
32
+ .flat_map(&:body)
33
33
  .flat_map(&:service)
34
34
  end
35
35
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'roar/decorator'
4
- require 'roar/json'
5
3
  require 'base64'
6
4
  require 'tempfile'
7
5
 
@@ -1,4 +1,4 @@
1
1
  <%= link_to main_app.bookmarks_path, id:'bookmarks_nav' do %>
2
2
  <%= t('blacklight.header_links.bookmarks') %>
3
- (<span data-role='bookmark-counter'><%= current_or_guest_user.bookmarks.count %></span>)
3
+ (<span data-role="bookmark-counter"><%= current_or_guest_user.bookmarks.count %></span>)
4
4
  <% end %>
@@ -15,7 +15,7 @@
15
15
  <% end %>
16
16
  <% facet.items.each do |facet_item| %>
17
17
  <div class="badge bg-info">
18
- <%= "#{facet_item.value} (#{facet_item.hits})" %>
18
+ <%= facet_item.value %> (<%= facet_item.hits %>)
19
19
  </div>
20
20
  <% end %>
21
21
 
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7
7
  <%= render partial: 'shared/analytics' %>
8
8
  <title><%= h(@page_title || application_name.to_s) %></title>
9
- <link href="<%= current_exhibit ? spotlight.opensearch_exhibit_catalog_url(current_exhibit, format: 'xml') : main_app.opensearch_catalog_url(format: 'xml') %>" title="<%= h(@page_title || application_name.to_str) %>" type="application/opensearchdescription+xml" rel="search"/>
9
+ <link href="<%= current_exhibit ? spotlight.opensearch_exhibit_catalog_url(current_exhibit, format: 'xml') : main_app.opensearch_catalog_url(format: 'xml') %>" title="<%= h(@page_title || application_name.to_str) %>" type="application/opensearchdescription+xml" rel="search">
10
10
  <%= favicon_link_tag 'favicon.ico' %>
11
11
  <% if current_exhibit %>
12
12
  <%= exhibit_stylesheet_link_tag "application" %>
@@ -3,4 +3,4 @@
3
3
  <% else %>
4
4
  <%= render Spotlight::HeaderComponent.new(blacklight_config: blacklight_config) %>
5
5
  <% Spotlight.deprecator.warn("_header_navbar.html.erb will be deprecated in future versions. Please use Blacklight configuration to specify your HeaderComponent.") %>
6
- <% end %>
6
+ <% end %>
@@ -6,8 +6,8 @@
6
6
 
7
7
  <header class="masthead <%= 'image-masthead' if current_masthead %> <%= 'resource-masthead' if resource_masthead? %>">
8
8
  <% if current_masthead %>
9
- <span class='background-container' style="background-image: url('<%= current_masthead.iiif_url %>')"></span>
10
- <span class='background-container-gradient'></span>
9
+ <span class="background-container" style="background-image: url('<%= current_masthead.iiif_url %>')"></span>
10
+ <span class="background-container-gradient"></span>
11
11
  <% end %>
12
12
 
13
13
  <%= render current_exhibit ? 'shared/exhibit_navbar' : 'shared/site_navbar' if resource_masthead? %>
@@ -1,5 +1,5 @@
1
1
  <% if can?(:manage, Spotlight::Site.instance) || can?(:create, Spotlight::Exhibit) %>
2
- <h4 class="nav-heading"><%=t(:'.header') %></h4>
2
+ <h4 class="nav-heading"><%= t(:'.header') %></h4>
3
3
  <ul class="nav sidenav flex-column">
4
4
  <li class="nav-item"><%= link_to t('.documentation'), 'https://github.com/projectblacklight/spotlight/wiki/Configuration-settings', class: 'nav-link' %></li>
5
5
 
@@ -1,5 +1,5 @@
1
1
  <% nav_actions = capture do %>
2
- <%= render_nav_actions do |config, action|%>
2
+ <%= render_nav_actions do |config, action| %>
3
3
  <li class="nav-item"><%= action %></li>
4
4
  <% end %>
5
5
  <% end %>
@@ -14,7 +14,7 @@
14
14
  <%= render '/spotlight/shared/locale_picker' %>
15
15
  <% if current_user %>
16
16
  <li class="nav-item dropdown">
17
- <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><%=current_user%></a>
17
+ <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><%= current_user %></a>
18
18
  <ul class="dropdown-menu">
19
19
  <% if can? :manage, Spotlight::Site.instance %>
20
20
  <li><%= link_to t(:'spotlight.header_links.edit_site'), spotlight.edit_site_path, class: 'dropdown-item' %></li>
@@ -1,4 +1,4 @@
1
- <h2 class='contacts-header nav-heading h4'><%= t :'.header' %></h2>
1
+ <h2 class="contacts-header nav-heading h4"><%= t :'.header' %></h2>
2
2
  <ol class="nav sidenav contacts flex-column">
3
3
  <% current_exhibit.contacts.published.each do |contact| %>
4
4
  <li itemscope itemtype="http://schema.org/Person">
@@ -58,4 +58,4 @@
58
58
  </tr>
59
59
  <% end %>
60
60
  </tbody>
61
- </table>
61
+ </table>
@@ -20,22 +20,22 @@
20
20
  </td>
21
21
  </tr>
22
22
  <% end %>
23
- <tr data-edit-for='new'>
23
+ <tr data-edit-for="new">
24
24
  <td>
25
25
  <%= f.email_field :email, hide_label: true %>
26
- <span data-user-role='admin'></span>
26
+ <span data-user-role="admin"></span>
27
27
  </td>
28
28
  <td>
29
29
  <div class="form-actions">
30
30
  <div class="primary-actions">
31
31
  <%= cancel_link f.object, '#', class: 'btn btn-link', role: 'button', data: { behavior: 'cancel-edit' } %>
32
- <%= f.submit t('.save'), class: 'btn btn-primary'%>
32
+ <%= f.submit t('.save'), class: 'btn btn-primary' %>
33
33
  </div>
34
34
  </div>
35
35
  </td>
36
36
  </tr>
37
- <tr data-edit-for='new'>
38
- <td colspan='2'>
37
+ <tr data-edit-for="new">
38
+ <td colspan="2">
39
39
  </td>
40
40
  </tr>
41
41
  </tbody>
@@ -50,13 +50,15 @@
50
50
 
51
51
  <div class="mb-4">
52
52
  <h3 class="instructions"><%= t :'.admins_curators' %></h3>
53
- <div id="admins_curators" class="card card-body bg-light">
54
- <div class='btn-toolbar align-self-end'>
55
- <button class="btn btn-sm btn-primary copy-email-addresses" data-clipboard-target="#admins_curators">
53
+ <div id="admins_curators" class="card card-body bg-light" data-controller="clipboard">
54
+ <div class="btn-toolbar align-self-end">
55
+ <button class="btn btn-sm btn-primary copy-email-addresses" data-action="click->clipboard#copy">
56
56
  <%= t('.copy') %>
57
57
  </button>
58
58
  </div>
59
- <%= Spotlight::Engine.user_class.with_roles.pluck(:email).sort.join(', ') %>
59
+ <div data-clipboard-target="text">
60
+ <%= Spotlight::Engine.user_class.with_roles.pluck(:email).sort.join(', ') %>
61
+ </div>
60
62
  </div>
61
63
  </div>
62
64
 
@@ -79,7 +79,7 @@
79
79
  </div>
80
80
  <% end %>
81
81
  <% else %>
82
- <%= render Spotlight::UneditableNonDefaultLanguageComponent.new(current_exhibit:, current_language: I18n.locale)%>
82
+ <%= render Spotlight::UneditableNonDefaultLanguageComponent.new(current_exhibit:, current_language: I18n.locale) %>
83
83
  <% end %>
84
84
  </div>
85
85
  </div>
@@ -31,7 +31,7 @@
31
31
  <p><%= t(:'.zero_results.expand_html',
32
32
  clear_search_url: exhibit_browse_path(current_exhibit, search),
33
33
  expand_search_url: search_exhibit_catalog_path(current_exhibit, q: params[:q]),
34
- browse_query: params[:q])%>
34
+ browse_query: params[:q]) %>
35
35
  </p>
36
36
  <% end %>
37
37
  </div>
@@ -15,7 +15,7 @@
15
15
  <% end %>
16
16
  </div>
17
17
  <div class="col col-sm-3 download-csv">
18
- <%= f.submit t('.submit'), class: 'btn btn-primary' %>
18
+ <%= f.submit t('.submit'), class: 'btn btn-primary' %>
19
19
  </div>
20
20
  </div>
21
21
  <% end %>
@@ -1,14 +1,14 @@
1
- <div class="card index-status border-info mb-3" style='display:none;'>
1
+ <div class="card index-status border-info mb-3" style="display:none;">
2
2
  <h3 class="card-header bg-info text-white h4"><%= t('.heading') %></h3>
3
3
  <div class="card-body">
4
- <p data-behavior='monitor-start'>
5
- <span class="text-muted" data-behavior='date'></span> <%= t('.begin_html') %>
4
+ <p data-behavior="monitor-start">
5
+ <span class="text-muted" data-behavior="date"></span> <%= t('.begin_html') %>
6
6
  </p>
7
- <p data-behavior='monitor-completed'>
8
- <span class="text-muted" data-behavior='date'></span> <%= t('.completed_html') %>
7
+ <p data-behavior="monitor-completed">
8
+ <span class="text-muted" data-behavior="date"></span> <%= t('.completed_html') %>
9
9
  </p>
10
10
 
11
- <p class="bg-warning" data-behavior='monitor-error' style='display:none;'>
11
+ <p class="bg-warning" data-behavior="monitor-error" style="display:none;">
12
12
  <%= t('.error') %>
13
13
  </p>
14
14
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  <%= curation_page_title t(:".header") %>
6
6
 
7
- <div data-behavior='progress-panel' data-monitor-url="<%= monitor_exhibit_bulk_updates_path(current_exhibit) %>">
7
+ <div data-behavior="progress-panel" data-monitor-url="<%= monitor_exhibit_bulk_updates_path(current_exhibit) %>">
8
8
  <%= render 'progress_panel' %>
9
9
  </div>
10
10
 
@@ -1,5 +1,5 @@
1
1
  <% if can? :manage, Spotlight::Resource.new(exhibit: current_exhibit) %>
2
- <div data-behavior='progress-panel' data-monitor-url="<%= monitor_exhibit_resources_path(current_exhibit) %>">
2
+ <div data-behavior="progress-panel" data-monitor-url="<%= monitor_exhibit_resources_path(current_exhibit) %>">
3
3
  <%= render 'reindex_progress_panel' %>
4
4
  </div>
5
5
  <div class="add-items-nav clearfix">
@@ -6,7 +6,7 @@
6
6
  for bookmarks control depends on size.
7
7
  -%>
8
8
  <% document_actions = capture do %>
9
- <% # bookmark functions for items/docs -%>
9
+ <%# bookmark functions for items/docs -%>
10
10
  <%= render_index_doc_actions document, wrapping_class: "index-document-functions col-sm-3 col-lg-2" %>
11
11
  <% end %>
12
12
 
@@ -1 +1 @@
1
- <%= exhibit_edit_link document, [:edit, current_exhibit, document], class: 'float-end btn btn-primary' if can?(:curate, current_exhibit) and !current_page? [:edit, current_exhibit, document] %>
1
+ <%= exhibit_edit_link document, [:edit, current_exhibit, document], class: 'float-end btn btn-primary' if can?(:curate, current_exhibit) and !current_page? [:edit, current_exhibit, document] %>
@@ -1,2 +1,2 @@
1
- <% # try to render the blacklight provided catalog/document partial; rails tries to render spotlight/catalog/document explicitly.. -%>
2
- <%= render 'catalog/document', local_assigns %>
1
+ <%# try to render the blacklight provided catalog/document partial; rails tries to render spotlight/catalog/document explicitly.. -%>
2
+ <%= render 'catalog/document', local_assigns %>
@@ -1,4 +1,4 @@
1
- <% # container for all documents in index view -%>
1
+ <%# container for all documents in index view -%>
2
2
  <% view_config = local_assigns[:view_config] || blacklight_config&.view_config(default_document_index_view_type) %>
3
3
  <table id="documents" class="table">
4
4
  <thead>
@@ -11,7 +11,7 @@
11
11
  <%# Using `includes(:exhibit)` to ensure all fields are using the same exhibit object to take advantage of memoization %>
12
12
  <% current_exhibit.custom_fields.includes(:exhibit).each do |field| %>
13
13
  <% data = document.sidecar(current_exhibit).data %>
14
- <%= render partial: "spotlight/custom_fields/form_group/#{field.field_type}", locals: { f: d, field: field, value: data[field.slug.to_s] || data[field.field.to_s] } %>
14
+ <%= render partial: "spotlight/custom_fields/form_group/#{field.field_type}", locals: { f: d, field: field, value: data[field.slug.to_s] || data[field.field.to_s] } %>
15
15
 
16
16
  <% unless field.configured_to_display? %>
17
17
  <p class="bg-warning form-text">
@@ -1,5 +1,5 @@
1
1
  <%- Spotlight.deprecator.warn 'The partial _spotlight/catalog/_index_compact_default.html.erb will be removed; customize the admin display using components instead' %>
2
- <% # header bar for doc items in index view -%>
2
+ <%# header bar for doc items in index view -%>
3
3
  <td>
4
4
  <%= render_document_partial document, 'admin_thumbnail', document_counter: document_counter %>
5
5
  </td>
@@ -1,14 +1,14 @@
1
- <div class="card index-status border-info mb-3" style='display:none;'>
1
+ <div class="card index-status border-info mb-3" style="display:none;">
2
2
  <h3 class="card-header bg-info text-white h4"><%= t('.heading') %></h3>
3
3
  <div class="card-body">
4
- <p data-behavior='monitor-start'>
5
- <span class="text-muted" data-behavior='date'></span> <%= t('.begin_html') %>
4
+ <p data-behavior="monitor-start">
5
+ <span class="text-muted" data-behavior="date"></span> <%= t('.begin_html') %>
6
6
  </p>
7
- <p data-behavior='monitor-current'>
8
- <span class="text-muted" data-behavior='date'></span> <%= t('.current_html') %>
7
+ <p data-behavior="monitor-current">
8
+ <span class="text-muted" data-behavior="date"></span> <%= t('.current_html') %>
9
9
  </p>
10
10
 
11
- <p class="bg-warning" data-behavior='monitor-error' style='display:none;'>
11
+ <p class="bg-warning" data-behavior="monitor-error" style="display:none;">
12
12
  <%= t('.error') %>
13
13
  </p>
14
14
 
@@ -1 +1 @@
1
- <%= render Spotlight::SelectImageComponent.new(@index_id, @block_item_id) %>
1
+ <%= render Spotlight::SelectImageComponent.new(@index_id, @block_item_id) %>
@@ -1,5 +1,5 @@
1
1
  <p><%= @contact_form.name %></p>
2
- <p>From: <%= %("#{@contact_form.name}" <#{@contact_form.email}>) %></p>
2
+ <p>From: "<%= @contact_form.name %>" <<%= @contact_form.email %>></p>
3
3
 
4
4
  <p><%= @contact_form.message %></p>
5
5
 
@@ -11,4 +11,4 @@
11
11
  <dt>EXHIBIT</dt><dd><%= @contact_form.current_exhibit.title %></dd>
12
12
  <dt>CURRENT_URL</dt><dd><%= @contact_form.current_url %></dd>
13
13
  <dt>UUID</dt><dd><%= @contact_form.request.uuid %></dd>
14
- </dl>
14
+ </dl>
@@ -4,7 +4,7 @@
4
4
  <div class="col-md-8<%= ' has-error' if contact.object.errors[:email].present? %>">
5
5
  <%= text_field_tag "#{contact.object_name}[email]", contact.object.email, class: 'exhibit-contact form-control', id: "exhibit_contact_email_#{contact.index}", 'aria-label': t('.email_input_aria_label', index: contact.index + 1) %>
6
6
  <% if contact.object.errors[:email].present? %>
7
- <div class="form-text text-muted mb-3"><%=contact.object.errors[:email].join(", ".html_safe) %></div>
7
+ <div class="form-text text-muted mb-3"><%= contact.object.errors[:email].join(", ".html_safe) %></div>
8
8
  <% end %>
9
9
  <p>
10
10
  <span class="contact-email-delete-error text-danger" style="display: none;"><%= t('.email_delete_error') %> <span class="error-msg"></span></span>
@@ -22,4 +22,4 @@
22
22
  <%= render partial: 'confirmation_status', locals: {contact_email: contact.object} unless contact.object.new_record? %>
23
23
  </div>
24
24
  </div>
25
- <% end %>
25
+ <% end %>
@@ -2,8 +2,8 @@
2
2
  <div class="alert alert-danger">
3
3
  <h2 class="alert-heading h4"><%= t(:".heading") %></h2>
4
4
  <div class="row">
5
- <p class='col-9'><%= t(:".warning_html", export_link: link_to(t(:'spotlight.exhibits.export.download'), spotlight.edit_exhibit_path(current_exhibit, anchor: 'export'))) %></p>
6
- <div class='col-3'>
5
+ <p class="col-9"><%= t(:".warning_html", export_link: link_to(t(:'spotlight.exhibits.export.download'), spotlight.edit_exhibit_path(current_exhibit, anchor: 'export'))) %></p>
6
+ <div class="col-3">
7
7
  <%= delete_link current_exhibit, class: 'btn btn-primary' %>
8
8
  </div>
9
9
  </div>
@@ -18,7 +18,7 @@
18
18
  <% end %>
19
19
  <% end %>
20
20
 
21
- <% if exhibit.subtitle || exhibit.description %>
21
+ <% if exhibit.subtitle || exhibit.description %>
22
22
  <%= content_tag :div, id: "exhibit-description-#{exhibit.to_param}", class: 'card-text exhibit-description' do %>
23
23
  <% if exhibit.subtitle %>
24
24
  <p class="subtitle">
@@ -1,4 +1,4 @@
1
- <div role="tabpanel" class="tab-pane <%= 'active' if @tab == 'export' %>" id="export">
1
+ <div role="tabpanel" class="tab-pane <%= 'active' if @tab == 'export' %>" id="export">
2
2
  <div class="row col-md-12">
3
3
  <p class="instructions"><%= t :'.instructions' %></p>
4
4
  <div class="primary-actions">
@@ -5,10 +5,10 @@
5
5
  <%= f.text_area :description, disabled: !default_language?, help: !default_language? ? t('.uneditable_non_default_language') : '' %>
6
6
  <%= render Spotlight::TagListFormComponent.new(form: f) %>
7
7
  <%= f.form_group(:contact_emails, label: { text: nil, class: nil, for: 'exhibit_contact_email_0' }, class: 'form-group mb-3', help: nil) do %>
8
- <%= f.fields_for :contact_emails do |contact| %>
8
+ <%= f.fields_for :contact_emails do |contact| %>
9
9
  <%= render partial: 'contact', locals: {exhibit: @exhibit, contact: contact} %>
10
10
  <% end %>
11
- <button id='another-email' class="btn btn-sm btn-info"><%= t('.add_contact_email_button') %></button>
11
+ <button id="another-email" class="btn btn-sm btn-info"><%= t('.add_contact_email_button') %></button>
12
12
  <div class="form-text text-muted mb-3"><%= t(:'.fields.contact_emails.help_block') %></div>
13
13
  <% end %>
14
14
  <%= f.form_group :published, label: { class: 'pt-0 col-md-2 col-form-label' }, help: nil do %>
@@ -2,11 +2,11 @@
2
2
  <p class="instructions"><%= t :'spotlight.exhibits.languages.selection_instructions' %></p>
3
3
 
4
4
  <%= bootstrap_form_for [current_exhibit, Spotlight::Language.new], layout: :horizontal, html: { class: 'row' }, label_col: "col-sm-3", control_col: "col-sm-9" do |f| %>
5
- <div class='col-sm-6'>
5
+ <div class="col-sm-6">
6
6
  <%= f.select('locale', add_exhibit_language_dropdown_options, prompt: t('.selection_prompt')) %>
7
7
  <%= hidden_field_tag :tab, 'language', id: nil %>
8
8
  </div>
9
- <div class='col-sm-6'>
9
+ <div class="col-sm-6">
10
10
  <%= f.submit nil, class: 'btn btn-primary' %>
11
11
  </div>
12
12
  <% end %>
@@ -23,8 +23,8 @@
23
23
  <thead>
24
24
  <tr>
25
25
  <th scope="col"><%= t('.table_heading.language') %></th>
26
- <th scope="col" class='text-center'><%= t('.table_heading.public') %></th>
27
- <th scope="col" class='text-center'><%= t('.table_heading.action') %></th>
26
+ <th scope="col" class="text-center"><%= t('.table_heading.public') %></th>
27
+ <th scope="col" class="text-center"><%= t('.table_heading.action') %></th>
28
28
  </tr>
29
29
  </thead>
30
30
  <tbody>
@@ -33,13 +33,13 @@
33
33
  <tr id="<%= dom_id(language) %>">
34
34
  <%= languages.hidden_field :id %>
35
35
  <td><%= t("locales.#{language.locale}") %></td>
36
- <td class='text-center'>
37
- <div class='checkbox'>
36
+ <td class="text-center">
37
+ <div class="checkbox">
38
38
  <%= languages.label :public, class: 'visually-hidden' %>
39
39
  <%= languages.check_box_without_bootstrap :public %>
40
40
  </div>
41
41
  </td>
42
- <td class='text-center'><%= link_to t('.remove'), spotlight.exhibit_language_path(current_exhibit, language), data: { turbo_method: :delete, turbo_confirm: t('.modal.confirm')}, class: 'btn btn-sm btn-danger' %></td>
42
+ <td class="text-center"><%= link_to t('.remove'), spotlight.exhibit_language_path(current_exhibit, language), data: { turbo_method: :delete, turbo_confirm: t('.modal.confirm')}, class: 'btn btn-sm btn-danger' %></td>
43
43
  </tr>
44
44
  <% end %>
45
45
  <% end %>