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->setTemplate('/Modules/Helper/Theme/Backend/helper-list');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response)); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response));
$reports = TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())::getNewest(25); if ($request->getData('ptype') === '-') {
$view->addData('reports', $reports); $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; return $view;
} }

View File

@ -12,12 +12,17 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
use phpOMS\Uri\UriFactory;
/** /**
* @var \phpOMS\Views\View $this * @var \phpOMS\Views\View $this
* @var \Modules\Helper\Models\Template[] $templates * @var \Modules\Helper\Models\Template[] $templates
*/ */
$templates = $this->getData('reports'); $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(); ?> echo $this->getData('nav')->render(); ?>
<div class="row"> <div class="row">
@ -37,7 +42,7 @@ echo $this->getData('nav')->render(); ?>
<td colspan="4"><?= $this->getHtml('Empty', '0', '0'); ?> <td colspan="4"><?= $this->getHtml('Empty', '0', '0'); ?>
<?php endif; ?> <?php endif; ?>
<?php foreach ($templates as $key => $template) : <?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; ?>"> <tr data-href="<?= $url; ?>">
<td data-label="<?= $this->getHtml('Name') ?>"><a href="<?= $url; ?>"><?= $this->printHtml($template->getName()); ?></a> <td data-label="<?= $this->getHtml('Name') ?>"><a href="<?= $url; ?>"><?= $this->printHtml($template->getName()); ?></a>
<td data-label="<?= $this->getHtml('Tag') ?>"> <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> <td data-label="<?= $this->getHtml('Updated') ?>"><a href="<?= $url; ?>"><?= $this->printHtml($template->getCreatedAt()->format('Y-m-d')); ?></a>
<?php endforeach; ?> <?php endforeach; ?>
</table> </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> </div>
</div> </div>