Commit f5d02d21 authored by roxane.carraux's avatar roxane.carraux
Browse files

begin add pagination

parent c598498e
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -2,8 +2,11 @@ package com.example.demo.controller;

import java.security.Principal;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -37,9 +40,23 @@ public class HelpPropositionController {
    private HelpPropositionValidator helpPropositionValidator;
    
    @GetMapping("/allHelpProposition")
    public String getAll(Map<String, Object> model) {
        model.put("helpPropositions", helpPropositionRepository.findAll());
    public String getAll(HttpServletRequest request, Model model) {
     
            int page = 0; //default page number is 0 (yes it is weird)
            int size = 3; //default page size is 10
            
            if (request.getParameter("page") != null && !request.getParameter("page").isEmpty()) {
                page = Integer.parseInt(request.getParameter("page")) - 1;
            }
    
            if (request.getParameter("size") != null && !request.getParameter("size").isEmpty()) {
                size = Integer.parseInt(request.getParameter("size"));
            }
            
            model.addAttribute("helpPropositions", helpPropositionRepository.findAll(PageRequest.of(page, size)));
        
            return "allHelpProposition";  

    }

    @GetMapping("/formHelpProposition")
+17 −2
Original line number Diff line number Diff line
@@ -3,9 +3,11 @@ package com.example.demo.controller;
import java.security.Principal;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -36,8 +38,21 @@ public class HelpRequestController {

    
    @GetMapping("/allHelpRequest")
    public String getAll(Map<String, Object> model) {
        model.put("helpRequests", helpRequestRepository.findAll());
    public String getAll(HttpServletRequest request, Model model) {
        int page = 0; //default page number is 0 (yes it is weird)
        int size = 3; //default page size is 10

           
        if (request.getParameter("page") != null && !request.getParameter("page").isEmpty()) {
            page = Integer.parseInt(request.getParameter("page")) - 1;
        }

        if (request.getParameter("size") != null && !request.getParameter("size").isEmpty()) {
            size = Integer.parseInt(request.getParameter("size"));
        }
        model.addAttribute("helpRequests", helpRequestRepository.findAll(PageRequest.of(page, size)));


        return "allHelpRequest";
    }
    
+25 −0
Original line number Diff line number Diff line
@@ -59,5 +59,30 @@
                var instances = M.Dropdown.init(elems, {});
            });
        </script>

        <!-- customers pagination -->
        <nav aria-label="Pagination" th:if="${helpPropositions.totalPages gt 0}">
            <ul class="pagination justify-content-center font-weight-bold">
                <li class="page-item" th:classappend="${helpPropositions.number eq 0} ? 'disabled'">
                    <a class="page-link"
                    th:href="@{/allHelpProposition?page={id}(id=${helpPropositions.number lt 2 ? 1 : helpPropositions.number})}"
                    aria-label="Previous" title="Previous Page" data-toggle="tooltip">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
                <li class="page-item" th:classappend="${i eq helpPropositions.number + 1} ? 'active'"
                    th:each="i : ${#numbers.sequence( 1, helpPropositions.totalPages, 1)}">
                    <a class="page-link" th:href="@{/allHelpProposition?page={id}(id=${i})}" th:text="${i}"
                    th:title="${'Page '+ i}" data-toggle="tooltip"></a>
                </li>
                <li class="page-item" th:classappend="${helpPropositions.number eq helpPropositions.totalPages} ? 'disabled'">
                    <a class="page-link"
                    th:href="@{/allHelpProposition?page={id}(id=${helpPropositions.number + 2})}"
                    aria-label="Next" title="Next Page" data-toggle="tooltip">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
            </ul>
        </nav>
    </body>
</html>
+24 −0
Original line number Diff line number Diff line
@@ -60,5 +60,29 @@
                var instances = M.Dropdown.init(elems, {});
            });
        </script>

    <nav aria-label="Pagination" th:if="${helpRequests.totalPages gt 0}">
        <ul class="pagination justify-content-center font-weight-bold">
            <li class="page-item" th:classappend="${helpRequests.number eq 0} ? 'disabled'">
                <a class="page-link"
                th:href="@{/allHelpRequest?page={id}(id=${helpRequests.number lt 2 ? 1 : helpRequests.number})}"
                aria-label="Previous" title="Previous Page" data-toggle="tooltip">
                    <span aria-hidden="true">&laquo;</span>
                </a>
            </li>
            <li class="page-item" th:classappend="${i eq helpRequests.number + 1} ? 'active'"
                th:each="i : ${#numbers.sequence( 1, helpRequests.totalPages, 1)}">
                <a class="page-link" th:href="@{/allHelpRequest?page={id}(id=${i})}" th:text="${i}"
                th:title="${'Page '+ i}" data-toggle="tooltip"></a>
            </li>
            <li class="page-item" th:classappend="${helpRequests.number + 1 eq helpRequests.totalPages} ? 'disabled'">
                <a class="page-link"
                th:href="@{/allHelpRequest?page={id}(id=${helpRequests.number + 2})}"
                aria-label="Next" title="Next Page" data-toggle="tooltip">
                    <span aria-hidden="true">&raquo;</span>
                </a>
            </li>
        </ul>
    </nav>
    </body>
</html>
+37 −0
Original line number Diff line number Diff line
<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="ISO-8859-1">
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">
        <script type = "text/javascript" src = "https://code.jquery.com/jquery-2.1.1.min.js"></script>
        <script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"></script>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/css/materialize.min.css" />
        <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.js"></script>
        <title>MentorArc</title>
    </head>
    
    <body>
    <table border="1">
        <thead>
            <tr>
                <th th:text="#{msg.id}" />
                <th th:text="#{msg.name}" />
            </tr>
        </thead>
        <tbody>
            <tr th:each="book, iStat : ${bookPage.content}">
                <td th:text="${book.id}" />
                <td th:text="${book.name}" />
            </tr>
        </tbody>
    </table>
    <div th:if="${bookPage.totalPages > 0}" class="pagination"
        th:each="pageNumber : ${pageNumbers}">
        <a th:href="@{/listBooks(size=${bookPage.size}, page=${pageNumber})}"
            th:text=${pageNumber}
            th:class="${pageNumber==bookPage.number + 1} ? active"></a>
    </div>
</body>
</html>
 No newline at end of file