[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
controllers
/
grid
/
issues
/
[
Home
]
File: ExportableIssuesListGridHandler.php
<?php /** * @file controllers/grid/issues/IssueGridHandler.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class ExportableIssuesListGridHandler * * @ingroup controllers_grid_issues * * @brief Handle exportable issues grid requests. */ namespace APP\controllers\grid\issues; use APP\facades\Repo; use PKP\controllers\grid\feature\PagingFeature; use PKP\controllers\grid\feature\selectableItems\SelectableItemsFeature; use PKP\controllers\grid\GridRow; class ExportableIssuesListGridHandler extends IssueGridHandler { // // Implemented methods from GridHandler. // /** * @copydoc GridHandler::isDataElementSelected() */ public function isDataElementSelected($gridDataElement) { return false; // Nothing is selected by default } /** * @copydoc GridHandler::getSelectName() */ public function getSelectName() { return 'selectedIssues'; } /** * @copydoc GridHandler::loadData() */ protected function loadData($request, $filter) { $journal = $request->getJournal(); // Handle grid paging (deprecated style) $rangeInfo = $this->getGridRangeInfo($request, $this->getId()); $collector = Repo::issue()->getCollector() ->filterByContextIds([$journal->getId()]); $totalCount = $collector->getCount(); $collector->limit($rangeInfo->getCount()); $collector->offset($rangeInfo->getOffset() + max(0, $rangeInfo->getPage() - 1) * $rangeInfo->getCount()); return new \PKP\core\VirtualArrayIterator($collector->getMany()->toArray(), $totalCount, $rangeInfo->getPage(), $rangeInfo->getCount()); } /** * @copydoc GridHandler::initFeatures() */ public function initFeatures($request, $args) { return [new SelectableItemsFeature(), new PagingFeature()]; } /** * Get the row handler - override the parent row handler. We do not need grid row actions. * * @return GridRow */ protected function getRowInstance() { return new GridRow(); } }