mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-08-30 14:36:06 +02:00
Cleanup of framework's use of @package and @subpackage labels and additional of labels for classes missing packages. Moved all GridField related components to the one name. Countless spelling fixes, grammar for other comments. Link ClassName references in file headers.
56 lines
1.3 KiB
PHP
56 lines
1.3 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 framework
|
|
* @subpackage fields-gridfield
|
|
*/
|
|
class GridFieldFooter implements GridField_HTMLProvider {
|
|
|
|
/**
|
|
* @var string - a message to display in the footer
|
|
*/
|
|
protected $message = null;
|
|
|
|
/**
|
|
*
|
|
* @param string $message - a message to display in the footer
|
|
*/
|
|
public function __construct($message = null) {
|
|
if($message) {
|
|
$this->message = $message;
|
|
}
|
|
}
|
|
|
|
|
|
public function getHTMLFragments($gridField) {
|
|
$count = $gridField->getList()->count();
|
|
|
|
$forTemplate = new ArrayData(array(
|
|
'Message' => $this->message,
|
|
'FirstShownRecord' => 1,
|
|
'LastShownRecord' => $count,
|
|
'NumRecords' => $count
|
|
));
|
|
|
|
return array(
|
|
'footer' => $forTemplate->renderWith(
|
|
'GridFieldFooter',
|
|
array(
|
|
'Colspan' => count($gridField->getColumns())
|
|
)
|
|
)
|
|
);
|
|
}
|
|
}
|