Added Paginator helper. Issue #123.

This commit is contained in:
Dmitry Khomutov 2017-10-24 21:42:18 +07:00
commit 3ab04a6503
No known key found for this signature in database
GPG key ID: EC19426474B37AAC
4 changed files with 91 additions and 64 deletions

View file

@ -1,4 +1,12 @@
<?php use PHPCensor\Helper\Lang; ?>
<?php
/**
* @var \JasonGrimes\Paginator $paginator
*/
use PHPCensor\Helper\Lang;
?>
<script>
var PROJECT_ID = <?= $project->getId(); ?>;
var PROJECT_ENVIRONMENT = '<?= $environment; ?>';
@ -116,68 +124,27 @@
</tbody>
</table>
</div>
<?php
<div>
<ul class="pagination">
<?php if ($paginator->getPrevUrl()): ?>
<li><a href="<?php echo $paginator->getPrevUrl(); ?>"><?= Lang::get('prev_link'); ?></a></li>
<?php endif; ?>
print '<div><ul class="pagination">';
<?php foreach ($paginator->getPages() as $pageArray): ?>
<?php if ($pageArray['url']): ?>
<li <?php echo $pageArray['isCurrent'] ? 'class="active"' : ''; ?>>
<a href="<?php echo $pageArray['url']; ?>"><?php echo $pageArray['num']; ?></a>
</li>
<?php else: ?>
<li class="disabled"><span><?php echo $pageArray['num']; ?></span></li>
<?php endif; ?>
<?php endforeach; ?>
$project_url = APP_URL . 'project/view/' . $project->getId();
$params = [];
if (!empty($branch)) {
$params['branch'] = $branch;
}
if (!empty($environment)) {
$params['environment'] = $environment;
}
if ($page > 1) {
print '<li><a href="' . $project_url . '?' . http_build_query(array_merge($params, ['page' => ($page - 1)])) . '">' . Lang::get('prev_link') . '</a></li>';
}
if ($pages > 1) {
$start = $page - 3;
if ($start <= 0) {
$start = 1;
}
$end = $page + 3;
if ($end > $pages) {
$end = $pages;
}
if ($start > 1) {
print '<li><a href="' . $project_url . '?' . http_build_query($params) . '">1...</a></li>';
}
for($i = $start; $i <= $end; $i++)
{
if ($pages > $end && $i == $pages) {
continue;
}
if ($i == $page) {
print '<li class="bg-blue"><span>' . $i . '</span></li>';
} else {
print '<li><a href="' . $project_url . '?' . http_build_query(array_merge($params, ['page' => $i])) . '">' . $i . '</a></li>';
}
}
if ($pages > $end) {
print '<li><a href="' . $project_url . '?' . http_build_query(array_merge($params, ['page' => $pages])) . '">...' . $pages . '</a></li>';
}
}
if ($page < ($pages - 1)) {
print '<li><a href="' . $project_url . '?' . http_build_query(array_merge($params, ['page' => ($page == $pages) ? $pages : ($page + 1)])) . '">' . Lang::get('next_link') . '</a></li>';
}
print '</ul></div>';
?>
<?php if ($paginator->getNextUrl()): ?>
<li><a href="<?php echo $paginator->getNextUrl(); ?>"><?= Lang::get('prev_link'); ?></a></li>
<?php endif; ?>
</ul>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-4">