index.jsp 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="utf-8"%>
  3. <%@ taglib prefix="tag" tagdir="/WEB-INF/tags" %>
  4. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  5. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  6. <c:set var="req" value="${pageContext.request}" />
  7. <c:set var="url">${req.requestURL}</c:set>
  8. <c:set var="base" value="${fn:substring(url, 0, fn:length(url) - fn:length(req.requestURI))}${req.contextPath}/" />
  9. <!DOCTYPE html>
  10. <html>
  11. <head>
  12. <tag:head title="Accueil" />
  13. </head>
  14. <body class="grey lighten-3">
  15. <!-- Header -->
  16. <tag:header />
  17. <!-- Main -->
  18. <main class="container">
  19. <div class="row">
  20. <div class="col s12 center-align">
  21. <h3>Dashboard</h3>
  22. </div>
  23. </div>
  24. <div class="row">
  25. <div class="col m12 l6">
  26. <canvas id="chart1"></canvas>
  27. </div>
  28. <div class="col m12 l6">
  29. <canvas id="chart2"></canvas>
  30. </div>
  31. </div>
  32. <div class="row mtop-2">
  33. <div class="col m12 l6">
  34. <canvas id="chart3"></canvas>
  35. </div>
  36. <div class="col m12 l6">
  37. <canvas id="chart4"></canvas>
  38. </div>
  39. </div>
  40. </main>
  41. <!-- Footer -->
  42. <tag:footer />
  43. <!-- Loader -->
  44. <tag:loader name="loader" />
  45. <!-- Script -->
  46. <tag:script />
  47. <script type="text/javascript" src="js/chart.min.js"></script>
  48. <script type="text/javascript" src="js/generate-chart.js"></script>
  49. <script type="text/javascript">
  50. function weekChart(id, callback = null) {
  51. $.ajax({
  52. type: "GET",
  53. url: "${base}api/frequentation/stats/week",
  54. error: () => {
  55. console.error("Impossible de charger ageChart");
  56. if (callback != null) {
  57. callback();
  58. }
  59. },
  60. success: (result) => {
  61. const data = result.data;
  62. generateBarChart(
  63. document.getElementById(id),
  64. data.title,
  65. ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"],
  66. data.stats
  67. );
  68. if (callback != null) {
  69. callback();
  70. }
  71. },
  72. });
  73. };
  74. function ageChart(id, callback = null) {
  75. $.ajax({
  76. type: "GET",
  77. url: "${base}api/frequentation/stats/age",
  78. error: () => {
  79. console.error("Impossible de charger ageChart");
  80. if (callback != null) {
  81. callback();
  82. }
  83. },
  84. success: (result) => {
  85. const data = result.data;
  86. generateBarChart(
  87. document.getElementById(id),
  88. data.title,
  89. data.labels,
  90. data.stats
  91. );
  92. if (callback != null) {
  93. callback();
  94. }
  95. },
  96. });
  97. };
  98. function espaceWeekChart(id, callback = null) {
  99. $.ajax({
  100. type: "GET",
  101. url: "${base}api/frequentation/stats/espace/week",
  102. error: () => {
  103. console.error("Impossible de charger ageChart");
  104. if (callback != null) {
  105. callback();
  106. }
  107. },
  108. success: (result) => {
  109. const data = result.data;
  110. generateBarChart(
  111. document.getElementById(id),
  112. data.title,
  113. data.labels,
  114. data.stats
  115. );
  116. if (callback != null) {
  117. callback();
  118. }
  119. },
  120. });
  121. };
  122. function espaceMonthChart(id, callback = null) {
  123. $.ajax({
  124. type: "GET",
  125. url: "${base}api/frequentation/stats/espace/month",
  126. error: () => {
  127. console.error("Impossible de charger ageChart");
  128. if (callback != null) {
  129. callback();
  130. }
  131. },
  132. success: (result) => {
  133. const data = result.data;
  134. generateBarChart(
  135. document.getElementById(id),
  136. data.title,
  137. data.labels,
  138. data.stats
  139. );
  140. if (callback != null) {
  141. callback();
  142. }
  143. },
  144. });
  145. };
  146. $(document).ready(() => {
  147. const loader = M.Modal.getInstance($('#loader'));
  148. loader.open();
  149. weekChart("chart1", () => {
  150. ageChart("chart2", () => {
  151. espaceWeekChart("chart3", () => {
  152. espaceMonthChart("chart4", () => {
  153. loader.close();
  154. })
  155. })
  156. });
  157. })
  158. });
  159. </script>
  160. </body>
  161. </html>