class ViewComponent::Storybook::Controls::MultiOptionsConfig

Constants

TYPES

Public Class Methods

new(type, options, default_value, labels: nil, param: nil, name: nil) click to toggle source
# File lib/view_component/storybook/controls/multi_options_config.rb, line 12
def initialize(type, options, default_value, labels: nil, param: nil, name: nil)
  super(type, options, Array.wrap(default_value), labels: labels, param: param, name: name)
end

Public Instance Methods

to_csf_params() click to toggle source
# File lib/view_component/storybook/controls/multi_options_config.rb, line 26
def to_csf_params
  super.deep_merge(argTypes: { param => { options: options } })
end
value_from_params(params) click to toggle source
Calls superclass method
# File lib/view_component/storybook/controls/multi_options_config.rb, line 16
def value_from_params(params)
  params_value = super(params)

  if params_value.is_a?(String)
    params_value = params_value.split(',')
    params_value = params_value.map(&:to_sym) if symbol_values
  end
  params_value
end

Private Instance Methods

csf_control_params() click to toggle source
# File lib/view_component/storybook/controls/multi_options_config.rb, line 32
def csf_control_params
  labels.nil? ? super : super.merge(labels: labels)
end
symbol_values() click to toggle source
# File lib/view_component/storybook/controls/multi_options_config.rb, line 36
def symbol_values
  @symbol_values ||= default_value.first.is_a?(Symbol)
end
validate_default_value() click to toggle source
# File lib/view_component/storybook/controls/multi_options_config.rb, line 40
def validate_default_value
  errors.add(:default_value, :inclusion) unless default_value.to_set <= options.to_set
end