Module: Decidim::Admin::SettingsHelper

Defined in:
app/helpers/decidim/admin/settings_helper.rb

Overview

This class contains helpers needed in order for component settings to properly render.

Constant Summary collapse

TYPES =
{
  boolean: :check_box,
  integer: :number_field,
  string: :text_field,
  text: :text_area
}.freeze

Instance Method Summary collapse

Instance Method Details

#help_text_for_component_setting(field_name, settings_name, component_name) ⇒ Object

Returns a translation or nil. If nil, ZURB Foundation won’t add the help_text.



36
37
38
39
# File 'app/helpers/decidim/admin/settings_helper.rb', line 36

def help_text_for_component_setting(field_name, settings_name, component_name)
  key = "decidim.components.#{component_name}.settings.#{settings_name}.#{field_name}_help"
  return t(key) if I18n.exists?(key)
end

#settings_attribute_input(form, attribute, name, options = {}) ⇒ Object

Public: Renders a form field that matches a settings attribute’s type.

form - The form in which to render the field. attribute - The Settings::Attribute instance with the

description of the attribute.

name - The name of the field. options - Extra options to be passed to the field helper.

Returns a rendered form field.



25
26
27
28
29
30
31
32
33
# File 'app/helpers/decidim/admin/settings_helper.rb', line 25

def settings_attribute_input(form, attribute, name, options = {})
  if name == :amendments_visibility
    amendments_visibility_form_field(form, options)
  elsif attribute.translated?
    form.send(:translated, form_method_for_attribute(attribute), name, options.merge(tabs_id: "#{options[:tabs_prefix]}-#{name}-tabs"))
  else
    form.send(form_method_for_attribute(attribute), name, options.merge(extra_options_for(name)))
  end
end