Class: Playbook::PbTable::TableHeader
- Defined in:
- app/pb_kits/playbook/pb_table/table_header.rb
Constant Summary
Constants included from Playbook::PositionPropsCss
Playbook::PositionPropsCss::POSITION_VALUES
Instance Attribute Summary
Attributes included from Playbook::Props
Instance Method Summary collapse
- #active_item ⇒ Object
- #active_or_first_item(items) ⇒ Object
- #align_class ⇒ Object
- #classname ⇒ Object
- #link_style ⇒ Object
- #next_link(sort_item: "") ⇒ Object
- #sort_icon(direction, active) ⇒ Object
- #sort_items ⇒ Object
- #sort_items_for(sort_item) ⇒ Object
- #sorting_style? ⇒ Boolean
- #tag_class ⇒ Object
- #use_dropdown_select ⇒ 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
#active_item ⇒ Object
102 103 104 105 106 107 108 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 102 def active_item active_item = {} .each do |item| active_item = item if item[:active] == true end active_item end |
#active_or_first_item(items) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 70 def active_or_first_item(items) active_item = items.find { |hash| hash[:active] == true } if active_item.present? active_item else items[0] end end |
#align_class ⇒ Object
38 39 40 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 38 def align_class align.present? ? "align_#{align}" : nil end |
#classname ⇒ Object
30 31 32 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 30 def classname generate_classname("pb_table_header_kit", align_class) + tag_class end |
#link_style ⇒ Object
98 99 100 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 98 def link_style active_item.any? ? "" : "color: #687887;" end |
#next_link(sort_item: "") ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 42 def next_link(sort_item: "") = if sort_item.blank? else sort_items_for(sort_item) end return [0][:link] if .all? { |item| item[:active] == false } link = "" .each_with_index do |item, index| if item[:active] == true next_index = (index + 1) % .length link = [next_index][:link] end end link end |
#sort_icon(direction, active) ⇒ Object
87 88 89 90 91 92 93 94 95 96 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 87 def sort_icon(direction, active) case direction when "asc" active ? "sort-amount-up" : "" when "desc" active ? "sort-amount-down" : "" else "arrow-up-arrow-down" end end |
#sort_items ⇒ Object
62 63 64 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 62 def sort_items .map { |hash| hash[:item] }.uniq end |
#sort_items_for(sort_item) ⇒ Object
66 67 68 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 66 def sort_items_for(sort_item) .find_all { |hash| hash[:item] == sort_item } end |
#sorting_style? ⇒ Boolean
79 80 81 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 79 def sorting_style? != [{}] end |
#tag_class ⇒ Object
34 35 36 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 34 def tag_class " pb_table_th" end |
#use_dropdown_select ⇒ Object
83 84 85 |
# File 'app/pb_kits/playbook/pb_table/table_header.rb', line 83 def use_dropdown_select != [{}] && (object.colspan > 1 || sort_dropdown) end |