mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace SilverStripe\Forms\GridField;
|
|
|
|
use SilverStripe\View\ArrayData;
|
|
use SilverStripe\View\SSViewer;
|
|
|
|
/**
|
|
* Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds
|
|
* a button row to that field.
|
|
*
|
|
* The button row provides a space for actions on this grid.
|
|
*
|
|
* This row provides two new HTML fragment spaces: 'toolbar-header-left' and
|
|
* 'toolbar-header-right'.
|
|
*/
|
|
class GridFieldButtonRow implements GridField_HTMLProvider
|
|
{
|
|
|
|
protected $targetFragment;
|
|
|
|
public function __construct($targetFragment = 'before')
|
|
{
|
|
$this->targetFragment = $targetFragment;
|
|
}
|
|
|
|
public function getHTMLFragments($gridField)
|
|
{
|
|
$data = new ArrayData(array(
|
|
"TargetFragmentName" => $this->targetFragment,
|
|
"LeftFragment" => "\$DefineFragment(buttons-{$this->targetFragment}-left)",
|
|
"RightFragment" => "\$DefineFragment(buttons-{$this->targetFragment}-right)",
|
|
));
|
|
|
|
$templates = SSViewer::get_templates_by_class($this, '', __CLASS__);
|
|
return array(
|
|
$this->targetFragment => $data->renderWith($templates)
|
|
);
|
|
}
|
|
}
|