Sha256: 4cd1809fae4cb61a772b429aa9241a765fdaf0cae71ec654261520df5eb6b239

Contents?: true

Size: 1.93 KB

Versions: 11

Compression:

Stored size: 1.93 KB

Contents

require 'rails_admin/config/sections/base'

module RailsAdmin
  module Config
    module Sections
      # Configuration of the list view
      class List < RailsAdmin::Config::Sections::Base
        register_instance_option :checkboxes? do
          true
        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

        # Positive value shows only prev, next links in pagination.
        # This is for avoiding count(*) query.
        register_instance_option :limited_pagination do
          false
        end

        register_instance_option :search_by do
          nil
        end

        register_instance_option :sort_by do
          parent.abstract_model.primary_key
        end

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

        register_instance_option :scopes do
          []
        end

        register_instance_option :row_css_class do
          ''
        end

        register_instance_option :sidescroll do
          nil
        end

        def sidescroll_frozen_columns
          global_config = RailsAdmin::Config.sidescroll
          model_config = sidescroll
          enabled = model_config.nil? ? global_config : model_config
          if enabled
            num_frozen = model_config[:num_frozen_columns] if model_config.is_a?(Hash)
            unless num_frozen
              num_frozen = global_config[:num_frozen_columns] if global_config.is_a?(Hash)
              num_frozen ||= 3 # by default, freeze checkboxes, links & first property (usually primary key / id?)
              num_frozen -= 1 unless checkboxes? # model config should be explicit about this, only adjust if using global config
            end
            num_frozen
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
rails_admin-2.3.1 lib/rails_admin/config/sections/list.rb
rails_admin-2.3.0 lib/rails_admin/config/sections/list.rb
rails_admin-2.2.1 lib/rails_admin/config/sections/list.rb
rails_admin-2.2.0 lib/rails_admin/config/sections/list.rb
rails_admin-2.1.1 lib/rails_admin/config/sections/list.rb
rails_admin-2.1.0 lib/rails_admin/config/sections/list.rb
rails_admin-2.0.2 lib/rails_admin/config/sections/list.rb
rails_admin-2.0.1 lib/rails_admin/config/sections/list.rb
rails_admin-2.0.0 lib/rails_admin/config/sections/list.rb
rails_admin-2.0.0.rc lib/rails_admin/config/sections/list.rb
rails_admin-2.0.0.beta lib/rails_admin/config/sections/list.rb