Sha256: 6b948fe429b60a96ff215f31201d3b38e61ba7ee2c728f3ed219256e9e882923

Contents?: true

Size: 1.71 KB

Versions: 5

Compression:

Stored size: 1.71 KB

Contents

module RailsAdmin
  module Config
    module Actions
      class Dashboard < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)

        register_instance_option :root? do
          true
        end

        register_instance_option :breadcrumb_parent do
          nil
        end

        register_instance_option :auditing_versions_limit do
          100
        end

        register_instance_option :controller do
          proc do
            @history = @auditing_adapter&.latest(@action.auditing_versions_limit) if @action.history?
            if @action.statistics?
              model_configs = RailsAdmin::Config.visible_models(controller: self)

              @abstract_models = model_configs.map(&:abstract_model)
              @most_recent_created = {}
              @count = {}
              @max = 0
              model_configs.each do |config|
                scope = @authorization_adapter&.query(:index, config.abstract_model)
                current_count = config.abstract_model.count({}, scope)
                @max = current_count > @max ? current_count : @max
                name = config.abstract_model.model.name
                @count[name] = current_count
                @most_recent_created[name] = config.last_created_at
              end
            end
            render @action.template_name, status: @status_code || :ok
          end
        end

        register_instance_option :route_fragment do
          ''
        end

        register_instance_option :link_icon do
          'fas fa-home'
        end

        register_instance_option :statistics? do
          true
        end

        register_instance_option :history? do
          true
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_admin-3.0.0 lib/rails_admin/config/actions/dashboard.rb
rails_admin-3.0.0.rc4 lib/rails_admin/config/actions/dashboard.rb
rails_admin-3.0.0.rc3 lib/rails_admin/config/actions/dashboard.rb
rails_admin-3.0.0.rc2 lib/rails_admin/config/actions/dashboard.rb
rails_admin-3.0.0.rc lib/rails_admin/config/actions/dashboard.rb