- Добавил базовую реализацию пагинации для сообщений.
https://www.youtube.com/watch?v=Sc3EQBy0tuk&list=PLU2ftbIeotGpAYRP9Iv2KLIwK36-o_qYk&index=28
This commit is contained in:
@@ -1,25 +1,29 @@
|
||||
<#include "security.ftl">
|
||||
<#import "pager.ftl" as p>
|
||||
|
||||
<div class="row row-cols-1 row-cols-md-3 g-4" id="message-list">
|
||||
<#list messages as message>
|
||||
<div class="col">
|
||||
<div class="card h-100" data-id="${message.id}"> <!-- h-100 делает карточки одинаковой высоты -->
|
||||
<#if message.filename??>
|
||||
<img src="/img/${message.filename}" class="card-img-top">
|
||||
</#if>
|
||||
<div class="card-body">
|
||||
<span>${message.text}</span><br/>
|
||||
<i>#${message.tag}</i>
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<a href="/user-messages/${message.author.id}"> ${message.authorName} </a>
|
||||
<#if message.author.id == currentUserId>
|
||||
<a class="btn btn-primary btn-sm" href="/user-messages/${message.author.id}?message=${message.id}">Edit</a>
|
||||
<@p.pager url page! />
|
||||
<div class="row row-cols-1 row-cols-md-3 g-4" id="message-list">
|
||||
<#list page.content as message>
|
||||
<div class="col">
|
||||
<div class="card h-100" data-id="${message.id}"> <!-- h-100 делает карточки одинаковой высоты -->
|
||||
<#if message.filename??>
|
||||
<img src="/img/${message.filename}" class="card-img-top">
|
||||
</#if>
|
||||
<div class="card-body">
|
||||
<span>${message.text}</span><br/>
|
||||
<i>#${message.tag}</i>
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<a href="/user-messages/${message.author.id}"> ${message.authorName} </a>
|
||||
<#if message.author.id == currentUserId>
|
||||
<a class="btn btn-primary btn-sm"
|
||||
href="/user-messages/${message.author.id}?message=${message.id}">Edit</a>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<#else>
|
||||
<p>No messages found</p>
|
||||
</#list>
|
||||
</div>
|
||||
<#else>
|
||||
<p>No messages found</p>
|
||||
</#list>
|
||||
</div>
|
||||
<@p.pager url page />
|
||||
26
src/main/resources/templates/parts/pager.ftl
Normal file
26
src/main/resources/templates/parts/pager.ftl
Normal file
@@ -0,0 +1,26 @@
|
||||
<#macro pager url page>
|
||||
<div class="mt-3">
|
||||
<ul class="pagination">
|
||||
<li class="page-item disabled"><a class="page-link" href="#">Pages</a></li>
|
||||
<#list 1..page.totalPages as p>
|
||||
<#if (p - 1) == page.number>
|
||||
<li class="page-item active"><a class="page-link" href="#">${p}</a></li>
|
||||
<#else >
|
||||
<li class="page-item"><a class="page-link" href="${url}?page=${p - 1}&size=${page.size}">${p}</a></li>
|
||||
</#if>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<ul class="pagination">
|
||||
<li class="page-item disabled"><a class="page-link" href="#">Items per page</a></li>
|
||||
<#list [5, 10, 20, 50] as c>
|
||||
<#if c == page.size>
|
||||
<li class="page-item active"><a class="page-link" href="#">${c}</a></li>
|
||||
<#else >
|
||||
<li class="page-item"><a class="page-link" href="${url}?page=${page.number}&size=${c}">${c}</a></li>
|
||||
</#if>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#macro>
|
||||
Reference in New Issue
Block a user