public function sequence($item) { $collections = collect($this->paginator->items()); $index = $collections->search($item) + 1; $start = (request('page', 1) - 1) * $this->paginator->perPage(); return $start + $index; }
public function pagination(LengthAwarePaginator $paginator) { $numStartedOnPage = $paginator->perPage() * ($paginator->currentPage() - 1); $numEndedOnPage = $numStartedOnPage + $paginator->perPage(); if ($numStartedOnPage == 0) { $numStartedOnPage = 1; } elseif ($numStartedOnPage > 0) { $numStartedOnPage += 1; } if ($numEndedOnPage > $paginator->total()) { $numEndedOnPage = $paginator->total(); } return '<div class="row">' . '<div class="col-sm-6">Showing <b>' . number_format($numStartedOnPage) . ' to ' . number_format($numEndedOnPage) . '</b> of ' . number_format($paginator->total()) . ' entries</div>' . '<div class="col-sm-6 text-right">' . (new \BibleBowl\Presentation\Pagination($paginator))->render() . '</div>' . '</div>'; }
public function afterLoad() { $linkedWidget = $this->widgetManager->getWidgetById($this->linked_widget_id); $paginator = null; if (!is_null($linkedWidget) and $linkedWidget instanceof WidgetPaginator) { $paginator = new LengthAwarePaginator([], $linkedWidget->getTotalDocuments(), $linkedWidget->list_size); $paginator->setPageName($this->query_key); $paginator->setPath(Request::path()); $linkedWidget->list_offset = (int) (($paginator->currentPage() - 1) * $paginator->perPage()); } $this->paginator = $paginator; }
/** * @param LengthAwarePaginator|LengthAwarePaginatorContract $paginator * @param string $dataKey * * @return array */ protected function paginatorToArray(LengthAwarePaginator $paginator, $dataKey = 'items') { return ['total' => $paginator->total(), 'perPage' => $paginator->perPage(), 'currentPage' => $paginator->currentPage(), 'lastPage' => $paginator->lastPage(), 'nextPageUrl' => $paginator->nextPageUrl(), 'prevPageUrl' => $paginator->previousPageUrl(), 'from' => $paginator->firstItem(), 'to' => $paginator->lastItem(), $dataKey => $paginator->items()]; }
protected function respondWithPagination(LengthAwarePaginator $items, $data) { $data = array_merge($data, ['paginator' => ['total_count' => $items->total(), 'total_pages' => ceil($items->total() / $items->perPage()), 'current_page' => $items->currentPage(), 'limit' => $items->perPage()]]); return $this->respond($data); }
/** * @param LengthAwarePaginator $paged * * @return PaginatedRepresentation */ public function formateHatoeasPaged(LengthAwarePaginator $paged) { $request = \App::make('request'); $params = array_merge($request->route()[2], $request->all()); return new PaginatedRepresentation(new CollectionRepresentation($paged->getCollection(), null, $request->path()), $request->route()[1]['as'], $params, $paged->currentPage(), $paged->perPage(), $paged->lastPage(), 'page', 'per_page', true, $paged->total()); }
$useLengthAware = true; // Paginator class example if (!$useLengthAware) { $paginatorItems = array_slice($items, $offset); $results = new Paginator($paginatorItems, $perPage, $currentPage, $options); } // End of Paginator example // LengthAwarePaginator class example if ($useLengthAware) { $lengthAwarePaginatorItems = array_slice($items, $offset, $perPage); $results = new LengthAwarePaginator($lengthAwarePaginatorItems, $total, $perPage, $currentPage, $options); } // End of LengthAwarePaginator example // Display a paginated table of our array echo '<h1>I love hashes</h1>'; echo '<table>'; foreach ($results as $result) { echo "\n <tr>\n <td>{$result['id']}</td>\n <td>{$result['hash']}</td>\n </tr>"; } echo '<table>' . "\n"; echo $results->appends($_GET)->render(); echo 'Current Page: ' . $results->currentPage(); echo '<br>Items Per Page: ' . $results->perPage(); // The following methods are only available when using the LengthAwarePaginator instance if ($useLengthAware) { echo '<br>From ' . $results->firstItem() . ' to ' . $results->lastItem(); echo '<br>Total Items: ' . $results->total(); echo '<br>Last Page: ' . $results->lastPage(); } }); $app->run();
/** * Is this current page in range? * * @param \Illuminate\Pagination\LengthAwarePaginator $paginator * * @return bool */ protected function isPageInRange(LengthAwarePaginator $paginator) { return $paginator->currentPage() <= ceil($paginator->lastItem() / $paginator->perPage()); }
public static function wrapPager(LengthAwarePaginator $pager) { $collection = static::wrapCollection($pager->getCollection()); return new LengthAwarePaginator($collection, $pager->total(), $pager->perPage(), $pager->currentPage()); }
/** * @param LengthAwarePaginator $paginatorData * @param $data * * @return mixed */ public function respondWithPagination(LengthAwarePaginator $paginatorData, $data) { $data = array_merge($data, ['paginator' => ['total_count' => $paginatorData->total(), 'total_pages' => ceil($paginatorData->total() / $paginatorData->perPage()), 'current_page' => $paginatorData->currentPage(), 'limit' => $paginatorData->count(), 'next_page_url' => $paginatorData->nextPageUrl()]]); return $this->respond($data); }
public function paginate(LengthAwarePaginator $paginator) { return ["count" => $paginator->count(), "current_page" => $paginator->currentPage(), "last_page" => $paginator->lastPage(), "per_page" => $paginator->perPage(), "total" => $paginator->total()]; }
/** * [buildHeaderLinks description] * @param Paginator $collection [description] * @return [type] [description] */ private function buildHeaderLinks(Paginator $collection) { $links = array(); if ($collection->nextPageUrl()) { $links[] = $this->buildHeaderLink('next', $collection->nextPageUrl(), $collection->perPage()); } if ($collection->previousPageUrl()) { $links[] = $this->buildHeaderLink('prev', $collection->previousPageUrl(), $collection->perPage()); } $links[] = $this->buildHeaderLink('first', $collection->url(1), $collection->perPage()); $links[] = $this->buildHeaderLink('last', $collection->url($collection->lastPage()), $collection->perPage()); return join($links, ", "); }
/** * @param $products * @return \Illuminate\Http\JsonResponse */ public function respondWithPagination(Paginator $products, $data) { $data = array_merge($data, ['paginator' => ['total_count' => $products->total(), 'total_pages' => ceil($products->total() / $products->perPage()), 'current_page' => $products->currentPage(), 'limit' => $products->perPage()]]); return $this->respond($data); }
/** * @param LengthAwarePaginator $paginated_list * @return string */ public function tableNavStatus(LengthAwarePaginator $paginated_list) { return trans('global.table_list.results.status', ['start' => $paginated_list->perPage() * ($paginated_list->currentPage() - 1) + 1, 'stop' => $paginated_list->count() + ($paginated_list->currentPage() - 1) * $paginated_list->perPage(), 'total' => $paginated_list->total()]); }