Skip to content
Snippets Groups Projects
Commit f0c93ac5 authored by Oliver Bartsch's avatar Oliver Bartsch
Browse files

[TASK] Avoid pagination controls for single page listings

In case a paginated listing does only contain records
for one page, the pagination controls do not make any
sense and will at worst just confuse editors.

This patch therefore adds consistency to the backend
modules by only showing pagination controls if the
number of paginated pages is greater than one.

Resolves: #95092
Releases: master
Change-Id: I3cf45ffa194d5a925df26be4f6e144dbe8f4df04
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71016


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarSybille Peters <sypets@gmx.de>
Tested-by: default avatarJonas Eberle <flightvision@googlemail.com>
Tested-by: default avatarRachel Foucard <rfoucard@w-seils.com>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: default avatarSybille Peters <sypets@gmx.de>
Reviewed-by: default avatarJonas Eberle <flightvision@googlemail.com>
Reviewed-by: default avatarRachel Foucard <rfoucard@w-seils.com>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
parent c21d5b8a
Branches
Tags
No related merge requests found
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: 1})}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.records" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(arguments:'{currentPage: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
size="5"
value="{paginator.currentPageNumber}"
type="number"
/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{paginator.numberOfPages} > 1">
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: 1})}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.records" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(arguments:'{currentPage: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
size="5"
value="{paginator.currentPageNumber}"
type="number"
/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: paginator.currentPageNumber})}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:uri.action(arguments:{currentPage: paginator.currentPageNumber})}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
</f:if>
......@@ -55,10 +55,10 @@ class GetExtensionsCest
/**
* @param ApplicationTester $I
*/
public function checkPageBrowserDisplaysTwoRecords(ApplicationTester $I): void
public function checkPaginationIsNotDisplayedForTwoRecords(ApplicationTester $I)
{
$I->seeElement('.pagination-wrap');
$I->see('Extensions 1 - 2');
$I->dontSeeElement('.pagination-wrap');
$I->dontSee('Extensions 1 - 2');
}
/**
......
<f:if condition="{paginator.numberOfPages} > 1">
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: 1})}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.records" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(action:actionName, arguments:'{search:search, currentPage: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
value="{paginator.currentPageNumber}"
type="number"
/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: paginator.currentPageNumber})}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
</f:if>
......@@ -22,94 +22,7 @@
<div id="terTableWrapper">
<f:render partial="List/TerTable" arguments="{tableId: tableId, extensions:paginator.paginatedItems, availableAndInstalled:availableAndInstalled}" />
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: 1})}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.records" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(action:actionName, arguments:'{search:search, currentPage: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
value="{paginator.currentPageNumber}"
type="number"
/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:uri.action(action:actionName, arguments:{search:search, currentPage: paginator.currentPageNumber})}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
<f:render partial="List/TerPagination" arguments="{_all}" />
<div class="splash-receivedata"><core:icon identifier="spinner-circle-dark" /> <f:translate key="extensionList.updateFromTer.label"/></div>
</div>
......
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<f:link.action arguments="{page: 1}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</f:link.action>
</li>
<li class="page-item">
<f:link.action arguments="{page: pagination.previousPageNumber}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</f:link.action>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.forms" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(arguments:'{page: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
size="5"
value="{paginator.currentPageNumber}"
type="number"/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<f:link.action arguments="{page: pagination.nextPageNumber}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</f:link.action>
</li>
<li class="page-item">
<f:link.action arguments="{page: pagination.lastPageNumber}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</f:link.action>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<f:link.action arguments="{page: paginator.currentPageNumber}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</f:link.action>
</li>
</ul>
</nav>
<f:if condition="{paginator.numberOfPages} > 1">
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<li class="page-item">
<f:link.action arguments="{page: 1}" title="{f:translate(key:'pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</f:link.action>
</li>
<li class="page-item">
<f:link.action arguments="{page: pagination.previousPageNumber}" title="{f:translate(key:'pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</f:link.action>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.forms" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate key="pagination.page" />
<form style="display:inline;"
data-global-event="submit"
data-action-navigate="$form=~s/$value/"
data-navigate-value="{f:uri.action(arguments:'{page: \'$[value]\'}')}"
data-value-selector="input[name='paginator-target-page']">
<input
min="{pagination.firstPageNumber}"
max="{pagination.lastPageNumber}"
data-number-of-pages="{paginator.numberOfPages}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
size="5"
value="{paginator.currentPageNumber}"
type="number"/>
</form>
/ {pagination.lastPageNumber}
</span>
</li>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="page-item">
<f:link.action arguments="{page: pagination.nextPageNumber}" title="{f:translate(key:'pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</f:link.action>
</li>
<li class="page-item">
<f:link.action arguments="{page: pagination.lastPageNumber}" title="{f:translate(key:'pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</f:link.action>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<f:link.action arguments="{page: paginator.currentPageNumber}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</f:link.action>
</li>
</ul>
</nav>
</f:if>
......@@ -5,9 +5,7 @@
<h1><f:translate key="LLL:EXT:form/Resources/Private/Language/Database.xlf:formManager.headline" /></h1>
<f:if condition="{paginator.paginatedItems}">
<f:then>
<f:if condition="{paginator.numberOfPages} > 1">
<f:render partial="FormManager/Pagination" arguments="{_all}" />
</f:if>
<f:render partial="FormManager/Pagination" arguments="{_all}" />
<div class="table-fit">
<table id="forms" class="table table-striped table-hover">
<thead>
......@@ -121,9 +119,7 @@
</tbody>
</table>
</div>
<f:if condition="{paginator.numberOfPages} > 1">
<f:render partial="FormManager/Pagination" arguments="{_all}" />
</f:if>
<f:render partial="FormManager/Pagination" arguments="{_all}" />
</f:then>
<f:else>
<f:be.infobox state="-1" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formManager.forms_not_found.title')}">
......
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true">
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.hasLessPages}">
<f:then>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: 1}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.previousPage}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
Redirects
{pagination.startRecord} - {pagination.endRecord}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate extensionName="fluid" key="widget.pagination.page" />
<f:variable name="gotToPageUrl">
<f:be.uri route="site_redirects" parameters="{action: 'overview', demand: demand.parameters, page: 987654322}" />
</f:variable>
<form data-on-submit="processNavigate" style="display:inline;">
<f:form.textfield
additionalAttributes="{min: 1, max: pagination.numberOfPages}"
data="{number-of-pages: pagination.numberOfPages, url: gotToPageUrl}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
value="{pagination.current}"
type="number" />
</form>
/ {pagination.numberOfPages}
</span>
</li>
<f:if condition="{pagination.hasMorePages}">
<f:then>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.nextPage}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.numberOfPages}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: demand.page}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
</html>
<f:if condition="{pagination.numberOfPages} > 1">
<nav class="pagination-wrap">
<ul class="pagination">
<f:if condition="{pagination.hasLessPages}">
<f:then>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: 1}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.first')}" class="page-link">
<core:icon identifier="actions-view-paging-first" />
</a>
</li>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.previousPage}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.previous')}" class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-first" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-previous" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<span class="page-link">
Redirects
{pagination.startRecord} - {pagination.endRecord}
</span>
</li>
<li class="page-item">
<span class="page-link">
<f:translate extensionName="fluid" key="widget.pagination.page" />
<f:variable name="gotToPageUrl">
<f:be.uri route="site_redirects" parameters="{action: 'overview', demand: demand.parameters, page: 987654322}" />
</f:variable>
<form data-on-submit="processNavigate" style="display:inline;">
<f:form.textfield
additionalAttributes="{min: 1, max: pagination.numberOfPages}"
data="{number-of-pages: pagination.numberOfPages, url: gotToPageUrl}"
name="paginator-target-page"
class="form-control form-control-sm paginator-input"
value="{pagination.current}"
type="number" />
</form>
/ {pagination.numberOfPages}
</span>
</li>
<f:if condition="{pagination.hasMorePages}">
<f:then>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.nextPage}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.next')}" class="page-link">
<core:icon identifier="actions-view-paging-next" />
</a>
</li>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: pagination.numberOfPages}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.last')}" class="page-link">
<core:icon identifier="actions-view-paging-last" />
</a>
</li>
</f:then>
<f:else>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-next" />
</span>
</li>
<li class="page-item disabled">
<span class="page-link">
<core:icon identifier="actions-view-paging-last" />
</span>
</li>
</f:else>
</f:if>
<li class="page-item">
<a href="{f:be.uri(route:'site_redirects', parameters: '{action: \'overview\', demand: demand.parameters, page: demand.page}')}" title="{f:translate(extensionName: 'fluid', key:'widget.pagination.refresh')}" class="page-link">
<core:icon identifier="actions-refresh" />
</a>
</li>
</ul>
</nav>
</f:if>
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment