module Blacklight::RenderConstraintsHelperBehavior
def query_has_constraints?(localized_params = params)
!(localized_params[:q].blank? and localized_params[:f].blank?)
end
def render_constraints(localized_params = params)
(render_constraints_query(localized_params) + render_constraints_filters(localized_params)).html_safe
end
def render_constraints_query(localized_params = params)
if (!localized_params[:q].blank?)
label =
if (localized_params[:search_field].blank? || (default_search_field && localized_params[:search_field] == default_search_field[:key] ) )
nil
else
label_for_search_field(localized_params[:search_field])
end
render_constraint_element(label,
localized_params[:q],
:classes => ["query"],
:remove => url_for(localized_params.merge(:q=>nil, :action=>'index')))
else
"".html_safe
end
end
def render_constraints_filters(localized_params = params)
return "".html_safe unless localized_params[:f]
content = []
localized_params[:f].each_pair do |facet,values|
content << render_filter_element(facet, values, localized_params)
end
return content.flatten.join("\n").html_safe
end
def render_filter_element(facet, values, localized_params)
facet_config = facet_configuration_for_field(facet)
values.map do |val|
render_constraint_element( facet_field_labels[facet],
facet_display_value(facet, val),
:remove => url_for(remove_facet_params(facet, val, localized_params)),
:classes => ["filter", "filter-" + facet.parameterize]
) + "\n"
end
end
def render_constraint_element(label, value, options = {})
render(:partial => "catalog/constraints_element", :locals => {:label => label, :value => value, :options => options})
end
end