Sha256: b1adfcb1b86bc8bdc43386ebaddc0f2563620cc0d4d73d638f22c8d6c84e06f3

Contents?: true

Size: 768 Bytes

Versions: 1

Compression:

Stored size: 768 Bytes

Contents

require 'active_admin'
require 'active_admin/ajax_filter/engine'
require 'active_admin/ajax_filter/version'
require 'active_admin/inputs/ajax_core'
require 'active_admin/inputs/ajax_select_input'
require 'active_admin/inputs/filters/ajax_select_input'

module ActiveAdmin
  module AjaxFilter
    class << self
      # @param [ActiveAdmin::DSL] dsl
      # @return [void]
      #
      def included(dsl)
        dsl.instance_eval do
          collection_action :filter, method: :get do
            scope = collection.ransack(params[:q]).result
            scope = scope.order(params[:order]).limit(params[:limit] || 10)
            scope = apply_collection_decorator(scope)

            render plain: scope.to_json
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activeadmin-ajax_filter-0.3.5 lib/active_admin/ajax_filter.rb