comparison ape.js @ 670:77c974fd7e60

Completed Handling of in-page pre/post responses
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Fri, 10 Apr 2015 17:43:53 +0100
parents c8eb821710fa
children 9ea50bbcaf9a
comparison
equal deleted inserted replaced
669:c8eb821710fa 670:77c974fd7e60
206 alert(errStr); 206 alert(errStr);
207 return; 207 return;
208 } 208 }
209 } 209 }
210 210
211 currentTestHolder = document.createElement('audioHolder');
212 currentTestHolder.id = textXML.id;
213 currentTestHolder.repeatCount = textXML.attributes['repeatCount'].value;
214 var currentPreTestHolder = document.createElement('preTest');
215 var currentPostTestHolder = document.createElement('postTest');
216 currentTestHolder.appendChild(currentPreTestHolder);
217 currentTestHolder.appendChild(currentPostTestHolder);
218
211 var randomise = textXML.attributes['randomiseOrder']; 219 var randomise = textXML.attributes['randomiseOrder'];
212 if (randomise != undefined) {randomise = randomise.value;} 220 if (randomise != undefined) {randomise = randomise.value;}
213 else {randomise = false;} 221 else {randomise = false;}
214 222
215 var audioElements = $(textXML).find('audioElements'); 223 var audioElements = $(textXML).find('audioElements');
358 var questionId = preTest.children[index].attributes['id'].value; 366 var questionId = preTest.children[index].attributes['id'].value;
359 var questionHold = document.createElement('comment'); 367 var questionHold = document.createElement('comment');
360 var questionResponse = document.getElementById(questionId + 'response'); 368 var questionResponse = document.getElementById(questionId + 'response');
361 questionHold.id = questionId; 369 questionHold.id = questionId;
362 questionHold.innerHTML = questionResponse.value; 370 questionHold.innerHTML = questionResponse.value;
363 if (currentState == 'preTest') { 371 postPopupResponse(questionHold);
364 preTestQuestions.appendChild(questionHold);
365 } else if (currentState = 'postTest') {
366 postTestQuestions.appendChild(questionHold);
367 }
368 } 372 }
369 index++; 373 index++;
370 if (index < preTest.children.length) 374 if (index < preTest.children.length)
371 { 375 {
372 // More to process 376 // More to process
399 } 403 }
400 } 404 }
401 return index; 405 return index;
402 } 406 }
403 407
408 function postPopupResponse(response)
409 {
410 if (currentState == 'preTest') {
411 preTestQuestions.appendChild(response);
412 } else if (currentState == 'postTest') {
413 postTestQuestions.appendChild(response);
414 } else {
415 // Inside a specific test
416 if (currentState.substr(0,10) == 'testRunPre') {
417 // Pre Test
418 var store = $(currentTestHolder).find('preTest');
419 } else {
420 // Post Test
421 var store = $(currentTestHolder).find('postTest');
422 }
423 store[0].appendChild(response);
424 }
425 }
426
404 function showPopup() 427 function showPopup()
405 { 428 {
406 var popupHolder = document.getElementById('popupHolder'); 429 var popupHolder = document.getElementById('popupHolder');
407 popupHolder.style.zIndex = 3; 430 popupHolder.style.zIndex = 3;
408 popupHolder.style.visibility = 'visible'; 431 popupHolder.style.visibility = 'visible';
502 } 525 }
503 526
504 function pageXMLSave(testId) 527 function pageXMLSave(testId)
505 { 528 {
506 // Saves a specific test page 529 // Saves a specific test page
507 var xmlDoc = document.createElement("AudioHolder"); 530 var xmlDoc = currentTestHolder;
508 var testXML = testXMLSetups[testId];
509 xmlDoc.id = testXML.id;
510 xmlDoc.repeatCount = testXML.attributes['repeatCount'].value;
511 var trackSliderObjects = document.getElementsByClassName('track-slider'); 531 var trackSliderObjects = document.getElementsByClassName('track-slider');
512 var commentObjects = document.getElementsByClassName('comment-div'); 532 var commentObjects = document.getElementsByClassName('comment-div');
513 var rateMin = 50; 533 var rateMin = 50;
514 var rateMax = window.innerWidth-50; 534 var rateMax = window.innerWidth-50;
515 for (var i=0; i<trackSliderObjects.length; i++) 535 for (var i=0; i<trackSliderObjects.length; i++)