Class: Primrose::Components::Checkbox
- Defined in:
- lib/primrose/components/checkbox.rb
Constant Summary collapse
- TEMPLATE =
"<div class=\"checkbox\">\n <input type=\"checkbox\" id=\"<%= @id %>\" name=\"<%= @name %>\" onchange=\"<%= @js %>\" <%= 'checked=\"checked\"' if @checked %> />\n <label for=\"<%= @id %>\"><%= @label %></label>\n</div>\n"
Instance Attribute Summary
Attributes inherited from Rose
#children, #event_handlers, #state
Instance Method Summary collapse
-
#initialize(label:, checked: false, id: nil, name: nil, js: nil) ⇒ Checkbox
constructor
A new instance of Checkbox.
- #render ⇒ Object
- #set_checked(value) ⇒ Object
Methods inherited from Rose
#add_child, #get_binding, #handle_error, #lifecycle, #on, #render_children, #trigger
Constructor Details
#initialize(label:, checked: false, id: nil, name: nil, js: nil) ⇒ Checkbox
Returns a new instance of Checkbox.
14 15 16 17 18 19 20 21 |
# File 'lib/primrose/components/checkbox.rb', line 14 def initialize(label:, checked: false, id: nil, name: nil, js: nil) @label = label @checked = checked @id = id || label.downcase.gsub(/\s+/, "_") # Use label as id if id is not provided @name = name || @id # Use id as name if name is not provided @js = js super() end |
Instance Method Details
#render ⇒ Object
23 24 25 |
# File 'lib/primrose/components/checkbox.rb', line 23 def render Prim.render(TEMPLATE, self) end |
#set_checked(value) ⇒ Object
27 28 29 |
# File 'lib/primrose/components/checkbox.rb', line 27 def set_checked(value) @state.alter({ checked: value }) end |