/home/storage/f/3f/a5/aloic1/public_html/core/vendor/livewire/livewire/src/WithPagination.php
<?php
namespace Livewire;
use Illuminate\Pagination\Cursor;
use Illuminate\Pagination\CursorPaginator;
use Illuminate\Pagination\Paginator;
trait WithPagination
{
public $page = 1;
public $paginators = [];
protected $numberOfPaginatorsRendered = [];
public function queryStringWithPagination()
{
foreach ($this->paginators as $key => $value) {
$this->$key = $value;
}
return array_fill_keys(array_keys($this->paginators), ['except' => 1]);
}
public function initializeWithPagination()
{
foreach ($this->paginators as $key => $value) {
$this->$key = $value;
}
$this->page = $this->resolvePage();
$this->paginators['page'] = $this->page;
if (class_exists(CursorPaginator::class)) {
CursorPaginator::currentCursorResolver(function ($pageName){
if (! isset($this->paginators[$pageName])) {
$this->paginators[$pageName] = request()->query($pageName, '');
}
return Cursor::fromEncoded($this->paginators[$pageName]);
});
}
Paginator::currentPageResolver(function ($pageName) {
if (! isset($this->paginators[$pageName])) {
$this->paginators[$pageName] = request()->query($pageName, 1);
}
return (int) $this->paginators[$pageName];
});
Paginator::defaultView($this->paginationView());
Paginator::defaultSimpleView($this->paginationSimpleView());
}
public function paginationView()
{
return 'livewire::' . (property_exists($this, 'paginationTheme') ? $this->paginationTheme : 'tailwind');
}
public function paginationSimpleView()
{
return 'livewire::simple-' . (property_exists($this, 'paginationTheme') ? $this->paginationTheme : 'tailwind');
}
public function previousPage($pageName = 'page')
{
$this->setPage(max($this->paginators[$pageName] - 1, 1), $pageName);
}
public function nextPage($pageName = 'page')
{
$this->setPage($this->paginators[$pageName] + 1, $pageName);
}
public function gotoPage($page, $pageName = 'page')
{
$this->setPage($page, $pageName);
}
public function resetPage($pageName = 'page')
{
$this->setPage(1, $pageName);
}
public function setPage($page, $pageName = 'page')
{
if (is_numeric($page)){
$page = (int)$page;
$page = $page <= 0 ? 1 : $page ;
}
$beforePaginatorMethod = 'updatingPaginators';
$afterPaginatorMethod = 'updatedPaginators';
$beforeMethod = 'updating' . $pageName;
$afterMethod = 'updated' . $pageName;
if (method_exists($this, $beforePaginatorMethod)) {
$this->{$beforePaginatorMethod}($page, $pageName);
}
if (method_exists($this, $beforeMethod)) {
$this->{$beforeMethod}($page, null);
}
$this->paginators[$pageName] = $page;
$this->{$pageName} = $page;
if (method_exists($this, $afterPaginatorMethod)) {
$this->{$afterPaginatorMethod}($page, $pageName);
}
if (method_exists($this, $afterMethod)) {
$this->{$afterMethod}($page, null);
}
}
public function resolvePage()
{
// The "page" query string item should only be available
// from within the original component mount run.
// Avoid cast to integer to prevent hydrate error
return request()->query('page', $this->page);
}
}
@LwBee Strong Bypass
Upload File
Create New File