Sha256: 9968d78079e04b14fa182cc5123f303fc28352544f5eab5d520d7f5dee98ee95

Contents?: true

Size: 995 Bytes

Versions: 21

Compression:

Stored size: 995 Bytes

Contents

require 'rails_admin/config/fields/types/text'

module RailsAdmin
  module Config
    module Fields
      module Types
        class Json < RailsAdmin::Config::Fields::Types::Text
          # Register field type for the type loader
          RailsAdmin::Config::Fields::Types.register(self)
          RailsAdmin::Config::Fields::Types.register(:jsonb, self)

          register_instance_option :formatted_value do
            value ? JSON.pretty_generate(value) : nil
          end

          register_instance_option :pretty_value do
            bindings[:view].content_tag(:pre) { formatted_value }.html_safe
          end

          register_instance_option :export_value do
            formatted_value
          end

          def parse_value(value)
            value.present? ? JSON.parse(value) : nil
          end

          def parse_input(params)
            params[name] = parse_value(params[name]) if params[name].is_a?(::String)
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
rails_admin-2.3.1 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.3.0 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.rc4 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.rc3 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.rc2 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.rc lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.beta2 lib/rails_admin/config/fields/types/json.rb
rails_admin-3.0.0.beta lib/rails_admin/config/fields/types/json.rb
rails_admin-2.2.1 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.2.0 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.1.1 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.1.0 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.0.2 lib/rails_admin/config/fields/types/json.rb
rails_admin-1.4.3 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.0.1 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.0.0 lib/rails_admin/config/fields/types/json.rb
rails_admin-2.0.0.rc lib/rails_admin/config/fields/types/json.rb
rails_admin-2.0.0.beta lib/rails_admin/config/fields/types/json.rb
rails_admin-1.4.2 lib/rails_admin/config/fields/types/json.rb