|
<?php |
|
|
|
namespace My\Own\Private\Idaho; |
|
|
|
|
|
use SilverStripe\Control\Controller; |
|
use SilverStripe\Core\Injector\Injectable; |
|
use SilverStripe\ORM\DataObject; |
|
use SilverStripe\View\ArrayData; |
|
use SilverStripe\View\SSViewer; |
|
use SilverStripe\Forms\GridField\GridFieldEditButton; |
|
use SilverStripe\Forms\GridField\GridField_ColumnProvider; |
|
use SilverStripe\Forms\GridField\GridField_ActionProvider; |
|
use SilverStripe\Forms\GridField\GridField_ActionMenuLink; |
|
use SilverStripe\Forms\GridField\GridField_ActionMenuItem; |
|
|
|
/** |
|
* Provides the entry point to editing a single record presented by the |
|
* {@link GridField}. |
|
* |
|
* Doesn't show an edit view on its own or modifies the record, but rather |
|
* relies on routing conventions established in {@link getColumnContent()}. |
|
* |
|
* The default routing applies to the {@link GridFieldDetailForm} component, |
|
* which has to be added separately to the {@link GridField} configuration. |
|
*/ |
|
class GridFieldEditButtonInNewColumn extends GridFieldEditButton implements GridField_ColumnProvider, GridField_ActionProvider, GridField_ActionMenuLink |
|
{ |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function getGroup($gridField, $record, $columnName) |
|
{ |
|
return GridField_ActionMenuItem::DEFAULT_GROUP.'MORE'; |
|
} |
|
|
|
/** |
|
* Add a column 'Delete' |
|
* |
|
* @param GridField $gridField |
|
* @param array $columns |
|
*/ |
|
public function augmentColumns($gridField, &$columns) |
|
{ |
|
if (!in_array('MoreActions', $columns)) { |
|
$columns[] = 'MoreActions'; |
|
} |
|
} |
|
|
|
|
|
/** |
|
* Add the title |
|
* |
|
* @param GridField $gridField |
|
* @param string $columnName |
|
* @return array |
|
*/ |
|
public function getColumnMetadata($gridField, $columnName) |
|
{ |
|
if ($columnName == 'MoreActions') { |
|
return ['title' => '']; |
|
} |
|
return []; |
|
} |
|
|
|
/** |
|
* Which columns are handled by this component |
|
* |
|
* @param GridField $gridField |
|
* @return array |
|
*/ |
|
public function getColumnsHandled($gridField) |
|
{ |
|
return ['MoreActions']; |
|
} |
|
|
|
} |