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 %>


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