Drag and drop to reorder your ActiveAdmin tables.
Your resource classes must respond to insert_at ala the acts_as_list API. You don't need to use acts_as_list, but if you don't, make sure to define insert_at.
- Add 
gem 'activeadmin_reorderable'toGemfileand runbundle install - Add 
import "activeadmin_reorderable"to JS entrypoint (a JS file that is included for activeadmin) - Add 
@import "activeadmin_reorderable";in your CSS style file 
NOTE: no need to pin the import in your application. That's handled internally by the gem.
- Add 
gem 'activeadmin_reorderable'toGemfileand runbundle install - Add 
#= require activeadmin_reorderabletoapp/assets/javascripts/active_admin.js.coffee - Add 
@import "activeadmin_reorderable";as the last@importstatement inapp/assets/stylesheets/active_admin.css.scss 
npm install --save activeadmin_reorderableoryarn add activeadmin_reorderable- Add 
import "activeadmin_reorderable"to your JS pack file - Add 
@import "activeadmin_reorderable/app/assets/styleseehts/activeadmin_reorderable.scss";to your CSS style file 
parts.rb
ActiveAdmin.register Part do
  reorderable # Necessary to support reordering in a subtable within Widget below
endwidgets.rb
ActiveAdmin.register Widget do
  config.sort_order = 'position_asc' # assuming Widget.insert_at modifies the `position` attribute
  config.paginate   = false
  reorderable
  actions :index, :show
  # Reorderable Index Table
  index as: :reorderable_table do
    column :id
    column :name
  end
  show do |widget|
    attributes_table do
      row :id
      row :name
    end
    # Reorderable Subtable
    # Note: you must include `reorderable` in the ActiveAdmin configuration for the resource
    # being sorted. See the `Part` example above this code block.
    reorderable_table_for widget.parts do
      column :name
      column :cost
    end
  end
endSee CONTRIBUTING.md
