Browse Source

Refonte page abonnes.html

Arthur Brandao 5 years ago
parent
commit
d322bbf272

+ 167 - 47
WebContent/abonnes.html

@@ -1,59 +1,179 @@
 <!DOCTYPE html>
-
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 
 <head>
-	<meta charset="UTF-8">
-  <title>Bienvenue à microfolie</title>
-  <link rel="stylesheet" type="text/css" href="css/style.css">
-  <link rel="stylesheet" href="css/style1.css" type="text/css"  /> 
-  <link rel="stylesheet" href="css/style.css" type="bootstrap/css/bootstrap.min.css"  />
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <link type="text/css" rel="stylesheet" href="css/material-icons.css" />
+    <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
+    <link type="text/css" rel="stylesheet" href="css/style.min.css" media="screen,projection" />
+    <link rel="icon" href="img/favicon.ico" />
+    <title>Abonnes - Microfolie Lens</title>
 </head>
 
-<body>
-<div id="principal">
-    <div class="header">
-        <div class="navbar">
-            <ul>
-                <li><a href="index.html">Accueil</a></li>
-                <li><a href="abonnes.html">Nos abonnés</a></li>
-                <li><a href="inscription.jsp">Inscription</a></li>
-            </ul>
-        </div><!-- end navbar -->
-    </div><!-- end of header -->
-    <div class="main">
-
-        <div class="menu">
-            <ul>
-              <li><a href="index.html">Accueil</a></li>
-              <li><a href="abonnes.html">Nos abonnés</a></li>
-              <li><a href="inscription.jsp">Inscription</a></li>
-            </ul>
-        </div><!--end menu -->
-        <div class="content">
-     
-      <main>
-
-         
-         <div class="container">
-            <h4 class="section-title">Nos abonnés:</h4>
-            <div id="data-container">
+<body class="grey lighten-3">
+    <!-- Header -->
+    <header class="navbar-fixed">
+        <nav class="red">
+            <div class="nav-wrapper">
+                <a href="./" class="brand-logo center mtop-half hide-on-med-and-down"><img src="img/logo.png"
+                        title="Logo Microfolie" class="responsive-img" style="max-width: 128px;" /></a>
+                <a href="./" class="brand-logo center hide-on-large-only">Microfolie Lens</a>
+                <a href="#!" data-target="mobile-nav" class="sidenav-trigger"><i class="material-icons">menu</i></a>
+                <div class="left mleft-2 hide-on-med-and-down">
+                    <a href="./">
+                        <h5>Microfolie Lens</h5>
+                    </a>
+                </div>
+                <ul class="right mright-2 hide-on-med-and-down">
+                    <li class="active"><a href="abonnes.html">Abonn&eacute;s</a></li>
+                    <li><a href="inscription.jsp">Inscription</a></li>
+                    <li><a href="settings">Param&eacute;trage espace</a></li>
+                </ul>
+            </div>
+        </nav>
+    </header>
+    <!-- Header Mobile -->
+    <ul class="sidenav" id="mobile-nav">
+        <li class="center-align mtop-1">
+            <img src="img/logo.png" title="Logo Microfolie" class="responsive-img" style="max-height: 150px;" />
+        </li>
+        <li class="center-align">
+            <h4>Microfolie Lens</h4>
+            <hr />
+        </li>
+        <li class="active"><a href="abonnes.html">Abonn&eacute;s</a></li>
+        <li><a href="inscription.jsp">Inscription</a></li>
+        <li><a href="settings">Param&eacute;trage espace</a></li>
+    </ul>
+    <div class="mtop-5 hide-on-med-and-down"></div>
+
+    <!-- Main -->
+    <main class="container">
+        <div class="row">
+            <div class="col s12 center-align">
+                <h3>Abonn&eacute;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 -->
+    <footer class="page-footer red">
+        <div class="container">
+            <div class="row">
+                <div class="col l6 s12">
+                    <h5 class="white-text">Microfolie Lens</h5>
+                    <p class="grey-text text-lighten-4">Bla bla bla ...</p>
+                </div>
+                <div class="col l4 offset-l2 s12">
+                    <h5 class="white-text">Liens utiles</h5>
+                    <ul>
+                        <li><a class="grey-text text-lighten-3" href="./">Accueil</a></li>
+                        <li><a class="grey-text text-lighten-3" href="#apropos">Qui somme nous</a></li>
+                        <li><a class="grey-text text-lighten-3" href="#mention">Mentions l&eacute;gales</a></li>
+                        <li><a class="grey-text text-lighten-3" href="#contact">Contact</a></li>
+                    </ul>
+                </div>
             </div>
