/active_scaffold_sortable

Fancy pants drag-drop sortable lists for ActiveScaffold

Primary LanguageRubyMIT LicenseMIT

Drag-Drop Sortable for ActiveScaffold

Currently, this plugin is compatible with rails 2.3 and rails-2.3 and master branches of ActiveScaffold.

Overview

This plugin enables those slicker-than-snot ajax drag-drop sortable elements on your active-scaffold page, with so little configuration you almost get it for free.

Installation

You’ll need at least ActiveScaffold rails-2.3 branch to use this, and rails 2.3.x

script/plugin install clone git://github.com/activescaffold/active_scaffold_sortable.git

Usage

Step 1

Create a model with a column named ‘position’:

# app/models/entry.rb

# id           integer
# title        string(255)
# birthday     date
# position     integer

class Entry < ActiveRecord::Base
end

Step 2

Create your scaffold controller

# app/controllers/entries_controller.rb

class EntryController < ApplicationController
  active_scaffold :entries do |config|
    config.actions << :sortable
    config.sortable.column = :position
  end
end

Step 3

Create your layout

# app/views/layouts/application.rhtml
<html>
<head>
  <title>active scaffold demo application</title>
  <%= javascript_include_tag :defaults %>
  <%= active_scaffold_includes %>
</head>
<body>
  <%= yield %>
</body>
</html>

Step 4

If you’re using restful routes, append this to your route in routes.rb:

  map.resources :tasks, :active_scaffold => true, :active_scaffold_sortable => true

Notice:

If you are using acts_as_list plugin you can skip the step 3

Support

If you have issues installing the plugin, search / post to the Active Scaffold forum or Create an issue

Contributing

Fork, hack, push, and request a pull:

http://github.com/activescaffold/active_scaffold_sortable/

License

Released under the MIT license (included).

Author

Contact me:


Tim Harper – irb(main):001:0> ( ‘tim_see_harperATgmail._see_om’.gsub(‘see’, ‘c’).gsub(‘AT’, ‘@’) )
Sergio Cambra – irb(main):001:0> ( ‘sergioATentrecables._see_om’.gsub(‘see’, ‘c’).gsub(‘AT’, ‘@’) )