. */ namespace SP\Controller\Grids; use SP\Config\ConfigData; use SP\Core\Context\SessionContext; use SP\Core\UI\Theme; use SP\Core\UI\ThemeIcons; use SP\Html\DataGrid\DataGridActionSearch; use SP\Html\DataGrid\DataGridPager; /** * Class GridBase * * @package SP\Controller\Grids */ abstract class GridBase { /** * @var ThemeIcons */ protected $icons; /** * @var string */ protected $sk; /** * @var int */ protected $queryTimeStart; /** * @var bool */ protected $filter = false; /** * @var ConfigData */ protected $ConfigData; /** * @var Theme */ protected $theme; /** * Grids constructor. * @param Theme $theme * @param SessionContext $session */ public function __construct(Theme $theme, SessionContext $session) { $this->sk = $session->getSecurityKey(); $this->icons = $this->theme->getIcons(); } /** * @param ConfigData $configData * @param Theme $theme */ public function inject(ConfigData $configData, Theme $theme) { $this->ConfigData = $configData; $this->theme = $theme; } /** * @param boolean $filter */ public function setFilter($filter) { $this->filter = $filter; } /** * @param int $queryTimeStart */ public function setQueryTimeStart($queryTimeStart) { $this->queryTimeStart = $queryTimeStart; } /** * Devolver el paginador por defecto * * @param DataGridActionSearch $sourceAction * @return DataGridPager */ protected function getPager(DataGridActionSearch $sourceAction) { $GridPager = new DataGridPager(); $GridPager->setSourceAction($sourceAction); $GridPager->setOnClickFunction('appMgmt/nav'); $GridPager->setLimitStart(0); $GridPager->setLimitCount($this->ConfigData->getAccountCount()); $GridPager->setIconPrev($this->icons->getIconNavPrev()); $GridPager->setIconNext($this->icons->getIconNavNext()); $GridPager->setIconFirst($this->icons->getIconNavFirst()); $GridPager->setIconLast($this->icons->getIconNavLast()); return $GridPager; } }