script.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. var first = true;
  2. $(document).ready(function(){
  3. //Ini Materialize
  4. M.AutoInit();
  5. //Si message à afficher
  6. if($("#msg").val().trim() != ''){
  7. var msg = '';
  8. switch($("#msg").attr('data-type')){
  9. case 'err':
  10. msg = message_erreur($("#msg").val());
  11. break;
  12. case 'ok':
  13. msg = message_conf($("#msg").val());
  14. break;
  15. default:
  16. msg = message_info($("#msg").val());
  17. }
  18. float_message(msg);
  19. }
  20. //Envoyer formulaire
  21. $("#valid").on('click', function(){
  22. if($('#save-name').val() == null && $("#name").val().trim() == ''){
  23. float_message(message_erreur('Lanceur vide'));
  24. return false;
  25. }
  26. $("#form").submit();
  27. });
  28. //Rechargement
  29. $("#reload").on('click', function(){
  30. if(first){
  31. reload(false);
  32. first = false;
  33. } else {
  34. reload(true);
  35. }
  36. }).click();
  37. //Recharge toutes les minutes
  38. setTimeout(function(){
  39. reload(false);
  40. }, 30 * 1000);
  41. //Reset
  42. $('#reset').on('click', function(){
  43. reset_score();
  44. });
  45. //Quit
  46. $('#quit').on('click', function(){
  47. location.href = './?quit';
  48. });
  49. $("body").on('click', '.float_message', function () {
  50. $(this).slideUp('slow', function () {
  51. $(this).html('');
  52. });
  53. });
  54. });
  55. function reload(msg){
  56. $.post("ajx/score.php", null, function(data){
  57. if(data.etat == 'ok'){
  58. $("#tbody").html(data.html);
  59. $("#save-name").html(data.savename);
  60. if(msg){
  61. float_message(message_conf("Page rechargée"));
  62. }
  63. M.AutoInit();
  64. }
  65. }, 'json');
  66. }
  67. function reset_score(){
  68. $.post("ajx/reset.php", null, function(data){
  69. if(data.etat == 'ok'){
  70. $("#tbody").html('');
  71. $("#save-name").html('<option value="" disabled selected>Selectionnez un lanceur</option>');
  72. float_message(message_conf("Session reset"));
  73. M.AutoInit();
  74. }
  75. }, 'json');
  76. }
  77. function message_erreur(msg){
  78. var html = '';
  79. html += '<div class="hide-on-small-only">' + "\n";
  80. html += ' <div class="row red-text red lighten-4" style="height: 60px; border: dashed;">' + "\n";
  81. html += ' <div class="col s2">' + "\n";
  82. html += ' <i class="material-icons" style="font-size: 3em; line-height: 125%">error</i>' + "\n";
  83. html += ' </div>' + "\n";
  84. html += ' <div class="col s10 truncate " style="font-size: 1.5em; line-height: 250%">' + "\n";
  85. html += ' ' + msg + "\n";
  86. html += ' </div>' + "\n";
  87. html += ' </div>' + "\n";
  88. html += '</div>' + "\n";
  89. html += '<div class="hide-on-med-and-up">' + "\n";
  90. html += ' <div class="red lighten-4 red-text center" style="border: dashed">' + "\n";
  91. html += ' <br>' + msg + '<br>&nbsp;' + "\n";
  92. html += ' </div>' + "\n";
  93. html += '</div>' + "\n";
  94. return html;
  95. }
  96. function message_info(msg){
  97. var html = '';
  98. html += '<div class="hide-on-small-only">' + "\n";
  99. html += ' <div class="row blue-text blue lighten-4" style="height: 60px; border: dashed;">' + "\n";
  100. html += ' <div class="col s2">' + "\n";
  101. html += ' <i class="material-icons" style="font-size: 3em; line-height: 125%">info</i>' + "\n";
  102. html += ' </div>' + "\n";
  103. html += ' <div class="col s10 truncate " style="font-size: 1.5em; line-height: 250%">' + "\n";
  104. html += ' ' + msg + "\n";
  105. html += ' </div>' + "\n";
  106. html += ' </div>' + "\n";
  107. html += '</div>' + "\n";
  108. html += '<div class="hide-on-med-and-up">' + "\n";
  109. html += ' <div class="blue lighten-4 blue-text center" style="border: dashed">' + "\n";
  110. html += ' <br>' + msg + '<br>&nbsp;' + "\n";
  111. html += ' </div>' + "\n";
  112. html += '</div>' + "\n";
  113. return html;
  114. }
  115. function message_warn(msg){
  116. var html = '';
  117. html += '<div class="hide-on-small-only">' + "\n";
  118. html += ' <div class="row amber-text yellow lighten-4" style="height: 60px; border: dashed;">' + "\n";
  119. html += ' <div class="col s2">' + "\n";
  120. html += ' <i class="material-icons" style="font-size: 3em; line-height: 125%">warning</i>' + "\n";
  121. html += ' </div>' + "\n";
  122. html += ' <div class="col s10 truncate " style="font-size: 1.5em; line-height: 250%">' + "\n";
  123. html += ' ' + msg + "\n";
  124. html += ' </div>' + "\n";
  125. html += ' </div>' + "\n";
  126. html += '</div>' + "\n";
  127. html += '<div class="hide-on-med-and-up">' + "\n";
  128. html += ' <div class="yellow lighten-4 amber-text center" style="border: dashed">' + "\n";
  129. html += ' <br>' + msg + '<br>&nbsp;' + "\n";
  130. html += ' </div>' + "\n";
  131. html += '</div>' + "\n";
  132. return html;
  133. }
  134. function message_conf(msg){
  135. var html = '';
  136. html += '<div class="hide-on-small-only">' + "\n";
  137. html += ' <div class="row green-text green lighten-4" style="height: 60px; border: dashed;">' + "\n";
  138. html += ' <div class="col s2">' + "\n";
  139. html += ' <i class="material-icons" style="font-size: 3em; line-height: 125%">check_circle</i>' + "\n";
  140. html += ' </div>' + "\n";
  141. html += ' <div class="col s10 truncate " style="font-size: 1.5em; line-height: 250%">' + "\n";
  142. html += ' ' + msg + "\n";
  143. html += ' </div>' + "\n";
  144. html += ' </div>' + "\n";
  145. html += '</div>' + "\n";
  146. html += '<div class="hide-on-med-and-up">' + "\n";
  147. html += ' <div class="green lighten-4 green-text center" style="border: dashed">' + "\n";
  148. html += ' <br>' + msg + '<br>&nbsp;' + "\n";
  149. html += ' </div>' + "\n";
  150. html += '</div>' + "\n";
  151. return html;
  152. }
  153. function float_message(text){
  154. $("#float_msg").html(text).slideDown('slow', null);
  155. setTimeout(function(){
  156. $("#float_msg").click();
  157. }, '5000');
  158. }