/** * Serialize the paginator. * * @param PaginatorInterface $paginator * * @return array */ public function paginator(PaginatorInterface $paginator) { $currentPage = (int) $paginator->getCurrentPage(); $pagination = ['count' => (int) $paginator->getCount(), 'per_page' => (int) $paginator->getPerPage(), 'current_page' => $currentPage, 'prev_page' => null, 'next_page' => null]; if ($currentPage > 1) { $pagination['prev_page'] = $currentPage - 1; } if ($pagination['per_page'] == $pagination['count']) { $pagination['next_page'] = $currentPage + 1; } return ['pagination' => $pagination]; }
/** * Serialize the paginator. * * @param PaginatorInterface $paginator * * @return array */ public function paginator(PaginatorInterface $paginator) { $currentPage = (int) $paginator->getCurrentPage(); $lastPage = (int) $paginator->getLastPage(); $pagination = ['total' => (int) $paginator->getTotal(), 'count' => (int) $paginator->getCount(), 'per_page' => (int) $paginator->getPerPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage]; $pagination['links'] = []; if ($currentPage > 1) { $pagination['links']['previous'] = $paginator->getUrl($currentPage - 1); } if ($currentPage < $lastPage) { $pagination['links']['next'] = $paginator->getUrl($currentPage + 1); } return ['pagination' => $pagination]; }
/** * Serialize the paginator. * * @param PaginatorInterface $paginator * * @return array */ public function paginator(PaginatorInterface $paginator) { $currentPage = (int) $paginator->getCurrentPage(); $lastPage = (int) $paginator->getLastPage(); $pagination = ['total' => (int) $paginator->getTotal(), 'count' => (int) $paginator->getCount(), 'per_page' => (int) $paginator->getPerPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage, 'has_more' => $currentPage < $lastPage]; return ['pagination' => $pagination]; }
/** * Serialize the paginator. * * @param PaginatorInterface $paginator Paginator Interface * * @return array */ public function paginator(PaginatorInterface $paginator) { $currentPage = (int) $paginator->getCurrentPage(); $lastPage = (int) $paginator->getLastPage(); $pagination = array('total' => (int) $paginator->getTotal(), 'count' => (int) $paginator->getCount(), 'per_page' => (int) $paginator->getPerPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage); return array('pagination' => $pagination); }
/** * override the default pagination field * * @param PaginatorInterface $paginator * @return array */ public function paginator(PaginatorInterface $paginator) { //dd(get_class_methods($paginator) ); $pag = $paginator->getPaginator(); //dd(get_class_methods($pag)); $currentPage = (int) $pag->currentPage(); // -------------------------------------------------------------------- $lastPage = (int) $pag->lastPage(); $pagination = array('total' => (int) $pag->total(), 'count' => (int) $pag->count(), 'per_page' => (int) $pag->perPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage); $pagination['links'] = array(); if ($currentPage > 1) { $page = $currentPage - 1; $url = self::urlParamsResolver($pag->url($page), ['page' => $page]); $pagination['links']['prev'] = $url; } if ($currentPage < $lastPage) { $page = $currentPage + 1; $url = self::urlParamsResolver($pag->url($page), ['page' => $page]); $pagination['links']['next'] = $url; } return array('pagination' => $pagination); }
/** * Create a new collection resource from a paginator with the given transformer. * * @param \League\Fractal\Pagination\PaginatorInterface $paginator * @param object $transformer * @param string $key * @return \Illuminate\Http\Response */ public function withPaginator(FractalPaginatorInterface $paginator, $transformer, $key = null) { $resource = new FractalCollection($paginator->getCollection(), $transformer, $key); $resource->setPaginator($paginator); return $this->build($resource); }
/** * Serialize the paginator. * * @param PaginatorInterface $paginator * * @return array */ public function paginator(PaginatorInterface $paginator) { $currentPage = (int) $paginator->getCurrentPage(); $lastPage = (int) $paginator->getLastPage(); $pagination = ['total' => (int) $paginator->getTotal(), 'count' => (int) $paginator->getCount(), 'per_page' => (int) $paginator->getPerPage(), 'current_page' => $currentPage, 'total_pages' => $lastPage]; $pagination['links'] = []; if ($currentPage !== 1) { $pagination['links']['first'] = $paginator->getUrl(1); } if ($currentPage > 1) { $pagination['links']['previous'] = $paginator->getUrl($currentPage - 1); } // add fast backward if (($fastBack = $currentPage - 10) >= 1) { $pagination['links']['fastback'] = $paginator->getUrl($fastBack); } if ($currentPage < $lastPage) { $pagination['links']['next'] = $paginator->getUrl($currentPage + 1); } // add fast backward if (($fastForward = $currentPage + 10) <= $lastPage) { $pagination['links']['fastforward'] = $paginator->getUrl($fastForward); } if ($lastPage > 1 && $currentPage !== $lastPage) { $pagination['links']['last'] = $paginator->getUrl($lastPage); } return ['pagination' => $pagination]; }
/** * Set Criteria On Paginator * * @param PaginatorInterface $paginator Paginator * @param ElementCriteriaModel $criteria Criteria */ private function setCriteriaOnPaginator(PaginatorInterface $paginator, ElementCriteriaModel $criteria) { if (!$criteria->limit) { return $paginator; } return $paginator->setCriteria($criteria); }