silverstripe-framework/forms/gridfield/GridFieldFooter.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

61 lines
1.5 KiB
PHP

<?php
/**
* Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds
* a footer bar to that field.
*
* The footer looks just like the {@link GridFieldPaginator} control, except
* without the pagination controls.
*
* It only display the "Viewing 1-8 of 8" status text and (optionally) a
* configurable status message.
*
* The purpose of this class is to have a footer that can round off
* {@link GridField} without having to use pagination.
*
* @package forms
* @subpackage fields-gridfield
*/
class GridFieldFooter implements GridField_HTMLProvider {
/**
* @var string - a message to display in the footer
*/
protected $message = null;
protected $showrecordcount;
/**
*
* @param string $message A message to display in the footer
* @param bool $showrecordcount
*/
public function __construct($message = null, $showrecordcount = true) {
if($message) {
$this->message = $message;
}
$this->showrecordcount = $showrecordcount;
}
public function getHTMLFragments($gridField) {
$count = $gridField->getList()->count();
$forTemplate = new ArrayData(array(
'ShowRecordCount' => $this->showrecordcount,
'Message' => $this->message,
'FirstShownRecord' => 1,
'LastShownRecord' => $count,
'NumRecords' => $count
));
$template = SSViewer::get_templates_by_class($this, '', __CLASS__);
return array(
'footer' => $forTemplate->renderWith(
$template,
array(
'Colspan' => count($gridField->getColumns())
)
)
);
}
}