-         </div>
+        </div>
+        <div class="footer-copyright">
+            <div class="container">
+                © 2019 Copyright Text
+                <a class="grey-text text-lighten-4 right" href="https://villedelens.fr" target="_blank">Ville de
+                    Lens</a>
+            </div>
+        </div>
+    </footer>
+
+    <!-- Script -->
+    <script type="text/javascript" src="js/jquery.min.js"></script>
+    <script type="text/javascript" src="js/materialize.min.js"></script>
+    <script type="text/javascript" src="js/script.js"></script>
+    <!-- Script pour cette page-->
+    <script type="text/javascript">
+        var data = [
+            [
+                {
+                    'nom': 'Mollin',
+                    'prenom': 'Jean',
+                    'ville': 'Lens',
+                    'email': 'jmollin@email.fr'
+                },
+                {
+                    'nom': 'Mollin',
+                    'prenom': 'Emillie',
+                    'ville': 'Lens',
+                    'email': 'emollin@email.fr'
+                },
+                {
+                    'nom': 'Reuli',
+                    'prenom': 'Robert',
+                    'ville': 'Lens',
+                    'email': 'robert.reuli@mail.com'
+                }
+            ],
+            [
+            {
+                    'nom': 'Dufour',
+                    'prenom': 'George',
+                    'ville': 'Lens',
+                    'email': 'dufour-george@email.fr'
+                },
+                {
+                    'nom': 'Ellestou',
+                    'prenom': 'Jeanne',
+                    'ville': 'Lens',
+                    'email': 'j.ellestou@entreprise.net'
+                },
+                {
+                    'nom': 'Pandragron',
+                    'prenom': 'Artoria',
+                    'ville': 'Lens',
+                    'email': 'apandra@sab.er'
+                }
+            ],
+            [
+            {
+                    'nom': 'Shepard',
+                    'prenom': 'John',
+                    'ville': 'Lens',
+                    'email': 'j-shepard@sr2.normandy.fr'
+                },
+                {
+                    'nom': 'Notece',
+                    'prenom': 'Lea',
+                    'ville': 'Lens',
+                    'email': 'lea@notece.fr'
+                }
+            ]
+        ]
 
-      </main>
+        const idPagination = 'abo';
 
-    </div><!-- end of main div -->
-    <div class="clear"></div>
-    <div class="footer"></div><!-- end footer div -->
-</div><!-- end of pricipal div -->
+        $(document).ready(() => {
+            pagination(idPagination, 1, 3, 8, $('#abo'), $('#pagination-abo'), data[0]);
 
- <script src="js/Chart.min.js" type="text/javascript"></script>
-      <script src="js/index.js" type="text/javascript"></script>
-      <script src="js/chart.js" type="text/javascript"></script>
+            // Detection changement page
+            $('main').on('click', `.pagination-${idPagination}-prev`, function () {
+                console.log(idPagination, 'prev', $(this).attr('data-page'));
+                pagination(idPagination, $(this).attr('data-page'), 4, 12, $('#abo'), $('#pagination-abo'), data[$(this).attr('data-page') - 1]);
+            });
+            $('main').on('click', `.pagination-${idPagination}-next`, function () {
+                console.log('abo', 'next', $(this).attr('data-page'));
+                pagination(idPagination, $(this).attr('data-page'), 4, 12, $('#abo'), $('#pagination-abo'), data[$(this).attr('data-page') - 1]);
+            });
+            $('main').on('click', `.pagination-${idPagination}-number`, function () {
+                console.log('abo', 'num', $(this).attr('data-page'));
+                pagination(idPagination, $(this).attr('data-page'), 4, 12, $('#abo'), $('#pagination-abo'), data[$(this).attr('data-page') - 1]);
+            });
+        });
+    </script>
 </body>
 
-</html>
+</html>

File diff suppressed because it is too large
+ 0 - 0
WebContent/css/materialize.min.css


+ 2 - 2
WebContent/index.jsp

@@ -32,7 +32,7 @@
                     </a>
                 </div>
                 <ul class="right mright-2 hide-on-med-and-down">
-                    <li><a href="#abonne">Abonn&eacute;s</a></li>
+                    <li><a href="abonnes.html">Abonn&eacute;s</a></li>
                     <li><a href="${inscriptionurl}">Inscription</a></li>
                     <li><a href="settings">Param&eacute;trage espace</a></li>
                 </ul>
@@ -48,7 +48,7 @@
             <h4>Microfolie Lens</h4>
             <hr />
         </li>
-        <li><a href="#abonne">Abonn&eacute;s</a></li>
+        <li><a href="abonnes.html">Abonn&eacute;s</a></li>
         <li><a href="${inscriptionurl}">Inscription</a></li>
         <li><a href="settings">Param&eacute;trage espace</a></li>
     </ul>

+ 2 - 2
WebContent/inscription.jsp

@@ -31,7 +31,7 @@
                     </a>
                 </div>
                 <ul class="right mright-2 hide-on-med-and-down">
