blacklight-spotlight 5.1.0 → 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.
- checksums.yaml +4 -4
- data/README.md +153 -48
- data/app/assets/javascripts/spotlight/spotlight.esm.js +33 -1
- data/app/assets/javascripts/spotlight/spotlight.esm.js.map +1 -1
- data/app/assets/javascripts/spotlight/spotlight.js +33 -1
- data/app/assets/javascripts/spotlight/spotlight.js.map +1 -1
- data/app/assets/stylesheets/spotlight/_admin_users.scss +28 -0
- data/app/assets/stylesheets/spotlight/_browse.scss +1 -1
- data/app/assets/stylesheets/spotlight/_featured_browse_categories_block.scss +1 -1
- data/app/assets/stylesheets/spotlight/_spotlight.scss +1 -0
- data/app/components/spotlight/admin_users/email_component.html.erb +5 -0
- data/app/components/spotlight/admin_users/email_component.rb +22 -0
- data/app/components/spotlight/admin_users/exhibit_roles_component.html.erb +28 -0
- data/app/components/spotlight/admin_users/exhibit_roles_component.rb +19 -0
- data/app/components/spotlight/admin_users/site_admin_component.html.erb +13 -0
- data/app/components/spotlight/admin_users/site_admin_component.rb +17 -0
- data/app/components/spotlight/analytics/aggregation_component.rb +1 -1
- data/app/components/spotlight/analytics/dashboard_component.rb +1 -1
- data/app/components/spotlight/breadcrumbs_component.rb +1 -1
- data/app/components/spotlight/bulk_action_component.rb +1 -1
- data/app/components/spotlight/edit_view_links_component.rb +1 -1
- data/app/components/spotlight/header_navigation_link_component.rb +1 -1
- data/app/components/spotlight/save_search_component.rb +1 -1
- data/app/components/spotlight/select_image_component.rb +1 -1
- data/app/components/spotlight/skip_link_component.rb +1 -1
- data/app/components/spotlight/solr_document_legacy_embed_component.rb +2 -2
- data/app/components/spotlight/tag_list_form_component.rb +1 -1
- data/app/components/spotlight/tag_selector_component.rb +1 -1
- data/app/components/spotlight/title_component.rb +1 -1
- data/app/components/spotlight/translations/subheading_component.rb +1 -1
- data/app/components/spotlight/uneditable_non_default_language_component.rb +1 -1
- data/app/controllers/spotlight/admin_users_controller.rb +11 -1
- data/app/controllers/spotlight/browse_controller.rb +2 -8
- data/app/controllers/spotlight/bulk_actions_controller.rb +1 -1
- data/app/controllers/spotlight/bulk_updates_controller.rb +22 -7
- data/app/controllers/spotlight/catalog_controller.rb +7 -15
- data/app/controllers/spotlight/dashboards_controller.rb +2 -6
- data/app/controllers/spotlight/exhibits_controller.rb +1 -0
- data/app/controllers/spotlight/home_pages_controller.rb +1 -1
- data/app/controllers/spotlight/searches_controller.rb +1 -1
- data/app/controllers/spotlight/solr_controller.rb +1 -0
- data/app/helpers/spotlight/main_app_helpers.rb +1 -5
- data/app/helpers/spotlight/rendering_helper.rb +4 -1
- data/app/javascript/spotlight/admin/blocks/pages_block.js +2 -0
- data/app/javascript/spotlight/user/carousel.js +32 -2
- data/app/jobs/spotlight/add_tags_job.rb +1 -0
- data/app/jobs/spotlight/add_uploads_from_csv.rb +1 -0
- data/app/jobs/spotlight/change_visibility_job.rb +1 -0
- data/app/jobs/spotlight/process_bulk_updates_csv_job.rb +1 -0
- data/app/jobs/spotlight/reindex_exhibit_job.rb +1 -0
- data/app/jobs/spotlight/reindex_job.rb +1 -0
- data/app/jobs/spotlight/remove_tags_job.rb +1 -0
- data/app/jobs/spotlight/rename_sidecar_field_job.rb +1 -0
- data/app/models/concerns/spotlight/user.rb +5 -0
- data/app/models/sir_trevor_rails/blocks/browse_block.rb +1 -1
- data/app/models/sir_trevor_rails/blocks/featured_pages_block.rb +1 -1
- data/app/models/sir_trevor_rails/blocks/solr_documents_block.rb +1 -0
- data/app/models/spotlight/ability.rb +1 -1
- data/app/models/spotlight/about_page.rb +1 -0
- data/app/models/spotlight/blacklight_configuration.rb +6 -7
- data/app/models/spotlight/contact.rb +2 -1
- data/app/models/spotlight/contact_email.rb +1 -0
- data/app/models/spotlight/custom_field.rb +1 -0
- data/app/models/spotlight/exhibit.rb +2 -9
- data/app/models/spotlight/feature_page.rb +1 -0
- data/app/models/spotlight/group.rb +2 -1
- data/app/models/spotlight/home_page.rb +1 -0
- data/app/models/spotlight/job_tracker.rb +1 -1
- data/app/models/spotlight/main_navigation.rb +1 -1
- data/app/models/spotlight/page.rb +28 -19
- data/app/models/spotlight/resource.rb +1 -0
- data/app/models/spotlight/resources/iiif_manifest.rb +0 -126
- data/app/models/spotlight/resources/iiif_manifest_metadata.rb +161 -0
- data/app/models/spotlight/resources/iiif_manifest_v3.rb +41 -0
- data/app/models/spotlight/resources/iiif_service.rb +25 -1
- data/app/models/spotlight/search.rb +2 -1
- data/app/services/spotlight/exhibit_import_export_service.rb +3 -1
- data/app/views/spotlight/admin_users/index.html.erb +16 -26
- data/app/views/spotlight/catalog/_document_admin_table.html.erb +2 -6
- data/app/views/spotlight/catalog/edit.html.erb +1 -6
- data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
- data/app/views/spotlight/pages/_order_pages.html.erb +1 -1
- data/app/views/spotlight/pages/show.html.erb +4 -2
- data/app/views/spotlight/resources/csv_upload/_form.html.erb +2 -0
- data/app/views/spotlight/sir_trevor/blocks/_embedded_document.html.erb +2 -2
- data/app/views/spotlight/sir_trevor/blocks/_search_results_block.html.erb +2 -2
- data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +5 -3
- data/app/views/spotlight/sir_trevor/blocks/_text_block.html.erb +1 -1
- data/config/initializers/devise_rails8_patch.rb +13 -0
- data/config/locales/spotlight.en.yml +34 -5
- data/config/routes.rb +5 -1
- data/lib/spotlight/engine.rb +10 -26
- data/lib/spotlight/version.rb +1 -1
- data/spec/fixtures/iiif_responses.rb +344 -0
- data/spec/support/features/test_features_helpers.rb +4 -6
- data/spec/support/stub_iiif_response.rb +1 -0
- data/spec/support/with_queue_adapter.rb +17 -0
- metadata +42 -29
@@ -3266,7 +3266,37 @@
|
|
3266
3266
|
class Carousel {
|
3267
3267
|
connect() {
|
3268
3268
|
if ($.fn.carousel) {
|
3269
|
-
$('.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);
|