silverstripe-framework/forms/gridfield/GridFieldViewButton.php
Damian Mooyman c9b6e9bac0
API Update template lookup to late resolution for performance reasons
API Update behaviour of form fields to use standard template lookup mechanism
API Support custom "type" parameter to template lookup
2016-09-06 12:54:03 +12:00

41 lines
1.0 KiB
PHP

<?php
/**
* A button that allows a user to view readonly details of a record. This is
* disabled by default and intended for use in readonly {@link GridField}
* instances.
*
* @package forms
* @subpackage fields-gridfield
*/
class GridFieldViewButton implements GridField_ColumnProvider {
public function augmentColumns($field, &$cols) {
if(!in_array('Actions', $cols)) {
$cols[] = 'Actions';
}
}
public function getColumnsHandled($field) {
return array('Actions');
}
public function getColumnContent($field, $record, $col) {
if(!$record->canView()) {
return null;
}
$data = new ArrayData(array(
'Link' => Controller::join_links($field->Link('item'), $record->ID, 'view')
));
$template = SSViewer::get_templates_by_class($this, '', __CLASS__);
return $data->renderWith($template);
}
public function getColumnAttributes($field, $record, $col) {
return array('class' => 'grid-field__col-compact');
}
public function getColumnMetadata($gridField, $col) {
return array('title' => null);
}
}