add list pagination

This commit is contained in:
Dennis Eichhorn 2020-04-05 17:06:10 +02:00
parent 4d906efa7c
commit 508eb5d7b8
2 changed files with 21 additions and 4 deletions

View File

@ -57,8 +57,17 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/Helper/Theme/Backend/helper-list');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response));
$reports = TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())::getNewest(25);
$view->addData('reports', $reports);
if ($request->getData('ptype') === '-') {
$view->setData('reports',
TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())
::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25)
);
} else {
$view->setData('reports',
TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())
::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25)
);
}
return $view;
}

View File

@ -12,12 +12,17 @@
*/
declare(strict_types=1);
use phpOMS\Uri\UriFactory;
/**
* @var \phpOMS\Views\View $this
* @var \Modules\Helper\Models\Template[] $templates
*/
$templates = $this->getData('reports');
$previous = empty($templates) ? '{/prefix}editor/list' : '{/prefix}editor/list?{?}&id=' . \reset($templates)->getId() . '&ptype=-';
$next = empty($templates) ? '{/prefix}editor/list' : '{/prefix}editor/list?{?}&id=' . \end($templates)->getId() . '&ptype=+';
echo $this->getData('nav')->render(); ?>
<div class="row">
@ -37,7 +42,7 @@ echo $this->getData('nav')->render(); ?>
<td colspan="4"><?= $this->getHtml('Empty', '0', '0'); ?>
<?php endif; ?>
<?php foreach ($templates as $key => $template) :
$url = \phpOMS\Uri\UriFactory::build('{/prefix}helper/report/view?{?}&id=' . $template->getId()); ?>
$url = UriFactory::build('{/prefix}helper/report/view?{?}&id=' . $template->getId()); ?>
<tr data-href="<?= $url; ?>">
<td data-label="<?= $this->getHtml('Name') ?>"><a href="<?= $url; ?>"><?= $this->printHtml($template->getName()); ?></a>
<td data-label="<?= $this->getHtml('Tag') ?>">
@ -48,7 +53,10 @@ echo $this->getData('nav')->render(); ?>
<td data-label="<?= $this->getHtml('Updated') ?>"><a href="<?= $url; ?>"><?= $this->printHtml($template->getCreatedAt()->format('Y-m-d')); ?></a>
<?php endforeach; ?>
</table>
<div class="portlet-foot"></div>
<div class="portlet-foot">
<a class="button" href="<?= UriFactory::build($previous); ?>"><?= $this->getHtml('Previous', '0', '0'); ?></a>
<a class="button" href="<?= UriFactory::build($next); ?>"><?= $this->getHtml('Next', '0', '0'); ?></a>
</div>
</div>
</div>
</div>