class Avo::BaseController

def set_index_params

def set_index_params
  @index_params = {}
  # Pagination
  @index_params[:page] = params[:page] || 1
  @index_params[:per_page] = Avo.configuration.per_page
  if cookies[:per_page].present?
    @index_params[:per_page] = cookies[:per_page]
  end
  if @parent_model.present?
    @index_params[:per_page] = Avo.configuration.via_per_page
  end
  if params[:per_page].present?
    @index_params[:per_page] = params[:per_page]
    cookies[:per_page] = params[:per_page]
  end
  # Sorting
  if params[:sort_by].present?
    @index_params[:sort_by] = params[:sort_by]
  elsif @resource.model_class.present? && @resource.model_class.column_names.include?("created_at")
    @index_params[:sort_by] = :created_at
  end
  @index_params[:sort_direction] = params[:sort_direction] || :desc
  # View types
  @index_params[:view_type] = params[:view_type] || @resource.default_view_type || Avo.configuration.default_view_type
  @index_params[:available_view_types] = @resource.available_view_types
end