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
@@ -1,17 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Blacklight::ConfigurationHelperBehavior
|
3
|
-
extend Deprecation
|
4
|
-
|
5
|
-
##
|
6
|
-
# Index fields to display for a type of document
|
7
|
-
#
|
8
|
-
# @param [SolrDocument] _document
|
9
|
-
# @return [Array<Blacklight::Configuration::Field>]
|
10
|
-
def index_fields _document = nil
|
11
|
-
Deprecation.warn(self, "index_fields is deprecated and will be removed in Blacklight 8. Use IndexPresenter#fields instead")
|
12
|
-
blacklight_config.index_fields
|
13
|
-
end
|
14
2
|
|
3
|
+
module Blacklight::ConfigurationHelperBehavior
|
15
4
|
##
|
16
5
|
# Return the available sort fields
|
17
6
|
# @return [Array<Blacklight::Configuration::Field>]
|
@@ -19,75 +8,13 @@ module Blacklight::ConfigurationHelperBehavior
|
|
19
8
|
blacklight_config.sort_fields.select { |_sort_key, field_config| should_render_field?(field_config) }
|
20
9
|
end
|
21
10
|
|
22
|
-
# Used in the search form partial for building a select tag
|
23
|
-
# @see #search_field_options_for_select
|
24
|
-
def search_fields
|
25
|
-
search_field_options_for_select
|
26
|
-
end
|
27
|
-
deprecation_deprecate search_fields: 'removed without replacement'
|
28
|
-
|
29
|
-
# Returns suitable argument to options_for_select method, to create
|
30
|
-
# an html select based on #search_field_list. Skips search_fields
|
31
|
-
# marked :include_in_simple_select => false
|
32
|
-
# @return [Array<Array>] the first element of the array is the label, the second is the sort field key
|
33
|
-
def search_field_options_for_select
|
34
|
-
blacklight_config.search_fields.collect do |_key, field_def|
|
35
|
-
[label_for_search_field(field_def.key), field_def.key] if should_render_field?(field_def)
|
36
|
-
end.compact
|
37
|
-
end
|
38
|
-
deprecation_deprecate search_field_options_for_select: 'removed without replacement'
|
39
|
-
|
40
|
-
# used in the catalog/_show partial
|
41
|
-
# @return [Array<Blacklight::Configuration::Field>]
|
42
|
-
def document_show_fields _document = nil
|
43
|
-
Deprecation.warn(self, "document_show_fields is deprecated and will be removed in Blacklight 8. Use ShowPresenter#fields instead")
|
44
|
-
blacklight_config.show_fields
|
45
|
-
end
|
46
|
-
|
47
|
-
##
|
48
|
-
# Return a label for the currently selected search field.
|
49
|
-
# If no "search_field" or the default (e.g. "all_fields") is selected, then return nil
|
50
|
-
# Otherwise grab the label of the selected search field.
|
51
|
-
# @param [Hash] localized_params query parameters
|
52
|
-
# @return [String]
|
53
|
-
def constraint_query_label(localized_params = params)
|
54
|
-
label_for_search_field(localized_params[:search_field]) unless default_search_field?(localized_params[:search_field])
|
55
|
-
end
|
56
|
-
deprecation_deprecate constraint_query_label: 'Moving to Blacklight::ConstraintsComponent'
|
57
|
-
|
58
11
|
##
|
59
12
|
# Is the search form using the default search field ("all_fields" by default)?
|
60
13
|
# @param [String] selected_search_field the currently selected search_field
|
61
14
|
# @return [Boolean]
|
62
15
|
def default_search_field?(selected_search_field)
|
63
|
-
|
64
|
-
selected_search_field.blank? || (default_search_field && selected_search_field == default_search_field[:key])
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
##
|
69
|
-
# Look up the label for the index field
|
70
|
-
# @deprecated
|
71
|
-
# @return [String]
|
72
|
-
def index_field_label document, field
|
73
|
-
field_config = blacklight_config.index_fields_for(document_presenter(document).display_type)[field]
|
74
|
-
field_config ||= Blacklight::Configuration::NullField.new(key: field)
|
75
|
-
|
76
|
-
field_config.display_label('index')
|
77
|
-
end
|
78
|
-
deprecation_deprecate :index_field_label
|
79
|
-
|
80
|
-
##
|
81
|
-
# Look up the label for the show field
|
82
|
-
# @deprecated
|
83
|
-
# @return [String]
|
84
|
-
def document_show_field_label document, field
|
85
|
-
field_config = blacklight_config.show_fields_for(document_presenter(document).display_type)[field]
|
86
|
-
field_config ||= Blacklight::Configuration::NullField.new(key: field)
|
87
|
-
|
88
|
-
field_config.display_label('show')
|
16
|
+
selected_search_field.blank? || (blacklight_config.default_search_field && selected_search_field == blacklight_config.default_search_field[:key])
|
89
17
|
end
|
90
|
-
deprecation_deprecate :document_show_field_label
|
91
18
|
|
92
19
|
##
|
93
20
|
# Look up the label for the facet field
|
@@ -99,14 +26,6 @@ module Blacklight::ConfigurationHelperBehavior
|
|
99
26
|
field_config.display_label('facet')
|
100
27
|
end
|
101
28
|
|
102
|
-
# Return the label for a search view
|
103
|
-
# @return [String]
|
104
|
-
def view_label(view)
|
105
|
-
view_config = blacklight_config.view[view]
|
106
|
-
view_config.display_label
|
107
|
-
end
|
108
|
-
deprecation_deprecate view_label: 'Moving to ViewConfig#display_label and Blacklight::Response::ViewTypeComponent'
|
109
|
-
|
110
29
|
# Shortcut for commonly needed operation, look up display
|
111
30
|
# label for the key specified.
|
112
31
|
# @return [String]
|
@@ -166,35 +85,6 @@ module Blacklight::ConfigurationHelperBehavior
|
|
166
85
|
document_index_views.select { |_k, config| config.respond_to?(:default) && config.default }.keys.first || document_index_views.keys.first
|
167
86
|
end
|
168
87
|
|
169
|
-
##
|
170
|
-
# Check if there are alternative views configuration
|
171
|
-
# @return [Boolean]
|
172
|
-
def has_alternative_views?
|
173
|
-
document_index_views.keys.length > 1
|
174
|
-
end
|
175
|
-
deprecation_deprecate has_alternative_views?: 'Moving to Blacklight::Response::ViewTypeComponent'
|
176
|
-
|
177
|
-
##
|
178
|
-
# Maximum number of results for spell checking
|
179
|
-
# @return [Number]
|
180
|
-
def spell_check_max
|
181
|
-
blacklight_config.spell_max
|
182
|
-
end
|
183
|
-
deprecation_deprecate spell_check_max: 'Use blacklight_config.spell_max directly'
|
184
|
-
|
185
|
-
# Used in the document list partial (search view) for creating a link to the document show action
|
186
|
-
# @deprecated
|
187
|
-
def document_show_link_field document = nil
|
188
|
-
fields = Array(blacklight_config.view_config(document_index_view_type).title_field)
|
189
|
-
|
190
|
-
field = fields.first if document.nil?
|
191
|
-
field ||= fields.find { |f| document.has? f }
|
192
|
-
field &&= field&.to_sym
|
193
|
-
|
194
|
-
field
|
195
|
-
end
|
196
|
-
deprecation_deprecate document_show_link_field: 'Deprecated without replacement'
|
197
|
-
|
198
88
|
##
|
199
89
|
# Default sort field
|
200
90
|
def default_sort_field
|
@@ -202,12 +92,6 @@ module Blacklight::ConfigurationHelperBehavior
|
|
202
92
|
end
|
203
93
|
|
204
94
|
##
|
205
|
-
# The default value for search results per page
|
206
|
-
delegate :default_per_page, to: :blacklight_config
|
207
|
-
deprecation_deprecate default_per_page: "Use blacklight_config.default_per_page instead"
|
208
|
-
|
209
|
-
##
|
210
|
-
# @deprecated
|
211
95
|
# The available options for results per page, in the style of #options_for_select
|
212
96
|
def per_page_options_for_select
|
213
97
|
return [] if blacklight_config.per_page.blank?
|
@@ -216,7 +100,6 @@ module Blacklight::ConfigurationHelperBehavior
|
|
216
100
|
[t(:'blacklight.search.per_page.label', count: count).html_safe, count]
|
217
101
|
end
|
218
102
|
end
|
219
|
-
deprecation_deprecate per_page_options_for_select: 'has moved to Blacklight::Search::PerPageComponent'
|
220
103
|
|
221
104
|
##
|
222
105
|
# Determine whether to render a field by evaluating :if and :unless conditions
|
@@ -1,309 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Blacklight::FacetsHelperBehavior
|
3
|
-
extend Deprecation
|
4
|
-
self.deprecation_horizon = 'blacklight 8.0'
|
5
|
-
|
6
|
-
include Blacklight::Facet
|
7
|
-
|
8
|
-
##
|
9
|
-
# Check if any of the given fields have values
|
10
|
-
#
|
11
|
-
# @deprecated
|
12
|
-
# @param [Array<String>] fields
|
13
|
-
# @return [Boolean]
|
14
|
-
def has_facet_values? fields = facet_field_names, response = nil
|
15
|
-
deprecated_method(:has_facet_values?)
|
16
|
-
unless response
|
17
|
-
Deprecation.warn(self, 'Calling has_facet_values? without passing the ' \
|
18
|
-
'second argument (response) is deprecated and will be removed in Blacklight ' \
|
19
|
-
'8.0.0')
|
20
|
-
response = @response
|
21
|
-
end
|
22
|
-
Deprecation.silence(Blacklight::FacetsHelperBehavior) do
|
23
|
-
Deprecation.silence(Blacklight::Facet) do
|
24
|
-
facets_from_request(fields, response).any? { |display_facet| should_render_facet?(display_facet) }
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
##
|
30
|
-
# Render a collection of facet fields.
|
31
|
-
# @see #render_facet_limit
|
32
|
-
#
|
33
|
-
# @deprecated
|
34
|
-
# @param [Array<String>] fields
|
35
|
-
# @param [Hash] options
|
36
|
-
# @option options [Blacklight::Solr::Response] :response the Solr response object
|
37
|
-
# @return String
|
38
|
-
def render_facet_partials fields = nil, options = {}
|
39
|
-
deprecated_method(:render_facet_partials)
|
40
|
-
|
41
|
-
unless fields
|
42
|
-
Deprecation.warn(self.class, 'Calling render_facet_partials without passing the ' \
|
43
|
-
'first argument (fields) is deprecated and will be removed in Blacklight ' \
|
44
|
-
'8.0.0')
|
45
|
-
fields = facet_field_names
|
46
|
-
end
|
47
|
-
|
48
|
-
response = options.delete(:response)
|
49
|
-
unless response
|
50
|
-
Deprecation.warn(self.class, 'Calling render_facet_partials without passing the ' \
|
51
|
-
'response keyword is deprecated and will be removed in Blacklight ' \
|
52
|
-
'8.0.0')
|
53
|
-
response = @response
|
54
|
-
end
|
55
|
-
Deprecation.silence(Blacklight::FacetsHelperBehavior) do
|
56
|
-
Deprecation.silence(Blacklight::Facet) do
|
57
|
-
safe_join(facets_from_request(fields, response).map do |display_facet|
|
58
|
-
render_facet_limit(display_facet, options)
|
59
|
-
end.compact, "\n")
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
##
|
65
|
-
# Renders a single section for facet limit with a specified
|
66
|
-
# solr field used for faceting. Can be over-ridden for custom
|
67
|
-
# display on a per-facet basis.
|
68
|
-
#
|
69
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] display_facet
|
70
|
-
# @param [Hash] options parameters to use for rendering the facet limit partial
|
71
|
-
# @option options [String] :partial partial to render
|
72
|
-
# @option options [String] :layout partial layout to render
|
73
|
-
# @option options [Hash] :locals locals to pass to the partial
|
74
|
-
# @return [String]
|
75
|
-
def render_facet_limit(display_facet, options = {})
|
76
|
-
field_config = facet_configuration_for_field(display_facet.name)
|
77
|
-
|
78
|
-
if field_config.component
|
79
|
-
return render(
|
80
|
-
Blacklight::FacetComponent.new(
|
81
|
-
display_facet: display_facet,
|
82
|
-
field_config: field_config,
|
83
|
-
layout: (params[:action] == 'facet' ? false : options[:layout])
|
84
|
-
)
|
85
|
-
)
|
86
|
-
end
|
87
|
-
|
88
|
-
Deprecation.warn(Blacklight::FacetsHelperBehavior, 'Calling #render_facet_limit on a non-componentized'\
|
89
|
-
' facet is deprecated and will be removed in Blacklight 8')
|
90
|
-
|
91
|
-
Deprecation.silence(Blacklight::FacetsHelperBehavior) do
|
92
|
-
return unless should_render_facet?(display_facet, field_config)
|
93
|
-
end
|
94
|
-
options = options.dup
|
95
|
-
|
96
|
-
Deprecation.silence(Blacklight::FacetsHelperBehavior) do
|
97
|
-
options[:partial] ||= facet_partial_name(display_facet)
|
98
|
-
end
|
99
|
-
|
100
|
-
options[:layout] ||= "facet_layout" unless options.key?(:layout)
|
101
|
-
options[:locals] ||= {}
|
102
|
-
options[:locals][:field_name] ||= display_facet.name
|
103
|
-
options[:locals][:facet_field] ||= field_config
|
104
|
-
options[:locals][:display_facet] ||= display_facet
|
105
|
-
|
106
|
-
render(options)
|
107
|
-
end
|
108
|
-
|
109
|
-
##
|
110
|
-
# Renders the list of values
|
111
|
-
# removes any elements where render_facet_item returns a nil value. This enables an application
|
112
|
-
# to filter undesireable facet items so they don't appear in the UI
|
113
|
-
# @deprecated
|
114
|
-
def render_facet_limit_list(paginator, facet_field, wrapping_element = :li)
|
115
|
-
facet_config ||= facet_configuration_for_field(facet_field)
|
116
|
-
|
117
|
-
collection = paginator.items.map do |item|
|
118
|
-
facet_item_presenter(facet_config, item, facet_field)
|
119
|
-
end
|
120
|
-
|
121
|
-
render(facet_item_component_class(facet_config).with_collection(collection, wrapping_element: wrapping_element))
|
122
|
-
end
|
123
|
-
deprecation_deprecate :render_facet_limit_list
|
124
|
-
|
125
|
-
##
|
126
|
-
# Renders a single facet item
|
127
|
-
# @deprecated
|
128
|
-
def render_facet_item(facet_field, item)
|
129
|
-
deprecated_method(:render_facet_item)
|
130
|
-
if facet_in_params?(facet_field, item.value)
|
131
|
-
render_selected_facet_value(facet_field, item)
|
132
|
-
else
|
133
|
-
render_facet_value(facet_field, item)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
##
|
138
|
-
# Determine if Blacklight should render the display_facet or not
|
139
|
-
#
|
140
|
-
# By default, only render facets with items.
|
141
|
-
#
|
142
|
-
# @deprecated
|
143
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] display_facet
|
144
|
-
# @param [Blacklight::Configuration::FacetField] facet_config
|
145
|
-
# @return [Boolean]
|
146
|
-
def should_render_facet? display_facet, facet_config = nil
|
147
|
-
return false if display_facet.items.blank?
|
148
|
-
|
149
|
-
# display when show is nil or true
|
150
|
-
facet_config ||= facet_configuration_for_field(display_facet.name)
|
151
|
-
should_render_field?(facet_config, display_facet)
|
152
|
-
end
|
153
|
-
deprecation_deprecate :should_render_facet?
|
154
2
|
|
155
|
-
|
156
|
-
|
157
|
-
# - if the facet is 'active', don't collapse
|
158
|
-
# - if the facet is configured to collapse (the default), collapse
|
159
|
-
# - if the facet is configured not to collapse, don't collapse
|
160
|
-
#
|
161
|
-
# @deprecated
|
162
|
-
# @param [Blacklight::Configuration::FacetField] facet_field
|
163
|
-
# @return [Boolean]
|
164
|
-
def should_collapse_facet? facet_field
|
165
|
-
Deprecation.silence(Blacklight::FacetsHelperBehavior) do
|
166
|
-
!facet_field_in_params?(facet_field.key) && facet_field.collapse
|
167
|
-
end
|
168
|
-
end
|
169
|
-
deprecation_deprecate :should_collapse_facet?
|
170
|
-
|
171
|
-
##
|
172
|
-
# The name of the partial to use to render a facet field.
|
173
|
-
# uses the value of the "partial" field if set in the facet configuration
|
174
|
-
# otherwise uses "facet_pivot" if this facet is a pivot facet
|
175
|
-
# defaults to 'facet_limit'
|
176
|
-
#
|
177
|
-
# @return [String]
|
178
|
-
def facet_partial_name(display_facet = nil)
|
179
|
-
config = facet_configuration_for_field(display_facet.name)
|
180
|
-
name = config.partial
|
181
|
-
name ||= "facet_pivot" if config.pivot
|
182
|
-
name || "facet_limit"
|
183
|
-
end
|
184
|
-
deprecation_deprecate :facet_partial_name
|
3
|
+
module Blacklight::FacetsHelperBehavior
|
4
|
+
delegate :facet_configuration_for_field, to: :blacklight_config
|
185
5
|
|
186
6
|
def facet_field_presenter(facet_config, display_facet)
|
187
|
-
|
188
|
-
end
|
189
|
-
|
190
|
-
##
|
191
|
-
# Standard display of a facet value in a list. Used in both _facets sidebar
|
192
|
-
# partial and catalog/facet expanded list. Will output facet value name as
|
193
|
-
# a link to add that to your restrictions, with count in parens.
|
194
|
-
#
|
195
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
196
|
-
# @param [Blacklight::Solr::Response::Facets::FacetItem] item
|
197
|
-
# @param [Hash] options
|
198
|
-
# @option options [Boolean] :suppress_link display the facet, but don't link to it
|
199
|
-
# @return [String]
|
200
|
-
def render_facet_value(facet_field, item, options = {})
|
201
|
-
deprecated_method(:render_facet_value)
|
202
|
-
facet_config = facet_configuration_for_field(facet_field)
|
203
|
-
facet_item_component(facet_config, item, facet_field, **options).render_facet_value
|
204
|
-
end
|
205
|
-
|
206
|
-
##
|
207
|
-
# Where should this facet link to?
|
208
|
-
#
|
209
|
-
# @deprecated
|
210
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
211
|
-
# @param [String] item
|
212
|
-
# @return [String]
|
213
|
-
def path_for_facet(facet_field, item, path_options = {})
|
214
|
-
facet_config = facet_configuration_for_field(facet_field)
|
215
|
-
facet_item_presenter(facet_config, item, facet_field).href(path_options)
|
216
|
-
end
|
217
|
-
deprecation_deprecate :path_for_facet
|
218
|
-
|
219
|
-
##
|
220
|
-
# Standard display of a SELECTED facet value (e.g. without a link and with a remove button)
|
221
|
-
#
|
222
|
-
# @deprecated
|
223
|
-
# @see #render_facet_value
|
224
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
225
|
-
# @param [String] item
|
226
|
-
def render_selected_facet_value(facet_field, item)
|
227
|
-
deprecated_method(:render_selected_facet_value)
|
228
|
-
facet_config = facet_configuration_for_field(facet_field)
|
229
|
-
facet_item_component(facet_config, item, facet_field).render_selected_facet_value
|
230
|
-
end
|
231
|
-
|
232
|
-
##
|
233
|
-
# Renders a count value for facet limits. Can be over-ridden locally
|
234
|
-
# to change style. And can be called by plugins to get consistent display.
|
235
|
-
#
|
236
|
-
# @deprecated
|
237
|
-
# @param [Integer] num number of facet results
|
238
|
-
# @param [Hash] options
|
239
|
-
# @option options [Array<String>] an array of classes to add to count span.
|
240
|
-
# @return [String]
|
241
|
-
def render_facet_count(num, options = {})
|
242
|
-
deprecated_method(:render_facet_count)
|
243
|
-
classes = (options[:classes] || []) << "facet-count"
|
244
|
-
tag.span(t('blacklight.search.facets.count', number: number_with_delimiter(num)), class: classes)
|
245
|
-
end
|
246
|
-
|
247
|
-
##
|
248
|
-
# Are any facet restrictions for a field in the query parameters?
|
249
|
-
# @private
|
250
|
-
# @param [String] field
|
251
|
-
# @return [Boolean]
|
252
|
-
def facet_field_in_params? field
|
253
|
-
config = facet_configuration_for_field(field)
|
254
|
-
|
255
|
-
Deprecation.silence(Blacklight::SearchState) do
|
256
|
-
search_state.has_facet? config
|
257
|
-
end
|
7
|
+
facet_config.presenter.new(facet_config, display_facet, self)
|
258
8
|
end
|
259
|
-
# Left undeprecated for the sake of temporary backwards compatibility
|
260
|
-
# deprecation_deprecate :facet_field_in_params?
|
261
|
-
|
262
|
-
##
|
263
|
-
# Check if the query parameters have the given facet field with the
|
264
|
-
# given value.
|
265
|
-
#
|
266
|
-
# @deprecated
|
267
|
-
# @param [String] field
|
268
|
-
# @param [String] item facet value
|
269
|
-
# @return [Boolean]
|
270
|
-
def facet_in_params?(field, item)
|
271
|
-
config = facet_configuration_for_field(field)
|
272
|
-
|
273
|
-
Deprecation.silence(Blacklight::SearchState) do
|
274
|
-
search_state.has_facet? config, value: facet_value_for_facet_item(item)
|
275
|
-
end
|
276
|
-
end
|
277
|
-
deprecation_deprecate :facet_in_params?
|
278
|
-
|
279
|
-
##
|
280
|
-
# Get the values of the facet set in the blacklight query string
|
281
|
-
# @deprecated
|
282
|
-
def facet_params field
|
283
|
-
config = facet_configuration_for_field(field)
|
284
|
-
|
285
|
-
search_state.params.dig(:f, config.key)
|
286
|
-
end
|
287
|
-
deprecation_deprecate :facet_params
|
288
|
-
|
289
|
-
##
|
290
|
-
# Get the displayable version of a facet's value
|
291
|
-
#
|
292
|
-
# @param [Object] field
|
293
|
-
# @param [String] item value
|
294
|
-
# @return [String]
|
295
|
-
# @deprecated
|
296
|
-
def facet_display_value field, item
|
297
|
-
deprecated_method(:facet_display_value)
|
298
|
-
facet_config = facet_configuration_for_field(field)
|
299
|
-
facet_item_presenter(facet_config, item, field).label
|
300
|
-
end
|
301
|
-
|
302
|
-
# @deprecated
|
303
|
-
def facet_field_id facet_field
|
304
|
-
"facet-#{facet_field.key.parameterize}"
|
305
|
-
end
|
306
|
-
deprecation_deprecate :facet_field_id
|
307
9
|
|
308
10
|
private
|
309
11
|
|
@@ -316,25 +18,6 @@ module Blacklight::FacetsHelperBehavior
|
|
316
18
|
end
|
317
19
|
|
318
20
|
def facet_item_presenter(facet_config, facet_item, facet_field)
|
319
|
-
|
320
|
-
end
|
321
|
-
|
322
|
-
def facet_item_component(facet_config, facet_item, facet_field, **args)
|
323
|
-
facet_item_component_class(facet_config).new(facet_item: facet_item_presenter(facet_config, facet_item, facet_field), **args).with_view_context(self)
|
324
|
-
end
|
325
|
-
|
326
|
-
def facet_item_component_class(facet_config)
|
327
|
-
default_component = facet_config.pivot ? Blacklight::FacetItemPivotComponent : Blacklight::FacetItemComponent
|
328
|
-
facet_config.fetch(:item_component, default_component)
|
329
|
-
end
|
330
|
-
|
331
|
-
# We can't use .deprecation_deprecate here, because the new components need to
|
332
|
-
# see the originally defined location for these methods in order to properly
|
333
|
-
# call back into the helpers for backwards compatibility
|
334
|
-
def deprecated_method(method_name)
|
335
|
-
Deprecation.warn(Blacklight::FacetsHelperBehavior,
|
336
|
-
Deprecation.deprecated_method_warning(Blacklight::FacetsHelperBehavior,
|
337
|
-
method_name, {}),
|
338
|
-
caller)
|
21
|
+
facet_config.item_presenter.new(facet_item, facet_config, self, facet_field)
|
339
22
|
end
|
340
23
|
end
|
@@ -10,14 +10,12 @@ module Blacklight::IconHelperBehavior
|
|
10
10
|
# @param [String, Symbol] icon_name
|
11
11
|
# @return [String]
|
12
12
|
def blacklight_icon(icon_name, **kwargs)
|
13
|
-
return render(icon_name.new) if icon_name.is_a?(Class)
|
14
|
-
return render(icon_name) if icon_name.is_a?(ViewComponent::Base)
|
15
|
-
|
16
13
|
render "Blacklight::Icons::#{icon_name.to_s.camelize}Component".constantize.new(**kwargs)
|
17
14
|
rescue NameError
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
Blacklight.deprecation.warn(
|
16
|
+
"Falling back on the LegacyIconComponent with \"#{icon_name}\" is deprecated. Instead create the component `Blacklight::Icons::#{icon_name.to_s.camelize}Component` for this icon."
|
17
|
+
)
|
18
|
+
|
19
|
+
render Blacklight::Icons::LegacyIconComponent.new(name: icon_name, **kwargs)
|
22
20
|
end
|
23
21
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Methods added to this helper will be available to all templates in the hosting
|
3
4
|
# application
|
4
5
|
module Blacklight
|
@@ -40,11 +41,11 @@ module Blacklight
|
|
40
41
|
end
|
41
42
|
|
42
43
|
##
|
43
|
-
# Class used for specifying main layout container classes.
|
44
|
-
#
|
44
|
+
# Class used for specifying main layout container classes. Can be
|
45
|
+
# overwritten to return 'container-fluid' for Bootstrap full-width layout
|
45
46
|
# @return [String]
|
46
47
|
def container_classes
|
47
|
-
|
48
|
+
'container'
|
48
49
|
end
|
49
50
|
end
|
50
51
|
end
|
@@ -1,28 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Blacklight::RenderPartialsHelperBehavior
|
3
|
-
extend Deprecation
|
4
2
|
|
3
|
+
module Blacklight::RenderPartialsHelperBehavior
|
5
4
|
##
|
6
5
|
# Render the document index view
|
7
6
|
#
|
8
7
|
# @param [Array<SolrDocument>] documents list of documents to render
|
9
8
|
# @param [Hash] locals to pass to the render call
|
10
9
|
# @return [String]
|
11
|
-
def render_document_index documents
|
12
|
-
unless documents
|
13
|
-
Deprecation.warn(self, "Calling render_document_index without documents is deprecated and will be removed in version 8")
|
14
|
-
documents = @response.documents
|
15
|
-
end
|
10
|
+
def render_document_index documents, locals = {}
|
16
11
|
render_document_index_with_view(document_index_view_type, documents, locals)
|
17
12
|
end
|
18
13
|
|
19
|
-
##
|
20
|
-
# Render the document index for a grouped response
|
21
|
-
def render_grouped_document_index
|
22
|
-
render 'catalog/group'
|
23
|
-
end
|
24
|
-
deprecation_deprecate render_grouped_document_index: 'Removed without replacement'
|
25
|
-
|
26
14
|
##
|
27
15
|
# Return the list of partials for a given solr document
|
28
16
|
# @param [SolrDocument] doc solr document to render partials for
|
@@ -34,6 +22,8 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
34
22
|
render_document_partial(doc, action_name, locals)
|
35
23
|
end, "\n")
|
36
24
|
end
|
25
|
+
Blacklight.deprecation.deprecate_methods(self, render_document_partials: 'Replace this call with: "document_component = blacklight_config.view_config(:atom).summary_component
|
26
|
+
render document_component.new(presenter: document_presenter(document), component: :div, show: true)"')
|
37
27
|
|
38
28
|
##
|
39
29
|
# Return the list of xml for a given solr document. Doesn't safely escape for HTML.
|
@@ -60,7 +50,7 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
60
50
|
# @param [String] base_name base name for the partial
|
61
51
|
# @param [Hash] locals local variables to pass through to the partials
|
62
52
|
def render_document_partial(doc, base_name, locals = {})
|
63
|
-
format =
|
53
|
+
format = document_partial_name(doc, base_name)
|
64
54
|
|
65
55
|
view_type = document_index_view_type
|
66
56
|
template = cached_view ['show', view_type, base_name, format].join('_') do
|
@@ -69,7 +59,6 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
69
59
|
if template
|
70
60
|
template.render(self, locals.merge(document: doc))
|
71
61
|
else
|
72
|
-
logger.warn("No template was found for base_name: '#{base_name}', view_type: '#{view_type}' in render_document_partial")
|
73
62
|
''
|
74
63
|
end
|
75
64
|
end
|
@@ -119,6 +108,8 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
119
108
|
]
|
120
109
|
end
|
121
110
|
|
111
|
+
private
|
112
|
+
|
122
113
|
##
|
123
114
|
# Return a normalized partial name for rendering a single document
|
124
115
|
#
|
@@ -131,9 +122,6 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
131
122
|
|
132
123
|
type_field_to_partial_name(document, display_type)
|
133
124
|
end
|
134
|
-
deprecation_deprecate document_partial_name: 'Moving to a private method'
|
135
|
-
|
136
|
-
private
|
137
125
|
|
138
126
|
##
|
139
127
|
# Return a partial name for rendering a document
|
@@ -191,21 +179,13 @@ module Blacklight::RenderPartialsHelperBehavior
|
|
191
179
|
def find_document_index_template_with_view view_type, locals
|
192
180
|
document_index_path_templates.each do |str|
|
193
181
|
partial = format(str, index_view_type: view_type)
|
182
|
+
name = partial.split('/').last
|
183
|
+
prefix = partial.split('/').first if partial.include?('/')
|
194
184
|
logger&.debug "Looking for document index partial #{partial}"
|
195
|
-
|
196
|
-
template =
|
197
|
-
name = partial.split('/').last
|
198
|
-
prefix = partial.split('/').first if partial.include?('/')
|
199
|
-
|
200
|
-
prefixes = lookup_context.prefixes + [prefix, ""].compact
|
201
|
-
lookup_context.find_all(name, prefixes, true, locals.keys + [:documents], {}).first
|
202
|
-
else
|
203
|
-
lookup_context.find_all(partial, lookup_context.prefixes + [""], true, locals.keys + [:documents], {}).first
|
204
|
-
end
|
205
|
-
|
185
|
+
prefixes = lookup_context.prefixes + [prefix, ""].compact
|
186
|
+
template = lookup_context.find_all(name, prefixes, true, locals.keys + [:documents], {}).first
|
206
187
|
return template if template
|
207
188
|
end
|
208
|
-
|
209
189
|
nil
|
210
190
|
end
|
211
191
|
|