Mercurial > hg > webaudioevaluationtool
changeset 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 |
files | ape.js core.js example_eval/project.xml |
diffstat | 3 files changed, 31 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/ape.js Fri Apr 10 17:18:45 2015 +0100 +++ b/ape.js Fri Apr 10 17:43:53 2015 +0100 @@ -208,6 +208,14 @@ } } + currentTestHolder = document.createElement('audioHolder'); + currentTestHolder.id = textXML.id; + currentTestHolder.repeatCount = textXML.attributes['repeatCount'].value; + var currentPreTestHolder = document.createElement('preTest'); + var currentPostTestHolder = document.createElement('postTest'); + currentTestHolder.appendChild(currentPreTestHolder); + currentTestHolder.appendChild(currentPostTestHolder); + var randomise = textXML.attributes['randomiseOrder']; if (randomise != undefined) {randomise = randomise.value;} else {randomise = false;} @@ -360,11 +368,7 @@ var questionResponse = document.getElementById(questionId + 'response'); questionHold.id = questionId; questionHold.innerHTML = questionResponse.value; - if (currentState == 'preTest') { - preTestQuestions.appendChild(questionHold); - } else if (currentState = 'postTest') { - postTestQuestions.appendChild(questionHold); - } + postPopupResponse(questionHold); } index++; if (index < preTest.children.length) @@ -401,6 +405,25 @@ return index; } +function postPopupResponse(response) +{ + if (currentState == 'preTest') { + preTestQuestions.appendChild(response); + } else if (currentState == 'postTest') { + postTestQuestions.appendChild(response); + } else { + // Inside a specific test + if (currentState.substr(0,10) == 'testRunPre') { + // Pre Test + var store = $(currentTestHolder).find('preTest'); + } else { + // Post Test + var store = $(currentTestHolder).find('postTest'); + } + store[0].appendChild(response); + } +} + function showPopup() { var popupHolder = document.getElementById('popupHolder'); @@ -504,10 +527,7 @@ function pageXMLSave(testId) { // Saves a specific test page - var xmlDoc = document.createElement("AudioHolder"); - var testXML = testXMLSetups[testId]; - xmlDoc.id = testXML.id; - xmlDoc.repeatCount = testXML.attributes['repeatCount'].value; + var xmlDoc = currentTestHolder; var trackSliderObjects = document.getElementsByClassName('track-slider'); var commentObjects = document.getElementsByClassName('comment-div'); var rateMin = 50;
--- a/core.js Fri Apr 10 17:18:45 2015 +0100 +++ b/core.js Fri Apr 10 17:43:53 2015 +0100 @@ -26,7 +26,7 @@ var testXMLSetups = []; // Hold the parsed test instances var testResultsHolders =[]; // Hold the results from each test for publishing to XML var currentTrackOrder = []; // Hold the current XML tracks in their (randomised) order -var currentTestHolder; // Hold an intermediate results during test - metrics +var currentTestHolder; // Hold any intermediate results during test - metrics var audioEngineContext; // The custome AudioEngine object var projectReturn; // Hold the URL for the return var preTestQuestions = document.createElement('PreTest'); // Store any pre-test question response
--- a/example_eval/project.xml Fri Apr 10 17:18:45 2015 +0100 +++ b/example_eval/project.xml Fri Apr 10 17:43:53 2015 +0100 @@ -32,11 +32,10 @@ <CommentQuestion id='mixingExperiance'>What is your mixing experiance</CommentQuestion> <PreTest> <statement>Start the Test 3</statement> - <statement>Start the Test 2</statement> - <statement>Start the Test 1</statement> </PreTest> <PostTest> <statement>Please take a break before the next test</statement> + <question id="testComment">How did you find the test</question> </PostTest> </audioHolder> </BrowserEvalProjectDocument> \ No newline at end of file