index.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <!-- Required meta tags -->
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  7. <!-- Bootstrap CSS -->
  8. <link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  9. <title>Afmeldingen</title>
  10. <style>
  11. .container-fluid {
  12. /* reset width: 100% */
  13. width: auto;
  14. margin: 25px 50px;
  15. padding: 5px 10px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <div class="container-fluid">
  21. <div class="row">
  22. <!-- <div class="col"> -->
  23. <h1>Afmeldingen</h1>
  24. <table class="table table-striped">
  25. <caption>Afmeldingen</caption>
  26. <thead>
  27. <tr>
  28. <th scope="col">#</th>
  29. <th scope="col">datum</th>
  30. <th scope="col">lijn</th>
  31. <th scope="col">naam</th>
  32. <th scope="col">afwezig</th>
  33. <th scope="col">partner</th>
  34. <th scope="col">invaller</th>
  35. <th scope="col">email</th>
  36. <th scope="col">opmerkingen</th>
  37. </tr>
  38. </thead>
  39. <tbody>
  40. </tbody>
  41. </table>
  42. <!-- </div> -->
  43. </div>
  44. </div>
  45. <script
  46. src="//code.jquery.com/jquery-3.4.1.min.js"
  47. integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  48. crossorigin="anonymous"></script>
  49. <script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  50. <script src="//stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  51. <script src="//momentjs.com/downloads/moment.min.js"></script>
  52. <!--suppress JSUnresolvedVariable -->
  53. <script>
  54. let _debug = false;
  55. function log(...text) {
  56. if (_debug) {
  57. return console.log(...text);
  58. }
  59. }
  60. </script>
  61. <script>
  62. _debug = true;
  63. $.getJSON('payload.json', (data) => {
  64. log(data);
  65. let c = (date) => {
  66. let regex = /^(\d{2})-(\d{2})-(\d{4})$/;
  67. let match = date.match(regex);
  68. let reversed_date = '1970-01-01';
  69. if (match) {
  70. let d = match[1];
  71. let m = match[2];
  72. let y = match[3];
  73. reversed_date = y + '-' + m + '-' + d;
  74. }
  75. return reversed_date;
  76. };
  77. // let c = comparable_date; // Abbreviation
  78. data.sort((a, b) => c(a.Datum) > c(b.Datum) ? 1 : (c(a.Datum) === c(b.Datum)) ? ((a.Lijn > b.Lijn) ? 1 : -1) : -1);
  79. let items = [];
  80. $.each(data, (key, val) => {
  81. log('key:', key, ' val:', val);
  82. log(c(val["Datum"])+' '+moment(c(val["Datum"]), 'YYYY-MM-DD').add(10, 'days').format('YYYY-MM-DD'));
  83. if (c(val["Datum"]) > moment(c(val["Datum"]), 'YYYY-MM-DD').add(10, 'days').format('YYYY-MM-DD')) {
  84. return;
  85. }
  86. items.push( "<tr>" );
  87. items.push( "<td scope=\"row\">" + (parseInt(key)+1) + "</td>" );
  88. items.push( "<td class=\""+key+"\">" + val["Datum"] + "</td>" );
  89. items.push( "<td class=\""+key+"\">" + val["Lijn"] + "</td>" );
  90. items.push( "<td class=\""+key+"\">" + val["Naam"] + "</td>" );
  91. items.push( "<td class=\""+key+"\">" + val["Afmelding/aanmelding"] + "</td>" );
  92. items.push( "<td class=\""+key+"\">" + val["Naam partner"] + "</td>" );
  93. items.push( "<td class=\""+key+"\">" + val["Naam invaller"] + "</td>" );
  94. items.push( "<td class=\""+key+"\">" + val["Email"] + "</td>" );
  95. items.push( "<td class=\""+key+"\">" + val["Toevoeging"] + "</td>" );
  96. items.push( "</tr>" );
  97. });
  98. $( "<tbody/>", {class: "mydata", html: items.join("")} ).appendTo( "table" );
  99. });
  100. </script>
  101. </body>
  102. </html>