-                    <li><a href="#abonne">Abonn&eacute;s</a></li>
+                    <li><a href="abonnes.html">Abonn&eacute;s</a></li>
                     <li class="active"><a href="inscription.jsp">Inscription</a></li>
                     <li><a href="settings">Param&eacute;trage espace</a></li>
                 </ul>
@@ -47,7 +47,7 @@
             <h4>Microfolie Lens</h4>
             <hr />
         </li>
-        <li><a href="#abonne">Abonn&eacute;s</a></li>
+        <li><a href="abonnes.html">Abonn&eacute;s</a></li>
         <li class="active"><a href="inscription.jsp">Inscription</a></li>
         <li><a href="settings">Param&eacute;trage espace</a></li>
     </ul>

+ 56 - 11
WebContent/js/script.js

@@ -1,3 +1,9 @@
+/* --- Surcharge objets --- */
+
+String.prototype.capitalize = function() {
+    return this[0].toUpperCase() + this.slice(1);
+}
+
 /* --- Fonctions utilitaires --- */
 
 function getCookie(key) {
@@ -13,10 +19,56 @@ function getCookie(key) {
     return cookies;
 }
 
-/* --- Surcharge objets --- */
-
-String.prototype.capitalize = function() {
-    return this[0].toUpperCase() + this.slice(1);
+function pagination(id, pageNum, perPage, total, tabElt, paginationElt, dataPage, tableClass) {
+    pageNum = parseInt(pageNum);
+    perPage = parseInt(perPage);
+    total = parseInt(total);
+    tableClass = tableClass || 'striped';
+    // Création du tableau
+    let tab = `<table class="${tableClass}">`;
+    let first = true;
+    let keys = [];
+    dataPage.forEach(elt => {
+        if(first) {
+            tab += '<thead><tr>';
+            for (const key in elt) {
+                keys.push(key);
+                tab += `<th>${key.capitalize()}</th>`;
+            }
+            tab += '</tr></thead><tbody>';
+            first = false;
+        }
+        tab += '<tr>';
+        keys.forEach(key => {
+            tab += `<td style="width: ${Math.round((1/keys.length)*100)}%;">${elt[key]}</td>`;
+        });
+        tab += '</tr>';
+    });
+    tab += '</tbody></table>';
+    // Creation de la pagination
+    const nbPage = Math.ceil(total / perPage);
+    let pagination = `<ul class="pagination" data-active="${pageNum}">`;
+    if(pageNum == 1) {
+        pagination += '<li class="disabled"><span><i class="material-icons">chevron_left</i></span></li>';
+    } else {
+        pagination += `<li class="waves-effect"><span class="pagination-${id}-prev" data-page="${pageNum - 1}"><i class="material-icons">chevron_left</i></span></li>`;
+    }
+    for(let i = 1; i <= nbPage; i++) {
+        if(pageNum === i) {
+            pagination += `<li class="active"><span>${i}</span></li>`;
+        } else {
+            pagination += `<li class="waves-effect"><span class="pagination-${id}-number" data-page="${i}">${i}</span></li>`;
+        }
+    }
+    if(pageNum == nbPage) {
+        pagination += '<li class="disabled"><span><i class="material-icons">chevron_right</i></span></li>';
+    } else {
+        pagination += `<li class="waves-effect"><span class="pagination-${id}-next" data-page="${pageNum + 1}"><i class="material-icons">chevron_right</i></span></li>`;
+    }
+    pagination += '</ul>';
+    // Affichage
+    tabElt.html(tab);
+    paginationElt.html(pagination);
 }
 
 /* --- Initialisation modules --- */
@@ -98,12 +150,5 @@ $(document).ready(function(){
             weekdaysAbbrev:	['D','L','M','M','J','V','S']
         }
     });
-    
-    $('.field-error').each(function() {
-    	const error = $(this).children('ul li').children('span').html();
-    	const parent = $(this).parent();
-        parent.children('.helper-text').attr('data-error', error);
-        parent.children('.validate').addClass('invalid');
-    });
 
 });

+ 2 - 2
WebContent/settings/index.jsp

@@ -32,7 +32,7 @@
                     </a>
                 </div>
                 <ul class="right mright-2 hide-on-med-and-down">
-                    <li><a href="#abonne">Abonn&eacute;s</a></li>
+                    <li><a href="../abonnes.html">Abonn&eacute;s</a></li>
                     <li><a href="${inscriptionurl}">Inscription</a></li>
                     <li class="active"><a href="./">Param&eacute;trage espace</a></li>
                 </ul>
@@ -48,7 +48,7 @@
             <h4>Microfolie Lens</h4>
             <hr />
         </li>
-        <li><a href="#abonne">Abonn&eacute;s</a></li>
+        <li><a href="../abonnes.html">Abonn&eacute;s</a></li>
         <li><a href="${inscriptionurl}">Inscription</a></li>
         <li class="active"><a href="./">Param&eacute;trage espace</a></li>
     </ul>

Some files were not shown because too many files changed in this diff