Final Class Yiisoft\Yii\DataView\Pagination\OffsetPagination
| Inheritance | Yiisoft\Yii\DataView\Pagination\OffsetPagination » Yiisoft\Widget\Widget |
|---|---|
| Implements | Yiisoft\Yii\DataView\Pagination\PaginationWidgetInterface |
| Uses Traits | Yiisoft\Yii\DataView\Pagination\PaginationContextTrait |
Widget for rendering {@see OffsetPaginator}.
Public Methods
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| getContext() | Gets the current pagination context. | Yiisoft\Yii\DataView\Pagination\PaginationContextTrait |
Method Details
| public self addLinkAttributes ( array $attributes ) | ||
| $attributes | array | |
public function addLinkAttributes(array $attributes): self
{
$new = clone $this;
$new->linkAttributes = array_merge($new->linkAttributes, $attributes);
return $new;
}
Adds one or more CSS classes to the existing link classes.
Multiple classes can be added by passing them as separate arguments. null values are filtered out
automatically.
| public self addLinkClass ( \BackedEnum|string|null $class ) | ||
| $class | \BackedEnum|string|null |
One or more CSS class names to add. Pass |
| return | self |
A new instance with the specified CSS classes added to existing ones. |
|---|---|---|
public function addLinkClass(BackedEnum|string|null ...$class): self
{
$new = clone $this;
Html::addCssClass($new->linkAttributes, $class);
return $new;
}
| public self containerAttributes ( array $attributes ) | ||
| $attributes | array | |
public function containerAttributes(array $attributes): self
{
$new = clone $this;
$new->containerAttributes = $attributes;
return $new;
}
| public self containerTag ( ?string $tag ) | ||
| $tag | ?string | |
public function containerTag(?string $tag): self
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->containerTag = $tag;
return $new;
}
Defined in: Yiisoft\Yii\DataView\Pagination\PaginationContextTrait::context()
Creates a new instance with the specified pagination context.
| public static context ( Yiisoft\Yii\DataView\Pagination\PaginationContext $context ) | ||
| $context | Yiisoft\Yii\DataView\Pagination\PaginationContext |
The pagination context to use. |
| return | Yiisoft\Yii\DataView\Pagination\OffsetPagination |
New instance with the specified context. |
|---|---|---|
final public function context(PaginationContext $context): static
{
$new = clone $this;
$new->context = $context;
return $new;
}
Creates a new instance with the specified paginator and context.
| public static self create ( \Yiisoft\Data\Paginator\OffsetPaginator $paginator, string $urlPattern, string $firstPageUrl ) | ||
| $paginator | \Yiisoft\Data\Paginator\OffsetPaginator |
The paginator to use. |
| $urlPattern | string |
URL pattern for page links. Must contain {@see \Yiisoft\Yii\DataView\Pagination\PaginationContext::URL_PLACEHOLDER}. |
| $firstPageUrl | string |
URL used on the first page. |
| return | self |
New instance with the specified paginator and context. |
|---|---|---|
public static function create(OffsetPaginator $paginator, string $urlPattern, string $firstPageUrl): self
{
return self::widget()
->paginator($paginator)
->context(
new PaginationContext($urlPattern, $urlPattern, $firstPageUrl),
);
}
| public self currentItemClass ( ?string $class ) | ||
| $class | ?string | |
public function currentItemClass(?string $class): self
{
$new = clone $this;
$new->currentItemClass = $class;
return $new;
}
| public self currentLinkClass ( ?string $class ) | ||
| $class | ?string | |
public function currentLinkClass(?string $class): self
{
$new = clone $this;
$new->currentLinkClass = $class;
return $new;
}
| public self disabledItemClass ( ?string $class ) | ||
| $class | ?string | |
public function disabledItemClass(?string $class): self
{
$new = clone $this;
$new->disabledItemClass = $class;
return $new;
}
| public self disabledLinkClass ( ?string $class ) | ||
| $class | ?string | |
public function disabledLinkClass(?string $class): self
{
$new = clone $this;
$new->disabledLinkClass = $class;
return $new;
}
Defined in: Yiisoft\Yii\DataView\Pagination\PaginationContextTrait::getContext()
Gets the current pagination context.
| protected Yiisoft\Yii\DataView\Pagination\PaginationContext getContext ( ) | ||
| return | Yiisoft\Yii\DataView\Pagination\PaginationContext |
The current pagination context. |
|---|---|---|
| throws | LogicException |
If the context has not been set. |
final protected function getContext(): PaginationContext
{
if ($this->context === null) {
throw new LogicException('Context is not set.');
}
return $this->context;
}
| public self itemAttributes ( array $attributes ) | ||
| $attributes | array | |
public function itemAttributes(array $attributes): self
{
$new = clone $this;
$new->itemAttributes = $attributes;
return $new;
}
| public self itemTag ( ?string $tag ) | ||
| $tag | ?string | |
public function itemTag(?string $tag): self
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->itemTag = $tag;
return $new;
}
| public self labelFirst ( string|\Stringable|null $label ) | ||
| $label | string|\Stringable|null | |
public function labelFirst(string|Stringable|null $label): self
{
$new = clone $this;
$new->labelFirst = $label;
return $new;
}
| public self labelLast ( string|\Stringable|null $label ) | ||
| $label | string|\Stringable|null | |
public function labelLast(string|Stringable|null $label): self
{
$new = clone $this;
$new->labelLast = $label;
return $new;
}
| public self labelNext ( string|\Stringable|null $label ) | ||
| $label | string|\Stringable|null | |
public function labelNext(string|Stringable|null $label): self
{
$new = clone $this;
$new->labelNext = $label;
return $new;
}
| public self labelPrevious ( string|\Stringable|null $label ) | ||
| $label | string|\Stringable|null | |
public function labelPrevious(string|Stringable|null $label): self
{
$new = clone $this;
$new->labelPrevious = $label;
return $new;
}
| public self linkAttributes ( array $attributes ) | ||
| $attributes | array | |
public function linkAttributes(array $attributes): self
{
$new = clone $this;
$new->linkAttributes = $attributes;
return $new;
}
Set new link classes.
Multiple classes can be set by passing them as separate arguments. null values are filtered out
automatically.
| public self linkClass ( \BackedEnum|string|null $class ) | ||
| $class | \BackedEnum|string|null |
One or more CSS class names to use. Pass |
public function linkClass(BackedEnum|string|null ...$class): self
{
$new = clone $this;
$new->linkAttributes['class'] = [];
Html::addCssClass($new->linkAttributes, $class);
return $new;
}
| public self listAttributes ( array $attributes ) | ||
| $attributes | array | |
public function listAttributes(array $attributes): self
{
$new = clone $this;
$new->listAttributes = $attributes;
return $new;
}
| public self listTag ( ?string $tag ) | ||
| $tag | ?string | |
public function listTag(?string $tag): self
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->listTag = $tag;
return $new;
}
Creates a new instance with the specified paginator.
| public static paginator ( \Yiisoft\Data\Paginator\PaginatorInterface $paginator ) | ||
| $paginator | \Yiisoft\Data\Paginator\PaginatorInterface |
The paginator to use. |
| return | Yiisoft\Yii\DataView\Pagination\OffsetPagination |
New instance with the specified paginator. |
|---|---|---|
| throws | Yiisoft\Yii\DataView\Pagination\PaginatorNotSupportedException |
If paginator is not a {@see \Yiisoft\Data\Paginator\OffsetPaginator}. |
public function paginator(PaginatorInterface $paginator): static
{
/** @psalm-suppress DocblockTypeContradiction, NoValue */
if (!$paginator instanceof OffsetPaginator) {
throw new PaginatorNotSupportedException($paginator);
}
$new = clone $this;
$new->paginator = $paginator;
return $new;
}
| public string render ( ) |
public function render(): string
{
if (!$this->showOnSinglePage && !$this->getPaginator()->isPaginationRequired()) {
return '';
}
$result = '';
if ($this->containerTag !== null) {
$result .= Html::openTag($this->containerTag, $this->containerAttributes) . "\n";
}
if ($this->listTag !== null) {
$result .= Html::openTag($this->listTag, $this->listAttributes) . "\n";
}
$items = $this->renderItems();
$result .= implode("\n", $items);
if ($this->listTag !== null) {
$result .= "\n" . Html::closeTag($this->listTag);
}
if ($this->containerTag !== null) {
$result .= "\n" . Html::closeTag($this->containerTag);
}
return $result;
}
| public self showOnSinglePage ( boolean $show = true ) | ||
| $show | boolean | |
public function showOnSinglePage(bool $show = true): self
{
$new = clone $this;
$new->showOnSinglePage = $show;
return $new;
}
Signup or Login in order to comment.