blacklight 6.24.0 → 7.0.0.rc1
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/.gitignore +1 -0
- data/.npmignore +23 -0
- data/.rubocop.yml +15 -3
- data/.rubocop_todo.yml +242 -379
- data/.solr_wrapper.yml +1 -1
- data/.travis.yml +20 -24
- data/Gemfile +1 -4
- data/README.md +21 -4
- data/Rakefile +1 -2
- data/VERSION +1 -1
- data/app/assets/images/blacklight/list.svg +1 -0
- data/app/assets/images/blacklight/search.svg +1 -0
- data/app/assets/javascripts/blacklight/blacklight.js +496 -56
- data/app/assets/stylesheets/blacklight/_balanced_list.scss +7 -12
- data/app/assets/stylesheets/blacklight/_blacklight_base.scss +3 -1
- data/app/assets/stylesheets/blacklight/_bookmark.scss +1 -13
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +27 -0
- data/app/assets/stylesheets/blacklight/_constraints.scss +17 -25
- data/app/assets/stylesheets/blacklight/_controls.scss +8 -16
- data/app/assets/stylesheets/blacklight/_facets.scss +74 -92
- data/app/assets/stylesheets/blacklight/_header.scss +35 -48
- data/app/assets/stylesheets/blacklight/_icons.scss +29 -0
- data/app/assets/stylesheets/blacklight/_layout.scss +0 -10
- data/app/assets/stylesheets/blacklight/_mixins.scss +15 -0
- data/app/assets/stylesheets/blacklight/_modal.scss +9 -17
- data/app/assets/stylesheets/blacklight/_pagination.scss +2 -17
- data/app/assets/stylesheets/blacklight/_search_history.scss +5 -13
- data/app/assets/stylesheets/blacklight/_search_results.scss +9 -8
- data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +1 -2
- data/app/builders/blacklight/action_builder.rb +56 -0
- data/app/controllers/bookmarks_controller.rb +2 -2
- data/app/controllers/catalog_controller.rb +2 -2
- data/app/controllers/concerns/blacklight/base.rb +0 -33
- data/app/controllers/concerns/blacklight/bookmarks.rb +20 -37
- data/app/controllers/concerns/blacklight/catalog.rb +254 -213
- data/app/controllers/concerns/blacklight/controller.rb +117 -133
- data/app/controllers/concerns/blacklight/default_component_configuration.rb +12 -43
- data/app/controllers/concerns/blacklight/search_context.rb +10 -14
- data/app/controllers/concerns/blacklight/search_fields.rb +4 -14
- data/app/controllers/concerns/blacklight/token_based_user.rb +6 -10
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +32 -118
- data/app/helpers/blacklight/catalog_helper_behavior.rb +94 -88
- data/app/helpers/blacklight/component_helper_behavior.rb +19 -19
- data/app/helpers/blacklight/configuration_helper_behavior.rb +25 -54
- data/app/helpers/blacklight/facets_helper_behavior.rb +40 -39
- data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +9 -11
- data/app/helpers/blacklight/icon_helper_behavior.rb +16 -0
- data/app/helpers/blacklight/layout_helper_behavior.rb +3 -10
- data/app/helpers/blacklight/render_constraints_helper_behavior.rb +6 -6
- data/app/helpers/blacklight/render_partials_helper_behavior.rb +195 -0
- data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +18 -11
- data/app/helpers/blacklight/suggest_helper_behavior.rb +1 -0
- data/app/helpers/blacklight/url_helper_behavior.rb +21 -27
- data/app/{assets/javascripts → javascript}/blacklight/autocomplete.js +3 -2
- data/app/javascript/blacklight/autofocus.js +20 -0
- data/app/javascript/blacklight/bookmark_toggle.js +25 -0
- data/app/javascript/blacklight/checkbox_submit.js +133 -0
- data/app/{assets/javascripts → javascript}/blacklight/collapsable.js +1 -1
- data/app/javascript/blacklight/core.js +39 -0
- data/app/{assets/javascripts → javascript}/blacklight/facet_load.js +6 -6
- data/app/{assets/javascripts/blacklight/ajax_modal.js → javascript/blacklight/modal.js} +63 -63
- data/app/{assets/javascripts → javascript}/blacklight/search_context.js +10 -2
- data/app/models/blacklight/facet_paginator.rb +3 -3
- data/app/models/blacklight/icon.rb +53 -0
- data/app/models/blacklight/solr/facet_paginator.rb +3 -3
- data/app/models/blacklight/suggest_search.rb +15 -4
- data/app/models/bookmark.rb +4 -9
- data/app/models/concerns/blacklight/configurable.rb +13 -13
- data/app/models/concerns/blacklight/document.rb +8 -42
- data/app/models/concerns/blacklight/document/active_model_shim.rb +8 -11
- data/app/models/concerns/blacklight/document/cache_key.rb +1 -1
- data/app/models/concerns/blacklight/document/dublin_core.rb +2 -2
- data/app/models/concerns/blacklight/document/email.rb +1 -1
- data/app/models/concerns/blacklight/document/extensions.rb +5 -5
- data/app/models/concerns/blacklight/document/semantic_fields.rb +9 -9
- data/app/models/concerns/blacklight/document/sms.rb +1 -1
- data/app/models/concerns/blacklight/solr/document.rb +7 -8
- data/app/models/concerns/blacklight/suggest/response.rb +3 -5
- data/app/models/concerns/blacklight/user.rb +6 -6
- data/app/models/record_mailer.rb +5 -6
- data/app/models/search.rb +4 -7
- data/app/presenters/blacklight/field_presenter.rb +5 -5
- data/app/presenters/blacklight/index_presenter.rb +34 -71
- data/app/presenters/blacklight/json_presenter.rb +7 -4
- data/app/presenters/blacklight/link_alternate_presenter.rb +1 -1
- data/app/presenters/blacklight/rendering/abstract_step.rb +5 -5
- data/app/presenters/blacklight/rendering/helper_method.rb +8 -8
- data/app/presenters/blacklight/rendering/join.rb +3 -3
- data/app/presenters/blacklight/rendering/link_to_facet.rb +19 -19
- data/app/presenters/blacklight/rendering/microdata.rb +3 -3
- data/app/presenters/blacklight/rendering/pipeline.rb +5 -5
- data/app/presenters/blacklight/search_bar_presenter.rb +37 -0
- data/app/presenters/blacklight/show_presenter.rb +20 -69
- data/app/presenters/blacklight/thumbnail_presenter.rb +72 -0
- data/app/services/blacklight/document_factory.rb +11 -0
- data/app/services/blacklight/field_retriever.rb +24 -24
- data/app/services/blacklight/search_service.rb +154 -0
- data/app/views/blacklight/nav/_bookmark.html.erb +2 -2
- data/app/views/blacklight/nav/_search_history.html.erb +1 -1
- data/app/views/bookmarks/_tools.html.erb +2 -2
- data/app/views/bookmarks/index.html.erb +2 -2
- data/app/views/catalog/_bookmark_control.html.erb +26 -10
- data/app/views/catalog/_citation.html.erb +18 -23
- data/app/views/catalog/_constraints.html.erb +5 -8
- data/app/views/catalog/_constraints_element.html.erb +6 -6
- data/app/views/catalog/{_document_default.atom.builder → _document.atom.builder} +2 -2
- data/app/views/catalog/_document.html.erb +5 -3
- data/app/views/catalog/{_document_default.rss.builder → _document.rss.builder} +0 -0
- data/app/views/catalog/_document_action.html.erb +2 -1
- data/app/views/catalog/_email_form.html.erb +8 -4
- data/app/views/catalog/_facet_index_navigation.html.erb +3 -3
- data/app/views/catalog/_facet_layout.html.erb +5 -7
- data/app/views/catalog/_facet_limit.html.erb +3 -2
- data/app/views/catalog/_facet_pagination.html.erb +10 -10
- data/app/views/catalog/_facet_pivot.html.erb +2 -2
- data/app/views/catalog/_facets.html.erb +8 -12
- data/app/views/catalog/{_group_default.html.erb → _group.html.erb} +0 -0
- data/app/views/catalog/_home_text.html.erb +32 -36
- data/app/views/catalog/_index.html.erb +12 -0
- data/app/views/catalog/{_index_header_default.html.erb → _index_header.html.erb} +2 -2
- data/app/views/catalog/_per_page_widget.html.erb +6 -7
- data/app/views/catalog/_previous_next_doc.html.erb +6 -14
- data/app/views/catalog/_search_form.html.erb +12 -8
- data/app/views/catalog/_search_header.html.erb +0 -3
- data/app/views/catalog/_search_results.html.erb +4 -0
- data/app/views/catalog/_show.html.erb +10 -0
- data/app/views/catalog/{_show_header_default.html.erb → _show_header.html.erb} +0 -0
- data/app/views/catalog/_show_main_content.html.erb +4 -4
- data/app/views/catalog/_show_sidebar.html.erb +3 -3
- data/app/views/catalog/_show_tools.html.erb +9 -11
- data/app/views/catalog/_sms_form.html.erb +8 -4
- data/app/views/catalog/_sort_and_per_page.html.erb +3 -3
- data/app/views/catalog/_sort_widget.html.erb +7 -7
- data/app/views/catalog/_thumbnail.html.erb +5 -0
- data/app/views/catalog/_view_type_group.html.erb +2 -2
- data/app/views/catalog/citation.html.erb +1 -1
- data/app/views/catalog/citation.js.erb +9 -1
- data/app/views/catalog/email.html.erb +5 -5
- data/app/views/catalog/email_success.html.erb +11 -9
- data/app/views/catalog/facet.html.erb +5 -6
- data/app/views/catalog/index.atom.builder +10 -15
- data/app/views/catalog/index.html.erb +9 -11
- data/app/views/catalog/index.json.jbuilder +65 -3
- data/app/views/catalog/index.rss.builder +5 -5
- data/app/views/catalog/opensearch.xml.builder +10 -10
- data/app/views/catalog/show.html.erb +11 -6
- data/app/views/catalog/sms.html.erb +2 -3
- data/app/views/catalog/sms_success.html.erb +11 -10
- data/app/views/kaminari/blacklight/_first_page.html.erb +2 -2
- data/app/views/kaminari/blacklight/_gap.html.erb +2 -2
- data/app/views/kaminari/blacklight/_last_page.html.erb +2 -2
- data/app/views/kaminari/blacklight/_next_page.html.erb +4 -4
- data/app/views/kaminari/blacklight/_page.html.erb +3 -3
- data/app/views/kaminari/blacklight/_prev_page.html.erb +4 -4
- data/app/views/kaminari/blacklight_compact/_paginator.html.erb +4 -4
- data/app/views/layouts/blacklight.html.erb +14 -41
- data/app/views/layouts/blacklight/base.html.erb +43 -0
- data/app/views/layouts/catalog_result.html.erb +11 -0
- data/app/views/search_history/index.html.erb +16 -21
- data/app/views/{_flash_msg.html.erb → shared/_flash_msg.html.erb} +0 -0
- data/app/views/shared/_header_navbar.html.erb +8 -13
- data/app/views/shared/_modal.html.erb +6 -0
- data/app/views/shared/_user_util_links.html.erb +22 -0
- data/blacklight.gemspec +10 -11
- data/config/locales/blacklight.de.yml +0 -30
- data/config/locales/blacklight.en.yml +1 -27
- data/config/locales/blacklight.es.yml +0 -30
- data/config/locales/blacklight.fr.yml +0 -30
- data/config/locales/blacklight.hu.yml +210 -0
- data/config/locales/blacklight.it.yml +0 -30
- data/config/locales/blacklight.nl.yml +210 -0
- data/config/locales/blacklight.pt-BR.yml +6 -32
- data/config/locales/blacklight.sq.yml +1 -28
- data/config/locales/blacklight.zh.yml +0 -25
- data/config/routes.rb +3 -10
- data/db/migrate/20140202020202_create_bookmarks.rb +0 -1
- data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -1
- data/lib/blacklight.rb +4 -5
- data/lib/blacklight/abstract_repository.rb +9 -21
- data/lib/blacklight/configuration.rb +82 -89
- data/lib/blacklight/configuration/context.rb +1 -1
- data/lib/blacklight/configuration/facet_field.rb +16 -9
- data/lib/blacklight/configuration/field.rb +32 -3
- data/lib/blacklight/configuration/fields.rb +41 -48
- data/lib/blacklight/configuration/search_field.rb +2 -2
- data/lib/blacklight/configuration/sort_field.rb +2 -2
- data/lib/blacklight/configuration/view_config.rb +4 -0
- data/lib/blacklight/engine.rb +6 -10
- data/lib/blacklight/exceptions.rb +4 -7
- data/lib/blacklight/nested_open_struct_with_hash_access.rb +107 -0
- data/lib/blacklight/open_struct_with_hash_access.rb +49 -0
- data/lib/blacklight/parameters.rb +1 -1
- data/lib/blacklight/routes/searchable.rb +1 -0
- data/lib/blacklight/search_builder.rb +26 -35
- data/lib/blacklight/search_state.rb +8 -8
- data/lib/blacklight/solr/repository.rb +3 -36
- data/lib/blacklight/solr/request.rb +1 -1
- data/lib/blacklight/solr/response.rb +29 -30
- data/lib/blacklight/solr/response/facets.rb +29 -31
- data/lib/blacklight/solr/response/group.rb +3 -3
- data/lib/blacklight/solr/response/group_response.rb +1 -1
- data/lib/blacklight/solr/response/more_like_this.rb +2 -2
- data/lib/blacklight/solr/response/response.rb +2 -2
- data/lib/blacklight/solr/response/spelling.rb +3 -3
- data/lib/blacklight/solr/search_builder_behavior.rb +25 -29
- data/lib/blacklight/version.rb +1 -1
- data/lib/generators/blacklight/assets_generator.rb +8 -8
- data/lib/generators/blacklight/controller_generator.rb +4 -5
- data/lib/generators/blacklight/document_generator.rb +1 -1
- data/lib/generators/blacklight/install_generator.rb +18 -21
- data/lib/generators/blacklight/search_builder_generator.rb +1 -1
- data/lib/generators/blacklight/{solr5_generator.rb → solr_generator.rb} +4 -6
- data/lib/generators/blacklight/templates/.solr_wrapper.yml +5 -0
- data/lib/generators/blacklight/templates/blacklight.scss +0 -2
- data/lib/generators/blacklight/templates/catalog_controller.rb +52 -51
- data/{solr → lib/generators/blacklight/templates/solr}/conf/_rest_managed.json +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/admin-extra.html +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/elevate.xml +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/mapping-ISOLatin1Accent.txt +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/protwords.txt +0 -0
- data/lib/generators/blacklight/templates/solr/conf/schema.xml +390 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/scripts.conf +0 -0
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +195 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/spellings.txt +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords.txt +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords_en.txt +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/synonyms.txt +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example.xsl +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_atom.xsl +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_rss.xsl +0 -0
- data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/luke.xsl +0 -0
- data/lib/generators/blacklight/test_support_generator.rb +10 -10
- data/lib/generators/blacklight/user_generator.rb +3 -6
- data/lib/railties/blacklight.rake +19 -14
- data/package-lock.json +2057 -0
- data/package.json +28 -0
- data/spec/controllers/alternate_controller_spec.rb +1 -1
- data/spec/controllers/application_controller_spec.rb +1 -1
- data/spec/controllers/blacklight/base_spec.rb +1 -1
- data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +11 -7
- data/spec/controllers/blacklight/facet_spec.rb +1 -1
- data/spec/controllers/blacklight/search_fields_spec.rb +1 -13
- data/spec/controllers/bookmarks_controller_spec.rb +1 -36
- data/spec/controllers/catalog_controller_spec.rb +153 -53
- data/spec/controllers/search_history_controller_spec.rb +2 -2
- data/spec/features/alternate_controller_spec.rb +1 -1
- data/spec/features/autocomplete_spec.rb +2 -2
- data/spec/features/bookmarks_spec.rb +10 -10
- data/spec/features/did_you_mean_spec.rb +3 -9
- data/spec/features/facets_spec.rb +11 -11
- data/spec/features/record_view_spec.rb +1 -6
- data/spec/features/search_context_spec.rb +2 -2
- data/spec/features/search_filters_spec.rb +41 -41
- data/spec/features/search_formats_spec.rb +1 -1
- data/spec/features/search_history_spec.rb +1 -26
- data/spec/features/search_pagination_spec.rb +1 -1
- data/spec/features/search_results_spec.rb +3 -4
- data/spec/features/search_sort_spec.rb +2 -2
- data/spec/features/search_spec.rb +5 -10
- data/{solr → spec/fixtures}/sample_solr_documents.yml +688 -688
- data/spec/helpers/{configuration_helper_spec.rb → blacklight/configuration_helper_behavior_spec.rb} +70 -65
- data/spec/helpers/{facets_helper_spec.rb → blacklight/facets_helper_behavior_spec.rb} +7 -8
- data/spec/helpers/{hash_as_hidden_fields_spec.rb → blacklight/hash_as_hidden_fields_behavior_spec.rb} +1 -1
- data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +8 -0
- data/spec/helpers/{layout_helper_spec.rb → blacklight/layout_helper_behavior_spec.rb} +5 -15
- data/spec/helpers/{render_constraints_helper_spec.rb → blacklight/render_constraints_helper_behavior_spec.rb} +2 -3
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +80 -0
- data/spec/helpers/{search_history_constraints_helper_spec.rb → blacklight/search_history_constraints_helper_behavior_spec.rb} +9 -9
- data/spec/helpers/{suggest_helper_spec.rb → blacklight/suggest_helper_behavior_spec.rb} +4 -2
- data/spec/helpers/{url_helper_spec.rb → blacklight/url_helper_behavior_spec.rb} +11 -15
- data/spec/helpers/blacklight_helper_spec.rb +36 -141
- data/spec/helpers/catalog_helper_spec.rb +37 -56
- data/spec/integration/generators/blacklight/{solr5_generator_spec.rb → solr_generator_spec.rb} +3 -3
- data/spec/lib/blacklight/configuration/facet_field_spec.rb +11 -0
- data/spec/lib/blacklight/configuration/field_spec.rb +12 -0
- data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +17 -0
- data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +153 -0
- data/spec/lib/blacklight/parameters_spec.rb +1 -1
- data/spec/lib/blacklight/search_state_spec.rb +2 -2
- data/spec/lib/blacklight_spec.rb +1 -1
- data/spec/lib/tasks/blacklight_task_spec.rb +1 -1
- data/spec/models/blacklight/configurable_spec.rb +15 -16
- data/spec/models/blacklight/configuration/context_spec.rb +1 -1
- data/spec/models/blacklight/configuration_spec.rb +146 -135
- data/spec/models/blacklight/document/active_model_shim_spec.rb +11 -1
- data/spec/models/blacklight/document/cache_key_spec.rb +1 -1
- data/spec/models/blacklight/document/dublin_core_spec.rb +5 -5
- data/spec/models/blacklight/document/email_spec.rb +3 -3
- data/spec/models/blacklight/document/sms_spec.rb +3 -3
- data/spec/models/blacklight/document_spec.rb +3 -16
- data/spec/models/blacklight/facet_paginator_spec.rb +1 -1
- data/spec/models/blacklight/icon_spec.rb +34 -0
- data/spec/models/blacklight/search_builder_spec.rb +33 -27
- data/spec/models/blacklight/solr/document_spec.rb +18 -7
- data/spec/models/blacklight/solr/facet_paginator_spec.rb +1 -1
- data/spec/models/blacklight/solr/repository_spec.rb +32 -27
- data/spec/models/blacklight/solr/request_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/facets_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/group_spec.rb +1 -1
- data/spec/models/blacklight/solr/response_spec.rb +9 -6
- data/spec/models/blacklight/solr/search_builder_spec.rb +35 -48
- data/spec/models/blacklight/suggest/response_spec.rb +4 -5
- data/spec/models/blacklight/suggest_search_spec.rb +14 -7
- data/spec/models/blacklight/user_spec.rb +1 -1
- data/spec/models/bookmark_spec.rb +1 -1
- data/spec/models/record_mailer_spec.rb +2 -2
- data/spec/models/search_spec.rb +1 -1
- data/spec/models/solr_document_spec.rb +3 -3
- data/spec/presenters/blacklight/search_bar_presenter_spec.rb +72 -0
- data/spec/presenters/index_presenter_spec.rb +70 -143
- data/spec/presenters/pipeline_spec.rb +4 -4
- data/spec/presenters/show_presenter_spec.rb +83 -145
- data/spec/presenters/thumbnail_presenter_spec.rb +171 -0
- data/spec/routing/catalog_routing_spec.rb +1 -17
- data/spec/services/blacklight/search_service_spec.rb +446 -0
- data/spec/spec_helper.rb +22 -9
- data/spec/test_app_templates/Gemfile.extra +2 -5
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
- data/spec/views/catalog/_constraints.html.erb_spec.rb +1 -3
- data/spec/views/catalog/_constraints_element.html.erb_spec.rb +8 -8
- data/spec/views/catalog/_document.html.erb_spec.rb +7 -7
- data/spec/views/catalog/_document_list.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_facet_layout.html.erb_spec.rb +6 -6
- data/spec/views/catalog/_facets.html.erb_spec.rb +2 -2
- data/spec/views/catalog/{_index_default.erb_spec.rb → _index.html.erb_spec.rb} +1 -1
- data/spec/views/catalog/{_index_header_default.html.erb_spec.rb → _index_header.html.erb_spec.rb} +4 -4
- data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +4 -27
- data/spec/views/catalog/_search_header.erb_spec.rb +1 -3
- data/spec/views/catalog/{_show_default.erb_spec.rb → _show.html.erb_spec.rb} +1 -1
- data/spec/views/catalog/_show_sidebar.erb_spec.rb +3 -3
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +3 -3
- data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +1 -1
- data/spec/views/catalog/{_thumbnail_default.erb_spec.rb → _thumbnail.html.erb_spec.rb} +3 -3
- data/spec/views/catalog/_view_type_group.html.erb_spec.rb +5 -1
- data/spec/views/catalog/email_success.html.erb_spec.rb +9 -0
- data/spec/views/catalog/facet.html.erb_spec.rb +1 -1
- data/spec/views/catalog/facet.json.jbuilder_spec.rb +1 -1
- data/spec/views/catalog/index.atom.builder_spec.rb +2 -2
- data/spec/views/catalog/index.html.erb_spec.rb +4 -7
- data/spec/views/catalog/index.json.jbuilder_spec.rb +66 -21
- data/spec/views/catalog/opensearch.xml.builder_spec.rb +1 -1
- data/spec/views/catalog/show.html.erb_spec.rb +2 -2
- data/spec/views/catalog/sms_success.html.erb_spec.rb +9 -0
- data/spec/views/{_user_util_links.html.erb_spec.rb → shared/_user_util_links.html.erb_spec.rb} +4 -4
- data/tasks/blacklight.rake +10 -8
- data/template.demo.rb +1 -11
- metadata +171 -189
- data/app/assets/javascripts/blacklight/autofocus.js +0 -16
- data/app/assets/javascripts/blacklight/bookmark_toggle.js +0 -23
- data/app/assets/javascripts/blacklight/checkbox_submit.js +0 -139
- data/app/assets/javascripts/blacklight/core.js +0 -30
- data/app/controllers/concerns/blacklight/request_builders.rb +0 -77
- data/app/controllers/concerns/blacklight/saved_searches.rb +0 -70
- data/app/controllers/concerns/blacklight/search_helper.rb +0 -161
- data/app/controllers/concerns/blacklight/suggest.rb +0 -25
- data/app/controllers/saved_searches_controller.rb +0 -4
- data/app/controllers/suggest_controller.rb +0 -4
- data/app/helpers/blacklight/deprecated_url_helper_behavior.rb +0 -57
- data/app/helpers/blacklight/render_partials_helper.rb +0 -205
- data/app/helpers/blacklight_configuration_helper.rb +0 -4
- data/app/helpers/blacklight_url_helper.rb +0 -4
- data/app/helpers/component_helper.rb +0 -4
- data/app/helpers/facets_helper.rb +0 -4
- data/app/helpers/hash_as_hidden_fields_helper.rb +0 -4
- data/app/helpers/layout_helper.rb +0 -4
- data/app/helpers/render_constraints_helper.rb +0 -4
- data/app/helpers/search_history_constraints_helper.rb +0 -4
- data/app/helpers/suggest_helper.rb +0 -4
- data/app/models/concerns/blacklight/solr/document/more_like_this.rb +0 -6
- data/app/presenters/blacklight/document_presenter.rb +0 -153
- data/app/views/_user_util_links.html.erb +0 -26
- data/app/views/blacklight/nav/_saved_searches.html.erb +0 -1
- data/app/views/catalog/_index_default.html.erb +0 -12
- data/app/views/catalog/_show_default.html.erb +0 -10
- data/app/views/catalog/_thumbnail_default.html.erb +0 -5
- data/app/views/saved_searches/index.html.erb +0 -32
- data/app/views/shared/_ajax_modal.html.erb +0 -6
- data/lib/blacklight/utils.rb +0 -183
- data/lib/generators/blacklight/solr4_generator.rb +0 -31
- data/solr/conf/schema.xml +0 -627
- data/solr/conf/solrconfig.xml +0 -411
- data/spec/controllers/blacklight/search_helper_spec.rb +0 -489
- data/spec/controllers/saved_searches_controller_spec.rb +0 -32
- data/spec/controllers/suggest_controller_spec.rb +0 -17
- data/spec/features/saved_searches_spec.rb +0 -47
- data/spec/helpers/deprecated_url_helper_behavior_spec.rb +0 -101
- data/spec/lib/blacklight/utils_spec.rb +0 -167
- data/spec/models/blacklight/solr/document/more_like_this_spec.rb +0 -18
- data/spec/presenters/document_presenter_spec.rb +0 -438
- data/spec/support/backport_test.rb +0 -14
|
@@ -7,11 +7,11 @@ module Blacklight
|
|
|
7
7
|
|
|
8
8
|
def document_action_path action_opts, url_opts = nil
|
|
9
9
|
if action_opts.path
|
|
10
|
-
|
|
10
|
+
send(action_opts.path, url_opts)
|
|
11
11
|
elsif url_opts[:id].class.respond_to?(:model_name)
|
|
12
12
|
url_for([action_opts.key, url_opts[:id]])
|
|
13
13
|
else
|
|
14
|
-
|
|
14
|
+
send("#{action_opts.key}_#{controller_name}_path", url_opts)
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -23,7 +23,7 @@ module Blacklight
|
|
|
23
23
|
#
|
|
24
24
|
# @param [Hash] options
|
|
25
25
|
# @return [String]
|
|
26
|
-
def render_nav_actions(options={}, &block)
|
|
26
|
+
def render_nav_actions(options = {}, &block)
|
|
27
27
|
render_filtered_partials(blacklight_config.navbar.partials, options, &block)
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -35,7 +35,7 @@ module Blacklight
|
|
|
35
35
|
# @param [Hash] options
|
|
36
36
|
# @option options [String] :wrapping_class
|
|
37
37
|
# @return [String]
|
|
38
|
-
def render_index_doc_actions(document, options={})
|
|
38
|
+
def render_index_doc_actions(document, options = {})
|
|
39
39
|
wrapping_class = options.delete(:wrapping_class) || "index-document-functions"
|
|
40
40
|
rendered = render_filtered_partials(blacklight_config.view_config(document_index_view_type).document_actions, { document: document }.merge(options))
|
|
41
41
|
content_tag("div", rendered, class: wrapping_class) unless rendered.blank?
|
|
@@ -54,20 +54,6 @@ module Blacklight
|
|
|
54
54
|
content_tag("div", rendered, class: wrapping_class) unless rendered.blank?
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
def render_filtered_partials(partials, options={}, &block)
|
|
58
|
-
content = []
|
|
59
|
-
filter_partials(partials, options).each do |key, config|
|
|
60
|
-
config.key ||= key
|
|
61
|
-
rendered = render(partial: config.partial || key.to_s, locals: { document_action_config: config }.merge(options))
|
|
62
|
-
if block_given?
|
|
63
|
-
yield config, rendered
|
|
64
|
-
else
|
|
65
|
-
content << rendered
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
safe_join(content, "\n") unless block_given?
|
|
69
|
-
end
|
|
70
|
-
|
|
71
57
|
##
|
|
72
58
|
# Render "document actions" for the item detail 'show' view.
|
|
73
59
|
# (this normally renders next to title)
|
|
@@ -77,7 +63,7 @@ module Blacklight
|
|
|
77
63
|
# @param [SolrDocument] document
|
|
78
64
|
# @param [Hash] options
|
|
79
65
|
# @return [String]
|
|
80
|
-
def render_show_doc_actions(document
|
|
66
|
+
def render_show_doc_actions(document = @document, options = {}, &block)
|
|
81
67
|
render_filtered_partials(blacklight_config.show.document_actions, { document: document }.merge(options), &block)
|
|
82
68
|
end
|
|
83
69
|
|
|
@@ -87,6 +73,20 @@ module Blacklight
|
|
|
87
73
|
|
|
88
74
|
private
|
|
89
75
|
|
|
76
|
+
def render_filtered_partials(partials, options = {})
|
|
77
|
+
content = []
|
|
78
|
+
filter_partials(partials, options).each do |key, config|
|
|
79
|
+
config.key ||= key
|
|
80
|
+
rendered = render(partial: config.partial || key.to_s, locals: { document_action_config: config }.merge(options))
|
|
81
|
+
if block_given?
|
|
82
|
+
yield config, rendered
|
|
83
|
+
else
|
|
84
|
+
content << rendered
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
safe_join(content, "\n") unless block_given?
|
|
88
|
+
end
|
|
89
|
+
|
|
90
90
|
def filter_partials(partials, options)
|
|
91
91
|
partials.select { |_, config| blacklight_configuration_context.evaluate_if_unless_configuration config, options }
|
|
92
92
|
end
|
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module Blacklight::ConfigurationHelperBehavior
|
|
3
|
-
extend Deprecation
|
|
4
|
-
self.deprecation_horizon = 'blacklight 7.x'
|
|
5
|
-
|
|
6
3
|
##
|
|
7
4
|
# Index fields to display for a type of document
|
|
8
|
-
#
|
|
5
|
+
#
|
|
9
6
|
# @param [SolrDocument] document
|
|
10
|
-
# @return [Array<Blacklight::Configuration::Field>]
|
|
11
|
-
def index_fields
|
|
7
|
+
# @return [Array<Blacklight::Configuration::Field>]
|
|
8
|
+
def index_fields _document = nil
|
|
12
9
|
blacklight_config.index_fields
|
|
13
10
|
end
|
|
14
11
|
|
|
15
|
-
# Used in the document_list partial (search view) for building a select element
|
|
16
|
-
def sort_fields
|
|
17
|
-
active_sort_fields.map { |_sort_key, field_config| [sort_field_label(field_config.key), field_config.key] }
|
|
18
|
-
end
|
|
19
|
-
deprecation_deprecate :sort_fields
|
|
20
|
-
|
|
21
12
|
def active_sort_fields
|
|
22
|
-
blacklight_config.sort_fields.select { |
|
|
13
|
+
blacklight_config.sort_fields.select { |_sort_key, field_config| should_render_field?(field_config) }
|
|
23
14
|
end
|
|
24
15
|
|
|
25
16
|
# Used in the search form partial for building a select tag
|
|
26
17
|
def search_fields
|
|
27
18
|
search_field_options_for_select
|
|
28
19
|
end
|
|
29
|
-
|
|
20
|
+
|
|
30
21
|
# Returns suitable argument to options_for_select method, to create
|
|
31
22
|
# an html select based on #search_field_list. Skips search_fields
|
|
32
23
|
# marked :include_in_simple_select => false
|
|
@@ -37,7 +28,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
37
28
|
end
|
|
38
29
|
|
|
39
30
|
# used in the catalog/_show/_default partial
|
|
40
|
-
def document_show_fields
|
|
31
|
+
def document_show_fields _document = nil
|
|
41
32
|
blacklight_config.show_fields
|
|
42
33
|
end
|
|
43
34
|
|
|
@@ -63,37 +54,27 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
63
54
|
# Look up the label for the index field
|
|
64
55
|
def index_field_label document, field
|
|
65
56
|
field_config = index_fields(document)[field]
|
|
57
|
+
field_config ||= Blacklight::Configuration::NullField.new(key: field)
|
|
66
58
|
|
|
67
|
-
|
|
68
|
-
:"blacklight.search.fields.index.#{field}",
|
|
69
|
-
:"blacklight.search.fields.#{field}",
|
|
70
|
-
(field_config.label if field_config),
|
|
71
|
-
field.to_s.humanize
|
|
72
|
-
)
|
|
59
|
+
field_config.display_label('index')
|
|
73
60
|
end
|
|
74
61
|
|
|
75
62
|
##
|
|
76
63
|
# Look up the label for the show field
|
|
77
64
|
def document_show_field_label document, field
|
|
78
65
|
field_config = document_show_fields(document)[field]
|
|
66
|
+
field_config ||= Blacklight::Configuration::NullField.new(key: field)
|
|
79
67
|
|
|
80
|
-
|
|
81
|
-
:"blacklight.search.fields.show.#{field}",
|
|
82
|
-
:"blacklight.search.fields.#{field}",
|
|
83
|
-
(field_config.label if field_config),
|
|
84
|
-
field.to_s.humanize
|
|
85
|
-
)
|
|
68
|
+
field_config.display_label('show')
|
|
86
69
|
end
|
|
87
70
|
|
|
88
71
|
##
|
|
89
72
|
# Look up the label for the facet field
|
|
90
73
|
def facet_field_label field
|
|
91
74
|
field_config = blacklight_config.facet_fields[field]
|
|
92
|
-
|
|
93
|
-
defaults << field_config.label if field_config
|
|
94
|
-
defaults << field.to_s.humanize
|
|
75
|
+
field_config ||= Blacklight::Configuration::NullField.new(key: field)
|
|
95
76
|
|
|
96
|
-
|
|
77
|
+
field_config.display_label('facet')
|
|
97
78
|
end
|
|
98
79
|
|
|
99
80
|
def view_label view
|
|
@@ -114,34 +95,25 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
114
95
|
field_config = blacklight_config.search_fields[key]
|
|
115
96
|
field_config ||= Blacklight::Configuration::NullField.new(key: key)
|
|
116
97
|
|
|
117
|
-
|
|
118
|
-
:"blacklight.search.fields.search.#{field_config.key}",
|
|
119
|
-
:"blacklight.search.fields.#{field_config.key}",
|
|
120
|
-
(field_config.label if field_config),
|
|
121
|
-
key.to_s.humanize
|
|
122
|
-
)
|
|
98
|
+
field_config.display_label('search')
|
|
123
99
|
end
|
|
124
100
|
|
|
125
101
|
def sort_field_label(key)
|
|
126
102
|
field_config = blacklight_config.sort_fields[key]
|
|
127
103
|
field_config ||= Blacklight::Configuration::NullField.new(key: key)
|
|
128
104
|
|
|
129
|
-
|
|
130
|
-
:"blacklight.search.fields.sort.#{key}",
|
|
131
|
-
(field_config.label if field_config),
|
|
132
|
-
key.to_s.humanize
|
|
133
|
-
)
|
|
105
|
+
field_config.display_label('sort')
|
|
134
106
|
end
|
|
135
107
|
|
|
136
108
|
##
|
|
137
109
|
# Look up the label for a solr field.
|
|
138
110
|
#
|
|
139
111
|
# @overload label
|
|
140
|
-
# @param [Symbol] an i18n key
|
|
112
|
+
# @param [Symbol] an i18n key
|
|
141
113
|
#
|
|
142
114
|
# @overload label, i18n_key, another_i18n_key, and_another_i18n_key
|
|
143
115
|
# @param [String] default label to display if the i18n look up fails
|
|
144
|
-
# @param [Symbol] i18n keys to attempt to look up
|
|
116
|
+
# @param [Symbol] i18n keys to attempt to look up
|
|
145
117
|
# before falling back to the label
|
|
146
118
|
# @param [Symbol] any number of additional keys
|
|
147
119
|
# @param [Symbol] ...
|
|
@@ -152,7 +124,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
152
124
|
end
|
|
153
125
|
|
|
154
126
|
def document_index_views
|
|
155
|
-
blacklight_config.view.select do |
|
|
127
|
+
blacklight_config.view.select do |_k, config|
|
|
156
128
|
should_render_field? config
|
|
157
129
|
end
|
|
158
130
|
end
|
|
@@ -167,7 +139,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
167
139
|
##
|
|
168
140
|
# Get the default index view type
|
|
169
141
|
def default_document_index_view_type
|
|
170
|
-
document_index_views.select { |
|
|
142
|
+
document_index_views.select { |_k, config| config.respond_to?(:default) && config.default }.keys.first || document_index_views.keys.first
|
|
171
143
|
end
|
|
172
144
|
|
|
173
145
|
##
|
|
@@ -183,7 +155,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
183
155
|
end
|
|
184
156
|
|
|
185
157
|
# Used in the document list partial (search view) for creating a link to the document show action
|
|
186
|
-
def document_show_link_field document=nil
|
|
158
|
+
def document_show_link_field document = nil
|
|
187
159
|
fields = Array(blacklight_config.view_config(document_index_view_type).title_field)
|
|
188
160
|
|
|
189
161
|
field = fields.first if document.nil?
|
|
@@ -197,23 +169,22 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
197
169
|
##
|
|
198
170
|
# Default sort field
|
|
199
171
|
def default_sort_field
|
|
200
|
-
(active_sort_fields.find { |
|
|
172
|
+
(active_sort_fields.find { |_k, config| config.respond_to?(:default) && config.default } || active_sort_fields.first).try(:last)
|
|
201
173
|
end
|
|
202
174
|
|
|
203
175
|
##
|
|
204
176
|
# The default value for search results per page
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
177
|
+
delegate :default_per_page, to: :blacklight_config
|
|
178
|
+
deprecation_deprecate default_per_page: "Use blacklight_config.default_per_page instead"
|
|
179
|
+
|
|
209
180
|
##
|
|
210
181
|
# The available options for results per page, in the style of #options_for_select
|
|
211
182
|
def per_page_options_for_select
|
|
212
183
|
blacklight_config.per_page.map do |count|
|
|
213
|
-
[t(:'blacklight.search.per_page.label', :
|
|
184
|
+
[t(:'blacklight.search.per_page.label', count: count).html_safe, count]
|
|
214
185
|
end
|
|
215
186
|
end
|
|
216
|
-
|
|
187
|
+
|
|
217
188
|
##
|
|
218
189
|
# Determine whether to render a field by evaluating :if and :unless conditions
|
|
219
190
|
#
|
|
@@ -6,16 +6,15 @@ module Blacklight::FacetsHelperBehavior
|
|
|
6
6
|
# Check if any of the given fields have values
|
|
7
7
|
#
|
|
8
8
|
# @param [Array<String>] fields
|
|
9
|
-
# @param [Hash] options
|
|
10
9
|
# @return [Boolean]
|
|
11
|
-
def has_facet_values? fields = facet_field_names
|
|
10
|
+
def has_facet_values? fields = facet_field_names
|
|
12
11
|
facets_from_request(fields).any? { |display_facet| !display_facet.items.empty? && should_render_facet?(display_facet) }
|
|
13
12
|
end
|
|
14
13
|
|
|
15
14
|
##
|
|
16
15
|
# Render a collection of facet fields.
|
|
17
|
-
# @see #render_facet_limit
|
|
18
|
-
#
|
|
16
|
+
# @see #render_facet_limit
|
|
17
|
+
#
|
|
19
18
|
# @param [Array<String>] fields
|
|
20
19
|
# @param [Hash] options
|
|
21
20
|
# @return String
|
|
@@ -28,14 +27,14 @@ module Blacklight::FacetsHelperBehavior
|
|
|
28
27
|
##
|
|
29
28
|
# Renders a single section for facet limit with a specified
|
|
30
29
|
# solr field used for faceting. Can be over-ridden for custom
|
|
31
|
-
# display on a per-facet basis.
|
|
30
|
+
# display on a per-facet basis.
|
|
32
31
|
#
|
|
33
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField] display_facet
|
|
32
|
+
# @param [Blacklight::Solr::Response::Facets::FacetField] display_facet
|
|
34
33
|
# @param [Hash] options parameters to use for rendering the facet limit partial
|
|
35
34
|
# @option options [String] :partial partial to render
|
|
36
35
|
# @option options [String] :layout partial layout to render
|
|
37
36
|
# @option options [Hash] :locals locals to pass to the partial
|
|
38
|
-
# @return [String]
|
|
37
|
+
# @return [String]
|
|
39
38
|
def render_facet_limit(display_facet, options = {})
|
|
40
39
|
return unless should_render_facet?(display_facet)
|
|
41
40
|
options = options.dup
|
|
@@ -43,26 +42,25 @@ module Blacklight::FacetsHelperBehavior
|
|
|
43
42
|
options[:layout] ||= "facet_layout" unless options.key?(:layout)
|
|
44
43
|
options[:locals] ||= {}
|
|
45
44
|
options[:locals][:field_name] ||= display_facet.name
|
|
46
|
-
options[:locals][:solr_field] ||= display_facet.name # deprecated
|
|
47
45
|
options[:locals][:facet_field] ||= facet_configuration_for_field(display_facet.name)
|
|
48
|
-
options[:locals][:display_facet] ||= display_facet
|
|
46
|
+
options[:locals][:display_facet] ||= display_facet
|
|
49
47
|
|
|
50
48
|
render(options)
|
|
51
49
|
end
|
|
52
50
|
|
|
53
51
|
##
|
|
54
|
-
# Renders the list of values
|
|
52
|
+
# Renders the list of values
|
|
55
53
|
# removes any elements where render_facet_item returns a nil value. This enables an application
|
|
56
54
|
# to filter undesireable facet items so they don't appear in the UI
|
|
57
|
-
def render_facet_limit_list(paginator, facet_field, wrapping_element
|
|
58
|
-
safe_join(paginator.items.map { |item| render_facet_item(facet_field, item) }.compact.map { |item| content_tag(wrapping_element,item)})
|
|
55
|
+
def render_facet_limit_list(paginator, facet_field, wrapping_element = :li)
|
|
56
|
+
safe_join(paginator.items.map { |item| render_facet_item(facet_field, item) }.compact.map { |item| content_tag(wrapping_element, item) })
|
|
59
57
|
end
|
|
60
58
|
|
|
61
59
|
##
|
|
62
60
|
# Renders a single facet item
|
|
63
61
|
def render_facet_item(facet_field, item)
|
|
64
|
-
if facet_in_params?(facet_field, item.value
|
|
65
|
-
render_selected_facet_value(facet_field, item)
|
|
62
|
+
if facet_in_params?(facet_field, item.value)
|
|
63
|
+
render_selected_facet_value(facet_field, item)
|
|
66
64
|
else
|
|
67
65
|
render_facet_value(facet_field, item)
|
|
68
66
|
end
|
|
@@ -74,7 +72,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
74
72
|
# By default, only render facets with items.
|
|
75
73
|
#
|
|
76
74
|
# @param [Blacklight::Solr::Response::Facets::FacetField] display_facet
|
|
77
|
-
# @return [Boolean]
|
|
75
|
+
# @return [Boolean]
|
|
78
76
|
def should_render_facet? display_facet
|
|
79
77
|
# display when show is nil or true
|
|
80
78
|
facet_config = facet_configuration_for_field(display_facet.name)
|
|
@@ -87,7 +85,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
87
85
|
# - if the facet is 'active', don't collapse
|
|
88
86
|
# - if the facet is configured to collapse (the default), collapse
|
|
89
87
|
# - if the facet is configured not to collapse, don't collapse
|
|
90
|
-
#
|
|
88
|
+
#
|
|
91
89
|
# @param [Blacklight::Configuration::FacetField] facet_field
|
|
92
90
|
# @return [Boolean]
|
|
93
91
|
def should_collapse_facet? facet_field
|
|
@@ -97,7 +95,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
97
95
|
##
|
|
98
96
|
# The name of the partial to use to render a facet field.
|
|
99
97
|
# uses the value of the "partial" field if set in the facet configuration
|
|
100
|
-
# otherwise uses "facet_pivot" if this facet is a pivot facet
|
|
98
|
+
# otherwise uses "facet_pivot" if this facet is a pivot facet
|
|
101
99
|
# defaults to 'facet_limit'
|
|
102
100
|
#
|
|
103
101
|
# @return [String]
|
|
@@ -107,7 +105,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
107
105
|
name ||= "facet_pivot" if config.pivot
|
|
108
106
|
name ||= "facet_limit"
|
|
109
107
|
end
|
|
110
|
-
|
|
108
|
+
|
|
111
109
|
##
|
|
112
110
|
# Standard display of a facet value in a list. Used in both _facets sidebar
|
|
113
111
|
# partial and catalog/facet expanded list. Will output facet value name as
|
|
@@ -118,10 +116,13 @@ module Blacklight::FacetsHelperBehavior
|
|
|
118
116
|
# @param [Hash] options
|
|
119
117
|
# @option options [Boolean] :suppress_link display the facet, but don't link to it
|
|
120
118
|
# @return [String]
|
|
121
|
-
def render_facet_value(facet_field, item, options ={})
|
|
119
|
+
def render_facet_value(facet_field, item, options = {})
|
|
122
120
|
path = path_for_facet(facet_field, item)
|
|
123
|
-
content_tag(:span, :
|
|
124
|
-
link_to_unless(options[:suppress_link],
|
|
121
|
+
content_tag(:span, class: "facet-label") do
|
|
122
|
+
link_to_unless(options[:suppress_link],
|
|
123
|
+
facet_display_value(facet_field, item),
|
|
124
|
+
path,
|
|
125
|
+
class: "facet-select")
|
|
125
126
|
end + render_facet_count(item.hits)
|
|
126
127
|
end
|
|
127
128
|
|
|
@@ -130,12 +131,12 @@ module Blacklight::FacetsHelperBehavior
|
|
|
130
131
|
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
|
131
132
|
# @param [String] item
|
|
132
133
|
# @return [String]
|
|
133
|
-
def path_for_facet(facet_field, item)
|
|
134
|
+
def path_for_facet(facet_field, item, path_options = {})
|
|
134
135
|
facet_config = facet_configuration_for_field(facet_field)
|
|
135
136
|
if facet_config.url_method
|
|
136
137
|
send(facet_config.url_method, facet_field, item)
|
|
137
138
|
else
|
|
138
|
-
search_action_path(search_state.add_facet_params_and_redirect(facet_field, item))
|
|
139
|
+
search_action_path(search_state.add_facet_params_and_redirect(facet_field, item).merge(path_options))
|
|
139
140
|
end
|
|
140
141
|
end
|
|
141
142
|
|
|
@@ -150,15 +151,15 @@ module Blacklight::FacetsHelperBehavior
|
|
|
150
151
|
content_tag(:span, facet_display_value(facet_field, item), class: "selected") +
|
|
151
152
|
# remove link
|
|
152
153
|
link_to(remove_href, class: "remove") do
|
|
153
|
-
content_tag(:span, '', class: "
|
|
154
|
+
content_tag(:span, '✖', class: "remove-icon") +
|
|
154
155
|
content_tag(:span, '[remove]', class: 'sr-only')
|
|
155
156
|
end
|
|
156
|
-
end + render_facet_count(item.hits, :
|
|
157
|
+
end + render_facet_count(item.hits, classes: ["selected"])
|
|
157
158
|
end
|
|
158
159
|
|
|
159
160
|
##
|
|
160
161
|
# Renders a count value for facet limits. Can be over-ridden locally
|
|
161
|
-
# to change style. And can be called by plugins to get consistent display.
|
|
162
|
+
# to change style. And can be called by plugins to get consistent display.
|
|
162
163
|
#
|
|
163
164
|
# @param [Integer] num number of facet results
|
|
164
165
|
# @param [Hash] options
|
|
@@ -166,22 +167,22 @@ module Blacklight::FacetsHelperBehavior
|
|
|
166
167
|
# @return [String]
|
|
167
168
|
def render_facet_count(num, options = {})
|
|
168
169
|
classes = (options[:classes] || []) << "facet-count"
|
|
169
|
-
content_tag("span", t('blacklight.search.facets.count', :
|
|
170
|
+
content_tag("span", t('blacklight.search.facets.count', number: number_with_delimiter(num)), class: classes)
|
|
170
171
|
end
|
|
171
|
-
|
|
172
|
+
|
|
172
173
|
##
|
|
173
174
|
# Are any facet restrictions for a field in the query parameters?
|
|
174
|
-
#
|
|
175
|
+
#
|
|
175
176
|
# @param [String] field
|
|
176
177
|
# @return [Boolean]
|
|
177
178
|
def facet_field_in_params? field
|
|
178
179
|
!facet_params(field).blank?
|
|
179
180
|
end
|
|
180
|
-
|
|
181
|
+
|
|
181
182
|
##
|
|
182
|
-
# Check if the query parameters have the given facet field with the
|
|
183
|
+
# Check if the query parameters have the given facet field with the
|
|
183
184
|
# given value.
|
|
184
|
-
#
|
|
185
|
+
#
|
|
185
186
|
# @param [Object] field
|
|
186
187
|
# @param [Object] item facet value
|
|
187
188
|
# @return [Boolean]
|
|
@@ -201,18 +202,18 @@ module Blacklight::FacetsHelperBehavior
|
|
|
201
202
|
|
|
202
203
|
##
|
|
203
204
|
# Get the displayable version of a facet's value
|
|
204
|
-
#
|
|
205
|
+
#
|
|
205
206
|
# @param [Object] field
|
|
206
207
|
# @param [String] item value
|
|
207
|
-
# @return [String]
|
|
208
|
+
# @return [String]
|
|
208
209
|
def facet_display_value field, item
|
|
209
210
|
facet_config = facet_configuration_for_field(field)
|
|
210
|
-
|
|
211
|
+
|
|
211
212
|
value = if item.respond_to? :label
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
item.label
|
|
214
|
+
else
|
|
215
|
+
facet_value_for_facet_item(item)
|
|
216
|
+
end
|
|
216
217
|
|
|
217
218
|
if facet_config.helper_method
|
|
218
219
|
send facet_config.helper_method, value
|