Module: Blacklight::RenderConstraintsHelperBehavior
- Defined in:
- app/helpers/blacklight/render_constraints_helper_behavior.rb
Instance Method Summary collapse
-
#render_constraint_element(label, value, options = {}) ⇒ Object
Render a label/value constraint on the screen.
-
#render_constraints(localized_params = params) ⇒ Object
Render actual constraints, not including header or footer info.
- #render_constraints_filters(localized_params = params) ⇒ Object
- #render_constraints_query(localized_params = params) ⇒ Object
- #render_filter_element(facet, values, localized_params) ⇒ Object
Instance Method Details
#render_constraint_element(label, value, options = {}) ⇒ Object
Render a label/value constraint on the screen. Can be called by plugins and such to get application-defined rendering.
Can be over-ridden locally to render differently if desired, although in most cases you can just change CSS instead.
Can pass in nil label if desired.
options:
- :remove
-
url to execute for a ‘remove’ action
- :classes
-
can be an array of classes to add to container span for constraint.
- :escape_label
-
default true, HTML escape.
- :escape_value
-
default true, HTML escape.
80 81 82 |
# File 'app/helpers/blacklight/render_constraints_helper_behavior.rb', line 80 def render_constraint_element(label, value, = {}) render(:partial => "catalog/constraints_element", :locals => {:label => label, :value => value, :options => }) end |
#render_constraints(localized_params = params) ⇒ Object
Render actual constraints, not including header or footer info.
5 6 7 |
# File 'app/helpers/blacklight/render_constraints_helper_behavior.rb', line 5 def render_constraints(localized_params = params) (render_constraints_query(localized_params) + render_constraints_filters(localized_params)).html_safe end |
#render_constraints_filters(localized_params = params) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/blacklight/render_constraints_helper_behavior.rb', line 34 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 |
#render_constraints_query(localized_params = params) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/helpers/blacklight/render_constraints_helper_behavior.rb', line 9 def render_constraints_query(localized_params = params) # So simple don't need a view template, we can just do it here. 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 if params[:controller] == 'dashboard' render_constraint_element(label, localized_params[:q], :classes => ["query"], :remove => dashboard_index_path(localized_params.merge(:q=>nil, :action=>'index'))) else render_constraint_element(label, localized_params[:q], :classes => ["query"], :remove => catalog_index_path(localized_params.merge(:q=>nil, :action=>'index'))) end else "".html_safe end end |
#render_filter_element(facet, values, localized_params) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/helpers/blacklight/render_constraints_helper_behavior.rb', line 44 def render_filter_element(facet, values, localized_params) facet_configuration_for_field(facet) values.map do |val| if params[:controller] == 'dashboard' render_constraint_element( facet_field_labels[facet], facet_display_value(facet, val), :remove => dashboard_index_path(remove_facet_params(facet, val, localized_params)), :classes => ["filter", "filter-" + facet.parameterize] ) + "\n" else render_constraint_element( facet_field_labels[facet], facet_display_value(facet, val), :remove => catalog_index_path(remove_facet_params(facet, val, localized_params)), :classes => ["filter", "filter-" + facet.parameterize] ) + "\n" end end end |