Active Admin Orderable
This gem extends ActiveAdmin so that your index page's table rows can be
orderable via a drag-and-drop interface.
Prerequisites
This extension assumes that you're using one of the following on any model you want to be sortable.
ActiveRecord
acts_as_list
class Page < ActiveRecord::Base
acts_as_list
end
Mongoid
mongoid_orderable
class Page < ActiveRecord::Base
include Mongoid::Orderable
orderable
end
Usage
Add it to your Gemfile
gem "activeadmin-orderable"
Include the JavaScript in active_admin.js.coffee
#= require activeadmin-orderable
Include the Stylesheet in active_admin.css.scss
@import "activeadmin-orderable"
Configure your ActiveAdmin Resource
ActiveAdmin.register Page do
config.sort_order = 'position_asc'
config.paginate = false
orderable
index do
orderable_handle_column
orderable_handle_column url: :sort_admin_section_path
orderable_handle_column url: -> (resource) { compute_url_from_resource(resource) }
end
show do |c|
attributes_table do
row :id
row :name
end
panel 'Contents' do
table_for c.collection_memberships do
orderable_handle_column
column :position
column :collectable
end
end
end
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request