class Pager in Drupal 10
Same name in this branch
- 10 core/lib/Drupal/Core/Pager/Pager.php \Drupal\Core\Pager\Pager
- 10 core/lib/Drupal/Core/Render/Element/Pager.php \Drupal\Core\Render\Element\Pager
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Pager/Pager.php \Drupal\Core\Pager\Pager
- 9 core/lib/Drupal/Core/Pager/Pager.php \Drupal\Core\Pager\Pager
A value object that represents a pager.
Hierarchy
- class \Drupal\Core\Pager\Pager
Expanded class hierarchy of Pager
5 string references to 'Pager'
- AreaDisplayLinkTest::assertWarningMessages in core/
modules/ views/ tests/ src/ Kernel/ Handler/ AreaDisplayLinkTest.php - Assert the warning messages are shown after changing the page_1 display.
- DisplayLink::validate in core/
modules/ views/ src/ Plugin/ views/ area/ DisplayLink.php - PagersCacheContext::getLabel in core/
lib/ Drupal/ Core/ Cache/ Context/ PagersCacheContext.php - Returns the label of the cache context.
- template_preprocess_views_ui_view_preview_section in core/
modules/ views_ui/ views_ui.theme.inc - Prepares variables for views UI view preview section templates.
- views.data_types.schema.yml in core/
modules/ views/ config/ schema/ views.data_types.schema.yml - core/modules/views/config/schema/views.data_types.schema.yml
File
- core/
lib/ Drupal/ Core/ Pager/ Pager.php, line 8
Namespace
Drupal\Core\PagerView source
class Pager {
/**
* The total number of items .
*
* @var int
*/
protected $totalItems;
/**
* The total number of pages.
*
* @var int
*/
protected $totalPages;
/**
* The current page of the pager.
*
* @var int
*/
protected $currentPage;
/**
* The maximum number of items per page.
*
* @var int
*/
protected $limit;
/**
* Pager constructor.
*
* @param int $totalItems
* The total number of items.
* @param int $limit
* The maximum number of items per page.
* @param int $currentPage
* The current page.
*/
public function __construct($totalItems, $limit, $currentPage = 0) {
$this->totalItems = $totalItems;
$this->limit = $limit;
$this
->setTotalPages($totalItems, $limit);
$this
->setCurrentPage($currentPage);
}
/**
* Sets the current page to a valid value within range.
*
* If a page that does not correspond to the actual range of the result set
* was provided, this function will set the closest page actually within
* the result set.
*
* @param int $currentPage
* (optional) The current page.
*/
protected function setCurrentPage($currentPage = 0) {
$this->currentPage = max(0, min($currentPage, $this
->getTotalPages() - 1));
}
/**
* Sets the total number of pages.
*
* @param int $totalItems
* The total number of items.
* @param int $limit
* The maximum number of items per page.
*/
protected function setTotalPages($totalItems, $limit) {
$this->totalPages = (int) ceil($totalItems / $limit);
}
/**
* Gets the total number of items.
*
* @return int
* The total number of items.
*/
public function getTotalItems() {
return $this->totalItems;
}
/**
* Gets the total number of pages.
*
* @return int
* The total number of pages.
*/
public function getTotalPages() {
return $this->totalPages;
}
/**
* Gets the current page.
*
* @return int
* The current page.
*/
public function getCurrentPage() {
return $this->currentPage;
}
/**
* Gets the maximum number of items per page.
*
* @return int
* The maximum number of items per page.
*/
public function getLimit() {
return $this->limit;
}
}