2017 © Pedro Peláez
 

library nette-visual-paginator

Visual paginator component for Nette Framework

image

geniv/nette-visual-paginator

Visual paginator component for Nette Framework

  • Monday, June 25, 2018
  • by geniv
  • Repository
  • 1 Watchers
  • 0 Stars
  • 338 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 45 % Grown

The README.md

Visual paginator

inspiration: https://github.com/iPublikuj/visual-paginator, (*1)

Installation

$ composer require geniv/nette-visual-paginator

or, (*2)

"geniv/nette-visual-paginator": "^2.0"

require:, (*3)

"php": ">=7.1",
"nette/application": ">=3.0",
"nette/utils": ">=3.0",
"geniv/nette-general-form": ">=1.0"

Include in application

neon configure:, (*4)

services:
    - VisualPaginator\VisualPaginatorFactory

renderer (implements IPaginatorRenderer):, (*5)

BasicRenderer
1 2 3 4 5 6 7 8 9 10

AdvanceTypeARenderer(['relatedPages'=>3, 'count'=>4])
1 2 3 4 ... 13 ... 26 ... 38 ... 50

AdvanceTypeBRenderer(['part' => 3, 'middle' => 2])
1 2 3 ... 48 49 50

presenters:, (*6)

/** @var \VisualPaginator\VisualPaginatorFactory @inject */
public $visualPaginator;

public function render...()
{
    // for dibi
    $items = $this->model->getList();

    $items = range(1, 150);

    $vp = $this->getComponent('visualPaginator')->getPaginator();
    $vp->setItemCount(count($items))
        ->setItemsPerPage(5);

    // for dibi
    $this->template->items = $items->limit($vp->getLength())->offset($vp->getOffset());

    // for array
    $this->template->items = array_slice($items, $vp->getOffset(), $vp->getLength())
}

protected function createComponentVisualPaginator()
{
    $component = $this->visualPaginator->create();
    //$component->setTemplatePath(__DIR__.'/VisualPaginator.latte');
    $component->setPaginatorRenderer(new BasicRenderer);
    return $component;
}

or, (*7)

$vp = $this['VisualPaginator']->getPaginator();

...

protected function createComponentVisualPaginator(\VisualPaginator\VisualPaginatorFactory $factory): VisualPaginator
{
    $visualPaginator = $factory->create();
    //$visualPaginator->setTemplatePath(__DIR__.'/templates/visualPaginator.latte');
    $visualPaginator->setPaginatorRenderer(new BasicRenderer);

    $visualPaginator->onSelectPage[] = function (int $page) {
        if ($this->isAjax()){
            $this->redrawControl('grid');
        }
    };

    return $visualPaginator;
}

callback:, (*8)

onSelectPage(int $page)

usage:, (*9)

{control visualPaginator}
or
{control visualPaginator, count=>200, perPage=>5}

{* link for presenter: *}
<a href="{plink this, 'page'=>$step}" n:class="$step==$paginator->getPage()?active, ajax">{$step}</a>

{* link for component: *}
<a n:href="this, 'page'=>$step" n:class="$step==$paginator->getPage()?active, ajax">{$step}</a>

{* link for ajax: *}
<a n:href="SelectPage!, 'page'=>$step" n:class="$step==$paginator->getPage()?active, ajax">{$step}</a>

The Versions

25/06 2018

dev-master

9999999-dev

Visual paginator component for Nette Framework

  Sources   Download

MIT GPL-3.0

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

25/06 2018

v1.0.4

1.0.4.0

Visual paginator component for Nette Framework

  Sources   Download

MIT

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

25/06 2018

dev-develop

dev-develop

Visual paginator component for Nette Framework

  Sources   Download

MIT GPL-3.0

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

18/04 2018

v1.0.3

1.0.3.0

Visual paginator component for Nette Framework

  Sources   Download

MIT

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

25/02 2018

v1.0.2

1.0.2.0

Visual paginator component for Nette Framework

  Sources   Download

MIT

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

19/01 2018

v1.0.1

1.0.1.0

Visual paginator component for Nette Framework

  Sources   Download

MIT

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv

09/11 2017

v1.0.0

1.0.0.0

Visual paginator component for Nette Framework

  Sources   Download

GPL-3.0

The Requires

 

by Radek Frystak

nette paginator visualpaginator geniv