From 76736a6662c6068c4e7160d17d352ed3461fe262 Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 26 Jan 2011 16:21:23 +0000 Subject: [PATCH] Translation Quiz: fix for race condition on page load --- demos/TransQuiz/minibar_quiz.js | 3 ++- demos/TransQuiz/quiz_pre_start.js | 5 ++--- demos/TransQuiz/translation_quiz.html | 7 ++++--- demos/TransQuiz/translation_quiz.js | 10 ++++++---- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/demos/TransQuiz/minibar_quiz.js b/demos/TransQuiz/minibar_quiz.js index b55fb1b3d..9bcefed97 100644 --- a/demos/TransQuiz/minibar_quiz.js +++ b/demos/TransQuiz/minibar_quiz.js @@ -47,6 +47,7 @@ function Minibar(server,opts,target) { this.surface=div_id("surface"); this.extra=div_id("extra"); this.menubar=div_id("menubar"); + this.quizbar=div_id("quizbar"); this.words=div_id("words"); this.translations=div_id("translations"); @@ -57,7 +58,7 @@ function Minibar(server,opts,target) { //modified for quiz with(this) { - appendChildren(minibar,[menubar]); + appendChildren(minibar,[menubar, quizbar]); appendChildren(minibar_contin,[surface,words]); append_extra_buttons(extra,options); } diff --git a/demos/TransQuiz/quiz_pre_start.js b/demos/TransQuiz/quiz_pre_start.js index b70ff415a..c9de5ae91 100644 --- a/demos/TransQuiz/quiz_pre_start.js +++ b/demos/TransQuiz/quiz_pre_start.js @@ -10,9 +10,8 @@ function pre_start() var quiz_mode=empty_id("select","quiz_mode"); //adds the "Quiz Mode" and "Restart Quiz" and "End Quiz" and "Start Quiz" - appendChildren(minibar.menubar, - [empty("br"), - text(" Quiz Mode: "), quiz_mode, + appendChildren(minibar.quizbar, + [text(" Quiz Mode: "), quiz_mode, button("Restart Quiz","restart_quiz()","R"), button("End Quiz","end_quiz(true)","E"), button("Start Quiz","start_quiz()","S")]); diff --git a/demos/TransQuiz/translation_quiz.html b/demos/TransQuiz/translation_quiz.html index 7c69f332a..5ea991b77 100644 --- a/demos/TransQuiz/translation_quiz.html +++ b/demos/TransQuiz/translation_quiz.html @@ -18,8 +18,7 @@ - - +
About GF Translation Quiz @@ -151,7 +150,9 @@ } var minibar=new Minibar(server,minibar_options,"minibar1"); - + + pre_start(); + diff --git a/demos/TransQuiz/translation_quiz.js b/demos/TransQuiz/translation_quiz.js index 412ae98ec..87c614e2e 100644 --- a/demos/TransQuiz/translation_quiz.js +++ b/demos/TransQuiz/translation_quiz.js @@ -109,7 +109,7 @@ function start_quiz() answer_lang= minibar.to_menu.value; //removes the start button - minibar.menubar.removeChild(minibar.menubar.lastChild); + minibar.quizbar.removeChild(minibar.quizbar.lastChild); set_mode(); @@ -192,7 +192,7 @@ function restart_quiz() reset_mode(); //add the start button - appendChildren(minibar.menubar,[ button("Start Quiz","start_quiz()","S")]); + appendChildren(minibar.quizbar,[ button("Start Quiz","start_quiz()","S")]); //removes the History button var history_bar=element("history_bar"); @@ -380,9 +380,10 @@ function parse_answer(right_answer) server.parse(question_lang,right_answer[0].text, parse_answer2); } +var trees_to_go; function parse_answer2(parsed_answer) { - parsed_trees = parsed_answer[0].trees.length; + trees_to_go = parsed_trees = parsed_answer[0].trees.length; var j =0; for (j= 0; j < parsed_trees ; j++) { @@ -400,7 +401,8 @@ function collect_answers(lin_answer) all_answers[next]= lin_answer[0].texts[i]; } - if ( all_answers.length > (parsed_trees - 1) * i) + trees_to_go--; + if(trees_to_go == 0) continue_checking(); }