Sha256: f6d7bb415793a2e333324889d1eb5b5e6c9b73778a57031bfd611f901a947c40

Contents?: true

Size: 819 Bytes

Versions: 12

Compression:

Stored size: 819 Bytes

Contents

module Avo
  module Fields
    class IdField < Field
      def initialize(name, **args, &block)
        default_value = 'id'

        if name.nil?
          @name = name = default_value
        elsif !name.is_a? String and !name.is_a? Symbol
          args_copy = name
          @name = name = default_value
          args = args_copy
        end

        @defaults = {
          id: name.to_sym,
          readonly: true,
          sortable: true,
          component: 'id-field'
        }

        hide_on [:edit, :create]

        super(name, **args, &block)

        @link_to_resource = args[:link_to_resource].present? ? args[:link_to_resource] : false
      end

      def hydrate_field(fields, model, resource, view)
        {
          link_to_resource: @link_to_resource,
        }
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
avo-0.4.10 lib/avo/app/fields/id_field.rb
avo-0.4.9 lib/avo/app/fields/id_field.rb
avo-0.4.8 lib/avo/app/fields/id_field.rb
avo-0.4.7 lib/avo/app/fields/id_field.rb
avo-0.4.6 lib/avo/app/fields/id_field.rb
avo-0.4.5 lib/avo/app/fields/id_field.rb
avo-0.4.4 lib/avo/app/fields/id_field.rb
avo-0.4.3 lib/avo/app/fields/id_field.rb
avo-0.4.2 lib/avo/app/fields/id_field.rb
avo-0.4.1 lib/avo/app/fields/id_field.rb
avo-0.3.2 lib/avo/app/fields/id_field.rb
avo-0.3.1 lib/avo/app/fields/id_field.rb