Class: Coco::App::Elements::LayoutPickerButton
- Inherits:
-
Component
- Object
- ViewComponent::Base
- Component
- Coco::App::Elements::LayoutPickerButton
- Includes:
- Coco::AppHelper, Concerns::AcceptsOptions, Concerns::WithDropdownOptions, Concerns::WrapsComponent
- Defined in:
- app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb
Constant Summary
Constants included from Concerns::AcceptsTagAttributes
Concerns::AcceptsTagAttributes::TAG_ATTRIBUTE_NAMES
Instance Attribute Summary collapse
-
#layout_options ⇒ Object
readonly
Returns the value of attribute layout_options.
-
#resize ⇒ Object
readonly
Returns the value of attribute resize.
-
#size ⇒ Object
readonly
Returns the value of attribute size.
Instance Method Summary collapse
-
#initialize(selected: nil, **kwargs) ⇒ LayoutPickerButton
constructor
A new instance of LayoutPickerButton.
- #selected ⇒ Object
Methods included from Coco::AppHelper
#coco_button, #coco_button_group, #coco_color_picker_button, #coco_confirm_button, #coco_dropdown_button, #coco_fields, #coco_form_button, #coco_form_for, #coco_form_with, #coco_image_picker_button, #coco_layout_picker_button, #coco_link, #coco_menu_button, #coco_notice, #coco_seamless_textarea, #coco_snackbar, #coco_system_banner, #coco_toast, #coco_toolbar
Methods included from Concerns::AcceptsOptions
#accepted_options, #get_option_group
Methods inherited from Component
#accepts_options?, after_initialize, before_initialize, before_render, new
Methods included from Coco::AlpineHelper
Methods included from TagHelper
#prefix_attr_keys, #random_id, #style_str
Methods included from ComponentHelper
#coco_component, #resolve_component
Methods included from BookHelper
#coco_editable_slide, #coco_media_slide
Methods included from BaseHelper
#coco_embed, #coco_icon, #coco_image, #coco_placeholder, #coco_svg, #coco_tag
Methods included from Concerns::Translatable
Methods included from Concerns::HasName
Methods included from Concerns::AcceptsTagAttributes
Constructor Details
#initialize(selected: nil, **kwargs) ⇒ LayoutPickerButton
Returns a new instance of LayoutPickerButton.
21 22 23 24 25 26 27 28 29 30 |
# File 'app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb', line 21 def initialize(selected: nil, **kwargs) @selected = selected @layout_options = [] @resize = {} @size = kwargs.fetch(:size, :default)&.to_sym if @size.in?(Coco::App::Elements::Button::SIZE_ALIASES.keys) && !kwargs.key?(:resize) @size, @resize = Coco::App::Elements::Button::SIZE_ALIASES.fetch(@size) end end |
Instance Attribute Details
#layout_options ⇒ Object (readonly)
Returns the value of attribute layout_options.
19 20 21 |
# File 'app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb', line 19 def @layout_options end |
#resize ⇒ Object (readonly)
Returns the value of attribute resize.
19 20 21 |
# File 'app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb', line 19 def resize @resize end |
#size ⇒ Object (readonly)
Returns the value of attribute size.
19 20 21 |
# File 'app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb', line 19 def size @size end |
Instance Method Details
#selected ⇒ Object
32 33 34 |
# File 'app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb', line 32 def selected @selected || @layout_options.first[:name] end |