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
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Blacklight
|
4
|
+
module Assets
|
5
|
+
class ImportmapGenerator < Rails::Generators::Base
|
6
|
+
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.1'), desc: "Set the generated app's bootstrap version"
|
7
|
+
|
8
|
+
# This could be skipped if you want to use webpacker
|
9
|
+
def add_javascript_dependencies
|
10
|
+
gem 'bootstrap', options[:'bootstrap-version'].presence # in rails 7, only for stylesheets
|
11
|
+
gem 'jquery-rails' if bootstrap_4? # Bootstrap 4 has a dependency on jquery
|
12
|
+
end
|
13
|
+
|
14
|
+
def import_javascript_assets
|
15
|
+
append_to_file 'config/importmap.rb' do
|
16
|
+
<<~CONTENT
|
17
|
+
pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.6/dist/umd/popper.min.js"
|
18
|
+
pin "bootstrap", to: "https://ga.jspm.io/npm:bootstrap@#{(defined?(Bootstrap) && Bootstrap::VERSION) || '5.2.2'}/dist/js/bootstrap.js"
|
19
|
+
pin "blacklight", to: "blacklight/blacklight.js"
|
20
|
+
pin "dialog-polyfill", to: "https://ga.jspm.io/npm:dialog-polyfill@0.5.6/dist/dialog-polyfill.js"
|
21
|
+
CONTENT
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def append_blacklight_javascript
|
26
|
+
append_to_file 'app/javascript/application.js' do
|
27
|
+
<<~CONTENT
|
28
|
+
import bootstrap from "bootstrap"
|
29
|
+
import "blacklight"
|
30
|
+
import dialogPolyfill from "dialog-polyfill"
|
31
|
+
Blacklight.onLoad(() => {
|
32
|
+
const dialog = document.querySelector('dialog')
|
33
|
+
dialogPolyfill.registerDialog(dialog)
|
34
|
+
})
|
35
|
+
CONTENT
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def add_stylesheet
|
40
|
+
gem "sassc-rails", "~> 2.1" if Rails.version > '7'
|
41
|
+
|
42
|
+
create_file 'app/assets/stylesheets/blacklight.scss' do
|
43
|
+
<<~CONTENT
|
44
|
+
@import 'bootstrap';
|
45
|
+
@import 'blacklight/blacklight';
|
46
|
+
CONTENT
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def bootstrap_4?
|
51
|
+
options[:'bootstrap-version'].match?(/\A[^0-9]*4\./)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Blacklight
|
4
|
+
module Assets
|
5
|
+
class PropshaftGenerator < Rails::Generators::Base
|
6
|
+
def add_package
|
7
|
+
run 'yarn add blacklight-frontend'
|
8
|
+
end
|
9
|
+
|
10
|
+
def add_package_assets
|
11
|
+
append_to_file 'app/assets/stylesheets/application.bootstrap.scss' do
|
12
|
+
<<~CONTENT
|
13
|
+
@import "blacklight-frontend/app/assets/stylesheets/blacklight/blacklight";
|
14
|
+
CONTENT
|
15
|
+
end
|
16
|
+
|
17
|
+
append_to_file 'app/javascript/application.js' do
|
18
|
+
<<~CONTENT
|
19
|
+
import Blacklight from "blacklight-frontend/app/assets/javascripts/blacklight/blacklight.esm";
|
20
|
+
CONTENT
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Blacklight
|
4
|
+
module Assets
|
5
|
+
class SprocketsGenerator < Rails::Generators::Base
|
6
|
+
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.1'), desc: "Set the generated app's bootstrap version"
|
7
|
+
|
8
|
+
# This could be skipped if you want to use webpacker
|
9
|
+
def add_javascript_dependencies
|
10
|
+
gem 'bootstrap', options[:'bootstrap-version'].presence
|
11
|
+
gem 'jquery-rails' if bootstrap_4? # Bootstrap 4 has a dependency on jquery
|
12
|
+
end
|
13
|
+
|
14
|
+
##
|
15
|
+
# Remove the empty generated app/assets/images directory. Without doing this,
|
16
|
+
# the default Sprockets 4 manifest will raise an exception.
|
17
|
+
def appease_sprockets4
|
18
|
+
return if Rails.version > '7' || Sprockets::VERSION < '4'
|
19
|
+
|
20
|
+
append_to_file 'app/assets/config/manifest.js', "\n//= link application.js"
|
21
|
+
empty_directory 'app/assets/images'
|
22
|
+
end
|
23
|
+
|
24
|
+
def assets
|
25
|
+
create_file 'app/assets/stylesheets/blacklight.scss' do
|
26
|
+
<<~CONTENT
|
27
|
+
@import 'bootstrap';
|
28
|
+
@import 'blacklight/blacklight';
|
29
|
+
CONTENT
|
30
|
+
end
|
31
|
+
|
32
|
+
gem "sassc-rails", "~> 2.1" if Rails.version > '7'
|
33
|
+
|
34
|
+
# Ensure this method is idempotent
|
35
|
+
return if has_blacklight_assets?
|
36
|
+
|
37
|
+
create_file 'app/assets/javascripts/application.js' do
|
38
|
+
<<~CONTENT
|
39
|
+
//= require rails-ujs
|
40
|
+
#{'//= require jquery3' if bootstrap_4?}
|
41
|
+
|
42
|
+
// Required by Blacklight
|
43
|
+
//= require popper
|
44
|
+
//= require bootstrap
|
45
|
+
CONTENT
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def bootstrap_4?
|
52
|
+
options[:'bootstrap-version'].match?(/\A[^0-9]*4\./)
|
53
|
+
end
|
54
|
+
|
55
|
+
def has_blacklight_assets?
|
56
|
+
application_js.include?('blacklight/blacklight')
|
57
|
+
end
|
58
|
+
|
59
|
+
def application_js
|
60
|
+
path = File.expand_path("app/assets/javascripts/application.js", destination_root)
|
61
|
+
|
62
|
+
File.exist?(path) ? File.read(path) : ''
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -1,94 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
module Blacklight
|
3
|
-
class Assets < Rails::Generators::Base
|
4
|
-
source_root File.expand_path('../templates', __FILE__)
|
5
|
-
|
6
|
-
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 4.0'), desc: "Set the generated app's bootstrap version"
|
7
|
-
|
8
|
-
# This could be skipped if you want to use webpacker
|
9
|
-
def add_javascript_dependencies
|
10
|
-
gem 'bootstrap', options[:'bootstrap-version']
|
11
|
-
gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript'
|
12
|
-
end
|
13
|
-
|
14
|
-
def appease_rails7
|
15
|
-
return unless Rails.version > '7'
|
16
|
-
|
17
|
-
gem "sassc-rails", "~> 2.1"
|
18
|
-
end
|
19
|
-
|
20
|
-
# Add sprockets javascript if needed
|
21
|
-
def create_sprockets_javascript
|
22
|
-
create_file 'app/assets/javascripts/application.js' do
|
23
|
-
<<~CONTENT
|
24
|
-
//= require jquery3
|
25
|
-
//= require rails-ujs
|
26
|
-
#{'//= require turbolinks' if Rails.version < '7'}
|
27
|
-
CONTENT
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
##
|
32
|
-
# Remove the empty generated app/assets/images directory. Without doing this,
|
33
|
-
# the default Sprockets 4 manifest will raise an exception.
|
34
|
-
def appease_sprockets4
|
35
|
-
return if !defined?(Sprockets::VERSION) || Sprockets::VERSION < '4' || using_importmap?
|
36
|
-
|
37
|
-
append_to_file 'app/assets/config/manifest.js', "\n//= link application.js\n"
|
38
|
-
empty_directory 'app/assets/images'
|
39
|
-
end
|
40
|
-
|
41
|
-
def assets
|
42
|
-
copy_file "blacklight.scss", "app/assets/stylesheets/blacklight.scss"
|
43
|
-
|
44
|
-
# Ensure this method is idempotent
|
45
|
-
return if has_blacklight_assets?
|
46
2
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
contents += "// Twitter Typeahead for autocomplete\n"
|
51
|
-
contents += "//= require twitter/typeahead\n"
|
52
|
-
contents += "//= require bootstrap\n"
|
53
|
-
contents += "//= require blacklight/blacklight\n"
|
54
|
-
|
55
|
-
marker = if turbolinks?
|
56
|
-
'//= require turbolinks'
|
57
|
-
else
|
58
|
-
'//= require rails-ujs'
|
59
|
-
end
|
60
|
-
|
61
|
-
insert_into_file "app/assets/javascripts/application.js", after: marker do
|
62
|
-
contents
|
63
|
-
end
|
64
|
-
|
65
|
-
insert_into_file "app/assets/javascripts/application.js", before: '//= require rails-ujs' do
|
66
|
-
"//= require jquery3\n"
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
private
|
71
|
-
|
72
|
-
def root
|
73
|
-
@root ||= Pathname(destination_root)
|
74
|
-
end
|
75
|
-
|
76
|
-
def using_importmap?
|
77
|
-
@using_importmap ||= root.join('config/importmap.rb').exist?
|
78
|
-
end
|
79
|
-
|
80
|
-
def turbolinks?
|
81
|
-
@turbolinks ||= application_js.include?('turbolinks')
|
82
|
-
end
|
3
|
+
module Blacklight
|
4
|
+
class AssetsGenerator < Rails::Generators::Base
|
5
|
+
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.1'), desc: "Set the generated app's bootstrap version"
|
83
6
|
|
84
|
-
def
|
85
|
-
|
86
|
-
end
|
7
|
+
def run_asset_pipeline_specific_generator
|
8
|
+
generated_options = "--bootstrap-version='#{options[:'bootstrap-version']}'" if options[:'bootstrap-version']
|
87
9
|
|
88
|
-
|
89
|
-
|
10
|
+
generator = if defined?(Propshaft)
|
11
|
+
'blacklight:assets:propshaft'
|
12
|
+
elsif defined?(Importmap)
|
13
|
+
'blacklight:assets:importmap'
|
14
|
+
elsif defined?(Sprockets)
|
15
|
+
'blacklight:assets:sprockets'
|
16
|
+
end
|
90
17
|
|
91
|
-
|
18
|
+
generate generator, generated_options if generator
|
92
19
|
end
|
93
20
|
end
|
94
21
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Blacklight
|
3
4
|
class ControllerGenerator < Rails::Generators::Base
|
4
5
|
source_root File.expand_path('../templates', __FILE__)
|
@@ -16,8 +17,8 @@ module Blacklight
|
|
16
17
|
def inject_blacklight_controller_behavior
|
17
18
|
inject_into_class "app/controllers/application_controller.rb", "ApplicationController" do
|
18
19
|
" # Adds a few additional behaviors into the application controller\n" \
|
19
|
-
|
20
|
-
|
20
|
+
" include Blacklight::Controller\n" \
|
21
|
+
" layout :determine_layout if respond_to? :layout\n\n"
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
@@ -30,7 +31,7 @@ module Blacklight
|
|
30
31
|
route <<-EOF
|
31
32
|
concern :searchable, Blacklight::Routes::Searchable.new
|
32
33
|
|
33
|
-
resource :catalog, only: [], as: 'catalog', path: '/catalog', controller: 'catalog' do
|
34
|
+
resource :catalog, only: [:index], as: 'catalog', path: '/catalog', controller: 'catalog' do
|
34
35
|
concerns :searchable
|
35
36
|
end
|
36
37
|
EOF
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Blacklight
|
3
4
|
class Install < Rails::Generators::Base
|
4
5
|
source_root File.expand_path('../templates', __FILE__)
|
@@ -11,7 +12,7 @@ module Blacklight
|
|
11
12
|
class_option :devise, type: :boolean, default: false, aliases: "-d", desc: "Use Devise as authentication logic."
|
12
13
|
class_option :marc, type: :boolean, default: false, aliases: "-m", desc: "Generate MARC-based demo."
|
13
14
|
class_option :'bootstrap-version', type: :string, default: nil, desc: "Set the generated app's bootstrap version"
|
14
|
-
class_option :'skip-assets', type: :boolean, default:
|
15
|
+
class_option :'skip-assets', type: :boolean, default: false, desc: "Skip generating javascript and css assets into the application"
|
15
16
|
class_option :'skip-solr', type: :boolean, default: false, desc: "Skip generating solr configurations."
|
16
17
|
|
17
18
|
desc <<-EOS
|
@@ -41,7 +42,7 @@ module Blacklight
|
|
41
42
|
|
42
43
|
def bundle_install
|
43
44
|
inside destination_root do
|
44
|
-
Bundler.
|
45
|
+
Bundler.with_unbundled_env do
|
45
46
|
run "bundle install"
|
46
47
|
end
|
47
48
|
end
|
@@ -84,7 +85,7 @@ module Blacklight
|
|
84
85
|
return unless options[:marc]
|
85
86
|
|
86
87
|
blacklight_marc = String.new('blacklight-marc')
|
87
|
-
gem blacklight_marc, '
|
88
|
+
gem blacklight_marc, '~> 8.0'
|
88
89
|
|
89
90
|
bundle_install
|
90
91
|
|
@@ -5,7 +5,16 @@ class <%= controller_name.classify %>Controller < ApplicationController
|
|
5
5
|
|
6
6
|
include Blacklight::Catalog
|
7
7
|
|
8
|
+
# If you'd like to handle errors returned by Solr in a certain way,
|
9
|
+
# you can use Rails rescue_from with a method you define in this controller,
|
10
|
+
# uncomment:
|
11
|
+
#
|
12
|
+
# rescue_from Blacklight::Exceptions::InvalidRequest, with: :my_handling_method
|
13
|
+
|
8
14
|
configure_blacklight do |config|
|
15
|
+
## Specify the style of markup to be generated (may be 4 or 5)
|
16
|
+
# config.bootstrap_version = 5
|
17
|
+
#
|
9
18
|
## Class for sending and receiving requests from a search index
|
10
19
|
# config.repository_class = Blacklight::Solr::Repository
|
11
20
|
#
|
@@ -29,23 +38,32 @@ class <%= controller_name.classify %>Controller < ApplicationController
|
|
29
38
|
# solr path which will be added to solr base url before the other solr params.
|
30
39
|
#config.solr_path = 'select'
|
31
40
|
#config.document_solr_path = 'get'
|
32
|
-
#config.json_solr_path = 'advanced'
|
33
41
|
|
34
42
|
# items to show per page, each number in the array represent another option to choose from.
|
35
43
|
#config.per_page = [10,20,50,100]
|
36
44
|
|
37
45
|
# solr field configuration for search results/index views
|
38
46
|
config.index.title_field = 'title_tsim'
|
39
|
-
#config.index.display_type_field = 'format'
|
40
|
-
#config.index.thumbnail_field = 'thumbnail_path_ss'
|
47
|
+
# config.index.display_type_field = 'format'
|
48
|
+
# config.index.thumbnail_field = 'thumbnail_path_ss'
|
49
|
+
|
50
|
+
# The presenter is the view-model class for the page
|
51
|
+
# config.index.document_presenter_class = MyApp::IndexPresenter
|
41
52
|
|
42
|
-
|
53
|
+
# Some components can be configured
|
54
|
+
# config.index.document_component = MyApp::SearchResultComponent
|
55
|
+
# config.index.constraints_component = MyApp::ConstraintsComponent
|
56
|
+
# config.index.search_bar_component = MyApp::SearchBarComponent
|
57
|
+
# config.index.search_header_component = MyApp::SearchHeaderComponent
|
58
|
+
# config.index.document_actions.delete(:bookmark)
|
59
|
+
|
60
|
+
config.add_results_document_tool(:bookmark, component: Blacklight::Document::BookmarkComponent, if: :render_bookmarks_control?)
|
43
61
|
|
44
62
|
config.add_results_collection_tool(:sort_widget)
|
45
63
|
config.add_results_collection_tool(:per_page_widget)
|
46
64
|
config.add_results_collection_tool(:view_type_group)
|
47
65
|
|
48
|
-
config.add_show_tools_partial(:bookmark,
|
66
|
+
config.add_show_tools_partial(:bookmark, component: Blacklight::Document::BookmarkComponent, if: :render_bookmarks_control?)
|
49
67
|
config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
|
50
68
|
config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
|
51
69
|
config.add_show_tools_partial(:citation)
|
@@ -54,9 +72,17 @@ class <%= controller_name.classify %>Controller < ApplicationController
|
|
54
72
|
config.add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
|
55
73
|
|
56
74
|
# solr field configuration for document/show views
|
57
|
-
#config.show.title_field = 'title_tsim'
|
58
|
-
#config.show.display_type_field = 'format'
|
59
|
-
#config.show.thumbnail_field = 'thumbnail_path_ss'
|
75
|
+
# config.show.title_field = 'title_tsim'
|
76
|
+
# config.show.display_type_field = 'format'
|
77
|
+
# config.show.thumbnail_field = 'thumbnail_path_ss'
|
78
|
+
#
|
79
|
+
# The presenter is a view-model class for the page
|
80
|
+
# config.show.document_presenter_class = MyApp::ShowPresenter
|
81
|
+
#
|
82
|
+
# These components can be configured
|
83
|
+
# config.show.document_component = MyApp::DocumentComponent
|
84
|
+
# config.show.sidebar_component = MyApp::SidebarComponent
|
85
|
+
# config.show.embed_component = MyApp::EmbedComponent
|
60
86
|
|
61
87
|
# solr fields that will be treated as facets by the blacklight application
|
62
88
|
# The ordering of the field names is the order of the display
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</updateLog>
|
17
17
|
</updateHandler>
|
18
18
|
|
19
|
-
<!-- solr lib dirs
|
19
|
+
<!-- solr lib dirs -->
|
20
20
|
<lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" />
|
21
21
|
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
|
22
22
|
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
|
@@ -100,75 +100,6 @@
|
|
100
100
|
</arr>
|
101
101
|
</requestHandler>
|
102
102
|
|
103
|
-
<requestHandler name="/advanced" class="solr.SearchHandler">
|
104
|
-
<!-- a lucene request handler for using the JSON Query DSL,
|
105
|
-
specifically for advanced search.
|
106
|
-
Using a separate requestHandler is a workaround to
|
107
|
-
https://issues.apache.org/jira/browse/SOLR-16916, although
|
108
|
-
it could be desirable for other reasons as well.
|
109
|
-
-->
|
110
|
-
<lst name="defaults">
|
111
|
-
<str name="defType">lucene</str>
|
112
|
-
<str name="echoParams">explicit</str>
|
113
|
-
<str name="df">title_tsim</str>
|
114
|
-
<str name="qf">
|
115
|
-
id
|
116
|
-
full_title_tsim
|
117
|
-
short_title_tsim
|
118
|
-
alternative_title_tsim
|
119
|
-
active_fedora_model_ssi
|
120
|
-
title_tsim
|
121
|
-
author_tsim
|
122
|
-
subject_tsim
|
123
|
-
all_text_timv
|
124
|
-
</str>
|
125
|
-
<str name="pf">
|
126
|
-
all_text_timv^10
|
127
|
-
</str>
|
128
|
-
|
129
|
-
<str name="author_qf">
|
130
|
-
author_tsim
|
131
|
-
</str>
|
132
|
-
<str name="author_pf">
|
133
|
-
</str>
|
134
|
-
<str name="title_qf">
|
135
|
-
title_tsim
|
136
|
-
full_title_tsim
|
137
|
-
short_title_tsim
|
138
|
-
alternative_title_tsim
|
139
|
-
</str>
|
140
|
-
<str name="title_pf">
|
141
|
-
</str>
|
142
|
-
<str name="subject_qf">
|
143
|
-
subject_tsim
|
144
|
-
</str>
|
145
|
-
<str name="subject_pf">
|
146
|
-
</str>
|
147
|
-
|
148
|
-
<str name="fl">
|
149
|
-
*,
|
150
|
-
score
|
151
|
-
</str>
|
152
|
-
|
153
|
-
<str name="facet">true</str>
|
154
|
-
<str name="facet.mincount">1</str>
|
155
|
-
<str name="facet.limit">10</str>
|
156
|
-
<str name="facet.field">active_fedora_model_ssi</str>
|
157
|
-
<str name="facet.field">subject_ssim</str>
|
158
|
-
|
159
|
-
<str name="spellcheck">true</str>
|
160
|
-
<str name="spellcheck.dictionary">default</str>
|
161
|
-
<str name="spellcheck.onlyMorePopular">true</str>
|
162
|
-
<str name="spellcheck.extendedResults">true</str>
|
163
|
-
<str name="spellcheck.collate">false</str>
|
164
|
-
<str name="spellcheck.count">5</str>
|
165
|
-
|
166
|
-
</lst>
|
167
|
-
<arr name="last-components">
|
168
|
-
<str>spellcheck</str>
|
169
|
-
</arr>
|
170
|
-
</requestHandler>
|
171
|
-
|
172
103
|
<requestHandler name="permissions" class="solr.SearchHandler" >
|
173
104
|
<lst name="defaults">
|
174
105
|
<str name="facet">off</str>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Copy Blacklight test support material in place
|
3
4
|
|
4
5
|
# Need the requires here so we can call the generator from environment.rb
|
@@ -17,7 +18,7 @@ module Blacklight
|
|
17
18
|
copy_file "alternate_controller.rb", "app/controllers/alternate_controller.rb"
|
18
19
|
|
19
20
|
routing_code = <<-EOF
|
20
|
-
resource :alternate, controller: 'alternate', only: [] do
|
21
|
+
resource :alternate, controller: 'alternate', only: [:index] do
|
21
22
|
concerns :searchable
|
22
23
|
end
|
23
24
|
EOF
|
@@ -41,9 +42,10 @@ module Blacklight
|
|
41
42
|
end
|
42
43
|
|
43
44
|
def configure_action_mailer
|
44
|
-
insert_into_file "config/environments/test.rb", after: "config.action_mailer.delivery_method = :test\n" do
|
45
|
+
insert_into_file "config/environments/test.rb", after: "config.action_mailer.delivery_method = :test\n" do
|
46
|
+
<<-EOF
|
45
47
|
config.action_mailer.default_options = {from: 'no-reply@example.org'}
|
46
|
-
|
48
|
+
EOF
|
47
49
|
end
|
48
50
|
end
|
49
51
|
end
|
@@ -25,7 +25,7 @@ module Blacklight
|
|
25
25
|
gem "devise-guests", "~> 0.8"
|
26
26
|
|
27
27
|
inside destination_root do
|
28
|
-
Bundler.
|
28
|
+
Bundler.with_unbundled_env do
|
29
29
|
run "bundle install"
|
30
30
|
end
|
31
31
|
end
|
@@ -36,12 +36,10 @@ module Blacklight
|
|
36
36
|
|
37
37
|
# add the #to_s to the model.
|
38
38
|
insert_into_file("app/models/#{model_name}.rb", before: /end(\n| )*$/) do
|
39
|
-
"\n #
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
" email\n" \
|
44
|
-
" end\n"
|
39
|
+
"\n # Configuration added by Blacklight; Blacklight::User uses a method key on your\n" \
|
40
|
+
" # user class to get a user-displayable login/identifier for\n" \
|
41
|
+
" # the account.\n" \
|
42
|
+
" self.string_display_key ||= :email\n"
|
45
43
|
end
|
46
44
|
gsub_file("config/initializers/devise.rb", "config.sign_out_via = :delete", "config.sign_out_via = :get")
|
47
45
|
end
|
@@ -52,10 +50,10 @@ module Blacklight
|
|
52
50
|
if File.exist?(File.expand_path(file_path, destination_root))
|
53
51
|
inject_into_class file_path, model_name.classify do
|
54
52
|
"\n # Connects this user object to Blacklights Bookmarks." \
|
55
|
-
|
53
|
+
"\n include Blacklight::User\n"
|
56
54
|
end
|
57
55
|
else
|
58
|
-
say_status "warning",
|
56
|
+
say_status "warning", <<~EOS, :yellow
|
59
57
|
Blacklight authenticated user functionality not installed, as a user model
|
60
58
|
could not be found at /app/models/user.rb. If you used a different name,
|
61
59
|
please re-run the migration and provide that name as an argument. E.g.:
|
@@ -19,9 +19,8 @@ namespace :blacklight do
|
|
19
19
|
task seed: [:environment] do
|
20
20
|
require 'yaml'
|
21
21
|
|
22
|
-
app_file = Rails.root && Rails.root
|
23
|
-
file = ENV
|
24
|
-
(app_file && File.exist?(app_file) && app_file) ||
|
22
|
+
app_file = Rails.root && "#{Rails.root}spec/fixtures/sample_solr_documents.yml"
|
23
|
+
file = ENV.fetch('FILE') { (app_file && File.exist?(app_file) && app_file) } ||
|
25
24
|
File.join(Blacklight.root, 'spec', 'fixtures', 'sample_solr_documents.yml')
|
26
25
|
docs = YAML.safe_load(File.open(file))
|
27
26
|
conn = Blacklight.default_index.connection
|
@@ -41,7 +40,7 @@ namespace :blacklight do
|
|
41
40
|
exit 1
|
42
41
|
end
|
43
42
|
rescue => e
|
44
|
-
puts e
|
43
|
+
puts e.to_s
|
45
44
|
exit 1
|
46
45
|
end
|
47
46
|
|
@@ -71,7 +70,7 @@ namespace :blacklight do
|
|
71
70
|
end
|
72
71
|
rescue => e
|
73
72
|
errors += 1
|
74
|
-
puts e
|
73
|
+
puts e.to_s
|
75
74
|
end
|
76
75
|
|
77
76
|
print " - search_results: "
|
@@ -93,7 +92,7 @@ namespace :blacklight do
|
|
93
92
|
end
|
94
93
|
rescue => e
|
95
94
|
errors += 1
|
96
|
-
puts e
|
95
|
+
puts e.to_s
|
97
96
|
end
|
98
97
|
|
99
98
|
print " - fetch: "
|
@@ -113,7 +112,7 @@ namespace :blacklight do
|
|
113
112
|
end
|
114
113
|
rescue => e
|
115
114
|
errors += 1
|
116
|
-
puts e
|
115
|
+
puts e.to_s
|
117
116
|
end
|
118
117
|
|
119
118
|
exit 1 if errors > 0
|
data/package.json
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"name": "blacklight-frontend",
|
3
|
-
"version": "
|
4
|
-
"description": "
|
3
|
+
"version": "8.0.0-beta.1",
|
4
|
+
"description": "[](https://travis-ci.com/projectblacklight/blacklight) [](http://badge.fury.io/rb/blacklight) [](https://coveralls.io/github/projectblacklight/blacklight?branch=main)",
|
5
5
|
"main": "app/assets/javascripts/blacklight",
|
6
6
|
"scripts": {
|
7
|
-
"js-compile-bundle": "
|
7
|
+
"js-compile-bundle": "rollup --config rollup.config.js --sourcemap && ESM=true rollup --config rollup.config.js --sourcemap"
|
8
8
|
},
|
9
9
|
"repository": {
|
10
10
|
"type": "git",
|
11
11
|
"url": "git+https://github.com/projectblacklight/blacklight.git"
|
12
12
|
},
|
13
13
|
"files": [
|
14
|
-
"app/assets"
|
15
|
-
"app/javascript"
|
14
|
+
"app/assets"
|
16
15
|
],
|
17
16
|
"author": "",
|
18
17
|
"license": "Apache-2.0",
|
@@ -21,15 +20,13 @@
|
|
21
20
|
},
|
22
21
|
"homepage": "https://github.com/projectblacklight/blacklight#readme",
|
23
22
|
"devDependencies": {
|
24
|
-
"
|
25
|
-
"@babel/core": "^7.2.3",
|
26
|
-
"@babel/preset-env": "^7.16.0",
|
27
|
-
"shx": "^0.3.2"
|
23
|
+
"rollup": "^2.60.0"
|
28
24
|
},
|
29
|
-
"browserslist":
|
25
|
+
"browserslist": [
|
26
|
+
"defaults",
|
27
|
+
"not IE 11"
|
28
|
+
],
|
30
29
|
"dependencies": {
|
31
|
-
"bootstrap": ">=4.3.1 <6.0.0"
|
32
|
-
"jquery": "^3.5.1",
|
33
|
-
"typeahead.js": "^0.11.1"
|
30
|
+
"bootstrap": ">=4.3.1 <6.0.0"
|
34
31
|
}
|
35
32
|
}
|