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
Instance Method Details
#clear_filters_params ⇒ Object
5 6 7 8 9 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 5 def clear_filters_params active_scaffold_config.list.filters.each_with_object({}) do |filter, | [filter.name] = nil end end |
#display_filter(filter) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 16 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
23 24 25 26 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 23 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
28 29 30 31 32 33 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 28 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 #{link.css_class}", title: filter.description || filter.label, data: {remote: :url} if content.present? end |
#display_filters(filters) ⇒ Object
11 12 13 14 |
# File 'lib/active_scaffold/helpers/filter_helpers.rb', line 11 def display_filters(filters) content = filters.sort_by(&:weight).map { |filter| display_filter(filter) } content_tag :div, safe_join(content), class: 'filters' if content.present? end |