123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib prefix="tag" tagdir="/WEB-INF/tags" %>
- <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- <c:set var="req" value="${pageContext.request}" />
- <c:set var="url">${req.requestURL}</c:set>
- <c:set var="base" value="${fn:substring(url, 0, fn:length(url) - fn:length(req.requestURI))}${req.contextPath}/" />
- <!DOCTYPE html>
- <html>
- <head>
- <tag:head title="Abonnés" />
- </head>
- <body class="grey lighten-3">
- <!-- Header -->
- <tag:header active="abonnes" />
- <!-- Main -->
- <main class="container">
- <div class="row">
- <div class="col s12 center-align">
- <h3>Abonnés</h3>
- </div>
- </div>
- <div class="row">
- <div id="abo" class="col s12 center-align"></div>
- </div>
- <div class="row">
- <div id="pagination-abo" class="col s12 center-align"></div>
- </div>
- </main>
- <!-- Footer -->
- <tag:footer />
-
- <!-- Confirmation -->
- <div id="confirmation" class="modal conf">
- <div class="modal-content">
- <div class="row">
- <div class="col offset-m1 m3 mtop-4">
- <i class="material-icons red-text" style="font-size: 8em;">warning</i>
- </div>
- <div class="col m7 s12 mtop-3">
- <h4>Confirmer la suppression de <span id="conf-user"></span> ?</h4>
- <p style="font-size:1.2em">La suppression est définitive et aucun retour en arrière n'est possible</p>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <a href="#!" class="modal-close waves-effect waves-red btn-flat">Annuler</a>
- <a href="#!" id="conf-delete" class="modal-close waves-effect waves-light btn">Confirmer</a>
- </div>
- </div>
- <!-- Popup -->
- <div id="ok-popup" class="modal popup">
- <div class="modal-content" style="overflow: hidden;">
- <div class="row">
- <div class="col offset-m1 m3 s12">
- <i class="material-icons green-text" style="font-size: 8em;">check_circle</i>
- </div>
- <div class="col m7 s12 mtop-3">
- <h4 id="ok-text">Success message</h4>
- </div>
- </div>
- </div>
- </div>
- <div id="err-popup" class="modal popup">
- <div class="modal-content" style="overflow: hidden;">
- <div class="row">
- <div class="col offset-m1 m3 s12">
- <i class="material-icons red-text" style="font-size: 8em;">error</i>
- </div>
- <div class="col m7 s12 mtop-3">
- <h4 id="error-text">Error message</h4>
- </div>
- </div>
- </div>
- </div>
- <!-- Loader -->
- <tag:loader name="loader" />
- <!-- Script -->
- <tag:script />
- <script type="text/javascript">
- $(document).ready(() => {
- const loader = M.Modal.getInstance($('#loader'));
- const okPopup = M.Modal.getInstance($('#ok-popup'));
- const errPopup = M.Modal.getInstance($('#err-popup'));
- const conf = M.Modal.getInstance($('#confirmation'));
- const idPagination = 'usager';
- const perPage = 5;
- var page = 1;
-
- function pagine(numPage) {
- numPage = numPage || page;
- loader.open();
- $.ajax({
- type: "GET",
- url: "${base}api/usager/page/" + numPage + "/" + perPage + "/formatted/pagination",
- error: () => {
- loader.close();
- pagination(idPagination, numPage, perPage, 0, $('#abo'), $('#pagination-abo'), []);
- let html = '<tr>';
- html += '<td class="right-align red-text" width="40%"><i class="material-icons" style="font-size:4em;padding-top:.3em;">error</i></td>';
- html += '<td class="left-align red-text" width="60%"><h4>Impossible de charger les usager</td>';
- html += '</tr>';
- $('#pagination-' + idPagination + '-table').html(html);
- },
- success: (result) => {
- loader.close();
- if (result.data.list.length > 0) {
- pagination(idPagination, numPage, perPage, result.data.total, $('#abo'), $('#pagination-abo'), result.data.list, 'responsive-table striped', 'action');
- $('.tooltipped').tooltip();
- } else {
- pagination(idPagination, numPage, perPage, 0, $('#abo'), $('#pagination-abo'), []);
- let html = '<tr>';
- html += '<td class="right-align blue-text" width="40%"><i class="material-icons" style="font-size:4em;padding-top:.3em;">info</i></td>';
- html += '<td class="left-align blue-text" width="60%"><h4>Aucun usager</td>';
- html += '</tr>';
- $('#pagination-' + idPagination + '-table').html(html);
- }
- },
- });
- };
-
- pagine(page);
- // Detection changement page
- $('main').on('click', '.pagination-' + idPagination + '-prev', function () {
- console.log(idPagination, 'prev', $(this).attr('data-page'));
- page = $(this).attr('data-page');
- pagine(page);
- });
- $('main').on('click', '.pagination-' + idPagination + '-next', function () {
- console.log('abo', 'next', $(this).attr('data-page'));
- page = $(this).attr('data-page');
- pagine(page);
- });
- $('main').on('click', '.pagination-' + idPagination + '-number', function () {
- console.log('abo', 'num', $(this).attr('data-page'));
- page = $(this).attr('data-page');
- pagine(page);
- });
-
- // Suppr abonne
- $('#abo').on('click', '.delete-usager', function () {
- $("#conf-user").html($(this).attr('data-usager'));
- $("#conf-delete").attr('data-code', $(this).attr('data-code'));
- conf.open();
- });
- $('#conf-delete').on('click', function () {
- loader.open();
- $.ajax({
- type: "DELETE",
- url: "${base}api/usager/" + $(this).attr('data-code'),
- error: () => {
- loader.close();
- $('#error-text').html('Une erreur est survenue');
- errPopup.open();
- },
- success: (result) => {
- loader.close();
- if (result.success) {
- $('#ok-text').html(result.data.msg);
- okPopup.open();
- pagine();
- } else {
- $('#error-text').html(result.data);
- errPopup.open();
- }
- },
- });
- })
- });
- </script>
- </body>
- </html>
|