WIP SQL console: pagination

This commit is contained in:
Francesco
2023-10-23 10:26:31 +02:00
parent d3f516edaf
commit 10af1b9020
4 changed files with 199 additions and 11 deletions

View File

@@ -48,10 +48,124 @@
<div th:if="${error == null && activeQuery.getSql() != null}">
<div class="separator mt-3 mb-3"></div>
<span class="text-muted mb-1 d-inline-block">
[[ ${results.size()} ]] results in [[ ${elapsedTime} ]] seconds
</span>
<!-- Pagination -->
<nav aria-label="Results pagination">
<div class="d-flex justify-content-between">
<div th:if="${pagination != null && pagination.getMaxPage() != 1}" class="d-flex">
<ul class="pagination me-3">
<li class="page-item" th:if="${pagination.getCurrentPage() != 1}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(pagination.getCurrentPage() - 1)}|}"
aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a>
</li>
<li class="page-item" th:each="p : ${pagination.getBeforePages()}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(p)}|}" th:text="${p}"></a>
</li>
<li class="page-item active">
<a class="page-link" href="#" th:text="${pagination.getCurrentPage()}"></a>
</li>
<li class="page-item" th:each="p : ${pagination.getAfterPages()}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(p)}|}"
th:text="${p}"></a>
</li>
<li class="page-item">
<a class="page-link"
th:if="${!pagination.isLastPage()}"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(pagination.getCurrentPage() + 1)}|}"
aria-label="Next">
<span class="sr-only">Next</span>
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</ul>
<div class="d-flex align-items-center" th:if="${pagination.getMaxPage() > 1}">
<p class="m-0 p-0">
<i>Showing [[ ${results.size()} ]] of [[ ${pagination.getMaxElement()} ]]
results in [[ ${elapsedTime} ]] seconds</i>
</p>
</div>
</div>
<div class="d-flex align-items-center" th:if="${pagination.getMaxPage() == 1}">
<p class="m-0 p-0">
<i>Showing [[ ${results.size()} ]] of [[ ${pagination.getMaxElement()} ]]
results in [[ ${elapsedTime} ]] seconds</i>
</p>
</div>
</div>
</nav>
<div th:replace="~{fragments/generic_table :: table(results=${results})}"></div>
<!-- Pagination -->
<nav aria-label="Results pagination">
<div class="d-flex justify-content-between">
<div th:if="${pagination != null && pagination.getMaxPage() != 1}" class="d-flex">
<ul class="pagination me-3">
<li class="page-item" th:if="${pagination.getCurrentPage() != 1}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(pagination.getCurrentPage() - 1)}|}"
aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a>
</li>
<li class="page-item" th:each="p : ${pagination.getBeforePages()}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(p)}|}" th:text="${p}"></a>
</li>
<li class="page-item active">
<a class="page-link" href="#" th:text="${pagination.getCurrentPage()}"></a>
</li>
<li class="page-item" th:each="p : ${pagination.getAfterPages()}">
<a class="page-link"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(p)}|}"
th:text="${p}"></a>
</li>
<li class="page-item">
<a class="page-link"
th:if="${!pagination.isLastPage()}"
th:href="@{|${dbadmin_requestUrl}${pagination.getLink(pagination.getCurrentPage() + 1)}|}"
aria-label="Next">
<span class="sr-only">Next</span>
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</ul>
<div class="d-flex align-items-center" th:if="${pagination.getMaxPage() > 1}">
<p class="m-0 p-0">
<i>Showing [[ ${results.size()} ]] of [[ ${pagination.getMaxElement()} ]]
results in [[ ${elapsedTime} ]] seconds</i>
</p>
</div>
</div>
<div class="d-flex align-items-center" th:if="${pagination.getMaxPage() == 1}">
<p class="m-0 p-0">
<i>Showing [[ ${results.size()} ]] of [[ ${pagination.getMaxElement()} ]]
results in [[ ${elapsedTime} ]] seconds</i>
</p>
</div>
</div>
</nav>
</div>
<div th:if="${error != null}">
<div class="separator mt-3 mb-3"></div>