Module: BetterUi::General::Components::Input::Textarea::TextareaHelper

Included in:
ApplicationHelper
Defined in:
app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb

Instance Method Summary collapse

Instance Method Details

#bui_input_textarea(name:, value: nil, placeholder: nil, required: false, disabled: false, rows: 3, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ String

Renderizza un componente Textarea con tutti i parametri disponibili.

Examples:

Uso base

<%= bui_input_textarea(name: 'description') %>

Con placeholder e validazione

<%= bui_input_textarea(name: 'message', placeholder: 'Inserisci il tuo messaggio', required: true) %>

Con numero di righe personalizzato

<%= bui_input_textarea(name: 'content', rows: 5, placeholder: 'Contenuto lungo...') %>

Con tema e dimensione personalizzati

<%= bui_input_textarea(name: 'feedback', theme: :blue, size: :large, rows: 4) %>

Con border radius personalizzato

<%= bui_input_textarea(name: 'notes', rounded: :large, rows: 3, placeholder: 'Note aggiuntive') %>

Con classi aggiuntive

<%= bui_input_textarea(name: 'custom', classes: 'mb-4', rows: 6, placeholder: 'Campo personalizzato') %>

Con attributi HTML aggiuntivi

<%= bui_input_textarea(name: 'data-field', rows: 4, 'data-validation': 'required', 'aria-label': 'Campo textarea') %>

Con Rails form builder

<%= form_with model: @post do |form| %>
  <%= bui_input_textarea(name: :content, form: form, theme: :blue, rows: 8, placeholder: 'Contenuto del post') %>
<% end %>

Parameters:

  • name (String)

    Nome del campo textarea (obbligatorio)

  • value (String, nil) (defaults to: nil)

    Valore del campo

  • placeholder (String, nil) (defaults to: nil)

    Placeholder del campo

  • required (Boolean) (defaults to: false)

    Se il campo è obbligatorio

  • disabled (Boolean) (defaults to: false)

    Se il campo è disabilitato

  • rows (Integer) (defaults to: 3)

    Numero di righe per la textarea

  • theme (Symbol) (defaults to: :default)

    Tema del componente (:default, :white, :red, :rose, :orange, :green, :blue, :yellow, :violet)

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

    Dimensione del componente (:small, :medium, :large)

  • rounded (Symbol) (defaults to: :medium)

    Border radius (:none, :small, :medium, :large, :full)

  • classes (String) (defaults to: '')

    Classi CSS aggiuntive

  • form (ActionView::Helpers::FormBuilder, nil) (defaults to: nil)

    Form builder Rails opzionale

  • options (Hash)

    Opzioni aggiuntive per la textarea (es. data attributes, aria attributes)

Returns:

  • (String)

    HTML del componente Textarea renderizzato



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb', line 51

def bui_input_textarea(name:, value: nil, placeholder: nil, required: false, disabled: false,
                       rows: 3, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  render BetterUi::General::Input::Textarea::Component.new(
    name: name,
    value: value,
    placeholder: placeholder,
    required: required,
    disabled: disabled,
    rows: rows,
    theme: theme,
    size: size,
    rounded: rounded,
    classes: classes,
    form: form,
    **options
  )
end