blacklight-spotlight 5.0.1 → 5.2.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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +153 -48
  3. data/app/assets/javascripts/spotlight/spotlight.esm.js +33 -1
  4. data/app/assets/javascripts/spotlight/spotlight.esm.js.map +1 -1
  5. data/app/assets/javascripts/spotlight/spotlight.js +33 -1
  6. data/app/assets/javascripts/spotlight/spotlight.js.map +1 -1
  7. data/app/assets/stylesheets/spotlight/_admin_users.scss +28 -0
  8. data/app/assets/stylesheets/spotlight/_browse.scss +1 -1
  9. data/app/assets/stylesheets/spotlight/_featured_browse_categories_block.scss +1 -1
  10. data/app/assets/stylesheets/spotlight/_spotlight.scss +1 -0
  11. data/app/components/spotlight/admin_users/email_component.html.erb +5 -0
  12. data/app/components/spotlight/admin_users/email_component.rb +22 -0
  13. data/app/components/spotlight/admin_users/exhibit_roles_component.html.erb +28 -0
  14. data/app/components/spotlight/admin_users/exhibit_roles_component.rb +19 -0
  15. data/app/components/spotlight/admin_users/site_admin_component.html.erb +13 -0
  16. data/app/components/spotlight/admin_users/site_admin_component.rb +17 -0
  17. data/app/components/spotlight/analytics/aggregation_component.rb +1 -1
  18. data/app/components/spotlight/analytics/dashboard_component.rb +1 -1
  19. data/app/components/spotlight/breadcrumbs_component.rb +1 -1
  20. data/app/components/spotlight/bulk_action_component.rb +1 -1
  21. data/app/components/spotlight/edit_view_links_component.rb +1 -1
  22. data/app/components/spotlight/header_navigation_link_component.rb +1 -1
  23. data/app/components/spotlight/save_search_component.rb +1 -1
  24. data/app/components/spotlight/select_image_component.rb +1 -1
  25. data/app/components/spotlight/skip_link_component.rb +1 -1
  26. data/app/components/spotlight/solr_document_legacy_embed_component.rb +2 -2
  27. data/app/components/spotlight/tag_list_form_component.rb +1 -1
  28. data/app/components/spotlight/tag_selector_component.rb +1 -1
  29. data/app/components/spotlight/title_component.rb +1 -1
  30. data/app/components/spotlight/translations/subheading_component.rb +1 -1
  31. data/app/components/spotlight/uneditable_non_default_language_component.html.erb +5 -0
  32. data/app/components/spotlight/uneditable_non_default_language_component.rb +25 -0
  33. data/app/controllers/spotlight/admin_users_controller.rb +11 -1
  34. data/app/controllers/spotlight/browse_controller.rb +2 -8
  35. data/app/controllers/spotlight/bulk_actions_controller.rb +1 -1
  36. data/app/controllers/spotlight/bulk_updates_controller.rb +22 -7
  37. data/app/controllers/spotlight/catalog_controller.rb +8 -16
  38. data/app/controllers/spotlight/dashboards_controller.rb +2 -6
  39. data/app/controllers/spotlight/exhibits_controller.rb +1 -0
  40. data/app/controllers/spotlight/home_pages_controller.rb +1 -1
  41. data/app/controllers/spotlight/searches_controller.rb +1 -1
  42. data/app/controllers/spotlight/solr_controller.rb +1 -0
  43. data/app/helpers/spotlight/main_app_helpers.rb +1 -5
  44. data/app/helpers/spotlight/rendering_helper.rb +4 -1
  45. data/app/javascript/spotlight/admin/blocks/pages_block.js +2 -0
  46. data/app/javascript/spotlight/user/carousel.js +32 -2
  47. data/app/jobs/spotlight/add_tags_job.rb +1 -0
  48. data/app/jobs/spotlight/add_uploads_from_csv.rb +1 -0
  49. data/app/jobs/spotlight/change_visibility_job.rb +1 -0
  50. data/app/jobs/spotlight/process_bulk_updates_csv_job.rb +1 -0
  51. data/app/jobs/spotlight/reindex_exhibit_job.rb +1 -0
  52. data/app/jobs/spotlight/reindex_job.rb +1 -0
  53. data/app/jobs/spotlight/remove_tags_job.rb +1 -0
  54. data/app/jobs/spotlight/rename_sidecar_field_job.rb +1 -0
  55. data/app/models/concerns/spotlight/user.rb +5 -0
  56. data/app/models/sir_trevor_rails/blocks/browse_block.rb +1 -1
  57. data/app/models/sir_trevor_rails/blocks/featured_pages_block.rb +1 -1
  58. data/app/models/sir_trevor_rails/blocks/solr_documents_block.rb +1 -0
  59. data/app/models/spotlight/ability.rb +1 -1
  60. data/app/models/spotlight/about_page.rb +1 -0
  61. data/app/models/spotlight/blacklight_configuration.rb +6 -7
  62. data/app/models/spotlight/contact.rb +2 -1
  63. data/app/models/spotlight/contact_email.rb +1 -0
  64. data/app/models/spotlight/custom_field.rb +1 -0
  65. data/app/models/spotlight/exhibit.rb +2 -9
  66. data/app/models/spotlight/feature_page.rb +1 -0
  67. data/app/models/spotlight/group.rb +2 -1
  68. data/app/models/spotlight/home_page.rb +1 -0
  69. data/app/models/spotlight/job_tracker.rb +1 -1
  70. data/app/models/spotlight/main_navigation.rb +1 -1
  71. data/app/models/spotlight/page.rb +35 -19
  72. data/app/models/spotlight/resource.rb +1 -0
  73. data/app/models/spotlight/resources/iiif_manifest.rb +0 -126
  74. data/app/models/spotlight/resources/iiif_manifest_metadata.rb +161 -0
  75. data/app/models/spotlight/resources/iiif_manifest_v3.rb +41 -0
  76. data/app/models/spotlight/resources/iiif_service.rb +25 -1
  77. data/app/models/spotlight/search.rb +2 -1
  78. data/app/services/spotlight/exhibit_import_export_service.rb +3 -1
  79. data/app/views/spotlight/accessibility/alt_text.html.erb +3 -0
  80. data/app/views/spotlight/admin_users/index.html.erb +16 -26
  81. data/app/views/spotlight/appearances/edit.html.erb +14 -9
  82. data/app/views/spotlight/catalog/_document_admin_table.html.erb +2 -6
  83. data/app/views/spotlight/catalog/edit.html.erb +1 -6
  84. data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
  85. data/app/views/spotlight/exhibits/_form.html.erb +2 -2
  86. data/app/views/spotlight/metadata_configurations/edit.html.erb +47 -44
  87. data/app/views/spotlight/pages/_order_pages.html.erb +34 -29
  88. data/app/views/spotlight/pages/show.html.erb +4 -2
  89. data/app/views/spotlight/resources/csv_upload/_form.html.erb +2 -0
  90. data/app/views/spotlight/search_configurations/edit.html.erb +40 -34
  91. data/app/views/spotlight/searches/index.html.erb +4 -2
  92. data/app/views/spotlight/sir_trevor/blocks/_embedded_document.html.erb +2 -2
  93. data/app/views/spotlight/sir_trevor/blocks/_search_results_block.html.erb +2 -2
  94. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +5 -3
  95. data/app/views/spotlight/sir_trevor/blocks/_text_block.html.erb +1 -1
  96. data/app/views/spotlight/translations/_page.html.erb +1 -1
  97. data/config/initializers/devise_rails8_patch.rb +13 -0
  98. data/config/locales/spotlight.en.yml +39 -5
  99. data/config/routes.rb +5 -1
  100. data/lib/spotlight/engine.rb +10 -26
  101. data/lib/spotlight/version.rb +1 -1
  102. data/spec/fixtures/iiif_responses.rb +344 -0
  103. data/spec/support/features/test_features_helpers.rb +4 -6
  104. data/spec/support/stub_iiif_response.rb +1 -0
  105. data/spec/support/with_queue_adapter.rb +17 -0
  106. metadata +44 -31
  107. data/app/components/spotlight/blocks/heading_block_component.erb +0 -2
  108. data/app/components/spotlight/blocks/heading_block_component.rb +0 -36
