Sha256: fdc945e0dd79ae1d54dbf86accc98020f10fa8f7f0bd3f12734a72a024d00cd0

Contents?: true

Size: 1.8 KB

Versions: 12

Compression:

Stored size: 1.8 KB

Contents

# frozen_string_literal: true

module RailsAdmin
  module Config
    module Fields
      module Types
        class Boolean < RailsAdmin::Config::Fields::Base
          # Register field type for the type loader
          RailsAdmin::Config::Fields::Types.register(self)

          register_instance_option :labels do
            {
              true => %(<span class="fas fa-check"></span>),
              false => %(<span class="fas fa-times"></span>),
              nil => %(<span class="fas fa-minus"></span>),
            }
          end

          register_instance_option :css_classes do
            {
              true => 'success',
              false => 'danger',
              nil => 'default',
            }
          end

          register_instance_option :filter_operators do
            %w[_discard true false] + (required? ? [] : %w[_separator _present _blank])
          end

          register_instance_option :nullable? do
            properties&.nullable?
          end

          register_instance_option :view_helper do
            :check_box
          end

          register_instance_option :pretty_value do
            %(<span class="badge bg-#{css_classes[form_value]}">#{labels[form_value]}</span>).html_safe
          end

          register_instance_option :export_value do
            value.inspect
          end

          register_instance_option :partial do
            :form_boolean
          end

          def form_value
            case value
            when true, false
              value
            end
          end

          # Accessor for field's help text displayed below input field.
          def generic_help
            ''
          end

          def parse_input(params)
            params[name] = params[name].presence if params.key?(name)
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rails_admin-3.3.0 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.2.1 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.2.0 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.2.0.rc lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.2.0.beta lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.4 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.3 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.2 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.1 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.0 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.0.rc2 lib/rails_admin/config/fields/types/boolean.rb
rails_admin-3.1.0.rc lib/rails_admin/config/fields/types/boolean.rb