Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/main/lib/grid/pagination/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/main/lib/grid/pagination/paginationfactory.php

<?php

namespace Bitrix\Main\Grid\Pagination;

use Bitrix\Main\Grid\Grid;
use Bitrix\Main\UI\PageNavigation;

final class PaginationFactory
{
	public function __construct(
		private Grid $grid,
		private ?PageNavigationStorage $storage,
	)
	{}

	public function create(): PageNavigation
	{
		$navId = $this->grid->getId() . '_nav';
		$navParams = $this->grid->getOptions()->GetNavParams();
		$pageSizes = [
			5,
			10,
			20,
			50,
			100,
		];

		$pagination = new PageNavigation($navId);
		$pagination->allowAllRecords(false);
		$pagination->setPageSize($navParams['nPageSize']);
		$pagination->setPageSizes($pageSizes);
		$pagination->setCurrentPage(1);

		return $pagination;
	}
}