abonnes.jsp 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="tag" tagdir="/WEB-INF/tags" %>
  4. <%@ taglib prefix="s" uri="/struts-tags"%>
  5. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  6. <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  7. <c:set var="req" value="${pageContext.request}" />
  8. <c:set var="url">${req.requestURL}</c:set>
  9. <c:set var="base" value="${fn:substring(url, 0, fn:length(url) - fn:length(req.requestURI))}${req.contextPath}/" />
  10. <!DOCTYPE html>
  11. <html>
  12. <head>
  13. <meta charset="UTF-8">
  14. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  15. <link type="text/css" rel="stylesheet" href="css/material-icons.css" />
  16. <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
  17. <link type="text/css" rel="stylesheet" href="css/style.min.css" media="screen,projection" />
  18. <link rel="icon" href="img/favicon.ico" />
  19. <title>Abonnes - Microfolie Lens</title>
  20. </head>
  21. <body class="grey lighten-3">
  22. <s:url var="inscriptionurl" action="gotoinscription"/>
  23. <s:url var="abonnesurl" action="gotoabonnes"/>
  24. <s:url var="settingsurl" action="gotosettings"/>
  25. <!-- Header -->
  26. <header class="navbar-fixed">
  27. <nav class="red">
  28. <div class="nav-wrapper">
  29. <a href="./" class="brand-logo center mtop-half hide-on-med-and-down"><img src="img/logo.png"
  30. title="Logo Microfolie" class="responsive-img" style="max-width: 128px;" /></a>
  31. <a href="./" class="brand-logo center hide-on-large-only">Microfolie Lens</a>
  32. <a href="#!" data-target="mobile-nav" class="sidenav-trigger"><i class="material-icons">menu</i></a>
  33. <div class="left mleft-2 hide-on-med-and-down">
  34. <a href="./">
  35. <h5>Microfolie Lens</h5>
  36. </a>
  37. </div>
  38. <ul class="right mright-2 hide-on-med-and-down">
  39. <li class="active"><a href="#">Abonn&eacute;s</a></li>
  40. <li><a href="${inscriptionurl}">Inscription</a></li>
  41. <li><a href="${settingsurl}">Param&eacute;trage espace</a></li>
  42. </ul>
  43. </div>
  44. </nav>
  45. </header>
  46. <!-- Header Mobile -->
  47. <ul class="sidenav" id="mobile-nav">
  48. <li class="center-align mtop-1">
  49. <img src="img/logo.png" title="Logo Microfolie" class="responsive-img" style="max-height: 150px;" />
  50. </li>
  51. <li class="center-align">
  52. <h4>Microfolie Lens</h4>
  53. <hr />
  54. </li>
  55. <li class="active"><a href="#">Abonn&eacute;s</a></li>
  56. <li><a href="${inscriptionurl}">Inscription</a></li>
  57. <li><a href="${settingsurl}">Param&eacute;trage espace</a></li>
  58. </ul>
  59. <div class="mtop-5 hide-on-med-and-down"></div>
  60. <!-- Main -->
  61. <main class="container">
  62. <div class="row">
  63. <div class="col s12 center-align">
  64. <h3>Abonn&eacute;s</h3>
  65. </div>
  66. </div>
  67. <div class="row">
  68. <div id="abo" class="col s12 center-align"></div>
  69. </div>
  70. <div class="row">
  71. <div id="pagination-abo" class="col s12 center-align"></div>
  72. </div>
  73. </main>
  74. <!-- Footer -->
  75. <footer class="page-footer red">
  76. <div class="container">
  77. <div class="row">
  78. <div class="col l6 s12">
  79. <h5 class="white-text">Microfolie Lens</h5>
  80. <p class="grey-text text-lighten-4">Bla bla bla ...</p>
  81. </div>
  82. <div class="col l4 offset-l2 s12">
  83. <h5 class="white-text">Liens utiles</h5>
  84. <ul>
  85. <li><a class="grey-text text-lighten-3" href="./">Accueil</a></li>
  86. <li><a class="grey-text text-lighten-3" href="#apropos">Qui somme nous</a></li>
  87. <li><a class="grey-text text-lighten-3" href="#mention">Mentions l&eacute;gales</a></li>
  88. <li><a class="grey-text text-lighten-3" href="#contact">Contact</a></li>
  89. </ul>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="footer-copyright">
  94. <div class="container">
  95. © 2019 Copyright Text
  96. <a class="grey-text text-lighten-4 right" href="https://villedelens.fr" target="_blank">Ville de
  97. Lens</a>
  98. </div>
  99. </div>
  100. </footer>
  101. <!-- Loader -->
  102. <tag:loader name="loader" />
  103. <!-- Script -->
  104. <script type="text/javascript" src="js/jquery.min.js"></script>
  105. <script type="text/javascript" src="js/materialize.min.js"></script>
  106. <script type="text/javascript" src="js/script.js"></script>
  107. <!-- Script pour cette page-->
  108. <script type="text/javascript">
  109. $(document).ready(() => {
  110. const loader = M.Modal.getInstance($('#loader'));
  111. const idPagination = 'usager';
  112. const perPage = 5;
  113. loader.open();
  114. $.ajax({
  115. type: "GET",
  116. url: "${base}api/usager/page/1/" + perPage + "/formatted/pagination",
  117. error: () => {
  118. loader.close();
  119. $("#abo").html('<h3 class="red-text">Impossible de charger les usager</h3>');
  120. },
  121. success: (result) => {
  122. loader.close();
  123. pagination(idPagination, 1, perPage, result.data.total, $('#abo'), $('#pagination-abo'), result.data.list, null, 'action');
  124. },
  125. });
  126. // Detection changement page
  127. $('main').on('click', '.pagination-' + idPagination + '-prev', function () {
  128. console.log(idPagination, 'prev', $(this).attr('data-page'));
  129. loader.open();
  130. $.ajax({
  131. type: "GET",
  132. url: "${base}api/usager/page/" + $(this).attr('data-page') + "/" + perPage + "/formatted/pagination",
  133. error: () => {
  134. loader.close();
  135. $("#abo").html('<h3 class="red-text">Impossible de charger les usager</h3>');
  136. },
  137. success: (result) => {
  138. loader.close();
  139. pagination(idPagination, $(this).attr('data-page'), perPage, result.data.total, $('#abo'), $('#pagination-abo'), result.data.list, null, 'action');
  140. },
  141. });
  142. });
  143. $('main').on('click', '.pagination-' + idPagination + '-next', function () {
  144. console.log('abo', 'next', $(this).attr('data-page'));
  145. loader.open();
  146. $.ajax({
  147. type: "GET",
  148. url: "${base}api/usager/page/" + $(this).attr('data-page') + "/" + perPage + "/formatted/pagination",
  149. error: () => {
  150. loader.close();
  151. $("#abo").html('<h3 class="red-text">Impossible de charger les usager</h3>');
  152. },
  153. success: (result) => {
  154. loader.close();
  155. pagination(idPagination, $(this).attr('data-page'), perPage, result.data.total, $('#abo'), $('#pagination-abo'), result.data.list, null, 'action');
  156. },
  157. });
  158. });
  159. $('main').on('click', '.pagination-' + idPagination + '-number', function () {
  160. console.log('abo', 'num', $(this).attr('data-page'));
  161. loader.open();
  162. $.ajax({
  163. type: "GET",
  164. url: "${base}api/usager/page/" + $(this).attr('data-page') + "/" + perPage + "/formatted/pagination",
  165. error: () => {
  166. loader.close();
  167. $("#abo").html('<h3 class="red-text">Impossible de charger les usager</h3>');
  168. },
  169. success: (result) => {
  170. loader.close();
  171. pagination(idPagination, $(this).attr('data-page'), perPage, result.data.total, $('#abo'), $('#pagination-abo'), result.data.list, null, 'action');
  172. },
  173. });
  174. });
  175. });
  176. </script>
  177. </body>
  178. </html>