mirror of
https://github.com/symbiote/silverstripe-gridfieldextensions.git
synced 2024-10-22 15:05:39 +00:00
Add usage documentation. Closes #3.
This commit is contained in:
parent
b26b2b3165
commit
90ada9871e
@ -8,3 +8,5 @@ This module provides a number of useful grid field components:
|
|||||||
* `GridFieldAddNewMultiClass` - lets the user select from a list of classes to create a new record from.
|
* `GridFieldAddNewMultiClass` - lets the user select from a list of classes to create a new record from.
|
||||||
* `GridFieldEditableColumns` - allows inline editing of records.
|
* `GridFieldEditableColumns` - allows inline editing of records.
|
||||||
* `GridFieldOrderableRows` - drag and drop re-ordering of rows.
|
* `GridFieldOrderableRows` - drag and drop re-ordering of rows.
|
||||||
|
|
||||||
|
See [docs/en/index.md](docs/en/index.md) for documentation and examples.
|
||||||
|
76
docs/en/index.md
Normal file
76
docs/en/index.md
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
Grid Field Extensions
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Add Existing Search
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The `GridFieldAddExistingSearchButton` component provides a more complete solution for adding
|
||||||
|
existing records than a basic autocomplete. It uses the search context constructed by the model
|
||||||
|
class to provide the search form.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$grid->getConfig()->addComponent(new GridFieldAddExistingSearchButton()));
|
||||||
|
```
|
||||||
|
|
||||||
|
Inline Editing
|
||||||
|
--------------
|
||||||
|
|
||||||
|
This example replaces the default data columns component with an inline editable one, and the
|
||||||
|
default add new button with one that adds new records inline.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$grid = new GridField(
|
||||||
|
'ExampleGrid',
|
||||||
|
'Example Grid',
|
||||||
|
$this->Items(),
|
||||||
|
GridFieldConfig_RecordEditor::create()
|
||||||
|
->removeComponentsByType('GridFieldAddNewButton')
|
||||||
|
->removeComponentsByType('GridFieldDataColumns')
|
||||||
|
->addComponent(new GridFieldEditableColumns(), 'GridFieldEditButton')
|
||||||
|
->addComponent(new GridFieldAddNewInlineButton())
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
You can customise the form fields that are used in the grid by calling `setDisplayFields` on the
|
||||||
|
inline editing component. By default field scaffolding will be used.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$grid->getConfig()->getComponentsByType('GridFieldEditableColumns')->setDisplayFields(array(
|
||||||
|
'FirstField' => function($record, $column, $grid) {
|
||||||
|
return new TextField($column);
|
||||||
|
},
|
||||||
|
'SecondField' => array(
|
||||||
|
'title' => 'Custom Title',
|
||||||
|
'field' => 'ReadonlyField'
|
||||||
|
)
|
||||||
|
));
|
||||||
|
```
|
||||||
|
|
||||||
|
Multi Class Adding
|
||||||
|
------------------
|
||||||
|
|
||||||
|
The `GridFieldAddNewMultiClass` allows the user to select the record type to create when creating
|
||||||
|
a new record. By default it allows them to select the model class for the grid field, or any
|
||||||
|
subclasses. You can control the createable classes using the `setClasses` method.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$grid->getConfig()
|
||||||
|
->removeComponentsByType('GridFieldAddNewButton')
|
||||||
|
->addComponent(new GridFieldAddNewMultiClass());
|
||||||
|
```
|
||||||
|
|
||||||
|
Orderable Rows
|
||||||
|
--------------
|
||||||
|
|
||||||
|
The `GridFieldOrderableRows` component allows drag-and-drop reordering of any list type. The field
|
||||||
|
used to store the sort is set by passing a constructor parameter to the component, or calling
|
||||||
|
`setSortField`. For `many_many` relationships, the sort field should normally be an extra field on
|
||||||
|
the relationship.
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Basic usage, defaults to "Sort" for the sort field.
|
||||||
|
$grid->getConfig()->addComponent(new GridFieldOrderableRows());
|
||||||
|
|
||||||
|
// Specifying the sort field.
|
||||||
|
$grid->getConfig()->addComponent(new GridFieldOrderableRows('SortField'));
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user