app/views/blacklight_range_limit/_range_limit_panel.html.erb
<%- # requires solr_config local passed in
field_config = range_config(field_name)
label = facet_field_label(field_name)
input_label_range_begin = field_config[:input_label_range_begin] || t('blacklight.range_limit.range_begin', field_label: label)
input_label_range_end = field_config[:input_label_range_end] || t('blacklight.range_limit.range_end', field_label: label)
maxlength = field_config[:maxlength] -%>
<div class="limit_content range_limit">
<% if has_selected_range_limit?(field_name) %>
<ul class="current list-unstyled facet-values">
<li class="selected">
<span class="facet-label">
<span class="selected"><%= range_display(field_name) %></span>
<%= link_to remove_range_param(field_name), class: 'remove', title: t('blacklight.range_limit.remove_limit') do %>
<span class="remove-icon">✖</span>
<span class="sr-only">[<%= t('blacklight.range_limit.remove_limit') %>]</span>
<% end %>
</span>
<span class="selected facet-count"><%= number_with_delimiter(@response.total) %></span>
</li>
</ul>
<% end %>
<% unless selected_missing_for_range_limit?(field_name) %>
<%= form_tag search_action_path, method: :get, class: [BlacklightRangeLimit.classes[:form], "range_#{field_name}"].join(' ') do %>
<%= render_hash_as_hidden_fields(search_state.params_for_search.except(:page)) %>
<!-- we need to include a dummy search_field parameter if none exists,
to trick blacklight into displaying actual search results instead
of home page. Not a great solution, but easiest for now. -->
<% unless params.has_key?(:search_field) %>
<%= hidden_field_tag('search_field', 'dummy_range') %>
<% end %>
<%= render_range_input(field_name, :begin, input_label_range_begin, maxlength) %>
– <%= render_range_input(field_name, :end, input_label_range_end, maxlength) %>
<%= submit_tag t('blacklight.range_limit.submit_limit'), class: BlacklightRangeLimit.classes[:submit] %>
<% end %>
<% end %>
<!-- no results profile if missing is selected -->
<% unless selected_missing_for_range_limit?(field_name) %>
<!-- you can hide this if you want, but it has to be on page if you want
JS slider and calculated facets to show up, JS sniffs it. -->
<div class="profile">
<% if stats_for_field?(field_name) %>
<!-- No stats information found for field in search response -->
<% end %>
<% if (min = range_results_endpoint(field_name, :min)) &&
(max = range_results_endpoint(field_name, :max)) %>
<p class="range subsection <%= 'slider_js' unless field_config[:slider_js] == false %>">
Current results range from <span class="min"><%= range_results_endpoint(field_name, :min) %></span> to
<span class="max"><%= range_results_endpoint(field_name, :max) %></span>
</p>
<% if field_config[:segments] != false %>
<div class="distribution subsection <%= 'chart_js' unless field_config[:chart_js] == false %>">
<!-- if we already fetched segments from solr, display them
here. Otherwise, display a link to fetch them, which JS
will AJAX fetch. -->
<% if solr_range_queries_to_a(field_name).length > 0 %>
<%= render(partial: 'blacklight_range_limit/range_segments', locals: { solr_field: field_name }) %>
<% else %>
<%= link_to('View distribution', main_app.url_for(search_state.to_h.merge(action: 'range_limit', range_field: field_name, range_start: min, range_end: max)), class: 'load_distribution') %>
<% end %>
</div>
<% end %>
<% end %>
</div>
<% end %>
</div>