Class: RubyUIAdmin::Fields::StatusField
- Defined in:
- lib/ruby_ui_admin/fields/status_field.rb
Overview
Renders the value as a status badge with a leading dot. Configure with
options: { success: %w[done], warning: %w[pending], danger: %w[failed] }.
Constant Summary collapse
- VARIANT_FOR_STATE =
{success: :success, warning: :warning, danger: :destructive, info: :primary}.freeze
Instance Attribute Summary
Attributes inherited from BaseField
#block, #id, #options, #resource
Instance Method Summary collapse
Methods inherited from BaseField
#database_id, #default_hidden_views, #default_value, #description, field_type, #fill, #fill_value, #filterable?, #formatted_value, #has_default?, #help, #initialize, #link_to_record?, #name, #permit_param, #permit_params, #permitted_param, #placeholder, #readonly?, register_as, #required?, #sort_lambda, #sortable?, #type, #value, #visible?, #visible_in_view?
Constructor Details
This class inherits a constructor from RubyUIAdmin::Fields::BaseField
Instance Method Details
#variant_for(record) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/ruby_ui_admin/fields/status_field.rb', line 12 def variant_for(record) current = value(record).to_s states = [:options] || {} state = states.find { |_key, values| Array(values).map(&:to_s).include?(current) }&.first VARIANT_FOR_STATE.fetch(state&.to_sym, :gray) end |