diff --git a/static/quiz_item.js b/static/quiz_item.js new file mode 100644 index 0000000..877f96c --- /dev/null +++ b/static/quiz_item.js @@ -0,0 +1,106 @@ +// Generated by CoffeeScript 1.10.0 +(function() { + var refreshQuestion; + + refreshQuestion = function() { + var input_element, items, selection; + if (!sessionStorage.getItem('user_items')) { + $.ajax({ + url: "/user_items", + dataType: 'json', + success: function(e) { + sessionStorage.setItem('user_items', JSON.stringify(e['item_list'])); + sessionStorage.setItem('radical_count', e['radical_count']); + sessionStorage.setItem('kanji_count', e['kanji_count']); + sessionStorage.setItem('vocabulary_count', e['vocabulary_count']); + return refreshQuestion(); + } + }); + } + if ($('#radical-num').text() === '') { + $('#radical-num').text(sessionStorage.getItem('radical_count')); + $('#kanji-num').text(sessionStorage.getItem('kanji_count')); + $('#vocab-num').text(sessionStorage.getItem('vocabulary_count')); + } + if (sessionStorage.getItem('user_items')) { + items = JSON.parse(sessionStorage.getItem('user_items')); + selection = items[Math.floor(Math.random() * items.length)]; + $("#help-area").text(''); + $("#kana").removeClass("correct").val(''); + $("#question-area").text(''); + $("#question-image").attr("src", ''); + $('#answer').addClass('hidden'); + $('#answer').text(selection['answer']); + input_element = document.getElementById('kana'); + if (selection['item_type'] === 'radical') { + $("#kana").attr("placeholder", "Meaning"); + document.body.style.backgroundColor = "deepskyblue"; + wanakana.unbind(input_element); + if (selection['question'].indexOf('http') >= 0) { + return $("#question-image").attr("src", selection['question']); + } else { + return $("#question-area").text(selection['question']); + } + } else { + if (selection['item_type'] === 'kanji') { + document.body.style.backgroundColor = "deeppink"; + } else { + document.body.style.backgroundColor = "darkviolet"; + } + $("#question-area").text(selection['question']); + if (Math.random() >= 0.5) { + $("#kana").attr("placeholder", "Meaning"); + $('#answer').text(selection['answer_meaning']); + return wanakana.unbind(input_element); + } else { + $("#kana").attr("placeholder", "かな"); + return wanakana.bind(input_element); + } + } + } + }; + + $(document).keypress(function(e) { + if (e.which === 13) { + return $("#submit-answer").click(); + } + }); + + $("#submit-answer").click(function(e) { + var answers, input_answer; + e.preventDefault(); + answers = $('#answer').text().split(/[,\.]/g); + answers = $.map(answers, function(x) {}); + input_answer = document.getElementById('kana').value; + if ($("#kana").hasClass("correct")) { + return refreshQuestion(); + } else if ($('#answer').text().split(/[,\.]/g).map(function(x) { + return x.trim(); + }).indexOf(input_answer) !== -1) { + return $("#kana").addClass("correct").removeClass("wrong"); + } else { + return $("#kana").addClass("wrong").removeClass("correct").val(''); + } + }); + + $("#get-help").click(function(e) { + e.preventDefault(); + return $("#answer").removeClass('hidden'); + }); + + $("#api-refresh").click(function(e) { + e.preventDefault(); + $.post("{{ url_for('refresh_api') }}"); + return refreshQuestion(); + }); + + $(function() { + return $(document).ready(function() { + $('[data-toggle="tooltip"]').tooltip(); + return refreshQuestion(); + }); + }); + +}).call(this); + +//# sourceMappingURL=quiz_item.js.map