Class: Primrose::Components::Button
- Defined in:
- lib/primrose/components/button.rb
Instance Attribute Summary
Attributes inherited from Rose
#children, #event_handlers, #state
Instance Method Summary collapse
-
#initialize(label:, action:, style: nil, disabled: false, loading: false) ⇒ Button
constructor
A new instance of Button.
- #render ⇒ Object
- #set_disabled(value) ⇒ Object
- #set_loading(value) ⇒ Object
Methods inherited from Rose
#add_child, #after_mount, #after_render, #after_unmount, #before_mount, #before_render, #before_unmount, #get_binding, #handle_error, #lifecycle, #on, #render_children, #setup, #trigger
Constructor Details
#initialize(label:, action:, style: nil, disabled: false, loading: false) ⇒ Button
Returns a new instance of Button.
6 7 8 9 10 11 12 13 |
# File 'lib/primrose/components/button.rb', line 6 def initialize(label:, action:, style: nil, disabled: false, loading: false) @label = label @action = action @style = style @disabled = disabled @loading = loading super() end |
Instance Method Details
#render ⇒ Object
15 16 17 |
# File 'lib/primrose/components/button.rb', line 15 def render Prim.render('templates/components/button.prim.erb', self) end |
#set_disabled(value) ⇒ Object
19 20 21 |
# File 'lib/primrose/components/button.rb', line 19 def set_disabled(value) @state.alter({ disabled: value }) end |
#set_loading(value) ⇒ Object
23 24 25 |
# File 'lib/primrose/components/button.rb', line 23 def set_loading(value) @state.alter({ loading: value }) end |