@@ -3266,7 +3266,37 @@
3266
3266
  class Carousel {
3267
3267
  connect() {
3268
3268
  if ($.fn.carousel) {
3269
- $('.carousel').carousel();
3269
+ const $carousel = $('.carousel');
3270
+
3271
+ // updates the aria-describedby on the next and prev btns
3272
+ const updateAriaDescribedBy = function ($carousel) {
3273
+ const $activeItem = $carousel.find('.carousel-item.active');
3274
+ const $items = $carousel.find('.carousel-item');
3275
+ const curIndex = $items.index($activeItem);
3276
+ const prevIndex = (curIndex - 1 + $items.length) % $items.length;
3277
+ const nextIndex = (curIndex + 1) % $items.length;
3278
+
3279
+ const prevDataId = $items.eq(prevIndex).data('id');
3280
+ const nextDataId = $items.eq(nextIndex).data('id');
3281
+ if (prevDataId) {
3282
+ $carousel.find('.carousel-control-prev').attr('aria-describedby', 'carousel-caption-' + prevDataId);
3283
+ }
3284
+ if (nextDataId) {
3285
+ $carousel.find('.carousel-control-next').attr('aria-describedby', 'carousel-caption-' + nextDataId);
3286
+ }
3287
+ };
3288
+
3289
+ // on initial page load, set the aria-describedby on the btns for each carousel
3290
+ $carousel.each(function () {
3291
+ const $this = $(this);
3292
+ $this.carousel();
3293
+ updateAriaDescribedBy($this);
3294
+ });
3295
+
3296
+ // on slide change
3297
+ $carousel.on('slid.bs.carousel', function () {
3298
+ updateAriaDescribedBy($(this));
3299
+ });
3270
3300
  }
3271
3301
  }
3272
3302
  }
@@ -5999,6 +6029,8 @@
5999
6029
 
6000
6030
  icon_name: "pages",
6001
6031
 
6032
+ show_image_selection: false,
6033
+
6002
6034
  autocomplete_url: function() { return document.getElementById(this.instanceID).closest('form[data-autocomplete-exhibit-pages-path]').dataset.autocompleteExhibitPagesPath; },
6003
6035
  autocomplete_fetch: function(url) {
6004
6036
  return this.fetchOnceAndFilterLocalResults(url);