Пример #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
 protected function respondWithPagination(Paginator $lessons, $data)
 {
     //protected function respondWithPagination($lessons, $data){
     $data = array_merge($data, ['paginator' => ['total_count' => $lessons->getTotal(), 'total_pages' => ceil($lessons->getTotal() / $lessons->getPerPage()), 'current_page' => $lessons->getCurrentPage(), 'limit' => $lessons->getPerPage()]]);
     return $this->respond($data);
     //'data' => $this->lessonTransformer->transformCollection($lessons->toArray())
 }
Пример #3
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;
 }
Пример #4
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();
 }
Пример #5
0
 /**
  * @return int
  */
 public function getCurrentPage()
 {
     return $this->paginator->getCurrentPage();
 }
Пример #6
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];
 }
Пример #7
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;
 }
 /**
  * @param $paginated
  * @return array
  */
 protected function buildPaginationResponse(\Illuminate\Pagination\Paginator $paginated)
 {
     $data = ['items' => $paginated->getItems(), 'page' => $paginated->getCurrentPage(), 'per_page' => $paginated->getPerPage(), 'page_results' => $paginated->count(), 'total_results' => $paginated->getTotal()];
     return $data;
 }