Blame view

framework/forms/gridfield/GridFieldButtonRow.php 942 Bytes
70f4f18b   Administrator   first_commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  <?php
  /**
   * 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'.
   *
   * @package forms
   * @subpackage fields-gridfield
   */
  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)",
  		));
  		
  		return array(
  			$this->targetFragment => $data->renderWith('GridFieldButtonRow')
  		);
  	}
  }