Fork me on GitHub

La pagination


This example shows how to paginate an ajax request.

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) ?>;
});