Sha256: 38cc888b33c196a30acf7791c5588da08b0be5bdd3882fe222b5b7aca6ddb944

Contents?: true

Size: 920 Bytes

Versions: 13

Compression:

Stored size: 920 Bytes

Contents

module Locomotive
  module API
    module Entities

      class ContentTypeFieldEntity < BaseEntity

        expose :name, :type, :label, :hint, :required, :localized, :unique, :default, :position, :group

        # text type field
        expose :text_formatting, if: ->(field, _) { field.type.to_s == 'text' }

        # select type field
        expose :select_options, if: ->(field, _) { field.type.to_s == 'select' } do |field, _|
          field.select_options.map do |option|
            { id: option._id, name: option.name_translations, position: option.position }
          end
        end

        # relationship type field
        with_options if: ->(field, _) { field.is_relationship? } do

          expose :target do |field, _|
            field.class_name_to_content_type.try(:slug) rescue nil
          end

          expose :inverse_of, :order_by, :ui_enabled

        end

      end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotivecms-4.2.0.alpha2 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.2.0.alpha1 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.1.1 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.1.0 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.1.0.rc1 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.3 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.2 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.1 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.0 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.0.rc0 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.0.alpha3 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.0.alpha2 app/api/locomotive/api/entities/content_type_field_entity.rb
locomotivecms-4.0.0.alpha1 app/api/locomotive/api/entities/content_type_field_entity.rb