class Avo::Fields::BadgeField
def color
Maps field value to a color based on @options configuration
def color return "neutral" if value.blank? values = @options.find do |_, configured_values| Array.wrap(configured_values).map { |v| v.to_s }.include?(value.to_s) end values&.first&.to_s || "neutral" end
def icon
def icon execute_context(@icon) end
def initialize(id, **args, &block)
def initialize(id, **args, &block) super hide_on [:edit, :new] @options = args[:options] || {} @style = args[:style] @icon = args[:icon] end
def options_for_filter
def options_for_filter @options.values.flatten.uniq end
def style
def style execute_context(@style) || "subtle" end