/** * create pagination with only previous and next buttons * * @return array */ public function simpleRendeArray() { $array = []; $count = $this->paginator->getCount(); $url = $this->path; $current = $this->paginator->getCurrentPage(); // create appends string $appends = $this->createAppendString($this->paginator->getAppends()); // create fragments string $fragments = $this->createFragmentsString($this->paginator->getFragments()); if ($count < $this->paginator->getPerPage()) { $limit = 1; } else { $limit = ceil($count / $this->paginator->getPerPage()); } if ($this->isAvaibleCurrentPage($current) && $current > 1) { $previous = $current - 1; $array[] = $this->buildChieldString('Previous', $this->buildFullChieldStrind($url, $appends), $this->pageName, $fragments, $previous); } if ($this->isAvaibleCurrentPage($current) && $current < $limit) { $next = $current + 1; $array[] = $this->buildChieldString('Next', $this->buildFullChieldStrind($url, $appends), $this->pageName, $fragments, $next); } return $array; }
/** * @param Paginator $items * @param $data * @return \Illuminate\Http\JsonResponse */ protected function respondWithPagination($items, $data) { $data = array_merge($data, ['paginator' => ['total_count' => $items->getTotal(), 'total_pages' => ceil($items->getTotal() / $items->getPerPage()), 'current_page' => $items->getCurrentPage(), 'limit' => $items->getPerPage()]]); return $this->respond($data); }
/** * @param Paginator $elements * @param $data * * @return \Illuminate\Http\JsonResponse */ public function respondWithPagination(Paginator $elements, $data) { $data = array_merge($data, ['paginator' => ['totalCount' => $elements->getTotal(), 'totalPages' => ceil($elements->getTotal() / $elements->getPerPage()), 'currentPage' => $elements->getCurrentPage(), 'limit' => $elements->getPerPage()]]); return $this->respond($data); }