Updated documentation and examples to correctly state namespaces used.

This commit is contained in:
UndefinedOffset 2017-09-11 11:37:22 -03:00
parent e5d442cabe
commit 21a6f3c8e8
4 changed files with 55 additions and 28 deletions

View File

@ -29,10 +29,11 @@ public function getMyManyManyRelationship() {
```
To enable drag and drop sorting on the grid field add the following to your grid field's config
*Grid Field Config*
To enable drag and drop sorting on the grid field add the following to your grid field's config, also make sure you add the namespace ``UndefinedOffset\SortableGridField\Forms`` to your file.
```php
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows; //Namespaces should be added to the top of your file
$myGridConfig->addComponent(new GridFieldSortableRows('{Column to store sort}'));
```
@ -49,6 +50,8 @@ GridFieldSortableRows provides 4 "events" onBeforeGridFieldRowSort(), onAfterGri
#### Appending to the top instead of the bottom
By default GridFieldSortableRows appends to the bottom of the list for performance on large data sets, however you can set new records to append new records to the top by calling setAppendToTop(true) on your GridFieldSortableRows instance.
```php
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows; //Namespaces should be added to the top of your file
$myGridConfig->addComponent($sortable=new GridFieldSortableRows('SortOrder'));
$sortable->setAppendToTop(true);
```
@ -56,6 +59,8 @@ $sortable->setAppendToTop(true);
#### Working with versioned records
By default GridFieldSortableRows does not update any other stage for versioned than the base stage. However you can enable this by calling setUpdateVersionedStage() and passing in the name of the stage you want to update along with the base stage. For example passing in "Live" will also update the "Live" stage when any sort happens.
```php
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows; //Namespaces should be added to the top of your file
$myGridConfig->addComponent($sortable=new GridFieldSortableRows('SortOrder'));
$sortable->setUpdateVersionedStage('Live');
```
@ -63,6 +68,8 @@ $sortable->setUpdateVersionedStage('Live');
#### Overriding the default relationship name
By default the relationship name comes from the name of the GridField, however you can override this lookup by calling setCustomRelationName() and passing in the name of the relationship. This allows for you to have multiple GridFields on the same form interacting with the same many_many list maybe filtered slightly differently.
```php
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows; //Namespaces should be added to the top of your file
$myGridConfig->addComponent($sortable=new GridFieldSortableRows('SortOrder'));
$sortable->setCustomRelationName('MyRelationship');
@ -74,6 +81,8 @@ When you're reporting an issue please ensure you specify what version of SilverS
### Notes
* When using with GridFieldManyRelationHandler make sure that you add GridFieldSortableRows to your config before for example GridFieldManyRelationHandler:
```php
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows; //Namespaces should be added to the top of your file
$config->addComponent(new GridFieldSortableRows('SortOrder'), 'GridFieldManyRelationHandler');
```

View File

@ -2,6 +2,10 @@ has_many Example
=================
```php
/*** TestPage.php ***/
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class TestPage extends Page {
private static $has_many=array(
'TestObjects'=>'TestObject'
@ -10,7 +14,7 @@ class TestPage extends Page {
public function getCMSFields() {
$fields=parent::getCMSFields();
$conf=GridFieldConfig_RelationEditor::create(10);
$conf=GridFieldConfig_RecordEditor::create(10);
$conf->addComponent(new GridFieldSortableRows('SortOrder'));
$fields->addFieldToTab('Root.TestObjects', new GridField('TestObjects', 'TestObjects', $this->TestObjects(), $conf));
@ -21,6 +25,8 @@ class TestPage extends Page {
/*** TestObject.php ***/
use SilverStripe\ORM\DataObject;
class TestObject extends DataObject {
private static $db=array(
'Title'=>'Text',

View File

@ -2,6 +2,10 @@ many_many Example
=================
```php
/*** TestPage.php ***/
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class TestPage extends Page {
private static $many_many=array(
'TestObjects'=>'TestObject'
@ -32,6 +36,8 @@ class TestPage extends Page {
/*** TestObject.php ***/
use SilverStripe\ORM\DataObject;
class TestObject extends DataObject {
private static $db=array(
'Title'=>'Text'

View File

@ -2,6 +2,10 @@ ModelAdmin implementation Example
=================
```php
/**** MyModelAdmin.php ****/
use SilverStripe\Admin\ModelAdmin;
use SilverStripe\Forms\GridField\GridField;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class MyModelAdmin extends ModelAdmin {
private static $menu_title='My Model Admin';
private static $url_segment='my-model-admin';
@ -26,6 +30,8 @@ class MyModelAdmin extends ModelAdmin {
}
/**** MATestObject.php ****/
use SilverStripe\ORM\DataObject;
class MATestObject extends DataObject {
private static $db=array(
'Title'=>'Varchar',