2012-05-17 03:22:24 +02:00
|
|
|
<?php
|
|
|
|
/**
|
2014-08-15 08:53:05 +02:00
|
|
|
* Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds
|
2013-05-20 12:18:07 +02:00
|
|
|
* a button row to that field.
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2012-05-17 03:22:24 +02:00
|
|
|
* The button row provides a space for actions on this grid.
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
|
|
|
* This row provides two new HTML fragment spaces: 'toolbar-header-left' and
|
2013-05-20 12:18:07 +02:00
|
|
|
* 'toolbar-header-right'.
|
2012-05-17 03:22:24 +02:00
|
|
|
*
|
2013-11-29 05:12:47 +01:00
|
|
|
* @package forms
|
2013-05-20 12:18:07 +02:00
|
|
|
* @subpackage fields-gridfield
|
2012-05-17 03:22:24 +02:00
|
|
|
*/
|
|
|
|
class GridFieldButtonRow implements GridField_HTMLProvider {
|
2013-05-20 12:18:07 +02:00
|
|
|
|
2012-05-21 04:41:46 +02:00
|
|
|
protected $targetFragment;
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2012-05-21 04:41:46 +02:00
|
|
|
public function __construct($targetFragment = 'before') {
|
|
|
|
$this->targetFragment = $targetFragment;
|
|
|
|
}
|
|
|
|
|
2012-05-17 03:22:24 +02:00
|
|
|
public function getHTMLFragments( $gridField) {
|
2012-05-21 04:41:46 +02:00
|
|
|
$data = new ArrayData(array(
|
2013-06-21 15:22:00 +02:00
|
|
|
"TargetFragmentName" => $this->targetFragment,
|
2012-05-21 04:41:46 +02:00
|
|
|
"LeftFragment" => "\$DefineFragment(buttons-{$this->targetFragment}-left)",
|
|
|
|
"RightFragment" => "\$DefineFragment(buttons-{$this->targetFragment}-right)",
|
|
|
|
));
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2012-05-17 03:22:24 +02:00
|
|
|
return array(
|
2012-05-21 04:41:46 +02:00
|
|
|
$this->targetFragment => $data->renderWith('GridFieldButtonRow')
|
2012-05-17 03:22:24 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|