Sha256: 2e27d34ed4ee9a3c233ccd3e3e933c466cfb22d5724bdd604e526cfd18d0b34d

Contents?: true

Size: 1.77 KB

Versions: 1

Compression:

Stored size: 1.77 KB

Contents

require 'rails_admin/config/base'
require 'rails_admin/config/hideable'
require 'rails_admin/config/fields'
require 'rails_admin/config/has_fields'

module RailsAdmin
  module Config
    module Sections
      # Configuration of the list view
      class List < RailsAdmin::Config::Base
        include RailsAdmin::Config::HasFields

        def initialize(parent)
          super(parent)
          # Populate @fields instance variable with model's properties
          @fields = RailsAdmin::Config::Fields.factory(self)
          @fields.each do |f|
            if f.association? && !f.kind_of?(RailsAdmin::Config::Fields::Types::BelongsToAssociation)
              f.visible false
            end
          end
        end

        def self.default_items_per_page
          ActiveSupport::Deprecation.warn("'#{self.name}.default_items_per_page' is deprecated, use 'RailsAdmin::Config.default_items_per_page' instead", caller)
          RailsAdmin::Config.default_items_per_page
        end

        def self.default_items_per_page=(value)
          ActiveSupport::Deprecation.warn("'#{self.name}.default_items_per_page=' is deprecated, use 'RailsAdmin.config{|c| c.default_items_per_page = #{value}}' instead", caller)
          RailsAdmin.config do |config|
            config.default_items_per_page = value
          end
        end

        register_instance_option :filters do
          []
        end

        # Number of items listed per page
        register_instance_option(:items_per_page) do
          RailsAdmin::Config.default_items_per_page
        end

        register_instance_option(:sort_by) do
          parent.abstract_model.model.primary_key
        end

        register_instance_option(:sort_reverse?) do
          true # By default show latest first
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
elucid-rails_admin-0.0.1 lib/rails_admin/config/sections/list.rb