Пример #1
0
 static function answerOkByPager(Paginator $paginator)
 {
     if ($paginator->getLastPage() == $paginator->getCurrentPage()) {
         $next_page = null;
     } else {
         $next_page = $paginator->getCurrentPage();
     }
     $next_page_url = $next_page ? \Request::url() . '?page=' . $next_page : null;
     return parent::json(['meta' => ['code' => 200], 'pagination' => ['next_url' => $next_page_url, 'next_page' => $next_page], 'data' => $paginator->getCollection()->toArray()], 200, [], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
 }
Пример #2
0
 private function transformPaginator(Paginator $paginator)
 {
     $array = $paginator->toArray();
     unset($array['data']);
     // Add pagination info
     $current_page = $paginator->getCurrentPage();
     $next_page = min($current_page + 1, $paginator->getLastPage());
     $previous_page = max($current_page - 1, 1);
     $array['next_page'] = $next_page === $current_page ? NULL : $paginator->getUrl($next_page);
     $array['previous_page'] = $previous_page === $current_page ? NULL : $paginator->getUrl($previous_page);
     return $array;
 }
Пример #3
0
 /**
  * Create a new Presenter instance.
  *
  * @param  \Illuminate\Pagination\Paginator  $paginator
  * @return void
  */
 public function __construct(Paginator $paginator)
 {
     $this->paginator = $paginator;
     $this->lastPage = $this->paginator->getLastPage();
     $this->currentPage = $this->paginator->getCurrentPage();
 }
Пример #4
0
 /**
  * Creates an array of meta information for pagination
  *
  * @param Paginator $paginationObject
  * @return array
  */
 public function generatePaginationMetaInfo(Paginator $paginationObject)
 {
     return ['total' => $paginationObject->getTotal(), 'perPage' => $paginationObject->getPerPage(), 'isFirstPage' => $paginationObject->getCurrentPage() == 1 ? true : false, 'isLastPage' => $paginationObject->getCurrentPage() == $paginationObject->getLastPage() ? true : false];
 }
Пример #5
0
 /**
  * @param Paginator $paginator
  * @return array
  */
 protected function getPagination(Paginator $paginator)
 {
     $currentPage = $paginator->getCurrentPage();
     $lastPage = $paginator->getLastPage();
     $links = [];
     if ($currentPage > 1) {
         $links['previous'] = $paginator->getUrl($currentPage - 1);
     }
     if ($currentPage < $lastPage) {
         $links['next'] = $paginator->getUrl($currentPage + 1);
     }
     $pagination = [];
     $pagination['total'] = $paginator->getTotal();
     $pagination['count'] = $paginator->count();
     $pagination['per_page'] = $paginator->getPerPage();
     $pagination['current_page'] = $currentPage;
     $pagination['total_pages'] = $lastPage;
     $pagination['links'] = $links;
     return $pagination;
 }
 /**
  * Is this current page in range?
  *
  * @param \Illuminate\Pagination\Paginator $paginator
  *
  * @return bool
  */
 protected function isPageInRange(Paginator $paginator)
 {
     return $paginator->getFactory()->getCurrentPage() <= $paginator->getLastPage();
 }
 /**
  * Get the last page.
  *
  * @return int
  */
 public function getLastPage()
 {
     return $this->paginator->getLastPage();
 }