Skip to content

Commit b6ed2bf

Browse files
authored
Merge pull request #231 from MITLibraries/full-record-bugfix
Render separate results partial for GeoData
2 parents fb5c0a5 + 12d92f5 commit b6ed2bf

File tree

7 files changed

+161
-115
lines changed

7 files changed

+161
-115
lines changed

app/controllers/search_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def results
2727
if Flipflop.enabled?(:gdt)
2828
# Keep existing GDT behavior unchanged
2929
load_gdt_results
30+
render 'results_geo'
3031
else
3132
case @active_tab
3233
when 'primo'

app/views/search/_result_primo.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<h3 class="record-title">
44
<span class="sr">Title: </span>
55
<% if result_primo['links']&.find { |link| link['kind'] == 'full record' } %>
6-
<%= link_to(result_primo['title'], result_primo['links'].find { |link| link['kind'] == 'full record' }['url'], target: '_blank', rel: 'noopener') %>
6+
<%= link_to(result_primo['title'], result_primo['links'].find { |link| link['kind'] == 'full record' }['url']) %>
77
<% else %>
88
<%= result_primo['title'] %>
99
<% end %>
Lines changed: 3 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,7 @@
1-
<% return unless (applied_filters(@enhanced_query).present? ||
2-
applied_keyword(@enhanced_query).present? ||
3-
applied_geobox_terms(@enhanced_query).present? ||
4-
applied_geodistance_terms(@enhanced_query).present? ||
5-
applied_advanced_terms(@enhanced_query).present?) %>
1+
<% return unless params[:q].present? %>
62

73
<aside class="search-summary">
84
<div class="list-terms-summary">
9-
<h2 class="hd-search-summary hd-5">Applied search terms: </h2>
10-
<ul class="list-unbulleted">
11-
<% if applied_keyword(@enhanced_query).present? %>
12-
<li class="applied-term keyword"><%= applied_keyword(@enhanced_query).first %></li>
13-
<% end %>
14-
<% if applied_geobox_terms(@enhanced_query).present? %>
15-
<li>
16-
<ul class="list-inline terms-list">
17-
<% applied_geobox_terms(@enhanced_query).each do |term| %>
18-
<li class="applied-term"><%= term %></li>
19-
<% end %>
20-
</ul>
21-
</li>
22-
<% end %>
23-
<% if applied_geodistance_terms(@enhanced_query).present? %>
24-
<li>
25-
<ul class="list-inline terms-list">
26-
<% applied_geodistance_terms(@enhanced_query).each do |term| %>
27-
<li class="applied-term"><%= term %></li>
28-
<% end %>
29-
</ul>
30-
</li>
31-
<% end %>
32-
<% if applied_advanced_terms(@enhanced_query).present? %>
33-
<li>
34-
<ul class="list-inline terms-list">
35-
<% applied_advanced_terms(@enhanced_query).each do |term| %>
36-
<li class="applied-term"><%= term %></li>
37-
<% end %>
38-
</ul>
39-
</li>
40-
<% end %>
41-
</ul>
5+
<h2 class="hd-search-summary hd-5">You searched for: <%= params[:q] %></h2>
426
</div>
43-
44-
<% if applied_filters(@enhanced_query).any? %>
45-
<div class="list-filter-summary">
46-
<h2 class="hd-search-summary hd-5">Applied filters: </h2>
47-
<ul class="list-inline">
48-
<% applied_filters(@enhanced_query).each do |filter| %>
49-
<li>
50-
<a class="applied-filter"
51-
href="<%= results_path(remove_filter(@enhanced_query, filter.keys[0], filter.values[0])) %>">
52-
<%= "#{nice_labels[filter.keys[0]] || filter.keys[0]}:" %>
53-
<% if Flipflop.enabled?(:gdt) %>
54-
<%= "#{gdt_sources(filter.values[0], filter.keys[0])}" %>
55-
<% else %>
56-
<%= "#{filter.values[0]}" %>
57-
<% end %>
58-
<span class="sr">Remove applied filter?</span>
59-
</a>
60-
</li>
61-
<% end %>
62-
</ul>
63-
</div>
64-
<% if applied_filters(@enhanced_query).length > 1 %>
65-
<div class="clear-filters">
66-
<a class="btn button-primary"
67-
href="<%= results_path(remove_all_filters(@enhanced_query)) %>">Clear all filters</a>
68-
</div>
69-
<% end %>
70-
<% end %>
71-
</aside>
7+
</aside>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<% return unless (applied_filters(@enhanced_query).present? ||
2+
applied_keyword(@enhanced_query).present? ||
3+
applied_geobox_terms(@enhanced_query).present? ||
4+
applied_geodistance_terms(@enhanced_query).present? ||
5+
applied_advanced_terms(@enhanced_query).present?) %>
6+
7+
<aside class="search-summary">
8+
<div class="list-terms-summary">
9+
<h2 class="hd-search-summary hd-5">Applied search terms: </h2>
10+
<ul class="list-unbulleted">
11+
<% if applied_keyword(@enhanced_query).present? %>
12+
<li class="applied-term keyword"><%= applied_keyword(@enhanced_query).first %></li>
13+
<% end %>
14+
<% if applied_geobox_terms(@enhanced_query).present? %>
15+
<li>
16+
<ul class="list-inline terms-list">
17+
<% applied_geobox_terms(@enhanced_query).each do |term| %>
18+
<li class="applied-term"><%= term %></li>
19+
<% end %>
20+
</ul>
21+
</li>
22+
<% end %>
23+
<% if applied_geodistance_terms(@enhanced_query).present? %>
24+
<li>
25+
<ul class="list-inline terms-list">
26+
<% applied_geodistance_terms(@enhanced_query).each do |term| %>
27+
<li class="applied-term"><%= term %></li>
28+
<% end %>
29+
</ul>
30+
</li>
31+
<% end %>
32+
<% if applied_advanced_terms(@enhanced_query).present? %>
33+
<li>
34+
<ul class="list-inline terms-list">
35+
<% applied_advanced_terms(@enhanced_query).each do |term| %>
36+
<li class="applied-term"><%= term %></li>
37+
<% end %>
38+
</ul>
39+
</li>
40+
<% end %>
41+
</ul>
42+
</div>
43+
44+
<% if applied_filters(@enhanced_query).any? %>
45+
<div class="list-filter-summary">
46+
<h2 class="hd-search-summary hd-5">Applied filters: </h2>
47+
<ul class="list-inline">
48+
<% applied_filters(@enhanced_query).each do |filter| %>
49+
<li>
50+
<a class="applied-filter"
51+
href="<%= results_path(remove_filter(@enhanced_query, filter.keys[0], filter.values[0])) %>">
52+
<%= "#{nice_labels[filter.keys[0]] || filter.keys[0]}:" %>
53+
<% if Flipflop.enabled?(:gdt) %>
54+
<%= "#{gdt_sources(filter.values[0], filter.keys[0])}" %>
55+
<% else %>
56+
<%= "#{filter.values[0]}" %>
57+
<% end %>
58+
<span class="sr">Remove applied filter?</span>
59+
</a>
60+
</li>
61+
<% end %>
62+
</ul>
63+
</div>
64+
<% if applied_filters(@enhanced_query).length > 1 %>
65+
<div class="clear-filters">
66+
<a class="btn button-primary"
67+
href="<%= results_path(remove_all_filters(@enhanced_query)) %>">Clear all filters</a>
68+
</div>
69+
<% end %>
70+
<% end %>
71+
</aside>

