|
- <?php
-
- namespace common\components;
-
- use yii\helpers\Html;
-
- class PageSizer
- {
- const DEFAULT_PAGE_SIZE = 25;
- public static array $pageSizeOptions = [25, 50, 75, 100];
-
- public function getForm(string $entity, string $labelEntity, int $pageSize, array $action = ['producer/pagesize'])
- {
- return '<form class="form-inline gridview-pagesize" method="post" action="'.\Yii::$app->urlManager->createUrl($action).'"><div class="form-group"><label class="control-label">'.$labelEntity.' par page : </label> '.
- Html::hiddenInput('entity', $entity).
- Html::dropDownList(
- 'pagesize',
- $pageSize,
- $this->getPageSizeOptions(),
- array('class'=>'form-control')).'</div></form></div>';
- }
-
- public function getPageSizeOptions(): array
- {
- $pageSizeOptionsArray = [];
-
- foreach(self::$pageSizeOptions as $pageSize) {
- $pageSizeOptionsArray[$pageSize] = $pageSize;
- }
-
- return $pageSizeOptionsArray;
- }
-
- public function isPageSizeExist(int $pageSize): bool
- {
- return in_array($pageSize, self::$pageSizeOptions);
- }
-
- }
|