Class: Playbook::PbStarRating::StarRating
- Defined in:
- app/pb_kits/playbook/pb_star_rating/star_rating.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_input_options ⇒ Object
- #background_star_color ⇒ Object
- #background_star_path ⇒ Object
- #classname ⇒ Object
- #denominator_style ⇒ Object
- #empty_stars ⇒ Object
- #hidden_input_tag ⇒ Object
- #one_decimal_rating ⇒ Object
- #star_color ⇒ Object
- #star_count ⇒ Object
- #star_svg_path ⇒ Object
- #svg_class ⇒ Object
- #svg_size ⇒ Object
Methods inherited from KitBase
#combined_html_options, #object, #pb_content_tag
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_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, 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
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
#all_input_options ⇒ Object
119 120 121 122 123 124 125 126 127 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 119 def .merge( data: { "pb-star-rating-input": true }, name: name, required: required, style: "display: none", value: default_value || "" ) end |
#background_star_color ⇒ Object
66 67 68 69 70 71 72 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 66 def background_star_color if background_type === "outline" dark ? "outline_empty_star_dark" : "outline_empty_star_light" else dark ? "empty_star_dark" : "empty_star_light" end end |
#background_star_path ⇒ Object
86 87 88 89 90 91 92 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 86 def background_star_path if background_type === "outline" "app/pb_kits/playbook/pb_star_rating/stars/star_outline.svg" else "app/pb_kits/playbook/pb_star_rating/stars/yellow_star.svg" end end |
#classname ⇒ Object
111 112 113 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 111 def classname generate_classname("pb_star_rating_kit") end |
#denominator_style ⇒ Object
47 48 49 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 47 def denominator_style layout_option == "onestar" ? 1 : denominator end |
#empty_stars ⇒ Object
51 52 53 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 51 def empty_stars (denominator_style - star_count).negative? ? 0 : denominator_style - star_count end |
#hidden_input_tag ⇒ Object
115 116 117 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 115 def hidden_input_tag tag(:input, ) end |
#one_decimal_rating ⇒ Object
39 40 41 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 39 def .to_f.round(1) end |
#star_color ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 55 def star_color case color_option when "yellow" "yellow_star" when "primary" dark ? "primary_star_dark" : "primary_star_light" when "subtle" dark ? "subtle_star_dark" : "subtle_star_light" end end |
#star_count ⇒ Object
43 44 45 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 43 def star_count .round > denominator_style ? denominator_style : .round end |
#star_svg_path ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 94 def star_svg_path case color_option when "yellow" "app/pb_kits/playbook/pb_star_rating/stars/yellow_star.svg" when "primary" "app/pb_kits/playbook/pb_star_rating/stars/primary_star.svg" when "subtle" if dark == true "app/pb_kits/playbook/pb_star_rating/stars/subtle_dark_star.svg" else "app/pb_kits/playbook/pb_star_rating/stars/subtle_star.svg" end else "app/pb_kits/playbook/pb_star_rating/stars/primary_star.svg" end end |
#svg_class ⇒ Object
82 83 84 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 82 def svg_class "pb_star_#{size}" end |
#svg_size ⇒ Object
74 75 76 77 78 79 80 |
# File 'app/pb_kits/playbook/pb_star_rating/star_rating.rb', line 74 def svg_size sizes = { "xs": "pb_star_xs", "sm": "pb_star_sm", "md": "pb_star_md", "lg": "pb_star_lg" } sizes[size.to_sym] end |