Module: LcpRuby::SearchHelper
- Defined in:
- app/helpers/lcp_ruby/search_helper.rb
Instance Method Summary collapse
- #search_parameter_association_options(param, model_definition) ⇒ Object
- #search_parameter_select_url(param) ⇒ Object
- #visible_search_parameters(presenter, slot_context) ⇒ Object
Instance Method Details
#search_parameter_association_options(param, model_definition) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'app/helpers/lcp_ruby/search_helper.rb', line 16 def (param, model_definition) assoc = model_definition.belongs_to_fk_map[param.field] return [] unless assoc&.lcp_model? opts = param. oq = (assoc, opts, user: LcpRuby::Current.user) (oq, opts) end |
#search_parameter_select_url(param) ⇒ Object
25 26 27 28 29 |
# File 'app/helpers/lcp_ruby/search_helper.rb', line 25 def search_parameter_select_url(param) if respond_to?(:current_presenter) && current_presenter && respond_to?(:lcp_ruby) lcp_ruby.(lcp_slug: current_page.slug, field: param.field) end end |
#visible_search_parameters(presenter, slot_context) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'app/helpers/lcp_ruby/search_helper.rb', line 3 def visible_search_parameters(presenter, slot_context) return [] unless presenter.has_search_parameters? user = slot_context.evaluator&.user page_param_fields = Array(slot_context.locals[:page_parameter_fields]) presenter.search_parameters.reject { |p| page_param_fields.include?(p.field) }.select { |p| p.visible_for_user?(user) } end |