Class: Playbook::PbSelect::Select
- Defined in:
- app/pb_kits/playbook/pb_select/select.rb
Constant Summary
Constants included from Playbook::PositionPropsCss
Playbook::PositionPropsCss::POSITION_VALUES
Instance Attribute Summary
Attributes included from Playbook::Props
Instance Method Summary collapse
- #all_attributes ⇒ Object
- #angle_down_path ⇒ Object
- #classname ⇒ Object
- #classnames ⇒ Object
- #compact_class ⇒ Object
- #data_attributes ⇒ Object
- #disabled_options ⇒ Object
- #inline_class ⇒ Object
- #options_to_array ⇒ Object
- #select_margin_bottom ⇒ Object
- #select_wrapper_class ⇒ Object
- #selected ⇒ Object
- #show_arrow_class ⇒ Object
Methods inherited from KitBase
#combined_html_options, #global_inline_props, #object, #pb_content_tag
Methods included from MaxHeight
included, #max_height_options, #max_height_props, #max_height_values
Methods included from MinHeight
included, #min_height_options, #min_height_props, #min_height_values
Methods included from Height
#height_options, #height_props, #height_values, included
Methods included from VerticalAlign
included, #vertical_align_options, #vertical_align_props, #vertical_align_values
Methods included from Bottom
#bottom_options, #bottom_values, included
Methods included from Playbook::PositionPropsCss
Methods included from Right
included, #right_options, #right_values
Methods included from Top
included, #top_options, #top_values
Methods included from Left
included, #left_options, #left_values
Methods included from Truncate
included, #truncate_options, #truncate_props, #truncate_values
Methods included from Overflow
included, #overflow_options, #overflow_props, #overflow_values
Methods included from TextAlign
included, #text_align_options, #text_align_props, #text_align_values
Methods included from BorderRadius
#border_radius_options, #border_radius_props, #border_radius_values, included
Methods included from Hover
#hover_attributes, #hover_background_values, #hover_color_values, #hover_options, #hover_props, #hover_scale_values, #hover_shadow_values, #hover_underline_values, #hover_values, included
Methods included from Playbook::Position
included, #position_options, #position_values
Methods included from Order
included, #order_options, #order_props, #order_values
Methods included from FlexShrink
#flex_shrink_options, #flex_shrink_props, #flex_shrink_values, included
Methods included from FlexGrow
#flex_grow_options, #flex_grow_props, #flex_grow_values, included
Methods included from Flex
#flex_options, #flex_props, #flex_values, included
Methods included from AlignSelf
#align_self_options, #align_self_props, #align_self_values, included
Methods included from AlignContent
#align_content_options, #align_content_props, #align_content_values, included
Methods included from AlignItems
#align_items_options, #align_items_props, #align_items_values, included
Methods included from JustifySelf
included, #justify_self_options, #justify_self_props, #justify_self_values
Methods included from JustifyContent
included, #justify_content_options, #justify_content_props, #justify_content_values
Methods included from FlexWrap
#flex_wrap_options, #flex_wrap_props, #flex_wrap_values, included
Methods included from FlexDirection
#flex_direction_options, #flex_direction_props, #flex_direction_values, included
Methods included from Cursor
#cursor_options, #cursor_props, #cursor_values, included
Methods included from Display
#display_options, #display_props, #display_size_values, #display_values, included
Methods included from LineHeight
included, #line_height_options, #line_height_props, #line_height_values
Methods included from Shadow
included, #shadow_options, #shadow_props, #shadow_values
Methods included from NumberSpacing
included, #number_spacing_options, #number_spacing_values
Methods included from ZIndex
included, #screen_size_values, #z_index_options, #z_index_props, #z_index_values
Methods included from Spacing
#break_method_values, #filter_classname, #gap_options, #gap_props, #gap_values, included, #max_width_options, #max_width_props, #max_width_values, #min_width_options, #min_width_props, #min_width_values, #screen_size_values, #spacing_options, #spacing_props, #spacing_values, #width_options, #width_props, #width_values
Methods included from Classnames
#generate_classname, #generate_classname_without_spacing, included
Methods included from Playbook::Props
Methods included from Playbook::PbKitHelper
Methods included from Playbook::PbFormsHelper
Instance Method Details
permalink #all_attributes ⇒ Object
[View source]
30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 30 def all_attributes { id: id, prompt: blank_selection, disabled: disabled, required: required, multiple: multiple, onchange: onchange, include_blank: include_blank, }.merge(attributes) end |
permalink #angle_down_path ⇒ Object
[View source]
88 89 90 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 88 def angle_down_path "app/pb_kits/playbook/utilities/icons/angle-down.svg" end |
permalink #classname ⇒ Object
[View source]
42 43 44 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 42 def classname generate_classname("pb_select", select_margin_bottom, separator: " ") end |
permalink #classnames ⇒ Object
[View source]
26 27 28 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 26 def classnames classname + inline_class + compact_class + show_arrow_class end |
permalink #compact_class ⇒ Object
[View source]
50 51 52 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 50 def compact_class compact ? "compact" : "" end |
permalink #data_attributes ⇒ Object
[View source]
92 93 94 95 96 97 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 92 def data_attributes data = attributes[:data] || {} data.merge!("data-pb-select" => true) data.merge!("data-validation-message" => ) if .present? data end |
permalink #disabled_options ⇒ Object
[View source]
79 80 81 82 83 84 85 86 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 79 def = .map { |option| option[:value] if option[:disabled] == true }.compact if .empty? nil else end end |
permalink #inline_class ⇒ Object
[View source]
46 47 48 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 46 def inline_class inline ? " inline " : " " end |
permalink #options_to_array ⇒ Object
[View source]
66 67 68 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 66 def .map { |option| [option[:value_text] || option[:value], option[:value]] } end |
permalink #select_margin_bottom ⇒ Object
[View source]
62 63 64 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 62 def select_margin_bottom margin.present? || margin_bottom.present? ? nil : "mb_sm" end |
permalink #select_wrapper_class ⇒ Object
[View source]
58 59 60 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 58 def select_wrapper_class "pb_select_kit_wrapper" + error_class end |
permalink #selected ⇒ Object
[View source]
70 71 72 73 74 75 76 77 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 70 def selected selections = .map { |option| option[:value] if option[:selected] == true }.compact if selections.empty? nil else selections end end |
permalink #show_arrow_class ⇒ Object
[View source]
54 55 56 |
# File 'app/pb_kits/playbook/pb_select/select.rb', line 54 def show_arrow_class show_arrow ? "show_arrow" : "" end |