Class: Daisy::DataInput::FileInputComponent
- Inherits:
-
LocoMotion::BaseComponent
- Object
- ViewComponent::Base
- LocoMotion::BaseComponent
- Daisy::DataInput::FileInputComponent
- Includes:
- LocoMotion::Concerns::AriableComponent
- Defined in:
- app/components/daisy/data_input/file_input_component.rb
Constant Summary
Constants inherited from LocoMotion::BaseComponent
LocoMotion::BaseComponent::EMPTY_PART_IGNORED_TAGS, LocoMotion::BaseComponent::SELF_CLOSING_TAGS
Instance Attribute Summary collapse
-
#accept ⇒ Object
readonly
Returns the value of attribute accept.
-
#disabled ⇒ Object
readonly
Returns the value of attribute disabled.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#multiple ⇒ Object
readonly
Returns the value of attribute multiple.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
Attributes inherited from LocoMotion::BaseComponent
Instance Method Summary collapse
-
#before_render ⇒ Object
Calls the #setup_component method before rendering the component.
-
#call ⇒ Object
Renders the component inline with no additional whitespace.
-
#initialize(**kws) ⇒ FileInputComponent
constructor
Instantiate a new FileInput component.
-
#setup_component ⇒ Object
Sets up the component by configuring the tag name, CSS classes, and HTML attributes.
Methods inherited from LocoMotion::BaseComponent
build, #component_ref, #config_option, #cssify, define_modifier, define_modifiers, define_part, define_parts, define_size, define_sizes, #empty_part_content, #inspect, #part, register_component_initializer, register_component_setup, #rendered_css, #rendered_data, #rendered_html, #rendered_stimulus_controllers, #rendered_tag_name, renders_many, renders_one, set_component_name, #set_loco_parent, #strip_spaces
Methods included from LocoMotion::Concerns::InspectableComponent
Constructor Details
#initialize(**kws) ⇒ FileInputComponent
Instantiate a new FileInput component.
54 55 56 57 58 59 60 61 62 63 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 54 def initialize(**kws) super @name = config_option(:name) @id = config_option(:id) @accept = config_option(:accept, nil) @multiple = config_option(:multiple, false) @disabled = config_option(:disabled, false) @required = config_option(:required, false) end |
Instance Attribute Details
#accept ⇒ Object (readonly)
Returns the value of attribute accept.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def accept @accept end |
#disabled ⇒ Object (readonly)
Returns the value of attribute disabled.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def disabled @disabled end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def id @id end |
#multiple ⇒ Object (readonly)
Returns the value of attribute multiple.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def multiple @multiple end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def name @name end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
31 32 33 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 31 def required @required end |
Instance Method Details
#before_render ⇒ Object
Calls the #setup_component method before rendering the component.
68 69 70 71 72 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 68 def before_render super setup_component end |
#call ⇒ Object
Renders the component inline with no additional whitespace.
101 102 103 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 101 def call part(:component) end |
#setup_component ⇒ Object
Sets up the component by configuring the tag name, CSS classes, and HTML attributes. Sets the tag to input with type ‘file’ and adds the ‘file-input’ CSS class.
This configures the name, id, accept attribute, multiple state, disabled state, and required state of the file input.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'app/components/daisy/data_input/file_input_component.rb', line 82 def setup_component set_tag_name(:component, :input) add_css(:component, "file-input") add_html(:component, { type: "file", name: @name, id: @id, accept: @accept, multiple: @multiple, disabled: @disabled, required: @required }) end |