Module: GOVUKDesignSystemFormBuilder

Includes:
ActiveSupport::Configurable
Defined in:
lib/govuk_design_system_formbuilder.rb,
lib/govuk_design_system_formbuilder/base.rb,
lib/govuk_design_system_formbuilder/builder.rb,
lib/govuk_design_system_formbuilder/version.rb,
lib/govuk_design_system_formbuilder/traits/hint.rb,
lib/govuk_design_system_formbuilder/traits/error.rb,
lib/govuk_design_system_formbuilder/traits/input.rb,
lib/govuk_design_system_formbuilder/traits/label.rb,
lib/govuk_design_system_formbuilder/elements/date.rb,
lib/govuk_design_system_formbuilder/elements/file.rb,
lib/govuk_design_system_formbuilder/elements/hint.rb,
lib/govuk_design_system_formbuilder/elements/label.rb,
lib/govuk_design_system_formbuilder/traits/caption.rb,
lib/govuk_design_system_formbuilder/elements/legend.rb,
lib/govuk_design_system_formbuilder/elements/select.rb,
lib/govuk_design_system_formbuilder/elements/submit.rb,
lib/govuk_design_system_formbuilder/elements/caption.rb,
lib/govuk_design_system_formbuilder/containers/radios.rb,
lib/govuk_design_system_formbuilder/elements/text_area.rb,
lib/govuk_design_system_formbuilder/traits/conditional.rb,
lib/govuk_design_system_formbuilder/containers/fieldset.rb,
lib/govuk_design_system_formbuilder/elements/inputs/url.rb,
lib/govuk_design_system_formbuilder/traits/localisation.rb,
lib/govuk_design_system_formbuilder/traits/supplemental.rb,
lib/govuk_design_system_formbuilder/elements/inputs/text.rb,
lib/govuk_design_system_formbuilder/containers/form_group.rb,
lib/govuk_design_system_formbuilder/elements/inputs/email.rb,
lib/govuk_design_system_formbuilder/elements/inputs/phone.rb,
lib/govuk_design_system_formbuilder/containers/check_boxes.rb,
lib/govuk_design_system_formbuilder/elements/error_message.rb,
lib/govuk_design_system_formbuilder/elements/error_summary.rb,
lib/govuk_design_system_formbuilder/elements/inputs/number.rb,
lib/govuk_design_system_formbuilder/traits/collection_item.rb,
lib/govuk_design_system_formbuilder/containers/supplemental.rb,
lib/govuk_design_system_formbuilder/elements/inputs/password.rb,
lib/govuk_design_system_formbuilder/containers/character_count.rb,
lib/govuk_design_system_formbuilder/elements/check_boxes/label.rb,
lib/govuk_design_system_formbuilder/elements/radios/collection.rb,
lib/govuk_design_system_formbuilder/containers/check_boxes_fieldset.rb,
lib/govuk_design_system_formbuilder/elements/check_boxes/collection.rb,
lib/govuk_design_system_formbuilder/containers/radio_buttons_fieldset.rb,
lib/govuk_design_system_formbuilder/elements/radios/fieldset_radio_button.rb,
lib/govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box.rb,
lib/govuk_design_system_formbuilder/elements/radios/collection_radio_button.rb,
lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb

Defined Under Namespace

Modules: Builder, Containers, Elements, PrefixableArray, Traits Classes: Base, FormBuilder

Defaults collapse

DEFAULTS =

Default form builder configuration

  • :brand sets the value used to prefix all classes, used to allow the builder to be branded for alternative (similar) design systems.

  • :default_caption_size controls the default size of caption text. Can be either xl, l or m.

  • :default_legend_size controls the default size of legend text. Can be either xl, l, m or s.

  • :default_legend_tag controls the default tag that legends are wrapped in. Defaults to h1.

  • :default_submit_button_text sets the value assigned to govuk_submit, defaults to 'Continue'.

  • :default_submit_button_text sets the text used to divide the last radio button in radio button fieldsets. As per the GOV.UK Design System spec, it defaults to 'or'.

  • :default_error_summary_title sets the text used in error summary blocks. As per the GOV.UK Design System spec, it defaults to 'There is a problem'.

  • :localisation_schema_fallback sets the prefix elements for the array used to build the localisation string. The final two elements are always are the object name and attribute name. The special value __context__, is used as a placeholder for the context (label, fieldset or hint).

  • :localisation_schema_legend, :localisation_schema_hint and :localisation_schema_label each override the schema root for their particular context, allowing them to be independently customised.

{
  brand: 'govuk',

  default_legend_size: 'm',
  default_legend_tag: 'h1',
  default_caption_size: 'm',
  default_submit_button_text: 'Continue',
  default_radio_divider_text: 'or',
  default_error_summary_title: 'There is a problem',

  localisation_schema_fallback: %i(helpers __context__),
  localisation_schema_label: nil,
  localisation_schema_hint: nil,
  localisation_schema_legend: nil,
  localisation_schema_caption: nil
}.freeze

Constant Summary collapse

VERSION =
'1.2.5'.freeze

Defaults collapse

Class Method Details

.configure {|config| ... } ⇒ Object

Configure the form builder in the usual manner. All of the keys in DEFAULTS can be configured as per the example below

Examples:

GOVUKDesignSystemFormBuilder.configure do |conf|
  conf.default_legend_size = 'xl'
  conf.default_error_summary_title = 'OMG'
end

Yields:

  • (config)

75
76
77
# File 'lib/govuk_design_system_formbuilder.rb', line 75

def configure
  yield(config)
end

.reset!Object

Note:

This method is only really intended for use to clean up during testing

Resets each of the configurable values to its default


83
84
85
86
87
# File 'lib/govuk_design_system_formbuilder.rb', line 83

def reset!
  configure do |c|
    DEFAULTS.each { |k, v| c.send("#{k}=", v) }
  end
end