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.
- checksums.yaml +4 -4
- data/README.md +25 -5
- data/app/assets/javascripts/spotlight/spotlight.esm.js +1679 -1228
- data/app/assets/javascripts/spotlight/spotlight.esm.js.map +1 -1
- data/app/assets/javascripts/spotlight/spotlight.js +1682 -1231
- data/app/assets/javascripts/spotlight/spotlight.js.map +1 -1
- data/app/assets/stylesheets/spotlight/_spotlight.scss +0 -2
- data/app/components/spotlight/analytics/aggregation_component.html.erb +1 -1
- data/app/components/spotlight/document_admin_table_component.html.erb +2 -2
- data/app/components/spotlight/edit_view_links_component.html.erb +1 -1
- data/app/components/spotlight/header_component.html.erb +1 -1
- data/app/components/spotlight/tag_list_form_component.html.erb +1 -1
- data/app/components/spotlight/tag_selector_component.html.erb +2 -2
- data/app/components/spotlight/translations/subheading_component.html.erb +1 -1
- data/app/controllers/spotlight/bulk_actions_controller.rb +2 -2
- data/app/controllers/spotlight/bulk_updates_controller.rb +2 -2
- data/app/controllers/spotlight/catalog_controller.rb +2 -2
- data/app/controllers/spotlight/contact_forms_controller.rb +1 -1
- data/app/controllers/spotlight/exhibits_controller.rb +1 -1
- data/app/controllers/spotlight/featured_images_controller.rb +1 -1
- data/app/controllers/spotlight/pages_controller.rb +1 -1
- data/app/controllers/spotlight/resources_controller.rb +1 -1
- data/app/controllers/spotlight/searches_controller.rb +3 -4
- data/app/controllers/spotlight/solr_controller.rb +1 -1
- data/app/controllers/spotlight/tags_controller.rb +1 -1
- data/app/controllers/spotlight/versions_controller.rb +1 -1
- data/app/javascript/spotlight/admin/add_another.js +22 -15
- data/app/javascript/spotlight/admin/add_image_selector.js +27 -25
- data/app/javascript/spotlight/admin/add_new_button.js +47 -43
- data/app/javascript/spotlight/admin/blacklight_configuration.js +52 -38
- data/app/javascript/spotlight/admin/block_mixins/autocompleteable.js +68 -60
- data/app/javascript/spotlight/admin/block_mixins/formable.js +55 -47
- data/app/javascript/spotlight/admin/block_mixins/plustextable.js +19 -20
- data/app/javascript/spotlight/admin/blocks/block.js +20 -16
- data/app/javascript/spotlight/admin/blocks/browse_block.js +42 -37
- data/app/javascript/spotlight/admin/blocks/browse_group_categories_block.js +33 -31
- data/app/javascript/spotlight/admin/blocks/iframe_block.js +14 -11
- data/app/javascript/spotlight/admin/blocks/link_to_search_block.js +4 -7
- data/app/javascript/spotlight/admin/blocks/oembed_block.js +13 -10
- data/app/javascript/spotlight/admin/blocks/pages_block.js +20 -13
- data/app/javascript/spotlight/admin/blocks/resources_block.js +150 -117
- data/app/javascript/spotlight/admin/blocks/rule_block.js +11 -10
- data/app/javascript/spotlight/admin/blocks/search_result_block.js +16 -17
- data/app/javascript/spotlight/admin/blocks/solr_documents_base_block.js +123 -64
- data/app/javascript/spotlight/admin/blocks/solr_documents_block.js +8 -8
- data/app/javascript/spotlight/admin/blocks/solr_documents_carousel_block.js +63 -43
- data/app/javascript/spotlight/admin/blocks/solr_documents_embed_block.js +9 -9
- data/app/javascript/spotlight/admin/blocks/solr_documents_features_block.js +17 -16
- data/app/javascript/spotlight/admin/blocks/solr_documents_grid_block.js +6 -7
- data/app/javascript/spotlight/admin/blocks/uploaded_items_block.js +84 -64
- data/app/javascript/spotlight/admin/crop.js +203 -156
- data/app/javascript/spotlight/admin/croppable.js +4 -4
- data/app/javascript/spotlight/admin/croppable_modal.js +59 -37
- data/app/javascript/spotlight/admin/edit_in_place.js +50 -47
- data/app/javascript/spotlight/admin/exhibits.js +52 -41
- data/app/javascript/spotlight/admin/form_observer.js +59 -53
- data/app/javascript/spotlight/admin/iiif.js +26 -25
- data/app/javascript/spotlight/admin/index.js +44 -47
- data/app/javascript/spotlight/admin/locks.js +14 -14
- data/app/javascript/spotlight/admin/multi_image_selector.js +127 -111
- data/app/javascript/spotlight/admin/pages.js +21 -21
- data/app/javascript/spotlight/admin/progress_monitor.js +67 -65
- data/app/javascript/spotlight/admin/readonly_checkbox.js +3 -3
- data/app/javascript/spotlight/admin/search_typeahead.js +55 -43
- data/app/javascript/spotlight/admin/select_related_input.js +17 -17
- data/app/javascript/spotlight/admin/sir-trevor/block_controls.js +100 -84
- data/app/javascript/spotlight/admin/sir-trevor/block_limits.js +36 -31
- data/app/javascript/spotlight/admin/sir-trevor/locales.js +52 -39
- data/app/javascript/spotlight/admin/spotlight_nestable.js +112 -90
- data/app/javascript/spotlight/admin/tabs.js +16 -3
- data/app/javascript/spotlight/admin/translation_progress.js +13 -7
- data/app/javascript/spotlight/admin/users.js +41 -41
- data/app/javascript/spotlight/admin/visibility_toggle.js +4 -4
- data/app/javascript/spotlight/controllers/clipboard_controller.js +14 -0
- data/app/javascript/spotlight/controllers/index.js +4 -2
- data/app/javascript/spotlight/controllers/tag_selector_controller.js +116 -79
- data/app/javascript/spotlight/core.js +18 -15
- data/app/javascript/spotlight/index.js +4 -4
- data/app/javascript/spotlight/user/browse_group_categories.js +24 -22
- data/app/javascript/spotlight/user/carousel.js +23 -19
- data/app/javascript/spotlight/user/clear_form_button.js +15 -15
- data/app/javascript/spotlight/user/index.js +4 -4
- data/app/javascript/spotlight/user/zpr_links.js +18 -18
- data/app/models/spotlight/analytics/ga.rb +0 -1
- data/app/models/spotlight/custom_field.rb +1 -1
- data/app/models/spotlight/resources/iiif_manifest_v3.rb +2 -2
- data/app/services/spotlight/exhibit_import_export_service.rb +0 -2
- data/app/views/blacklight/nav/_bookmark.html.erb +1 -1
- data/app/views/catalog/_remove_tags.html.erb +1 -1
- data/app/views/layouts/spotlight/base.html.erb +1 -1
- data/app/views/shared/_header_navbar.html.erb +1 -1
- data/app/views/shared/_masthead.html.erb +2 -2
- data/app/views/shared/_site_sidebar.html.erb +1 -1
- data/app/views/shared/_user_util_links.html.erb +2 -2
- data/app/views/spotlight/about_pages/_contacts.html.erb +1 -1
- data/app/views/spotlight/accessibility/alt_text.html.erb +1 -1
- data/app/views/spotlight/admin_users/index.html.erb +11 -9
- data/app/views/spotlight/appearances/edit.html.erb +1 -1
- data/app/views/spotlight/browse/_search_box.html.erb +1 -1
- data/app/views/spotlight/bulk_updates/_download.html.erb +1 -1
- data/app/views/spotlight/bulk_updates/_progress_panel.html.erb +6 -6
- data/app/views/spotlight/bulk_updates/edit.html.erb +1 -1
- data/app/views/spotlight/catalog/_admin_header.html.erb +1 -1
- data/app/views/spotlight/catalog/_admin_index_header_default.html.erb +1 -1
- data/app/views/spotlight/catalog/_curation_mode_toggle_default.html.erb +1 -1
- data/app/views/spotlight/catalog/_document.html.erb +2 -2
- data/app/views/spotlight/catalog/_document_admin_table.html.erb +1 -1
- data/app/views/spotlight/catalog/_edit_sidecar.html.erb +1 -1
- data/app/views/spotlight/catalog/_index_compact_default.html.erb +1 -1
- data/app/views/spotlight/catalog/_reindex_progress_panel.html.erb +6 -6
- data/app/views/spotlight/catalog/select_image.html.erb +1 -1
- data/app/views/spotlight/contact_mailer/report_problem.html.erb +2 -2
- data/app/views/spotlight/exhibits/_contact.html.erb +2 -2
- data/app/views/spotlight/exhibits/_delete.html.erb +2 -2
- data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
- data/app/views/spotlight/exhibits/_export.html.erb +1 -1
- data/app/views/spotlight/exhibits/_form.html.erb +2 -2
- data/app/views/spotlight/exhibits/_languages.html.erb +7 -7
- data/app/views/spotlight/exhibits/_missing_exhibits.html.erb +1 -1
- data/app/views/spotlight/locks/_lock.html.erb +2 -2
- data/app/views/spotlight/metadata_configurations/edit.html.erb +1 -1
- data/app/views/spotlight/pages/_order_pages.html.erb +3 -3
- data/app/views/spotlight/pages/preview.html.erb +1 -1
- data/app/views/spotlight/pages/show.html.erb +2 -2
- data/app/views/spotlight/resources/_form.html.erb +1 -1
- data/app/views/spotlight/resources/csv_upload/_form.html.erb +1 -1
- data/app/views/spotlight/resources/upload/_form.html.erb +1 -1
- data/app/views/spotlight/roles/index.html.erb +5 -5
- data/app/views/spotlight/search_configurations/_search_fields.html.erb +1 -1
- data/app/views/spotlight/search_configurations/edit.html.erb +1 -1
- data/app/views/spotlight/searches/index.html.erb +2 -2
- data/app/views/spotlight/shared/_configuration_sidebar.html.erb +1 -1
- data/app/views/spotlight/shared/_curation_sidebar.html.erb +1 -1
- data/app/views/spotlight/shared/_dd3_item.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/_sir_trevor_block_array.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_browse_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_browse_group_categories_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_featured_pages_block.html.erb +2 -2
- data/app/views/spotlight/sir_trevor/blocks/_link_to_search_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_rule_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_search_results_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_solr_documents_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_solr_documents_features_block.html.erb +1 -1
- data/app/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb +1 -1
- data/app/views/spotlight/sites/edit_exhibits.html.erb +3 -3
- data/app/views/spotlight/translations/_browse_categories.html.erb +2 -2
- data/app/views/spotlight/translations/_general.html.erb +21 -21
- data/app/views/spotlight/translations/_groups.html.erb +1 -1
- data/app/views/spotlight/translations/_metadata.html.erb +8 -8
- data/app/views/spotlight/translations/_pages_table.html.erb +2 -2
- data/app/views/spotlight/translations/_search_fields.html.erb +13 -13
- data/app/views/spotlight/translations/edit.html.erb +5 -5
- data/config/importmap.rb +0 -1
- data/lib/generators/spotlight/assets/propshaft_generator.rb +0 -1
- data/lib/generators/spotlight/templates/solr/conf/admin-extra.html +31 -31
- data/lib/spotlight/version.rb +1 -1
- data/spec/factories/contact_images.rb +1 -1
- data/spec/factories/exhibit_thumbnails.rb +1 -1
- data/spec/factories/featured_images.rb +1 -1
- data/spec/support/features/test_features_helpers.rb +12 -3
- metadata +12 -64
- data/app/assets/stylesheets/spotlight/typeahead.scss +0 -77
- data/app/javascript/spotlight/admin/copy_email_addresses.js +0 -7
- data/vendor/assets/javascripts/jquery.waitforimages.min.js +0 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<div role="tabpanel" class="tab-pane <%= 'active' if @tab == 'search_fields' %>" id="search_fields">
|
|
2
2
|
<%= bootstrap_form_for current_exhibit, url: spotlight.exhibit_translations_path(current_exhibit), layout: :horizontal do |f| %>
|
|
3
|
-
|
|
3
|
+
<%# Add hidden fields for the language and tab so the redirect knows how to come back here %>
|
|
4
4
|
<%= hidden_field_tag :language, @language %>
|
|
5
5
|
<%= hidden_field_tag :tab, 'search_fields', id: nil %>
|
|
6
6
|
|
|
7
|
-
<div class=
|
|
7
|
+
<div class="translation-field-based-search-fields">
|
|
8
8
|
<%= render Spotlight::Translations::SubheadingComponent.new(key: 'search_fields.field_based_search_fields.label') %>
|
|
9
9
|
|
|
10
10
|
<% current_exhibit.blacklight_config.search_fields.select { |_, config| config.if }.each do |key, search_config| %>
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
<%= f.fields_for :translations, translation do |translation_fields| %>
|
|
13
13
|
<%= translation_fields.hidden_field :key %>
|
|
14
14
|
<%= translation_fields.hidden_field :locale %>
|
|
15
|
-
<div data-translation-progress-item=
|
|
15
|
+
<div data-translation-progress-item="true" class="row form-group mb-3 translation-form">
|
|
16
16
|
<%= translation_fields.label :value, t("spotlight.search.fields.search.#{key}", locale: I18n.default_locale), class: 'col-form-label col-12 col-sm-2' %>
|
|
17
|
-
<div class=
|
|
17
|
+
<div class="col-11 col-sm-9 card card-body panel-translation">
|
|
18
18
|
<%= translation_fields.text_field_without_bootstrap :value, class: 'form-control' %>
|
|
19
19
|
<div class="form-text text-muted mb-3">
|
|
20
20
|
<%= search_config.label %>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
|
-
<div class=
|
|
23
|
+
<div class="col-1">
|
|
24
24
|
<% if translation.value.present? %>
|
|
25
25
|
<span data-translation-present="true">
|
|
26
26
|
<%= blacklight_icon('check', classes: 'translation-complete') %>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<% end %>
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
|
-
<div class=
|
|
35
|
+
<div class="translation-facet-fields">
|
|
36
36
|
<%= render Spotlight::Translations::SubheadingComponent.new(key: 'search_fields.facet_fields.label') %>
|
|
37
37
|
|
|
38
38
|
<% current_exhibit.blacklight_config.facet_fields.each do |key, facet_config| %>
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
<%= f.fields_for :translations, translation do |translation_fields| %>
|
|
41
41
|
<%= translation_fields.hidden_field :key %>
|
|
42
42
|
<%= translation_fields.hidden_field :locale %>
|
|
43
|
-
<div data-translation-progress-item=
|
|
43
|
+
<div data-translation-progress-item="true" class="row form-group mb-3 translation-form">
|
|
44
44
|
<%= translation_fields.label :value, t("spotlight.search.fields.facet.#{key}", locale: I18n.default_locale), class: 'col-form-label col-12 col-sm-2' %>
|
|
45
|
-
<div class=
|
|
45
|
+
<div class="col-11 col-sm-9 card card-body panel-translation">
|
|
46
46
|
<%= translation_fields.text_field_without_bootstrap :value, class: 'form-control' %>
|
|
47
47
|
<div class="form-text text-muted mb-3">
|
|
48
48
|
<%= facet_config.label %>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
51
|
-
<div class=
|
|
51
|
+
<div class="col-1">
|
|
52
52
|
<% if translation.value.present? %>
|
|
53
53
|
<span data-translation-present="true">
|
|
54
54
|
<%= blacklight_icon('check', classes: 'translation-complete') %>
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
<% end %>
|
|
61
61
|
</div>
|
|
62
62
|
|
|
63
|
-
<div class=
|
|
63
|
+
<div class="translation-sort-fields">
|
|
64
64
|
<%= render Spotlight::Translations::SubheadingComponent.new(key: 'search_fields.sort_fields.label') %>
|
|
65
65
|
|
|
66
66
|
<% current_exhibit.blacklight_config.sort_fields.each do |key, sort_config| %>
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
<%= f.fields_for :translations, translation do |translation_fields| %>
|
|
69
69
|
<%= translation_fields.hidden_field :key %>
|
|
70
70
|
<%= translation_fields.hidden_field :locale %>
|
|
71
|
-
<div data-translation-progress-item=
|
|
71
|
+
<div data-translation-progress-item="true" class="row form-group mb-3 translation-form">
|
|
72
72
|
<%= translation_fields.label :value, t("spotlight.search.fields.sort.#{key}", locale: I18n.default_locale), class: 'col-form-label col-12 col-sm-2' %>
|
|
73
|
-
<div class=
|
|
73
|
+
<div class="col-11 col-sm-9 card card-body panel-translation">
|
|
74
74
|
<%= translation_fields.text_field_without_bootstrap :value, class: 'form-control' %>
|
|
75
75
|
<div class="form-text text-muted mb-3">
|
|
76
76
|
<%= sort_config.label %>
|
|
77
77
|
</div>
|
|
78
78
|
</div>
|
|
79
|
-
<div class=
|
|
79
|
+
<div class="col-1">
|
|
80
80
|
<% if translation.value.present? %>
|
|
81
81
|
<span data-translation-present="true">
|
|
82
82
|
<%= blacklight_icon('check', classes: 'translation-complete') %>
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
<%= render 'spotlight/shared/exhibit_sidebar' %>
|
|
3
3
|
<% end %>
|
|
4
4
|
|
|
5
|
-
<div class=
|
|
5
|
+
<div class="translation-edit-form">
|
|
6
6
|
<%= curation_page_title t('.title') %>
|
|
7
7
|
|
|
8
|
-
<div class=
|
|
9
|
-
<ul class=
|
|
8
|
+
<div class="text-center">
|
|
9
|
+
<ul class="nav nav-pills">
|
|
10
10
|
<% current_exhibit.available_locales.each do |language| %>
|
|
11
11
|
<li role="presentation" class="nav-item">
|
|
12
12
|
<%= link_to spotlight.edit_exhibit_translations_path(current_exhibit, language: language), class: "nav-link #{'active' if @language == language}" do %>
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
<%= render partial: 'import' %>
|
|
21
21
|
|
|
22
22
|
<div role="tabpanel">
|
|
23
|
-
<ul class=
|
|
23
|
+
<ul class="nav nav-tabs" role="tablist">
|
|
24
24
|
<li role="presentation" class="nav-item">
|
|
25
|
-
<a href=
|
|
25
|
+
<a href="#general" class="nav-link <%= 'active' if @tab.blank? %>" aria-controls="general" role="tab" data-bs-toggle="tab" data-behavior="translation-progress">
|
|
26
26
|
<%= t('spotlight.translations.general.label') %> <span class="badge"></span>
|
|
27
27
|
</a>
|
|
28
28
|
</li>
|
data/config/importmap.rb
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
pin_all_from File.expand_path('../app/javascript/spotlight', __dir__), under: 'spotlight'
|
|
4
4
|
pin_all_from File.expand_path('../vendor/assets/javascripts', __dir__)
|
|
5
5
|
|
|
6
|
-
pin 'clipboard', to: 'https://cdn.jsdelivr.net/npm/clipboard@2.0.11/+esm'
|
|
7
6
|
pin 'sir-trevor', to: 'https://cdn.jsdelivr.net/npm/sir-trevor@0.8.2/+esm'
|
|
8
7
|
pin 'sortablejs', to: 'https://cdn.jsdelivr.net/npm/sortablejs@^1.15.3/+esm'
|
|
9
8
|
pin '@github/auto-complete-element', to: 'https://cdn.jsdelivr.net/npm/@github/auto-complete-element@3.8.0/+esm'
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
this work for additional information regarding copyright ownership.
|
|
5
|
-
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
(the "License"); you may not use this file except in compliance with
|
|
7
|
-
the License. You may obtain a copy of the License at
|
|
8
|
-
|
|
9
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
|
|
11
|
-
Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
See the License for the specific language governing permissions and
|
|
15
|
-
limitations under the License.
|
|
16
|
-
-->
|
|
17
|
-
|
|
18
|
-
<!-- The content of this page will be statically included into the top
|
|
19
|
-
of the admin page. Uncomment this as an example to see there the content
|
|
20
|
-
will show up.
|
|
21
|
-
|
|
22
|
-
<hr>
|
|
23
|
-
<i>This line will appear before the first table</i>
|
|
24
|
-
<tr>
|
|
25
|
-
<td colspan="2">
|
|
26
|
-
This row will be appended to the end of the first table
|
|
27
|
-
</td>
|
|
28
|
-
</tr>
|
|
29
|
-
<hr>
|
|
30
|
-
|
|
31
|
-
-->
|
|
1
|
+
<!--
|
|
2
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
+
contributor license agreements. See the NOTICE file distributed with
|
|
4
|
+
this work for additional information regarding copyright ownership.
|
|
5
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
+
(the "License"); you may not use this file except in compliance with
|
|
7
|
+
the License. You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
-->
|
|
17
|
+
|
|
18
|
+
<!-- The content of this page will be statically included into the top
|
|
19
|
+
of the admin page. Uncomment this as an example to see there the content
|
|
20
|
+
will show up.
|
|
21
|
+
|
|
22
|
+
<hr>
|
|
23
|
+
<i>This line will appear before the first table</i>
|
|
24
|
+
<tr>
|
|
25
|
+
<td colspan="2">
|
|
26
|
+
This row will be appended to the end of the first table
|
|
27
|
+
</td>
|
|
28
|
+
</tr>
|
|
29
|
+
<hr>
|
|
30
|
+
|
|
31
|
+
-->
|
data/lib/spotlight/version.rb
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
FactoryBot.define do
|
|
4
4
|
factory :contact_image, class: 'Spotlight::ContactImage' do
|
|
5
5
|
image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
|
|
6
|
-
iiif_tilesource { '
|
|
6
|
+
iiif_tilesource { 'http://127.0.0.1:9999/images/78' }
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
FactoryBot.define do
|
|
4
4
|
factory :exhibit_thumbnail, class: 'Spotlight::ExhibitThumbnail' do
|
|
5
5
|
image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
|
|
6
|
-
iiif_tilesource { '
|
|
6
|
+
iiif_tilesource { 'http://127.0.0.1:9999/images/78' }
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
FactoryBot.define do
|
|
4
4
|
factory :featured_image, class: 'Spotlight::FeaturedImage' do
|
|
5
5
|
image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
|
|
6
|
-
iiif_tilesource { '
|
|
6
|
+
iiif_tilesource { 'http://127.0.0.1:9999/images/78' }
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
factory :temporary_image, class: 'Spotlight::TemporaryImage' do
|
|
@@ -9,7 +9,16 @@ module Spotlight
|
|
|
9
9
|
find("auto-complete [data-#{type}-typeahead][role='combobox']").fill_in(with: opts[:with])
|
|
10
10
|
# Wait for the autocomplete to show both 'open' and 'aria-expanded="true"' or the results might be stale
|
|
11
11
|
expect(page).to have_css("auto-complete[open] [data-#{type}-typeahead][role='combobox'][aria-expanded='true']")
|
|
12
|
-
|
|
12
|
+
# The auto-complete element fires one fetch on focus and another debounced fetch on input. In CI
|
|
13
|
+
# they can land out of order, and whichever returns second replaces the results <ul> wholesale
|
|
14
|
+
# turning any <li> we just located into a stale reference. Retry find+click as one unit so each
|
|
15
|
+
# attempt resolves against the latest DOM.
|
|
16
|
+
page.document.synchronize(
|
|
17
|
+
Capybara.default_max_wait_time,
|
|
18
|
+
errors: [Selenium::WebDriver::Error::StaleElementReferenceError, Capybara::ElementNotFound]
|
|
19
|
+
) do
|
|
20
|
+
first('auto-complete[open] [role="option"]', text: opts[:with], minimum: 1).click
|
|
21
|
+
end
|
|
13
22
|
end
|
|
14
23
|
|
|
15
24
|
# just like #fill_in_typeahead_field, but wait for the
|
|
@@ -39,13 +48,13 @@ module Spotlight
|
|
|
39
48
|
end
|
|
40
49
|
|
|
41
50
|
def wait_for_sir_trevor
|
|
42
|
-
expect(page).to
|
|
51
|
+
expect(page).to have_css('.st-blocks.st-ready')
|
|
43
52
|
end
|
|
44
53
|
|
|
45
54
|
def save_page_changes
|
|
46
55
|
click_button('Save changes')
|
|
47
56
|
# verify that the page was created.
|
|
48
|
-
expect(page).to
|
|
57
|
+
expect(page).to have_css('.alert-info', text: 'was successfully updated')
|
|
49
58
|
expect(page).to have_no_selector('.alert-danger')
|
|
50
59
|
end
|
|
51
60
|
|
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: 5.
|
|
4
|
+
version: 5.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Beer
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
- Justin Coyne
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2026-09-29 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activejob-status
|
|
@@ -158,16 +158,22 @@ dependencies:
|
|
|
158
158
|
name: devise
|
|
159
159
|
requirement: !ruby/object:Gem::Requirement
|
|
160
160
|
requirements:
|
|
161
|
-
- - "
|
|
161
|
+
- - ">="
|
|
162
162
|
- !ruby/object:Gem::Version
|
|
163
163
|
version: '4.9'
|
|
164
|
+
- - "<"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '6'
|
|
164
167
|
type: :runtime
|
|
165
168
|
prerelease: false
|
|
166
169
|
version_requirements: !ruby/object:Gem::Requirement
|
|
167
170
|
requirements:
|
|
168
|
-
- - "
|
|
171
|
+
- - ">="
|
|
169
172
|
- !ruby/object:Gem::Version
|
|
170
173
|
version: '4.9'
|
|
174
|
+
- - "<"
|
|
175
|
+
- !ruby/object:Gem::Version
|
|
176
|
+
version: '6'
|
|
171
177
|
- !ruby/object:Gem::Dependency
|
|
172
178
|
name: devise_invitable
|
|
173
179
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -322,20 +328,6 @@ dependencies:
|
|
|
322
328
|
- - ">="
|
|
323
329
|
- !ruby/object:Gem::Version
|
|
324
330
|
version: '0'
|
|
325
|
-
- !ruby/object:Gem::Dependency
|
|
326
|
-
name: oauth2
|
|
327
|
-
requirement: !ruby/object:Gem::Requirement
|
|
328
|
-
requirements:
|
|
329
|
-
- - ">="
|
|
330
|
-
- !ruby/object:Gem::Version
|
|
331
|
-
version: '0'
|
|
332
|
-
type: :runtime
|
|
333
|
-
prerelease: false
|
|
334
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
335
|
-
requirements:
|
|
336
|
-
- - ">="
|
|
337
|
-
- !ruby/object:Gem::Version
|
|
338
|
-
version: '0'
|
|
339
331
|
- !ruby/object:Gem::Dependency
|
|
340
332
|
name: openseadragon
|
|
341
333
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -450,48 +442,6 @@ dependencies:
|
|
|
450
442
|
- - "~>"
|
|
451
443
|
- !ruby/object:Gem::Version
|
|
452
444
|
version: '2.0'
|
|
453
|
-
- !ruby/object:Gem::Dependency
|
|
454
|
-
name: roar
|
|
455
|
-
requirement: !ruby/object:Gem::Requirement
|
|
456
|
-
requirements:
|
|
457
|
-
- - "~>"
|
|
458
|
-
- !ruby/object:Gem::Version
|
|
459
|
-
version: '1.1'
|
|
460
|
-
type: :runtime
|
|
461
|
-
prerelease: false
|
|
462
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
463
|
-
requirements:
|
|
464
|
-
- - "~>"
|
|
465
|
-
- !ruby/object:Gem::Version
|
|
466
|
-
version: '1.1'
|
|
467
|
-
- !ruby/object:Gem::Dependency
|
|
468
|
-
name: roar-rails
|
|
469
|
-
requirement: !ruby/object:Gem::Requirement
|
|
470
|
-
requirements:
|
|
471
|
-
- - ">="
|
|
472
|
-
- !ruby/object:Gem::Version
|
|
473
|
-
version: '0'
|
|
474
|
-
type: :runtime
|
|
475
|
-
prerelease: false
|
|
476
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
477
|
-
requirements:
|
|
478
|
-
- - ">="
|
|
479
|
-
- !ruby/object:Gem::Version
|
|
480
|
-
version: '0'
|
|
481
|
-
- !ruby/object:Gem::Dependency
|
|
482
|
-
name: signet
|
|
483
|
-
requirement: !ruby/object:Gem::Requirement
|
|
484
|
-
requirements:
|
|
485
|
-
- - ">="
|
|
486
|
-
- !ruby/object:Gem::Version
|
|
487
|
-
version: '0'
|
|
488
|
-
type: :runtime
|
|
489
|
-
prerelease: false
|
|
490
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
491
|
-
requirements:
|
|
492
|
-
- - ">="
|
|
493
|
-
- !ruby/object:Gem::Version
|
|
494
|
-
version: '0'
|
|
495
445
|
- !ruby/object:Gem::Dependency
|
|
496
446
|
name: view_component
|
|
497
447
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -848,7 +798,6 @@ files:
|
|
|
848
798
|
- app/assets/stylesheets/spotlight/_variables.scss
|
|
849
799
|
- app/assets/stylesheets/spotlight/_view_larger.scss
|
|
850
800
|
- app/assets/stylesheets/spotlight/browse_group_categories_block.scss
|
|
851
|
-
- app/assets/stylesheets/spotlight/typeahead.scss
|
|
852
801
|
- app/components/blacklight/icons/arrow_alt_circle_left_component.rb
|
|
853
802
|
- app/components/blacklight/icons/arrow_alt_circle_right_component.rb
|
|
854
803
|
- app/components/blacklight/icons/arrow_back_ios_component.rb
|
|
@@ -998,7 +947,6 @@ files:
|
|
|
998
947
|
- app/javascript/spotlight/admin/blocks/solr_documents_features_block.js
|
|
999
948
|
- app/javascript/spotlight/admin/blocks/solr_documents_grid_block.js
|
|
1000
949
|
- app/javascript/spotlight/admin/blocks/uploaded_items_block.js
|
|
1001
|
-
- app/javascript/spotlight/admin/copy_email_addresses.js
|
|
1002
950
|
- app/javascript/spotlight/admin/crop.js
|
|
1003
951
|
- app/javascript/spotlight/admin/croppable.js
|
|
1004
952
|
- app/javascript/spotlight/admin/croppable_modal.js
|
|
@@ -1022,6 +970,7 @@ files:
|
|
|
1022
970
|
- app/javascript/spotlight/admin/translation_progress.js
|
|
1023
971
|
- app/javascript/spotlight/admin/users.js
|
|
1024
972
|
- app/javascript/spotlight/admin/visibility_toggle.js
|
|
973
|
+
- app/javascript/spotlight/controllers/clipboard_controller.js
|
|
1025
974
|
- app/javascript/spotlight/controllers/index.js
|
|
1026
975
|
- app/javascript/spotlight/controllers/tag_selector_controller.js
|
|
1027
976
|
- app/javascript/spotlight/core.js
|
|
@@ -1522,7 +1471,6 @@ files:
|
|
|
1522
1471
|
- vendor/assets/images/sir-trevor-icons.svg
|
|
1523
1472
|
- vendor/assets/javascripts/Leaflet.Editable.js
|
|
1524
1473
|
- vendor/assets/javascripts/Path.Drag.js
|
|
1525
|
-
- vendor/assets/javascripts/jquery.waitforimages.min.js
|
|
1526
1474
|
- vendor/assets/javascripts/leaflet-iiif.js
|
|
1527
1475
|
- vendor/assets/javascripts/parameterize.js
|
|
1528
1476
|
- vendor/assets/javascripts/tiny-slider.js
|
|
@@ -1561,7 +1509,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1561
1509
|
- !ruby/object:Gem::Version
|
|
1562
1510
|
version: '0'
|
|
1563
1511
|
requirements: []
|
|
1564
|
-
rubygems_version: 3.6.
|
|
1512
|
+
rubygems_version: 3.6.2
|
|
1565
1513
|
specification_version: 4
|
|
1566
1514
|
summary: Enable librarians, curators, and others who are responsible for digital collections
|
|
1567
1515
|
to create attractive, feature-rich websites that feature these collections.
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
.twitter-typeahead {
|
|
2
|
-
width: 100%;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.typeahead,
|
|
6
|
-
.tt-query,
|
|
7
|
-
.tt-hint {
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.typeahead {
|
|
11
|
-
background-color: #fff;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.typeahead:focus {
|
|
15
|
-
border: 2px solid #0097cf;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.tt-hint {
|
|
19
|
-
color: #999
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.tt-dropdown-menu {
|
|
23
|
-
z-index: $zindex-dropdown !important;
|
|
24
|
-
margin-top: 2px;
|
|
25
|
-
max-height: 360px;
|
|
26
|
-
overflow-y: auto;
|
|
27
|
-
padding: 8px 0;
|
|
28
|
-
background-color: #fff;
|
|
29
|
-
border: 1px solid #ccc;
|
|
30
|
-
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
31
|
-
-webkit-border-radius: 8px;
|
|
32
|
-
-moz-border-radius: 8px;
|
|
33
|
-
border-radius: 8px;
|
|
34
|
-
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
|
35
|
-
-moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
|
36
|
-
box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.twitter-typeahead {
|
|
40
|
-
z-index: $zindex-dropdown !important; /* get typeahead to float on top of e.g. leaflet */
|
|
41
|
-
.tt-suggestion {
|
|
42
|
-
font-size: 18px;
|
|
43
|
-
line-height: 24px;
|
|
44
|
-
padding: 3px 1rem 3px 1rem;
|
|
45
|
-
margin-bottom: 1em;
|
|
46
|
-
|
|
47
|
-
&.tt-cursor {
|
|
48
|
-
color: #fff;
|
|
49
|
-
background-color: #0097cf;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.tt-dataset-tags {
|
|
55
|
-
p {
|
|
56
|
-
white-space: nowrap !important;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.autocomplete-item {
|
|
61
|
-
display: flex;
|
|
62
|
-
|
|
63
|
-
p {
|
|
64
|
-
margin: 0;
|
|
65
|
-
}
|
|
66
|
-
.document-thumbnail {
|
|
67
|
-
margin-right: 1rem;
|
|
68
|
-
min-width: 60px;
|
|
69
|
-
padding: 0;
|
|
70
|
-
width: 60px;
|
|
71
|
-
|
|
72
|
-
img {
|
|
73
|
-
max-width: 60px;
|
|
74
|
-
max-height: 60px;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! waitForImages jQuery Plugin 2013-07-20 */
|
|
2
|
-
!function(a){var b="waitForImages";a.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage","cursor"]},a.expr[":"].uncached=function(b){if(!a(b).is('img[src!=""]'))return!1;var c=new Image;return c.src=b.src,!c.complete},a.fn.waitForImages=function(c,d,e){var f=0,g=0;if(a.isPlainObject(arguments[0])&&(e=arguments[0].waitForAll,d=arguments[0].each,c=arguments[0].finished),c=c||a.noop,d=d||a.noop,e=!!e,!a.isFunction(c)||!a.isFunction(d))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var h=a(this),i=[],j=a.waitForImages.hasImageProperties||[],k=/url\(\s*(['"]?)(.*?)\1\s*\)/g;e?h.find("*").addBack().each(function(){var b=a(this);b.is("img:uncached")&&i.push({src:b.attr("src"),element:b[0]}),a.each(j,function(a,c){var d,e=b.css(c);if(!e)return!0;for(;d=k.exec(e);)i.push({src:d[2],element:b[0]})})}):h.find("img:uncached").each(function(){i.push({src:this.src,element:this})}),f=i.length,g=0,0===f&&c.call(h[0]),a.each(i,function(e,i){var j=new Image;a(j).on("load."+b+" error."+b,function(a){return g++,d.call(i.element,g,f,"load"==a.type),g==f?(c.call(h[0]),!1):void 0}),j.src=i.src})})}}(jQuery);
|