Adds drag and drop functionality to SilverStripe's GridField
Go to file
Ed 70df44a4b5 Added info about applying a default sort 2012-07-03 09:43:18 -03:00
.settings Initial commit of module 2012-05-09 14:14:34 -03:00
code/forms Fixed error caused by the limit not clearing when an attempt is made to get the max sort index 2012-06-18 20:32:51 -03:00
css MINOR: Added label to the "Allow Drag and Drop" text so that clicking this will activate the checkbox 2012-05-31 19:50:33 -03:00
images Added missing image 2012-05-18 19:28:13 -03:00
javascript Fixed compatibility issues with SS3 Beta 3 2012-05-28 11:26:33 -03:00
lang Added support for cross page sorting 2012-05-16 22:37:08 -03:00
templates/Includes MINOR: Added label to the "Allow Drag and Drop" text so that clicking this will activate the checkbox 2012-05-31 19:50:33 -03:00
tests/forms Added permission checking to ensure the user can edit a row 2012-05-15 12:33:00 -03:00
.buildpath Initial commit of module 2012-05-09 14:14:34 -03:00
.project Initial commit of module 2012-05-09 14:14:34 -03:00
README.md Added info about applying a default sort 2012-07-03 09:43:18 -03:00
_config.php Initial commit of module 2012-05-09 14:14:34 -03:00

README.md

SortableGridField

Adds drag and drop functionality to SilverStripe 3.0's GridField

Requirments

  • SilverStripe 3.0

Installation

  • Download the module from here https://github.com/UndefinedOffset/SortableGridField/downloads
  • Extract the downloaded archive into your site root so that the destination folder is called SortableGridField, opening the extracted folder should contain _config.php in the root along with other files/folders
  • Run dev/build?flush=all to regenerate the manifest
  • Upon entering the cms and using GridFieldSortableRows component for the first time you make need to add ?flush=all to the end of the address to force the templates to regenerate

Usage

To enable sorting on a has_many or a many_many relationship set up an interger field on your data object. Also make sure to set the $default_sort on the dataobject to this new interger field to ensure that the sort order is applied when the relationship is requested.

To enable drag and drop sorting on the grid field add the following to your grid field's config Grid Field Config

:::php
$myGridConfig->addComponent(new GridFieldSortableRows('{Column to store sort}'));

To move an item to another page drag the row over the respective page button and release.

@TODO

  • Optimize re-ordering of a has_many relationship when sorting on a single page