This example shows how to paginate an ajax request.
Pagination
Showing page number 1
The HTML code.
<div class="row">
<div class="col-md-12" id="hello-text-two">
Showing page number 1
</div>
<div class="col-md-12" id="pagination">
</div>
</div>
The Jaxon setup code.
<?php
use Jaxon\Jaxon;
class HelloWorld extends \Jaxon\App\FuncComponent
{
public function sayHello(bool $isCaps)
{
$text = $isCaps ? 'HELLO WORLD!' : 'Hello World!';
$this->response()->assign('hello-text-two', 'innerHTML', $text);
}
public function showPage($pageNumber)
{
$itemsPerPage = 10;
$totalItems = 150;
$this->paginator($pageNumber, $itemsPerPage, $totalItems)
->page(function(int $page) {
$this->response()->assign('hello-text-two', 'innerHTML', "Showing page number $page");
})
->render($this->rq()->showPage(), 'pagination');
}
}
// Register object
$jaxon = jaxon();
$jaxon->setOption('js.lib.uri', '/js');
$jaxon->register(Jaxon::CALLABLE_CLASS, HelloWorld::class);
The Javascript code is generated from this PHP template.
jaxon.dom.ready(() => {
<?= rq('HelloWorld')->showPage(1) ?>;
});