app/views/search/_search_summary_use.html.erb

Lines changed: 0 additions & 7 deletions
This file was deleted.

app/views/search/results.html.erb

Lines changed: 14 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99
<%= render partial: "shared/site_title" %>
1010

1111
<%= render partial: "form" %>
12-
<% if Flipflop.enabled?(:gdt) %>
13-
<%= render partial: "search_summary" %>
14-
<% else %>
15-
<%= render partial: "search_summary_use" %>
16-
<% end %>
12+
<%= render partial: "search_summary" %>
1713

1814
<% if ENV.fetch('FACT_PANELS_ENABLED', false).present? %>
1915
<div id="hint" aria-live="polite">
@@ -26,46 +22,23 @@
2622

2723
<%= render(partial: 'shared/error', collection: @errors) %>
2824

29-
<% unless Flipflop.enabled?(:gdt) %>
30-
<!-- Tab Navigation -->
31-
<div class="tab-navigation top-space">
32-
<%= link_to "Primo", results_path(params.permit(:q, :per_page, :page).merge(tab: 'primo')),
33-
class: "tab-link #{'active' if @active_tab == 'primo'}",
34-
data: { turbo_frame: "search-results" } %>
35-
<%= link_to "TIMDEX", results_path(params.permit(:q, :per_page, :page).merge(tab: 'timdex')),
36-
class: "tab-link #{'active' if @active_tab == 'timdex'}",
37-
data: { turbo_frame: "search-results" } %>
38-
</div>
39-
<% end %>
25+
<!-- Tab Navigation -->
26+
<div class="tab-navigation top-space">
27+
<%= link_to "Primo", results_path(params.permit(:q, :per_page, :page).merge(tab: 'primo')),
28+
class: "tab-link #{'active' if @active_tab == 'primo'}",
29+
data: { turbo_frame: "search-results" } %>
30+
<%= link_to "TIMDEX", results_path(params.permit(:q, :per_page, :page).merge(tab: 'timdex')),
31+
class: "tab-link #{'active' if @active_tab == 'timdex'}",
32+
data: { turbo_frame: "search-results" } %>
33+
</div>
4034

