Class: DsfrComponent::SearchComponent

Inherits:
Base
  • Object
show all
Defined in:
app/components/dsfr_component/search_component.rb

Constant Summary collapse

DEFAULT_LABEL_TEXT =
'Recherche'.freeze
DEFAULT_BUTTON_TEXT =
'Rechercher'.freeze

Constants inherited from Base

Base::HEADING_LEVELS, Base::SIZES

Instance Method Summary collapse

Constructor Details

#initialize(url:, name: :search, size: :md, label_text: DEFAULT_LABEL_TEXT, button_text: DEFAULT_BUTTON_TEXT, **html_attributes) ⇒ SearchComponent

Returns a new instance of SearchComponent.

Parameters:

  • url (String)

    form destination

  • name (String|Symbol) (defaults to: :search)

    input name

  • size (Symbol) (defaults to: :md)

    component size : ‘:md` (default) or `:sm`/`:lg`

  • label_text (String) (defaults to: DEFAULT_LABEL_TEXT)

    Label text, default: “Recherche”

  • button_text (String) (defaults to: DEFAULT_BUTTON_TEXT)

    Button and placeholder text, default: “Rechercher”

  • value (String)

    Current input value (optional, defaults to request.params)

  • hidden_fields (Hash)

    Extra fields (optional)



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/components/dsfr_component/search_component.rb', line 13

def initialize(url:, name: :search, size: :md, label_text: DEFAULT_LABEL_TEXT, button_text: DEFAULT_BUTTON_TEXT, **html_attributes)
  @url = url
  @name = name
  @label_text = label_text
  @button_text = button_text
  @size = size
  @value = html_attributes.delete(:value)
  @hidden_fields = html_attributes.delete(:hidden_fields) || {}
  @html_attributes = html_attributes

  validate_size!

  super(html_attributes: html_attributes)
end