script.js 6.4 KB

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