From ae535c1323142ee290ddf8fb70a9a64ace7398a9 Mon Sep 17 00:00:00 2001 From: Zeke Graves Date: Tue, 8 Oct 2024 10:54:51 -0400 Subject: [PATCH 1/4] override BL8 sidebar component to render 'local_filter' partial; deprecate 'search_sidebar' partial per BL8; modify 'local_filter' partial to duplicate deprecated 'search_sidebar' --- .../search/sidebar_component.html.erb | 15 ++++ .../blacklight/search/sidebar_component.rb | 17 ++++ app/views/catalog/_local_filter.html.erb | 83 ++++++++++--------- app/views/catalog/_search_sidebar.html.erb | 20 ----- 4 files changed, 75 insertions(+), 60 deletions(-) create mode 100644 app/components/blacklight/search/sidebar_component.html.erb create mode 100644 app/components/blacklight/search/sidebar_component.rb delete mode 100644 app/views/catalog/_search_sidebar.html.erb diff --git a/app/components/blacklight/search/sidebar_component.html.erb b/app/components/blacklight/search/sidebar_component.html.erb new file mode 100644 index 00000000..d40d3d0a --- /dev/null +++ b/app/components/blacklight/search/sidebar_component.html.erb @@ -0,0 +1,15 @@ +<% # TRLN override of BL8 sidebar component %> +<%= render 'catalog/local_filter', + local_button_id: 'toggle-local-btn-top', + trln_button_id: 'toggle-trln-btn-top' %> + + + <% facet_group_names.each do |groupname| %> + <% fields = facet_fields_in_group(groupname) %> + <%= render group_component_class.new(id: groupname, fields: fields, response: response) do |component| %> + <% component.with_body do %> + <%= render Blacklight::FacetComponent.with_collection(fields, response: response) %> + <% end %> + <% end %> + <% end %> + diff --git a/app/components/blacklight/search/sidebar_component.rb b/app/components/blacklight/search/sidebar_component.rb new file mode 100644 index 00000000..e5abb81c --- /dev/null +++ b/app/components/blacklight/search/sidebar_component.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Blacklight + module Search + class SidebarComponent < Blacklight::Component + def initialize(blacklight_config:, response:, view_config:) + @blacklight_config = blacklight_config + @response = response + @group_component_class = view_config.facet_group_component || Blacklight::Response::FacetGroupComponent + end + + attr_reader :group_component_class, :response + + delegate :facet_group_names, :facet_fields_in_group, to: :@blacklight_config + end + end +end diff --git a/app/views/catalog/_local_filter.html.erb b/app/views/catalog/_local_filter.html.erb index b065a3fc..f3af093f 100644 --- a/app/views/catalog/_local_filter.html.erb +++ b/app/views/catalog/_local_filter.html.erb @@ -1,42 +1,45 @@ -

<%= t("trln_argon.local_filter.showing_results") %>

- -<% query_state = query_state_from_search_state(search_state) %> -<% query_state.delete('page') %> -<% query_state.fetch('f', {}).delete(TrlnArgon::Fields::LOCATION_HIERARCHY_FACET.to_s) %> - -
- - <%= button_tag( type: "button", - id: local_button_id, - class: "btn btn-md #{local_search_button_class}", - title: "#{t("trln_argon.local_filter.search_verb")} #{t("trln_argon.local_filter.searching_local", local_institution_name: institution_long_name)}", - onclick: "window.location='#{search_catalog_path(query_state)}'" - ) do %> - icon - <% end %> - - <%= label_tag( local_button_id, - t("trln_argon.local_filter.searching_local", local_institution_name: institution_long_name), - class: "#{local_search_button_label_class}", - data: { count_only_path: trln_argon.catalog_count_only_path(query_state) }) %> - +<% inst = TrlnArgon::Engine.configuration.local_institution_code %> +<% instname = TrlnArgon::LookupManager.instance.map("#{inst}.facet.#{inst}") %> + +
- -
- - <%= button_tag( type: "button", - id: trln_button_id, - class: "btn btn-md #{trln_search_button_class}", - title: "#{t("trln_argon.local_filter.search_verb")} #{t("trln_argon.local_filter.searching_trln")}", - onclick: "window.location='#{search_trln_path(query_state)}'" - ) do %> - icon - <% end %> - - <%= label_tag( trln_button_id, - "#{t("trln_argon.local_filter.searching_trln")}", - class: "#{trln_search_button_label_class}", - data: { count_only_path: trln_argon.trln_count_only_path(query_state) }) %> - -
+ \ No newline at end of file diff --git a/app/views/catalog/_search_sidebar.html.erb b/app/views/catalog/_search_sidebar.html.erb deleted file mode 100644 index 5876f8d9..00000000 --- a/app/views/catalog/_search_sidebar.html.erb +++ /dev/null @@ -1,20 +0,0 @@ -<% inst = TrlnArgon::Engine.configuration.local_institution_code #vs ENV["LOCAL_INSTITUTION_CODE"]%> -<% instname = TrlnArgon::LookupManager.instance.map("#{inst}.facet.#{inst}") %> - -
- - -
- - - -
- -<%= render 'facets' %> \ No newline at end of file From 53d252228afb49d30748cbf97cd75c87880d7041 Mon Sep 17 00:00:00 2001 From: Zeke Graves Date: Tue, 8 Oct 2024 17:04:22 -0400 Subject: [PATCH 2/4] subclass sidebar component; configure index view to use sidebar override; fix markup error --- .../search/sidebar_component.html.erb | 0 .../{blacklight => trln_argon}/search/sidebar_component.rb | 4 ++-- app/views/catalog/_local_filter.html.erb | 4 ++-- lib/trln_argon/controller_override.rb | 3 +++ 4 files changed, 7 insertions(+), 4 deletions(-) rename app/components/{blacklight => trln_argon}/search/sidebar_component.html.erb (100%) rename app/components/{blacklight => trln_argon}/search/sidebar_component.rb (84%) diff --git a/app/components/blacklight/search/sidebar_component.html.erb b/app/components/trln_argon/search/sidebar_component.html.erb similarity index 100% rename from app/components/blacklight/search/sidebar_component.html.erb rename to app/components/trln_argon/search/sidebar_component.html.erb diff --git a/app/components/blacklight/search/sidebar_component.rb b/app/components/trln_argon/search/sidebar_component.rb similarity index 84% rename from app/components/blacklight/search/sidebar_component.rb rename to app/components/trln_argon/search/sidebar_component.rb index e5abb81c..6f88aaa5 100644 --- a/app/components/blacklight/search/sidebar_component.rb +++ b/app/components/trln_argon/search/sidebar_component.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -module Blacklight +module TrlnArgon module Search - class SidebarComponent < Blacklight::Component + class SidebarComponent < Blacklight::Search::SidebarComponent def initialize(blacklight_config:, response:, view_config:) @blacklight_config = blacklight_config @response = response diff --git a/app/views/catalog/_local_filter.html.erb b/app/views/catalog/_local_filter.html.erb index f3af093f..89ad1ee3 100644 --- a/app/views/catalog/_local_filter.html.erb +++ b/app/views/catalog/_local_filter.html.erb @@ -8,8 +8,8 @@ data-location-facet-limit="<%= TrlnArgon::Engine.configuration.number_of_location_facets %>">
-