GridFieldConfigurablePaginator
class GridFieldConfigurablePaginator extends GridFieldPaginator (View source)
GridFieldConfigurablePaginator paginates the GridField list and adds controls to the bottom of the GridField. The page sizes are configurable.
Traits
Provides extensions to this object to integrate it with standard config API methods.
Provides extensions to this object to integrate it with standard config API methods.
A class that can be instantiated or replaced via DI
Config options
default_items_per_page | int | Specifies default items per page |
from GridFieldPaginator |
default_page_sizes | int | Specifies default page sizes |
Properties
protected | int | $itemsPerPage | from GridFieldPaginator | |
protected | $throwExceptionOnBadDataType | See setThrowExceptionOnBadDataType() |
from GridFieldPaginator | |
protected | $totalItems | from GridFieldPaginator | ||
protected | GridField | $gridField | ||
protected | GridState_Data | $gridFieldState | ||
protected | int[] | $pageSizes |
Methods
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
Gets the uninherited value for the given config option
Determine what happens when this component is used with a list that isn't SS_Filterable.
See setThrowExceptionOnBadDataType()
No description
Gets the state from the current request's GridField and sets some default values on it
Add the configurable page size options to the template data
Set the first shown record number. Will be stored in the state.
Get the total number of pages, given the current number of items per page. The total
pages might be higher than
Get the page currently active. This is calculated by adding one to the previous number of pages calculated via the "first shown record" position.
Set the GridField so it can be used in other parts of the component during this request
Returns an array containing the arguments for the pagination: total rows, pages, first record etc
Returns FormActions for each of the pagination actions, in an array
Details
static Injectable
create(mixed ...$args)
An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
static Injectable
singleton(string $class = null)
Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
static Config_ForClass
config()
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
mixed
stat(string $name)
deprecated
deprecated
Get inherited config value
mixed
uninherited(string $name)
Gets the uninherited value for the given config option
$this
set_stat(string $name, mixed $value)
deprecated
deprecated
Update the config value for a given property
__construct(int $itemsPerPage = null, int $pageSizes = null)
No description
$this
setThrowExceptionOnBadDataType(bool $throwExceptionOnBadDataType)
Determine what happens when this component is used with a list that isn't SS_Filterable.
- true: An exception is thrown
- false: This component will be ignored - it won't make any changes to the GridField.
By default, this is set to true so that it's clearer what's happening, but the predefined GridFieldConfig subclasses set this to false for flexibility.
bool
getThrowExceptionOnBadDataType()
See setThrowExceptionOnBadDataType()
protected bool
checkDataType(SS_List $dataList)
Check that this dataList is of the right data type.
Returns false if it's a bad data type, and if appropriate, throws an exception.
array
getActions(GridField $gridField)
No description
handleAction(GridField $gridField, string $actionName, array $arguments, array $data)
No description
protected GridState_Data
getGridPagerState(GridField $gridField = null)
Gets the state from the current request's GridField and sets some default values on it
void
initDefaultState(GridState_Data $data)
Initialise the default state in the given GridState_Data
We recommend that you call $data->initDefaults() to do this.
ArrayData
getTemplateParameters(GridField $gridField)
Add the configurable page size options to the template data
{@inheritDoc}
array
getHTMLFragments(GridField $gridField)
No description
$this
setItemsPerPage(int $num)
No description
int
getItemsPerPage()
No description
int
getTotalRecords()
Get the total number of records in the list
int
getFirstShown()
Get the first shown record number
$this
setFirstShown(int $firstShown = 1)
Set the first shown record number. Will be stored in the state.
int
getLastShown()
Get the last shown record number
int
getTotalPages()
Get the total number of pages, given the current number of items per page. The total
pages might be higher than
int
getCurrentPage()
Get the page currently active. This is calculated by adding one to the previous number of pages calculated via the "first shown record" position.
int
getNextPage()
Get the next page number
int
getPreviousPage()
Get the previous page number
$this
setPageSizes(array $pageSizes)
Set the page sizes to use in the "Show x" dropdown
array
getPageSizes()
Get the sizes for the "Show x" dropdown
ArrayList
getPageSizesAsList()
Gets a list of page sizes for use in templates as a dropdown
GridField
getGridField()
Get the GridField used in this request
$this
setGridField(GridField $gridField)
Set the GridField so it can be used in other parts of the component during this request
protected array
getPagerArguments()
Returns an array containing the arguments for the pagination: total rows, pages, first record etc
GridField_FormAction[]
getPagerActions(array $controls, GridField $gridField)
Returns FormActions for each of the pagination actions, in an array