Module: BlacklightAdvancedSearch::AdvancedHelperBehavior
- Included in:
- AdvancedHelper
- Defined in:
- app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb
Overview
implementation for AdvancedHelper
Instance Method Summary collapse
-
#advanced_search_context ⇒ Object
Current params without fields that will be over-written by adv.
-
#advanced_search_facet_partial_name(display_facet) ⇒ Object
Use configured facet partial name for facet or fallback on ‘catalog/facet_limit’.
- #facet_field_names_for_advanced_search ⇒ Object
-
#facet_value_checked?(field, value) ⇒ Boolean
Is facet value in adv facet search results?.
-
#label_tag_default_for(key) ⇒ Object
Fill in default from existing search, if present – if you are using same search fields for basic search and advanced, will even fill in properly if existing search used basic search on same field present in advanced.
- #search_fields_for_advanced_search ⇒ Object
- #select_menu_for_field_operator ⇒ Object
Instance Method Details
#advanced_search_context ⇒ Object
Current params without fields that will be over-written by adv. search, or other fields we don’t want.
34 35 36 37 38 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 34 def advanced_search_context my_params = search_state.params_for_search.except :page, :f_inclusive, :q, :search_field, :op, :index, :sort my_params.except!(*search_fields_for_advanced_search.map { |_key, field_def| field_def[:key] }) end |
#advanced_search_facet_partial_name(display_facet) ⇒ Object
Use configured facet partial name for facet or fallback on ‘catalog/facet_limit’
53 54 55 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 53 def advanced_search_facet_partial_name(display_facet) facet_configuration_for_field(display_facet.name).try(:partial) || "catalog/facet_limit" end |
#facet_field_names_for_advanced_search ⇒ Object
46 47 48 49 50 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 46 def facet_field_names_for_advanced_search @facet_field_names_for_advanced_search ||= begin blacklight_config.facet_fields.select { |_k, v| v.include_in_advanced_search || v.include_in_advanced_search.nil? }.values.map(&:field) end end |
#facet_value_checked?(field, value) ⇒ Boolean
Is facet value in adv facet search results?
19 20 21 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 19 def facet_value_checked?(field, value) BlacklightAdvancedSearch::QueryParser.new(params, blacklight_config).filters_include_value?(field, value) end |
#label_tag_default_for(key) ⇒ Object
Fill in default from existing search, if present – if you are using same search fields for basic search and advanced, will even fill in properly if existing search used basic search on same field present in advanced.
8 9 10 11 12 13 14 15 16 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 8 def label_tag_default_for(key) if !params[key].blank? return params[key] elsif params["search_field"] == key return params["q"] else return nil end end |
#search_fields_for_advanced_search ⇒ Object
40 41 42 43 44 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 40 def search_fields_for_advanced_search @search_fields_for_advanced_search ||= begin blacklight_config.search_fields.select { |_k, v| v.include_in_advanced_search || v.include_in_advanced_search.nil? } end end |
#select_menu_for_field_operator ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb', line 23 def = { t('blacklight_advanced_search.all') => 'AND', t('blacklight_advanced_search.any') => 'OR' }.sort select_tag(:op, (, params[:op]), class: 'input-small') end |