Module: Decidim::TaxonomiesHelper
Overview
A Helper to render scopes, including a global scope, for forms.
Instance Method Summary
collapse
#default_locale?
#areas_for_select, #base_error_messages, #decidim_form_for, #decidim_form_slug_url, #editor_field_tag, #form_field_has_error?, #form_required_explanation, #name_with_locale, #ordered_scopes_descendants, #ordered_scopes_descendants_for_select, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
Instance Method Details
#filter_taxonomy_items_select_field(form, name, filter, options = {}) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
|
# File 'decidim-core/app/helpers/decidim/taxonomies_helper.rb', line 9
def filter_taxonomy_items_select_field(form, name, filter, options = {})
label = decidim_sanitize_translated(options.delete(:internal) ? filter.internal_name : filter.name)
options = options.merge(include_blank: I18n.t("decidim.taxonomies.prompt")) unless options.has_key?(:include_blank)
options = options.merge(label:) unless options.has_key?(:label)
form.select(
name,
taxonomy_items_options_for_filter(filter),
options,
{ name: "#{form.object_name}[#{name}][]", id: "#{name}-#{filter.id}" }
)
end
|
#taxonomy_items_options_for_filter(filter) ⇒ Object
21
22
23
24
|
# File 'decidim-core/app/helpers/decidim/taxonomies_helper.rb', line 21
def taxonomy_items_options_for_filter(filter)
@taxonomy_items_options_for_filter ||= {}
@taxonomy_items_options_for_filter[filter.id] ||= taxonomy_items_options_for_taxonomies_tree(filter.taxonomies)
end
|
#taxonomy_items_options_for_taxonomies_tree(taxonomies_tree) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'decidim-core/app/helpers/decidim/taxonomies_helper.rb', line 26
def taxonomy_items_options_for_taxonomies_tree(taxonomies_tree)
options = []
taxonomies_tree.each do |id, item|
name = " #{" " * 4 * (item[:taxonomy].parent_ids.count - 1)} #{decidim_sanitize_translated(item[:taxonomy].name)}".html_safe
options.append([name, id])
options.concat(taxonomy_items_options_for_taxonomies_tree(item[:children])) if item[:children].any?
end
options
end
|