Class: Playbook::PbTypeahead::Typeahead

Inherits:
KitBase
  • Object
show all
Defined in:
app/pb_kits/playbook/pb_typeahead/typeahead.rb

Instance Attribute Summary

Attributes included from Playbook::Props

#values

Instance Method Summary collapse

Methods inherited from KitBase

#object

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

Methods included from ZIndex

included

Methods included from Spacing

included, #max_width_options, #max_width_props, #max_width_values, #spacing_options, #spacing_props, #spacing_values

Methods included from Classnames

#generate_classname, #generate_classname_without_spacing, included

Methods included from Playbook::Props

#initialize, #prop

Methods included from Playbook::PbKitHelper

#pb_rails

Methods included from Playbook::PbFormsHelper

#pb_form_with

Instance Method Details

#classnameObject



36
37
38
# File 'app/pb_kits/playbook/pb_typeahead/typeahead.rb', line 36

def classname
  generate_classname("pb_typeahead_kit")
end

#dataObject



44
45
46
47
48
49
50
# File 'app/pb_kits/playbook/pb_typeahead/typeahead.rb', line 44

def data
  Hash(values[:data]).merge(
    pb_typeahead_kit: true,
    pb_typeahead_kit_search_term_minimum_length: search_term_minimum_length,
    pb_typeahead_kit_search_debounce_timeout: search_debounce_timeout
  )
end

#inline_classObject



40
41
42
# File 'app/pb_kits/playbook/pb_typeahead/typeahead.rb', line 40

def inline_class
  inline ? " inline" : ""
end

#is_react?Boolean

Returns:



52
53
54
# File 'app/pb_kits/playbook/pb_typeahead/typeahead.rb', line 52

def is_react?
  pills || !is_multi
end

#typeahead_react_optionsObject



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'app/pb_kits/playbook/pb_typeahead/typeahead.rb', line 56

def typeahead_react_options
  base_options = {
    dark: dark,
    defaultValue: default_options,
    id: id,
    inline: inline,
    isMulti: is_multi,
    label: label,
    multiKit: multi_kit,
    name: name,
    options: options,
    placeholder: placeholder,
    plusIcon: plus_icon,
  }

  base_options[:getOptionLabel] = get_option_label if get_option_label.present?
  base_options[:getOptionValue] = get_option_value if get_option_value.present?
  if async
    base_options[:async] = true
    base_options[:loadOptions] = load_options
  end
  base_options
end