Module: ActiveScaffold::Helpers::FilterHelpers
- Included in:
- ViewHelpers
- Defined in:
- lib/active_scaffold/helpers/filter_helpers.rb
Overview
Helpers rendering filters
Instance Method Summary collapse
- #clear_filters_params ⇒ Object
- #display_filter(filter) ⇒ Object
- #display_filter_as_links(filter, options) ⇒ Object
- #display_filter_as_select(filter, options) ⇒ Object
- #display_filters(filters) ⇒ Object
- #render_filters(filters) ⇒ Object
Instance Method Details
#clear_filters_params ⇒ Object
7 8 9 10 11 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 7 def clear_filters_params active_scaffold_config.list.filters.each_with_object({}) do |filter, | [filter.name] = nil end end |
#display_filter(filter) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 24 def display_filter(filter) return if filter.security_method && !controller.send(filter.security_method) = filter.reject { |option| option.security_method_set? && !controller.send(option.security_method) } send :"display_filter_as_#{filter.type}", filter, if .present? end |
#display_filter_as_links(filter, options) ⇒ Object
31 32 33 34 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 31 def display_filter_as_links(filter, ) content = .map { |option| display_action_link(option, nil, nil, authorized: true, level: 1) } display_action_link(filter, safe_join(content), nil, level: 0, title: filter.description) if content.present? end |
#display_filter_as_select(filter, options) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 36 def display_filter_as_select(filter, ) content = .map do |option| content_tag :option, option.label(nil), data: {url: action_link_url(option, nil)}, selected: action_link_selected?(option, nil), title: option.description end select_tag nil, safe_join(content), class: "action_group #{filter.css_class}", title: filter.description || filter.label, data: {remote: :url} if content.present? end |
#display_filters(filters) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 13 def display_filters(filters) return unless filters_enabled? content = render_filters filters content_tag :div, content, class: 'filters' if content.present? end |
#render_filters(filters) ⇒ Object
20 21 22 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 20 def render_filters(filters) safe_join(filters.sort_by(&:weight).filter_map { |filter| display_filter(filter) }) end |