Class: Primrose::Components::TextField

Inherits:
Rose
  • Object
show all
Defined in:
lib/primrose/components/text_field.rb

Constant Summary collapse

TEMPLATE =
"<% if @label %>\n  <label for=\"textfield\"><%= @label %></label>\n<% end %>\n<input type=\"text\"\n      name=\"<%= @name %>\"\n      placeholder=\"<%= @placeholder %>\"\n      <% if @min_length %> minlength=\"<%= @min_length %>\" <% end %>\n      <% if @max_length %> maxlength=\"<%= @max_length %>\" <% end %>\n      <% if @read_only %> readonly <% end %>\n      <% if @default_value %> value=\"<%= @default_value %>\" <% end %>\n      <% if @style_class %> class=\"<%= @style_class %>\" <% end %>\n>\n"

Instance Attribute Summary

Attributes inherited from Rose

#children, #event_handlers, #state

Instance Method Summary collapse

Methods inherited from Rose

#add_child, #get_binding, #handle_error, #lifecycle, #on, #render_children, #trigger

Constructor Details

#initialize(placeholder:, name: nil, label: nil, min_length: nil, max_length: nil, read_only: false, default_value: nil, style_class: nil) ⇒ TextField



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/primrose/components/text_field.rb', line 21

def initialize(placeholder:, name: nil, label: nil, min_length: nil, max_length: nil, read_only: false, default_value: nil, style_class: nil)
  @placeholder = placeholder
  @name = name
  @label = label
  @min_length = min_length
  @max_length = max_length
  @read_only = read_only
  @default_value = default_value
  @style_class = style_class
  super()
end

Instance Method Details

#renderObject



33
34
35
# File 'lib/primrose/components/text_field.rb', line 33

def render
  Prim.render(TEMPLATE, self)
end