blacklight 7.41.0 → 8.0.0.beta1
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/.env +2 -3
- data/.github/workflows/ruby.yml +81 -0
- data/.rubocop.yml +243 -14
- data/.rubocop_todo.yml +137 -429
- data/Gemfile +11 -6
- data/README.md +11 -3
- data/VERSION +1 -1
- data/app/assets/javascripts/blacklight/blacklight.esm.js +384 -0
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -0
- data/app/assets/javascripts/blacklight/blacklight.js +374 -493
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -0
- data/app/assets/stylesheets/blacklight/_autocomplete.scss +25 -0
- data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -1
- data/app/assets/stylesheets/blacklight/_bookmark.scss +16 -0
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +8 -0
- data/app/assets/stylesheets/blacklight/_constraints.scss +4 -4
- data/app/assets/stylesheets/blacklight/_facets.scss +72 -44
- data/app/assets/stylesheets/blacklight/_header.scss +0 -15
- data/app/assets/stylesheets/blacklight/_icons.scss +0 -14
- data/app/assets/stylesheets/blacklight/_mixins.scss +20 -0
- data/app/assets/stylesheets/blacklight/_modal.scss +8 -2
- data/app/assets/stylesheets/blacklight/_search_form.scss +30 -3
- data/app/assets/stylesheets/blacklight/_search_history.scss +10 -1
- data/app/assets/stylesheets/blacklight/_search_results.scss +6 -2
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +4 -1
- data/app/builders/blacklight/action_builder.rb +18 -9
- data/app/components/blacklight/advanced_search_form_component.html.erb +3 -3
- data/app/components/blacklight/advanced_search_form_component.rb +8 -10
- data/app/components/blacklight/constraints_component.rb +27 -37
- data/app/components/blacklight/document/action_component.rb +12 -10
- data/app/components/blacklight/document/actions_component.rb +2 -2
- data/app/components/blacklight/document/bookmark_component.html.erb +9 -0
- data/app/components/blacklight/document/bookmark_component.rb +4 -2
- data/app/components/blacklight/document/citation_component.rb +5 -3
- data/app/components/blacklight/document/group_component.rb +7 -3
- data/app/components/blacklight/document/sidebar_component.html.erb +2 -0
- data/app/components/blacklight/document/sidebar_component.rb +16 -0
- data/app/components/blacklight/document/thumbnail_component.html.erb +2 -7
- data/app/components/blacklight/document/thumbnail_component.rb +1 -9
- data/app/components/blacklight/document_component.html.erb +1 -1
- data/app/components/blacklight/document_component.rb +16 -78
- data/app/components/blacklight/document_metadata_component.html.erb +2 -4
- data/app/components/blacklight/document_metadata_component.rb +5 -10
- data/app/components/blacklight/facet_component.rb +3 -3
- data/app/components/blacklight/facet_field_checkboxes_component.html.erb +4 -4
- data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
- data/app/components/blacklight/facet_field_component.html.erb +4 -5
- data/app/components/blacklight/facet_field_component.rb +9 -2
- data/app/components/blacklight/facet_field_list_component.html.erb +3 -3
- data/app/components/blacklight/facet_field_list_component.rb +37 -5
- data/app/components/blacklight/facet_field_no_layout_component.rb +0 -2
- data/app/components/blacklight/facet_item_component.rb +1 -43
- data/app/components/blacklight/facet_item_pivot_component.rb +21 -23
- data/app/components/blacklight/header_component.rb +1 -1
- data/app/components/blacklight/hidden_search_state_component.rb +1 -2
- data/app/components/blacklight/icons/icon_component.rb +4 -9
- data/app/components/blacklight/icons/legacy_icon_component.rb +30 -0
- data/app/components/blacklight/icons/list_component.rb +16 -0
- data/app/components/blacklight/icons/search_component.rb +16 -0
- data/app/components/blacklight/metadata_field_component.html.erb +2 -2
- data/app/components/blacklight/metadata_field_component.rb +24 -8
- data/app/components/blacklight/metadata_field_layout_component.rb +4 -25
- data/app/components/blacklight/response/facet_group_component.html.erb +3 -5
- data/app/components/blacklight/response/facet_group_component.rb +29 -8
- data/app/components/blacklight/response/pagination_component.html.erb +1 -1
- data/app/components/blacklight/response/pagination_component.rb +2 -11
- data/app/components/blacklight/response/sort_component.html.erb +6 -1
- data/app/components/blacklight/response/sort_component.rb +1 -16
- data/app/components/blacklight/response/spellcheck_component.rb +18 -7
- data/app/components/blacklight/response/view_type_button_component.rb +3 -7
- data/app/components/blacklight/response/view_type_component.rb +4 -6
- data/app/components/blacklight/search/sidebar_component.html.erb +8 -0
- data/app/components/blacklight/search/sidebar_component.rb +17 -0
- data/app/components/blacklight/search_bar_component.html.erb +20 -15
- data/app/components/blacklight/search_bar_component.rb +2 -16
- data/app/components/blacklight/search_button_component.rb +3 -3
- data/app/components/blacklight/search_context_component.rb +43 -10
- data/app/components/blacklight/search_header_component.html.erb +2 -0
- data/app/components/blacklight/search_header_component.rb +6 -0
- data/app/components/blacklight/start_over_button_component.rb +5 -3
- data/app/components/blacklight/system/dropdown_component.rb +8 -5
- data/app/components/blacklight/system/flash_message_component.html.erb +4 -2
- data/app/components/blacklight/system/flash_message_component.rb +12 -3
- data/app/components/blacklight/system/modal_component.html.erb +1 -1
- data/app/components/blacklight/system/modal_component.rb +1 -3
- data/app/components/blacklight/top_navbar_component.html.erb +1 -1
- data/app/components/blacklight/top_navbar_component.rb +0 -4
- data/app/controllers/bookmarks_controller.rb +1 -0
- data/app/controllers/catalog_controller.rb +1 -0
- data/app/controllers/concerns/blacklight/bookmarks.rb +10 -9
- data/app/controllers/concerns/blacklight/catalog.rb +21 -83
- data/app/controllers/concerns/blacklight/controller.rb +3 -41
- data/app/controllers/concerns/blacklight/search_context.rb +25 -7
- data/app/controllers/concerns/blacklight/search_history.rb +2 -0
- data/app/controllers/concerns/blacklight/searchable.rb +12 -1
- data/app/controllers/concerns/blacklight/token_based_user.rb +13 -1
- data/app/controllers/search_history_controller.rb +1 -0
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +12 -310
- data/app/helpers/blacklight/catalog_helper_behavior.rb +22 -139
- data/app/helpers/blacklight/component_helper_behavior.rb +2 -53
- data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -119
- data/app/helpers/blacklight/facets_helper_behavior.rb +4 -321
- data/app/helpers/blacklight/icon_helper_behavior.rb +5 -7
- data/app/helpers/blacklight/layout_helper_behavior.rb +4 -3
- data/app/helpers/blacklight/render_partials_helper_behavior.rb +11 -31
- data/app/helpers/blacklight/url_helper_behavior.rb +12 -97
- data/app/helpers/blacklight_helper.rb +1 -0
- data/app/helpers/catalog_helper.rb +1 -0
- data/app/javascript/blacklight/bookmark_toggle.js +13 -19
- data/app/javascript/blacklight/button_focus.js +12 -10
- data/app/javascript/blacklight/checkbox_submit.js +68 -123
- data/app/javascript/blacklight/core.js +5 -7
- data/app/javascript/blacklight/index.js +13 -0
- data/app/javascript/blacklight/modal.js +99 -164
- data/app/javascript/blacklight/modalForm.js +60 -0
- data/app/javascript/blacklight/search_context.js +46 -54
- data/app/models/blacklight/facet_paginator.rb +3 -2
- data/app/models/blacklight/icon.rb +4 -2
- data/app/models/bookmark.rb +0 -2
- data/app/models/concerns/blacklight/configurable.rb +5 -4
- data/app/models/concerns/blacklight/document/active_model_shim.rb +1 -10
- data/app/models/concerns/blacklight/document/cache_key.rb +1 -0
- data/app/models/concerns/blacklight/document/dublin_core.rb +2 -1
- data/app/models/concerns/blacklight/document/email.rb +1 -0
- data/app/models/concerns/blacklight/document/export.rb +2 -1
- data/app/models/concerns/blacklight/document/extensions.rb +1 -0
- data/app/models/concerns/blacklight/document/schema_org.rb +1 -0
- data/app/models/concerns/blacklight/document/semantic_fields.rb +2 -1
- data/app/models/concerns/blacklight/document/sms.rb +1 -0
- data/app/models/concerns/blacklight/suggest/response.rb +1 -0
- data/app/models/concerns/blacklight/user.rb +17 -8
- data/app/models/record_mailer.rb +13 -12
- data/app/models/search.rb +1 -7
- data/app/models/solr_document.rb +1 -0
- data/app/presenters/blacklight/clause_presenter.rb +1 -1
- data/app/presenters/blacklight/document_presenter.rb +23 -50
- data/app/presenters/blacklight/facet_field_presenter.rb +39 -14
- data/app/presenters/blacklight/facet_grouped_item_presenter.rb +1 -5
- data/app/presenters/blacklight/facet_item_pivot_presenter.rb +60 -0
- data/app/presenters/blacklight/facet_item_presenter.rb +3 -9
- data/app/presenters/blacklight/field_presenter.rb +1 -0
- data/app/presenters/blacklight/index_presenter.rb +2 -40
- data/app/presenters/blacklight/json_presenter.rb +10 -6
- data/app/presenters/blacklight/rendering/link_to_facet.rb +2 -5
- data/app/presenters/blacklight/show_presenter.rb +1 -9
- data/app/presenters/blacklight/thumbnail_presenter.rb +1 -1
- data/app/services/blacklight/bookmarks_search_builder.rb +22 -0
- data/app/services/blacklight/field_retriever.rb +12 -21
- data/app/services/blacklight/search_service.rb +10 -17
- data/app/values/blacklight/types.rb +0 -18
- data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +8 -1
- data/app/views/bookmarks/_tools.html.erb +7 -12
- data/app/views/catalog/_advanced_search_form.html.erb +0 -1
- data/app/views/catalog/_bookmark_control.html.erb +1 -1
- data/app/views/catalog/_citation.html.erb +1 -1
- data/app/views/catalog/_constraints.html.erb +1 -14
- data/app/views/catalog/_document.atom.builder +12 -14
- data/app/views/catalog/_document.html.erb +5 -3
- data/app/views/catalog/_document.rss.builder +2 -4
- data/app/views/catalog/_facet_layout.html.erb +2 -2
- data/app/views/catalog/_facets.html.erb +5 -4
- data/app/views/catalog/_home_text.html.erb +2 -14
- data/app/views/catalog/_per_page_widget.html.erb +10 -1
- data/app/views/catalog/_search_form.html.erb +2 -2
- data/app/views/catalog/_search_header.html.erb +1 -2
- data/app/views/catalog/_search_results.html.erb +2 -2
- data/app/views/catalog/_search_sidebar.html.erb +5 -1
- data/app/views/catalog/_show_main_content.html.erb +11 -16
- data/app/views/catalog/_show_sidebar.html.erb +2 -2
- data/app/views/catalog/_show_tools.html.erb +8 -14
- data/app/views/catalog/_view_type_group.html.erb +1 -1
- data/app/views/catalog/email.html.erb +2 -2
- data/app/views/catalog/email_success.html.erb +5 -6
- data/app/views/catalog/facet.html.erb +7 -5
- data/app/views/catalog/index.atom.builder +12 -14
- data/app/views/catalog/index.html.erb +4 -1
- data/app/views/catalog/index.json.jbuilder +19 -19
- data/app/views/catalog/index.rss.builder +1 -1
- data/app/views/catalog/opensearch.xml.builder +1 -1
- data/app/views/catalog/sms.html.erb +2 -2
- data/app/views/catalog/sms_success.html.erb +5 -6
- data/app/views/catalog/suggest.html.erb +3 -0
- data/app/views/kaminari/blacklight/_page.html.erb +2 -1
- data/app/views/layouts/blacklight/base.html.erb +13 -2
- data/app/views/search_history/index.html.erb +6 -2
- data/app/views/shared/_flash_messages.html.erb +1 -1
- data/app/views/shared/_modal.html.erb +3 -3
- data/blacklight.gemspec +7 -11
- data/config/importmap.rb +3 -0
- data/config/locales/blacklight.ar.yml +0 -1
- data/config/locales/blacklight.ca.yml +0 -1
- data/config/locales/blacklight.de.yml +0 -1
- data/config/locales/blacklight.en.yml +0 -2
- data/config/locales/blacklight.es.yml +0 -1
- data/config/locales/blacklight.fr.yml +0 -1
- data/config/locales/blacklight.hu.yml +0 -1
- data/config/locales/blacklight.it.yml +0 -1
- data/config/locales/blacklight.nl.yml +0 -1
- data/config/locales/blacklight.pt-BR.yml +0 -1
- data/config/locales/blacklight.sq.yml +0 -1
- data/config/locales/blacklight.zh.yml +0 -1
- data/config/routes.rb +3 -2
- data/db/migrate/20140202020201_create_searches.rb +1 -0
- data/db/migrate/20140202020202_create_bookmarks.rb +1 -0
- data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -0
- data/docker-compose.yml +3 -3
- data/lib/blacklight/abstract_repository.rb +1 -6
- data/lib/blacklight/component.rb +47 -10
- data/lib/blacklight/configuration/context.rb +4 -4
- data/lib/blacklight/configuration/display_field.rb +7 -9
- data/lib/blacklight/configuration/facet_field.rb +17 -11
- data/lib/blacklight/configuration/field.rb +1 -0
- data/lib/blacklight/configuration/fields.rb +12 -15
- data/lib/blacklight/configuration/index_field.rb +1 -0
- data/lib/blacklight/configuration/null_display_field.rb +17 -0
- data/lib/blacklight/configuration/search_field.rb +1 -0
- data/lib/blacklight/configuration/show_field.rb +1 -0
- data/lib/blacklight/configuration/sort_field.rb +1 -0
- data/lib/blacklight/configuration/tool_config.rb +1 -0
- data/lib/blacklight/configuration/view_config.rb +14 -10
- data/lib/blacklight/configuration.rb +310 -365
- data/lib/blacklight/engine.rb +8 -24
- data/lib/blacklight/exceptions.rb +2 -2
- data/lib/blacklight/nested_open_struct_with_hash_access.rb +7 -13
- data/lib/blacklight/open_struct_with_hash_access.rb +23 -6
- data/lib/blacklight/parameters.rb +7 -21
- data/lib/blacklight/routes/exportable.rb +1 -0
- data/lib/blacklight/routes/searchable.rb +2 -1
- data/lib/blacklight/routes.rb +1 -0
- data/lib/blacklight/search_builder.rb +10 -10
- data/lib/blacklight/search_state/filter_field.rb +8 -25
- data/lib/blacklight/search_state/pivot_filter_field.rb +144 -0
- data/lib/blacklight/search_state.rb +23 -79
- data/lib/blacklight/solr/document.rb +1 -0
- data/lib/blacklight/solr/facet_paginator.rb +1 -0
- data/lib/blacklight/solr/repository.rb +4 -24
- data/lib/blacklight/solr/request.rb +1 -0
- data/lib/blacklight/solr/response/facets.rb +21 -5
- data/lib/blacklight/solr/response/group.rb +1 -0
- data/lib/blacklight/solr/response/group_response.rb +1 -0
- data/lib/blacklight/solr/response/more_like_this.rb +1 -0
- data/lib/blacklight/solr/response/pagination_methods.rb +4 -3
- data/lib/blacklight/solr/response/params.rb +5 -4
- data/lib/blacklight/solr/response/response.rb +1 -0
- data/lib/blacklight/solr/response/spelling.rb +1 -0
- data/lib/blacklight/solr/response.rb +16 -3
- data/lib/blacklight/solr/search_builder_behavior.rb +16 -35
- data/lib/blacklight/solr.rb +7 -0
- data/lib/blacklight/version.rb +1 -0
- data/lib/blacklight.rb +26 -14
- data/lib/generators/blacklight/assets/importmap_generator.rb +55 -0
- data/lib/generators/blacklight/assets/propshaft_generator.rb +25 -0
- data/lib/generators/blacklight/assets/sprockets_generator.rb +66 -0
- data/lib/generators/blacklight/assets_generator.rb +13 -86
- data/lib/generators/blacklight/controller_generator.rb +4 -3
- data/lib/generators/blacklight/document_generator.rb +1 -0
- data/lib/generators/blacklight/install_generator.rb +4 -3
- data/lib/generators/blacklight/models_generator.rb +1 -0
- data/lib/generators/blacklight/search_builder_generator.rb +1 -0
- data/lib/generators/blacklight/solr_generator.rb +1 -1
- data/lib/generators/blacklight/templates/catalog_controller.rb +34 -8
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +1 -70
- data/lib/generators/blacklight/test_support_generator.rb +5 -3
- data/lib/generators/blacklight/user_generator.rb +7 -9
- data/lib/railties/blacklight.rake +6 -7
- data/package.json +10 -13
- data/rollup.config.js +27 -0
- data/spec/components/blacklight/constraints_component_spec.rb +17 -13
- data/spec/components/blacklight/document/action_component_spec.rb +6 -1
- data/spec/components/blacklight/document_component_spec.rb +22 -131
- data/spec/components/blacklight/facet_component_spec.rb +3 -18
- data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +1 -2
- data/spec/components/blacklight/facet_field_list_component_spec.rb +7 -6
- data/spec/components/blacklight/facet_item_pivot_component_spec.rb +10 -9
- data/spec/components/blacklight/response/view_type_component_spec.rb +66 -0
- data/spec/components/blacklight/search_bar_component_spec.rb +1 -1
- data/spec/components/blacklight/search_context_component_spec.rb +17 -8
- data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +1 -6
- data/spec/controllers/blacklight/{base_spec.rb → catalog_spec.rb} +2 -2
- data/spec/controllers/bookmarks_controller_spec.rb +2 -3
- data/spec/controllers/catalog_controller_spec.rb +13 -135
- data/spec/features/advanced_search_spec.rb +0 -56
- data/spec/features/autocomplete_spec.rb +1 -1
- data/spec/features/axe_spec.rb +1 -6
- data/spec/features/bookmarks_spec.rb +1 -1
- data/spec/features/facets_spec.rb +6 -4
- data/spec/features/search_context_spec.rb +5 -11
- data/spec/features/search_results_spec.rb +0 -33
- data/spec/features/sitelinks_search_box.rb +13 -0
- data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +2 -138
- data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +0 -387
- data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +8 -0
- data/spec/helpers/blacklight/layout_helper_behavior_spec.rb +3 -20
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +5 -7
- data/spec/helpers/blacklight/url_helper_behavior_spec.rb +9 -131
- data/spec/helpers/blacklight_helper_spec.rb +8 -252
- data/spec/helpers/catalog_helper_spec.rb +7 -118
- data/spec/i18n_spec.rb +1 -0
- data/spec/integration/generators/blacklight/solr_generator_spec.rb +1 -1
- data/spec/lib/blacklight/component_spec.rb +27 -32
- data/spec/lib/blacklight/configuration/facet_field_spec.rb +27 -16
- data/spec/lib/blacklight/configuration/field_spec.rb +1 -1
- data/spec/lib/blacklight/configuration/view_config_spec.rb +1 -1
- data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +2 -2
- data/spec/lib/blacklight/parameters_spec.rb +1 -4
- data/spec/lib/blacklight/search_state/filter_field_spec.rb +4 -4
- data/spec/lib/blacklight/search_state/pivot_filter_field_spec.rb +117 -0
- data/spec/lib/blacklight/search_state_spec.rb +80 -198
- data/spec/lib/tasks/blacklight_task_spec.rb +1 -0
- data/spec/models/blacklight/configuration_spec.rb +17 -51
- data/spec/models/blacklight/document/active_model_shim_spec.rb +2 -2
- data/spec/models/blacklight/icon_spec.rb +31 -15
- data/spec/models/blacklight/search_builder_spec.rb +9 -9
- data/spec/models/blacklight/solr/document_spec.rb +3 -3
- data/spec/models/blacklight/solr/repository_spec.rb +0 -45
- data/spec/models/blacklight/solr/response/facets_spec.rb +27 -27
- data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -0
- data/spec/models/blacklight/solr/response/group_spec.rb +1 -0
- data/spec/models/blacklight/solr/response_spec.rb +9 -2
- data/spec/models/blacklight/solr/search_builder_spec.rb +24 -44
- data/spec/models/blacklight/user_spec.rb +22 -0
- data/spec/models/solr_document_spec.rb +3 -9
- data/spec/presenters/blacklight/clause_presenter_spec.rb +1 -0
- data/spec/presenters/blacklight/document_presenter_spec.rb +2 -3
- data/spec/presenters/blacklight/facet_field_presenter_spec.rb +85 -12
- data/spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb +1 -0
- data/spec/presenters/blacklight/facet_item_presenter_spec.rb +14 -13
- data/spec/presenters/blacklight/field_presenter_spec.rb +0 -14
- data/spec/presenters/blacklight/index_presenter_spec.rb +2 -5
- data/spec/presenters/blacklight/json_presenter_spec.rb +1 -0
- data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -2
- data/spec/presenters/blacklight/show_presenter_spec.rb +20 -30
- data/spec/presenters/thumbnail_presenter_spec.rb +1 -1
- data/spec/requests/load_suggestions_spec.rb +16 -0
- data/spec/routing/catalog_routing_spec.rb +2 -1
- data/spec/services/blacklight/search_service_spec.rb +39 -76
- data/spec/spec_helper.rb +8 -9
- data/spec/support/controller_level_helpers.rb +1 -2
- data/spec/support/features/search_helpers.rb +39 -0
- data/spec/support/features/session_helpers.rb +1 -0
- data/spec/support/features.rb +3 -0
- data/spec/support/view_component_capybara_test_helpers.rb +8 -0
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +9 -2
- data/spec/views/catalog/_document.html.erb_spec.rb +3 -34
- data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +0 -2
- data/spec/views/catalog/_search_header.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +5 -66
- data/spec/views/catalog/_view_type_group.html.erb_spec.rb +17 -9
- data/spec/views/catalog/email_success.html.erb_spec.rb +2 -2
- data/spec/views/catalog/facet.html.erb_spec.rb +6 -3
- data/spec/views/catalog/index.atom.builder_spec.rb +17 -11
- data/spec/views/catalog/index.html.erb_spec.rb +5 -6
- data/spec/views/catalog/index.json.jbuilder_spec.rb +2 -2
- data/spec/views/catalog/show.html.erb_spec.rb +3 -25
- data/spec/views/catalog/sms_success.html.erb_spec.rb +2 -2
- data/tasks/blacklight.rake +11 -9
- data/template.demo.rb +7 -7
- metadata +77 -189
- data/.babelrc +0 -11
- data/.github/matrix.json +0 -62
- data/.github/workflows/build.yml +0 -16
- data/.github/workflows/lint.yml +0 -23
- data/.github/workflows/main.yml +0 -23
- data/.github/workflows/test.yml +0 -53
- data/app/assets/images/blacklight/list.svg +0 -1
- data/app/assets/images/blacklight/search.svg +0 -1
- data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +0 -37
- data/app/components/blacklight/content_areas_shim.rb +0 -13
- data/app/components/blacklight/search/per_page_component.html.erb +0 -2
- data/app/components/blacklight/search/per_page_component.rb +0 -50
- data/app/components/blacklight/search_context/server_item_pagination_component.html.erb +0 -10
- data/app/components/blacklight/search_context/server_item_pagination_component.rb +0 -15
- data/app/components/blacklight/system/dropdown_button_component.rb +0 -18
- data/app/controllers/concerns/blacklight/base.rb +0 -12
- data/app/controllers/concerns/blacklight/default_component_configuration.rb +0 -64
- data/app/controllers/concerns/blacklight/facet.rb +0 -69
- data/app/controllers/concerns/blacklight/search_fields.rb +0 -46
- data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +0 -27
- data/app/helpers/blacklight/render_constraints_helper_behavior.rb +0 -188
- data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +0 -97
- data/app/helpers/blacklight/suggest_helper_behavior.rb +0 -13
- data/app/javascript/blacklight/autocomplete.js +0 -36
- data/app/javascript/blacklight/facet_load.js +0 -22
- data/app/presenters/blacklight/search_bar_presenter.rb +0 -47
- data/app/views/catalog/_constraints_element.html.erb +0 -14
- data/app/views/catalog/_document_action.html.erb +0 -5
- data/app/views/catalog/_facet_group.html.erb +0 -5
- data/app/views/catalog/_facet_limit.html.erb +0 -3
- data/app/views/catalog/_index.html.erb +0 -1
- data/app/views/catalog/_index_header.html.erb +0 -22
- data/app/views/catalog/_previous_next_doc.html.erb +0 -2
- data/app/views/catalog/_show.html.erb +0 -6
- data/app/views/catalog/_show_header.html.erb +0 -2
- data/app/views/catalog/_thumbnail.html.erb +0 -1
- data/lib/blacklight/deprecations/engine_configuration.rb +0 -66
- data/lib/blacklight/deprecations/search_state_normalization.rb +0 -52
- data/spec/components/blacklight/header_component_spec.rb +0 -20
- data/spec/components/blacklight/icons/icon_component_spec.rb +0 -42
- data/spec/components/blacklight/response/pagination_component_spec.rb +0 -53
- data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +0 -35
- data/spec/controllers/blacklight/facet_spec.rb +0 -33
- data/spec/controllers/blacklight/search_fields_spec.rb +0 -62
- data/spec/features/citation_spec.rb +0 -10
- data/spec/features/sitelinks_search_box_spec.rb +0 -13
- data/spec/features/sms_spec.rb +0 -12
- data/spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb +0 -26
- data/spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb +0 -92
- data/spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb +0 -101
- data/spec/helpers/blacklight/suggest_helper_behavior_spec.rb +0 -48
- data/spec/lib/blacklight/engine_spec.rb +0 -41
- data/spec/presenters/blacklight/search_bar_presenter_spec.rb +0 -94
- data/spec/services/blacklight/field_retriever_spec.rb +0 -17
- data/spec/support/view_component_test_helpers.rb +0 -35
- data/spec/views/catalog/_constraints.html.erb_spec.rb +0 -33
- data/spec/views/catalog/_facet_group.html.erb_spec.rb +0 -84
- data/spec/views/catalog/_facets.html.erb_spec.rb +0 -15
- data/spec/views/catalog/_index.html.erb_spec.rb +0 -62
- data/spec/views/catalog/_index_header.html.erb_spec.rb +0 -35
- data/spec/views/catalog/_previous_next_doc.html.erb_spec.rb +0 -22
- data/spec/views/catalog/_show.html.erb_spec.rb +0 -62
- data/spec/views/catalog/_thumbnail.html.erb_spec.rb +0 -38
data/.babelrc
DELETED
data/.github/matrix.json
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"ruby": ["3.3"],
|
3
|
-
"rails_version": [
|
4
|
-
"7.1.5.1",
|
5
|
-
"7.2.2.1"
|
6
|
-
],
|
7
|
-
"bootstrap_version": [
|
8
|
-
null
|
9
|
-
],
|
10
|
-
"view_component_version": [
|
11
|
-
"~> 3.12"
|
12
|
-
],
|
13
|
-
"api": [
|
14
|
-
null
|
15
|
-
],
|
16
|
-
"additional_engine_cart_rails_options": [
|
17
|
-
""
|
18
|
-
],
|
19
|
-
"additional_name": [
|
20
|
-
""
|
21
|
-
],
|
22
|
-
"include": [
|
23
|
-
{
|
24
|
-
"ruby": "3.2",
|
25
|
-
"rails_version": "7.1.5.1"
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"ruby": "3.3",
|
29
|
-
"rails_version": "7.1.5.1",
|
30
|
-
"bootstrap_version": "~> 5.0",
|
31
|
-
"additional_name": "| bootstrap 5"
|
32
|
-
},
|
33
|
-
{
|
34
|
-
"ruby": "3.4",
|
35
|
-
"rails_version": "7.2.2.1"
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"ruby": "3.4",
|
39
|
-
"rails_version": "8.0.2"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"ruby": "3.3",
|
43
|
-
"rails_version": "7.1.5.1",
|
44
|
-
"view_component_version": "~> 2.74",
|
45
|
-
"additional_name": "| View Component 2"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"ruby": "3.2",
|
49
|
-
"rails_version": "7.1.5.1",
|
50
|
-
"api": "true",
|
51
|
-
"additional_engine_cart_rails_options": "--api --skip-yarn",
|
52
|
-
"additional_name": "| API"
|
53
|
-
},
|
54
|
-
{
|
55
|
-
"ruby": "3.3",
|
56
|
-
"rails_version": "7.1.5.1",
|
57
|
-
"api:": "true",
|
58
|
-
"additional_engine_cart_rails_options": "--api --skip-yarn",
|
59
|
-
"additional_name": "| API"
|
60
|
-
}
|
61
|
-
]
|
62
|
-
}
|
data/.github/workflows/build.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
on:
|
2
|
-
workflow_call:
|
3
|
-
inputs:
|
4
|
-
ref:
|
5
|
-
required: false
|
6
|
-
type: string
|
7
|
-
default: ''
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v4
|
13
|
-
with:
|
14
|
-
ref: ${{ inputs.ref }}
|
15
|
-
- name: Build docker image
|
16
|
-
run: docker compose build app
|
data/.github/workflows/lint.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
on:
|
2
|
-
workflow_call:
|
3
|
-
inputs:
|
4
|
-
ref:
|
5
|
-
required: false
|
6
|
-
type: string
|
7
|
-
default: ''
|
8
|
-
jobs:
|
9
|
-
lint:
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v4
|
13
|
-
with:
|
14
|
-
ref: ${{ inputs.ref }}
|
15
|
-
- name: Set up Ruby
|
16
|
-
uses: ruby/setup-ruby@v1
|
17
|
-
with:
|
18
|
-
ruby-version: 3.2
|
19
|
-
bundler: "default"
|
20
|
-
- name: Install dependencies
|
21
|
-
run: bundle install
|
22
|
-
- name: Run linter
|
23
|
-
run: bundle exec rake rubocop
|
data/.github/workflows/main.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# This workflow uses actions that are not certified by GitHub.
|
2
|
-
# They are provided by a third-party and are governed by
|
3
|
-
# separate terms of service, privacy policy, and support
|
4
|
-
# documentation.
|
5
|
-
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
-
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
-
|
8
|
-
name: CI
|
9
|
-
|
10
|
-
on:
|
11
|
-
push:
|
12
|
-
branches:
|
13
|
-
- main
|
14
|
-
- 'release-*'
|
15
|
-
pull_request:
|
16
|
-
|
17
|
-
jobs:
|
18
|
-
lint:
|
19
|
-
uses: ./.github/workflows/lint.yml
|
20
|
-
test:
|
21
|
-
uses: ./.github/workflows/test.yml
|
22
|
-
docker_build:
|
23
|
-
uses: ./.github/workflows/build.yml
|
data/.github/workflows/test.yml
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
on:
|
2
|
-
workflow_call:
|
3
|
-
inputs:
|
4
|
-
ref:
|
5
|
-
required: false
|
6
|
-
type: string
|
7
|
-
default: ''
|
8
|
-
description: The branch or reference to run the workflow against
|
9
|
-
jobs:
|
10
|
-
set_matrix:
|
11
|
-
runs-on: ubuntu-latest
|
12
|
-
outputs:
|
13
|
-
matrix: ${{ steps.matrix.outputs.matrix }}
|
14
|
-
steps:
|
15
|
-
- name: Checkout repository
|
16
|
-
uses: actions/checkout@v3
|
17
|
-
with:
|
18
|
-
ref: ${{ inputs.ref }}
|
19
|
-
- name: Echo ./.github/matrix.json
|
20
|
-
id: matrix
|
21
|
-
run: |
|
22
|
-
echo "matrix<<EOF" >> $GITHUB_OUTPUT
|
23
|
-
cat ./.github/matrix.json >> $GITHUB_OUTPUT
|
24
|
-
echo "EOF" >> $GITHUB_OUTPUT
|
25
|
-
test:
|
26
|
-
needs: set_matrix
|
27
|
-
runs-on: ubuntu-latest
|
28
|
-
name: ruby ${{ matrix.ruby }} | rails ${{ matrix.rails_version }} ${{ matrix.additional_name }}
|
29
|
-
strategy:
|
30
|
-
fail-fast: false
|
31
|
-
matrix: ${{fromJson(needs.set_matrix.outputs.matrix)}}
|
32
|
-
env:
|
33
|
-
RAILS_VERSION: ${{ matrix.rails_version }}
|
34
|
-
SOLR_VERSION: ${{ matrix.solr_version || 'latest' }}
|
35
|
-
VIEW_COMPONENT_VERSION: ${{ matrix.view_component_version }}
|
36
|
-
BOOTSTRAP_VERSION: ${{ matrix.bootstrap_version }}
|
37
|
-
BLACKLIGHT_API_TEST: ${{ matrix.api }}
|
38
|
-
ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-kamal --skip-solid --skip-coffee --skip-test ${{ matrix.additional_engine_cart_rails_options }}"
|
39
|
-
steps:
|
40
|
-
- uses: actions/checkout@v4
|
41
|
-
with:
|
42
|
-
ref: ${{ inputs.ref }}
|
43
|
-
- name: Set up Ruby
|
44
|
-
uses: ruby/setup-ruby@v1
|
45
|
-
with:
|
46
|
-
bundler: "latest"
|
47
|
-
ruby-version: ${{ matrix.ruby }}
|
48
|
-
- name: Change permissions
|
49
|
-
run: "chmod -f -R o-w /opt/hostedtoolcache/Ruby/3.2.5/x64/lib/ruby/gems/3.2.0/gems | :"
|
50
|
-
- name: Install dependencies
|
51
|
-
run: bundle install
|
52
|
-
- name: Run tests
|
53
|
-
run: bundle exec rake ci
|
@@ -1 +0,0 @@
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
@@ -1 +0,0 @@
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>
|
@@ -1,37 +0,0 @@
|
|
1
|
-
.twitter-typeahead {
|
2
|
-
display: inline-flex !important;
|
3
|
-
flex-grow: 2;
|
4
|
-
z-index: $zindex-typeahead;
|
5
|
-
|
6
|
-
input.tt-input.form-control {
|
7
|
-
width: 100%;
|
8
|
-
}
|
9
|
-
|
10
|
-
input.tt-hint.form-control {
|
11
|
-
width: 100%;
|
12
|
-
filter: opacity(0.33);
|
13
|
-
}
|
14
|
-
|
15
|
-
.tt-menu {
|
16
|
-
@extend .dropdown-menu;
|
17
|
-
font-family: $font-family-base;
|
18
|
-
width: 100%;
|
19
|
-
}
|
20
|
-
|
21
|
-
.tt-cursor {
|
22
|
-
background-color: $dropdown-link-hover-bg;
|
23
|
-
color: $dropdown-link-hover-color;
|
24
|
-
text-decoration: none;
|
25
|
-
}
|
26
|
-
|
27
|
-
.tt-suggestion {
|
28
|
-
font-size: 14px;
|
29
|
-
padding: 5px 5px 5px 10px;
|
30
|
-
}
|
31
|
-
|
32
|
-
.tt-suggestion:hover {
|
33
|
-
background-color: $dropdown-link-hover-bg;
|
34
|
-
color: $dropdown-link-hover-color;
|
35
|
-
cursor: pointer;
|
36
|
-
}
|
37
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Blacklight
|
4
|
-
# Shim to support ViewComponent v2 slots using the content_areas API for backwards compatibility
|
5
|
-
module ContentAreasShim
|
6
|
-
# Shim the `with` helper to write content into slots instead
|
7
|
-
def with(slot_name, *args, **kwargs, &block)
|
8
|
-
Deprecation.warn(Blacklight::ContentAreasShim,
|
9
|
-
'ViewComponents deprecated `with` and it will be removed in ViewComponents 3.0. content_areas. Use slots (https://viewcomponent.org/guide/slots.html) instead.')
|
10
|
-
public_send("with_#{slot_name}", *args, **kwargs, &block)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Blacklight
|
4
|
-
module Search
|
5
|
-
class PerPageComponent < Blacklight::Component
|
6
|
-
def initialize(blacklight_config:, response:, search_state:)
|
7
|
-
@blacklight_config = blacklight_config
|
8
|
-
@response = response
|
9
|
-
@search_state = search_state
|
10
|
-
end
|
11
|
-
|
12
|
-
def render?
|
13
|
-
helpers.show_sort_and_per_page?
|
14
|
-
end
|
15
|
-
|
16
|
-
# You may override this method in a subclass if you want to use a different dropdown component
|
17
|
-
def dropdown_class
|
18
|
-
Blacklight::System::DropdownComponent
|
19
|
-
end
|
20
|
-
|
21
|
-
def dropdown
|
22
|
-
render(dropdown_class.new(
|
23
|
-
param: :per_page,
|
24
|
-
choices: per_page_options_for_select,
|
25
|
-
id: 'per_page-dropdown',
|
26
|
-
search_state: @search_state,
|
27
|
-
selected: current_per_page,
|
28
|
-
interpolation: :count
|
29
|
-
))
|
30
|
-
end
|
31
|
-
|
32
|
-
#
|
33
|
-
# @return [Integer]
|
34
|
-
def current_per_page
|
35
|
-
(@response.rows if @response && @response.rows > 0) || # rubocop:disable Style/NumericPredicate
|
36
|
-
params.fetch(:per_page, @blacklight_config.default_per_page).to_i
|
37
|
-
end
|
38
|
-
|
39
|
-
##
|
40
|
-
# The available options for results per page, in the style of #options_for_select
|
41
|
-
def per_page_options_for_select
|
42
|
-
return [] if @blacklight_config.per_page.blank?
|
43
|
-
|
44
|
-
@blacklight_config.per_page.map do |count|
|
45
|
-
[t(:'blacklight.search.per_page.label', count: count).html_safe, count]
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Blacklight
|
4
|
-
module SearchContext
|
5
|
-
class ServerItemPaginationComponent < Blacklight::SearchContextComponent
|
6
|
-
with_collection_parameter :search_context
|
7
|
-
|
8
|
-
def initialize(search_context:, search_session:, current_document:)
|
9
|
-
@search_context = search_context
|
10
|
-
@search_session = search_session
|
11
|
-
@current_document_id = current_document.id
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Blacklight
|
4
|
-
module System
|
5
|
-
class DropdownButtonComponent < Blacklight::Component
|
6
|
-
def initialize(label:, classes: %w[btn btn-outline-secondary dropdown-toggle])
|
7
|
-
@classes = classes
|
8
|
-
@label = label
|
9
|
-
end
|
10
|
-
|
11
|
-
def call
|
12
|
-
button_tag class: @classes, aria: { expanded: false }, data: { toggle: 'dropdown', 'bs-toggle': 'dropdown' } do
|
13
|
-
safe_join([@label, content_tag(:span, '', class: 'caret')])
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module Blacklight::Base
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
include Blacklight::Configurable
|
6
|
-
include Blacklight::SearchContext
|
7
|
-
|
8
|
-
def self.included(mod)
|
9
|
-
Deprecation.warn(Blacklight::Base, "Blacklight::Base is deprecated and will be removed in Blacklight 8.0.0.
|
10
|
-
Include Blacklight::Configurable and Blacklight::SearchContext as needed (included in #{mod}).")
|
11
|
-
end
|
12
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module Blacklight
|
3
|
-
module DefaultComponentConfiguration
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
included do
|
7
|
-
Deprecation.warn(self, "Blacklight::DefaultComponentConfiguration is deprecated and will be removed in the next release." \
|
8
|
-
"this means you must call add_results_document_tool, add_results_collection_tool, " \
|
9
|
-
"add_show_tools_partial and add_nav_action manually in your config")
|
10
|
-
add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
|
11
|
-
|
12
|
-
add_results_collection_tool(:sort_widget)
|
13
|
-
add_results_collection_tool(:per_page_widget)
|
14
|
-
add_results_collection_tool(:view_type_group)
|
15
|
-
|
16
|
-
add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
|
17
|
-
add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
|
18
|
-
add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
|
19
|
-
add_show_tools_partial(:citation)
|
20
|
-
|
21
|
-
add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
|
22
|
-
add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
|
23
|
-
end
|
24
|
-
|
25
|
-
module ClassMethods
|
26
|
-
# YARD will include inline disabling as docs, cannot do multiline inside @!macro. AND this must be separate from doc block.
|
27
|
-
# rubocop:disable Layout/LineLength
|
28
|
-
|
29
|
-
# @!macro partial_if_unless
|
30
|
-
# @param name [String] the name of the document partial
|
31
|
-
# @param opts [Hash]
|
32
|
-
# @option opts [Symbol,Proc] :if render this action if the method identified by the symbol or the proc evaluates to true. The proc will receive the action configuration and the document or documents for the action.
|
33
|
-
# @option opts [Symbol,Proc] :unless render this action unless the method identified by the symbol or the proc evaluates to true. The proc will receive the action configuration and the document or documents for the action.
|
34
|
-
|
35
|
-
# Add a partial to the tools for rendering a document
|
36
|
-
# @!macro partial_if_unless
|
37
|
-
# @option opts [Boolean] :define_method define a controller method as named, default: true
|
38
|
-
# @option opts [Symbol] :validator method for toggling between success and failure, should return Boolean (true if valid)
|
39
|
-
# @option opts [Symbol] :callback method for further processing of documents, receives Array of documents
|
40
|
-
def add_show_tools_partial(name, opts = {})
|
41
|
-
blacklight_config.add_show_tools_partial(name, opts)
|
42
|
-
ActionBuilder.new(self, name, opts).build
|
43
|
-
end
|
44
|
-
# rubocop:enable Layout/LineLength
|
45
|
-
|
46
|
-
deprecation_deprecate add_show_tools_partial: 'use blacklight_config.add_show_tools_partial instead'
|
47
|
-
|
48
|
-
# Add a tool to be displayed for each document in the search results.
|
49
|
-
# @!macro partial_if_unless
|
50
|
-
delegate :add_results_document_tool, to: :blacklight_config
|
51
|
-
deprecation_deprecate add_results_document_tool: 'use blacklight_config.add_results_document_tool instead'
|
52
|
-
|
53
|
-
# Add a tool to be displayed for the list of search results themselves.
|
54
|
-
# @!macro partial_if_unless
|
55
|
-
delegate :add_results_collection_tool, to: :blacklight_config
|
56
|
-
deprecation_deprecate add_results_collection_tool: 'use blacklight_config.add_results_collection_tool instead'
|
57
|
-
|
58
|
-
# Add a partial to the header navbar.
|
59
|
-
# @!macro partial_if_unless
|
60
|
-
delegate :add_nav_action, to: :blacklight_config
|
61
|
-
deprecation_deprecate add_nav_action: 'use blacklight_config.add_nav_action instead'
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module Blacklight
|
3
|
-
# These are methods that are used at both the view helper and controller layers
|
4
|
-
# They are only dependent on `blacklight_config` and `@response`
|
5
|
-
#
|
6
|
-
module Facet
|
7
|
-
extend Deprecation
|
8
|
-
delegate :facet_configuration_for_field, :facet_field_names, to: :blacklight_config
|
9
|
-
|
10
|
-
# @deprecated
|
11
|
-
# @param [Blacklight::Configuration::Facet] field_config
|
12
|
-
# @param [Object] response_data
|
13
|
-
# @return [Blacklight::FacetPaginator]
|
14
|
-
def facet_paginator(field_config, response_data)
|
15
|
-
blacklight_config.facet_paginator_class.new(
|
16
|
-
response_data.items,
|
17
|
-
sort: response_data.sort,
|
18
|
-
offset: response_data.offset,
|
19
|
-
prefix: response_data.prefix,
|
20
|
-
limit: Deprecation.silence(Blacklight::Catalog) { facet_limit_for(field_config.key) }
|
21
|
-
)
|
22
|
-
end
|
23
|
-
deprecation_deprecate facet_paginator: 'Use Blacklight::FacetFieldPresenter#paginator instead'
|
24
|
-
|
25
|
-
# @param fields [Array<String>] a list of facet field names
|
26
|
-
# @return [Array<Solr::Response::Facets::FacetField>]
|
27
|
-
# @deprecated
|
28
|
-
def facets_from_request(fields = facet_field_names, response = nil)
|
29
|
-
unless response
|
30
|
-
Deprecation.warn(self, 'Calling facets_from_request without passing the ' \
|
31
|
-
'second argument (response) is deprecated and will be removed in Blacklight ' \
|
32
|
-
'8.0.0')
|
33
|
-
response = @response
|
34
|
-
end
|
35
|
-
|
36
|
-
Deprecation.silence(Blacklight::Facet) do
|
37
|
-
fields.map { |field| facet_by_field_name(field, response) }.compact
|
38
|
-
end
|
39
|
-
end
|
40
|
-
deprecation_deprecate facets_from_request: 'Removed without replacement'
|
41
|
-
|
42
|
-
delegate :facet_group_names, to: :blacklight_config
|
43
|
-
deprecation_deprecate facet_group_names: 'Use blacklight_config.facet_group_names instead'
|
44
|
-
|
45
|
-
# Get a FacetField object from the @response
|
46
|
-
# @deprecated
|
47
|
-
# @private
|
48
|
-
# @return [Blacklight::Solr::Response::Facets::FacetField]
|
49
|
-
def facet_by_field_name(field_or_field_name, response = nil)
|
50
|
-
unless response
|
51
|
-
Deprecation.warn(self, 'Calling facet_by_field_name without passing the ' \
|
52
|
-
'second argument (response) is deprecated and will be removed in Blacklight ' \
|
53
|
-
'8.0.0')
|
54
|
-
response = @response
|
55
|
-
end
|
56
|
-
case field_or_field_name
|
57
|
-
when String, Symbol
|
58
|
-
facet_field = facet_configuration_for_field(field_or_field_name)
|
59
|
-
response.aggregations[facet_field.field]
|
60
|
-
when Blacklight::Configuration::FacetField
|
61
|
-
response.aggregations[field_or_field_name.field]
|
62
|
-
else
|
63
|
-
# is this really a useful case?
|
64
|
-
field_or_field_name
|
65
|
-
end
|
66
|
-
end
|
67
|
-
deprecation_deprecate facet_by_field_name: 'Removed without replacement'
|
68
|
-
end
|
69
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
##
|
3
|
-
# Module to deal with accessing (and setting some defaults) in an array of
|
4
|
-
# hashes that describe Blacklight search fields. Requires the base class this
|
5
|
-
# module is added to implements a #blacklight_config method that returns a hash, where
|
6
|
-
# blacklight_config[:search_fields] will be an array of hashes describing search fields.
|
7
|
-
#
|
8
|
-
# = Search Field blacklight_configuration Hash =
|
9
|
-
# [:key]
|
10
|
-
# "title", required, unique key used in search URLs to specify search_field
|
11
|
-
# [:label]
|
12
|
-
# "Title", # user-displayable label, optional, if not supplied :key.titlecase will be used
|
13
|
-
# [:qt]
|
14
|
-
# "search", # Solr qt param, request handler, usually can be left blank; defaults to nil if not explicitly specified
|
15
|
-
# [:solr_parameters]
|
16
|
-
# { :qf => "something" } # optional hash of additional parameters to pass to solr for searches on this field.
|
17
|
-
# [:solr_local_parameters]
|
18
|
-
# { :qf => "$something" } # optional hash of additional parameters that will be passed using Solr LocalParams syntax, that can use dollar sign to reference other solr variables.
|
19
|
-
# [:include_in_simple_select]
|
20
|
-
# false. Defaults to true, but you can set to false to have a search field defined for deep-links or BL extensions, but not actually included in the HTML select for simple search choice.
|
21
|
-
#
|
22
|
-
# Optionally you can supply a :key, which is what Blacklight will use
|
23
|
-
# to identify this search field in HTTP query params. If no :key is
|
24
|
-
# supplied, one will be computed from the :label. If that will
|
25
|
-
# result in a collision of keys, you should supply one explicitly.
|
26
|
-
#
|
27
|
-
##
|
28
|
-
module Blacklight::SearchFields
|
29
|
-
extend Deprecation
|
30
|
-
|
31
|
-
# Looks up search field config list from blacklight_config[:search_fields], and
|
32
|
-
# 'normalizes' all field config hashes using normalize_config method.
|
33
|
-
# @deprecated
|
34
|
-
def search_field_list
|
35
|
-
blacklight_config.search_fields.values
|
36
|
-
end
|
37
|
-
deprecation_deprecate search_field_list: 'Use blacklight_config.search_fields instead'
|
38
|
-
|
39
|
-
# Returns default search field, used for simpler display in history, etc.
|
40
|
-
# if not set in blacklight_config, defaults to first field listed in #search_field_list
|
41
|
-
# @deprecated
|
42
|
-
def default_search_field
|
43
|
-
blacklight_config.default_search_field || (Deprecation.silence(Blacklight::SearchFields) { search_field_list.first })
|
44
|
-
end
|
45
|
-
deprecation_deprecate default_search_field: 'Use Blacklight::Configuration#default_search_field'
|
46
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# Rails Helper methods to take a hash and turn it to form <input type="hidden">
|
3
|
-
# fields, works with hash nested with other hashes and arrays, standard rails
|
4
|
-
# serialization style. Oddly while Hash#to_query will do this for a URL
|
5
|
-
# query parameters, there seems to be no built in way to do it to create
|
6
|
-
# hidden form fields instead.
|
7
|
-
#
|
8
|
-
# Code taken from http://marklunds.com/articles/one/314
|
9
|
-
#
|
10
|
-
# This is used to serialize a complete current query from current params
|
11
|
-
# to form fields used for sort and change per-page
|
12
|
-
module Blacklight::HashAsHiddenFieldsHelperBehavior
|
13
|
-
extend Deprecation
|
14
|
-
|
15
|
-
##
|
16
|
-
# Writes out zero or more <input type="hidden"> elements, completely
|
17
|
-
# representing a hash passed in using Rails-style request parameters
|
18
|
-
# for hashes nested with arrays and other hashes.
|
19
|
-
#
|
20
|
-
# @deprecated
|
21
|
-
# @param [Hash] hash
|
22
|
-
# @return [String]
|
23
|
-
def render_hash_as_hidden_fields(hash)
|
24
|
-
render Blacklight::HiddenSearchStateComponent.new(params: hash)
|
25
|
-
end
|
26
|
-
deprecation_deprecate render_hash_as_hidden_fields: 'Use Blacklight::HiddenSearchStateComponent instead'
|
27
|
-
end
|