dockerfile_tutorial_level.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. function check_form1 ()
  2. {
  3. $('#level1_error0').hide();
  4. $('#level1_error1').hide();
  5. $('#level1_error2').hide();
  6. $('#level1_error3').hide();
  7. $('#no_good').hide();
  8. $('#some_good').hide();
  9. $('#all_good').hide();
  10. var a = clean_input($('#level1_q0').val()).toUpperCase();
  11. var b = clean_input($('#level1_q1').val()).toUpperCase();
  12. var c = clean_input($('#level1_q2').val()).toUpperCase();
  13. var d = clean_input($('#level1_q3').val());
  14. var points = 0;
  15. if (a == 'FROM'){
  16. points = points + 1;
  17. } else {
  18. $('#level1_error0').show();
  19. }
  20. if (b == 'RUN') {
  21. points = points + 1;
  22. } else {
  23. $('#level1_error1').show();
  24. }
  25. if (c == 'MAINTAINER') {
  26. points = points + 1;
  27. } else {
  28. $('#level1_error2').show();
  29. }
  30. if (d == '#') {
  31. points = points + 1;
  32. } else {
  33. $('#level1_error3').show();
  34. }
  35. if (points == 4) {// all good
  36. $('#all_good').show();
  37. } else if (points == 0) { // nothing good
  38. $('#no_good').show();
  39. } else {// some good some bad
  40. $('#some_good').show();
  41. }
  42. return (4 - points);
  43. }
  44. function check_form2 ()
  45. {
  46. $('.level_questions .alert').hide();
  47. var answers = {};
  48. answers[0] = ['FROM'];
  49. answers[1] = ['ENTRYPOINT', 'CMD'];
  50. answers[2] = ['#'];
  51. answers[3] = ['USER'];
  52. answers[4] = ['RUN'];
  53. answers[5] = ['EXPOSE'];
  54. answers[6] = ['MAINTAINER'];
  55. answers[7] = ['ENTRYPOINT', 'CMD'];
  56. var points = 0;
  57. $.each($(".level"), function(num, input){
  58. var cleaned = clean_up(input.value);
  59. if ($.inArray(cleaned, answers[num]) == -1) {
  60. $( $(".level_error")[num]).show()
  61. $(input).addClass("error_input");
  62. } else {
  63. $( $(".level_error")[num]).hide()
  64. $(input).removeClass("error_input");
  65. points += 1;
  66. }
  67. })
  68. if (points == 8) // all good
  69. {
  70. $('#all_good').show();
  71. }
  72. else if (points == 0) // nothing good
  73. {
  74. $('#no_good').show();
  75. }
  76. else // some good some bad
  77. {
  78. $('#some_good').show();
  79. }
  80. return (8- points);
  81. }
  82. function check_fill(answers)
  83. {
  84. $('#dockerfile_ok').hide();
  85. $('#dockerfile_ko').hide();
  86. var errors = 0;
  87. $.each($(".l_fill"), function(num, input){
  88. var cleaned = clean_up(input.value);
  89. var id = input.id;
  90. if (answers[id] != cleaned) {
  91. $(input).addClass("error_input");
  92. errors += 1;
  93. } else {
  94. $(input).removeClass("error_input");
  95. }
  96. });
  97. if (errors != 0)
  98. {
  99. $('#dockerfile_ko').show();
  100. }
  101. else
  102. {
  103. $('#dockerfile_ok').show();
  104. }
  105. return (errors);
  106. }
  107. $(document).ready(function() {
  108. $("#check_level1_questions").click( function(){
  109. errors = check_form1();
  110. dockerfile_log(1, '1_questions', errors);
  111. }
  112. );
  113. $("#check_level1_fill").click( function(){
  114. var answers = {};
  115. answers['from'] = 'FROM';
  116. answers['ubuntu'] = 'UNTU';
  117. answers['maintainer'] = 'MAINTAINER';
  118. answers['eric'] = 'RIC';
  119. answers['bardin'] = 'ARDIN';
  120. answers['run0'] = 'RUN';
  121. answers['run1'] = 'RUN';
  122. answers['run2'] = 'RUN';
  123. answers['memcached'] = 'MEMCACHED';
  124. var errors = check_fill(answers);
  125. dockerfile_log(1, '2_fill', errors);
  126. });
  127. $("#check_level2_questions").click( function(){
  128. errors = check_form2();
  129. dockerfile_log(2, '1_questions', errors);
  130. }
  131. );
  132. $("#check_level2_fill").click( function(){
  133. var answers = {};
  134. answers['from'] = "FROM";
  135. answers['ubuntu'] = "UNTU";
  136. answers['maintainer'] = "AINER";
  137. answers['roberto'] = "BERTO";
  138. answers['hashioka'] = "SHIOKA";
  139. answers['run0'] = "RUN";
  140. answers['run1'] = "RUN";
  141. answers['run2'] = "RUN";
  142. answers['run3'] = "RUN";
  143. answers['run4'] = "RUN";
  144. answers['run5'] = "RUN";
  145. answers['run6'] = "RUN";
  146. answers['entrypoint'] = "ENTRYPOINT";
  147. answers['user'] = "USER";
  148. answers['expose'] = "EXPOSE";
  149. answers['gcc'] = "GCC";
  150. var errors = check_fill(answers);
  151. dockerfile_log(2, '2_fill', errors);
  152. });
  153. $(".btn.btn-primary.back").click( function(event){
  154. event.preventDefault();
  155. window.history.back();
  156. })
  157. });