Module: Card::Set::Abstract::Filter::HtmlFormat
- Extended by:
- Card::Set::AbstractFormat
- Defined in:
- tmpsets/set/mod020-search/abstract/03_filter.rb
Instance Method Summary collapse
- #active_filter?(field) ⇒ Boolean
- #default_filter?(field) ⇒ Boolean
- #filter_action_path ⇒ Object
- #filter_fields(slot_selector: nil, sort_field: nil) ⇒ Object
- #filter_form(data = {}, sort_input_field = nil, form_args = {}) ⇒ Object
- #filter_form_data ⇒ Object
- #filter_label(field) ⇒ Object
- #filter_label_from_method(field) ⇒ Object
- #filter_label_from_name(field) ⇒ Object
- #sort_options ⇒ Object
Instance Method Details
#active_filter?(field) ⇒ Boolean
78 79 80 81 82 83 84 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 78 def active_filter? field if card.filter_keys_from_params.present? filter_hash.key? field else default_filter? field end end |
#default_filter?(field) ⇒ Boolean
86 87 88 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 86 def default_filter? field card.default_filter_option.key?(field) end |
#filter_action_path ⇒ Object
104 105 106 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 104 def filter_action_path path end |
#filter_fields(slot_selector: nil, sort_field: nil) ⇒ Object
63 64 65 66 67 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 63 def filter_fields slot_selector: nil, sort_field: nil form_args = { action: filter_action_path, class: "slotter" } form_args["data-slot-selector"] = slot_selector if slot_selector filter_form filter_form_data, sort_field, form_args end |
#filter_form(data = {}, sort_input_field = nil, form_args = {}) ⇒ Object
115 116 117 118 119 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 115 def filter_form data={}, sort_input_field=nil, form_args={} haml :filter_form, categories: data, sort_input_field: sort_input_field, form_args: form_args end |
#filter_form_data ⇒ Object
69 70 71 72 73 74 75 76 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 69 def filter_form_data all_filter_keys.each_with_object({}) do |cat, h| h[cat] = { label: filter_label(cat), input_field: _render("filter_#{cat}_formgroup"), active: active_filter?(cat), default: default_filter?(cat) } end end |
#filter_label(field) ⇒ Object
90 91 92 93 94 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 90 def filter_label field # return "Keyword" if field.to_sym == :name # filter_label_from_method(field) || filter_label_from_name(field) end |
#filter_label_from_method(field) ⇒ Object
96 97 98 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 96 def filter_label_from_method field try "#{field}_filter_label" end |
#filter_label_from_name(field) ⇒ Object
100 101 102 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 100 def filter_label_from_name field Card.fetch_name(field) { field.to_s.capitalize } end |
#sort_options ⇒ Object
121 122 123 124 125 126 |
# File 'tmpsets/set/mod020-search/abstract/03_filter.rb', line 121 def { "Alphabetical": :name, "Recently Updated": :updated_at } end |