Class: GOVUKDesignSystemFormBuilder::Elements::File

Inherits:
Base
  • Object
show all
Includes:
Traits::ContentBeforeAndAfter, Traits::Error, Traits::HTMLAttributes, Traits::HTMLClasses, Traits::Hint, Traits::Label, Traits::Supplemental
Defined in:
lib/govuk_design_system_formbuilder/elements/file.rb

Instance Method Summary collapse

Methods included from Traits::ContentBeforeAndAfter

#after_input_content, #before_input_content

Methods included from Traits::HTMLClasses

#build_classes

Methods included from Traits::HTMLAttributes

#attributes

Methods included from Traits::Hint

#hint_id

Methods included from Traits::Error

#error_id

Methods inherited from Base

#field_id, #to_s

Constructor Details

#initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, javascript:, before_input:, after_input:, choose_files_button_text:, drop_instruction_text:, multiple_files_chosen_text:, no_file_chosen_text:, entered_drop_zone_text:, left_drop_zone_text:, **kwargs, &block) ⇒ File

Returns a new instance of File.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/govuk_design_system_formbuilder/elements/file.rb', line 14

def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, javascript:, before_input:, after_input:, choose_files_button_text:, drop_instruction_text:, multiple_files_chosen_text:, no_file_chosen_text:, entered_drop_zone_text:, left_drop_zone_text:, **kwargs, &block)
  super(builder, object_name, attribute_name, &block)

  @label = label
  @caption = caption
  @hint = hint
  @html_attributes = kwargs
  @form_group = form_group
  @javascript = javascript
  @before_input = before_input
  @after_input = after_input

  @choose_files_button_text = choose_files_button_text
  @drop_instruction_text = drop_instruction_text
  @multiple_files_chosen_text = multiple_files_chosen_text
  @no_file_chosen_text = no_file_chosen_text
  @entered_drop_zone_text = entered_drop_zone_text
  @left_drop_zone_text = left_drop_zone_text
end

Instance Method Details

#htmlObject



34
35
36
37
38
# File 'lib/govuk_design_system_formbuilder/elements/file.rb', line 34

def html
  Containers::FormGroup.new(*bound, **@form_group).html do
    safe_join([label_element, supplemental_content, hint_element, error_element, before_input_content, file_html, after_input_content])
  end
end