4135
<%= turbo_frame_tag "search-results" do %>
42-
<div class="<%= @filters.present? ? 'layout-1q3q' : 'layout-3q1q' %> layout-band top-space">
43-
<% if @filters.present? %>
44-
<aside id="filters" class="col1q">
45-
<button id="filter-toggle"><span class="filter-toggle-name">Filter your results</span><span class="filter-toggle-hide">Hide filters</span></button>
46-
<div id="filter-container" class="hidden-md">
47-
<div class="hidden-md">
48-
<h2 class="hd-3">Filter your results</h2>
49-
</div>
50-
<% @filters&.each_with_index do |(category, values), index| %>
51-
<% if index == 0 %>
52-
<%= render(partial: 'search/filter', locals: { category: category, values: values, first: true }) %>
53-
<% else %>
54-
<%= render(partial: 'search/filter', locals: { category: category, values: values, first: false }) %>
55-
<% end %>
56-
<% end %>
57-
</div>
58-
<%= render partial: 'shared/ask', locals: { display: 'view-lg' } %>
59-
</aside>
60-
<% end %>
61-
36+
<div class="layout-3q1q layout-band top-space">
6237
<main id="results" class="col3q wrap-results">
6338
<% if @results.present? && @errors.blank? %>
6439
<h2 class="hd-3 results-context"><%= results_summary(@pagination[:hits]) %> returned</h2>
6540
<ol class="results-list" start="<%= @pagination[:start] %>">
66-
<% if Flipflop.enabled?(:gdt) %>
67-
<%= render(partial: 'search/result_geo', collection: @results) %>
68-
<% elsif @active_tab == 'primo' %>
41+
<% if @active_tab == 'primo' %>
6942
<%= render(partial: 'search/result_primo', collection: @results) %>
7043
<% else %>
7144
<%= render(partial: 'search/result', collection: @results) %>
@@ -79,7 +52,8 @@
7952
</main>
8053
</div>
8154
<% end %>
82-
<%= render partial: 'shared/ask', locals: { display: 'aside' } if @results.blank? %>
55+
56+
<%= render partial: 'shared/ask', locals: { display: 'aside' } if @results.blank? %>
8357

8458
<% if @results.present? %>
8559
<div id="pagination">
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<%= content_for(:title, results_page_title(@enhanced_query)) %>
2+
3+
<% content_for :additional_meta_tag do %>
4+
<meta name="robots" content="noindex, nofollow" />
5+
<% end %>
6+
7+
<div class="space-wrap">
8+
9+
<%= render partial: "shared/site_title" %>
10+
11+
<%= render partial: "form" %>
12+
<%= render partial: "search_summary_geo" %>
13+
14+
<% if ENV.fetch('FACT_PANELS_ENABLED', false).present? %>
15+
<div id="hint" aria-live="polite">
16+
<%= render(partial: 'search/issn') if fact_enabled?('issn') %>
17+
<%= render(partial: 'search/isbn') if fact_enabled?('isbn') %>
18+
<%= render(partial: 'search/pmid') if fact_enabled?('pmid') %>
19+
<%= render(partial: 'search/doi') if fact_enabled?('doi') %>
20+
</div>
21+
<% end %>
22+
23+
<%= render(partial: 'shared/error', collection: @errors) %>
24+
25+
<div class="<%= @filters.present? ? 'layout-1q3q' : 'layout-3q1q' %> layout-band top-space">
26+
<% if @filters.present? %>
27+
<aside id="filters" class="col1q">
28+
<button id="filter-toggle"><span class="filter-toggle-name">Filter your results</span><span class="filter-toggle-hide">Hide filters</span></button>
29+
<div id="filter-container" class="hidden-md">
30+
<div class="hidden-md">
31+
<h2 class="hd-3">Filter your results</h2>
32+
</div>
33+
<% @filters&.each_with_index do |(category, values), index| %>
34+
<% if index == 0 %>
35+
<%= render(partial: 'search/filter', locals: { category: category, values: values, first: true }) %>
36+
<% else %>
37+
<%= render(partial: 'search/filter', locals: { category: category, values: values, first: false }) %>
38+
<% end %>
39+
<% end %>
40+
</div>
41+
<%= render partial: 'shared/ask', locals: { display: 'view-lg' } %>
42+
</aside>
43+
<% end %>
44+
45+
<main id="results" class="col3q wrap-results">
46+
<% if @results.present? && @errors.blank? %>
47+
<h2 class="hd-3 results-context"><%= results_summary(@pagination[:hits]) %> returned</h2>
48+
<ol class="results-list" start="<%= @pagination[:start] %>">
49+
<%= render(partial: 'search/result_geo', collection: @results) %>
50+
</ol>
51+
<% elsif @errors.blank? %>
52+
<div class="no-results">
53+
<p class="hd-2">No results found for your search</p>
54+
</div>
55+
<% end %>
56+
</main>
57+
</div>
58+
59+
<%= render partial: 'shared/ask', locals: { display: 'aside' } if @results.blank? %>
60+
61+
<% if @results.present? %>
62+
<div id="pagination">
63+
<%= render partial: "pagination" %>
64+
</div>
65+
<%= render partial: 'shared/ask', locals: { display: 'view-md' } %>
66+
<% end %>
67+
</div>
68+
69+
<%= render(partial: 'trigger_tacos') if tacos_enabled? %>
70+
71+
<%= javascript_include_tag "filters" %>

0 commit comments

Comments
 (0)