Mercurial > hg > webaudioevaluationtool
comparison interfaces/ordinal.js @ 2846:64a83c964fae
#141 Add submit button interactions
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Tue, 25 Apr 2017 15:47:18 +0100 |
parents | be138735977b |
children | ed2c8a04b7c4 |
comparison
equal
deleted
inserted
replaced
2845:be138735977b | 2846:64a83c964fae |
---|---|
410 w -= 14; | 410 w -= 14; |
411 w = Math.floor(w); | 411 w = Math.floor(w); |
412 $(".ordinal-element").width(w); | 412 $(".ordinal-element").width(w); |
413 } | 413 } |
414 | 414 |
415 function buttonSubmitClick() { | 415 function buttonSubmitClick() // TODO: Only when all songs have been played! |
416 | 416 { |
417 var checks = testState.currentStateMap.interfaces[0].options, | |
418 canContinue = true; | |
419 | |
420 // Check that the anchor and reference objects are correctly placed | |
421 if (interfaceContext.checkHiddenAnchor() === false) { | |
422 return; | |
423 } | |
424 if (interfaceContext.checkHiddenReference() === false) { | |
425 return; | |
426 } | |
427 | |
428 for (var i = 0; i < checks.length; i++) { | |
429 var checkState = true; | |
430 if (checks[i].type == 'check') { | |
431 switch (checks[i].name) { | |
432 case 'fragmentPlayed': | |
433 // Check if all fragments have been played | |
434 checkState = interfaceContext.checkAllPlayed(checks[i].errorMessage); | |
435 break; | |
436 case 'fragmentFullPlayback': | |
437 // Check all fragments have been played to their full length | |
438 checkState = interfaceContext.checkAllPlayed(checks[i].errorMessage); | |
439 console.log('NOTE: fragmentFullPlayback not currently implemented, performing check fragmentPlayed instead'); | |
440 break; | |
441 case 'fragmentMoved': | |
442 // Check all fragment sliders have been moved. | |
443 checkState = interfaceContext.checkAllMoved(checks[i].errorMessage); | |
444 break; | |
445 case 'fragmentComments': | |
446 // Check all fragment sliders have been moved. | |
447 checkState = interfaceContext.checkAllCommented(checks[i].errorMessage); | |
448 break; | |
449 case 'scalerange': | |
450 // Check the scale has been used effectively | |
451 checkState = interfaceContext.checkScaleRange(checks[i].errorMessage); | |
452 | |
453 break; | |
454 default: | |
455 console.log("WARNING - Check option " + checks[i].check + " is not supported on this interface"); | |
456 break; | |
457 } | |
458 } | |
459 if (checkState === false) { | |
460 canContinue = false; | |
461 break; | |
462 } | |
463 } | |
464 | |
465 if (canContinue) { | |
466 if (audioEngineContext.status == 1) { | |
467 var playback = document.getElementById('playback-button'); | |
468 playback.click(); | |
469 // This function is called when the submit button is clicked. Will check for any further tests to perform, or any post-test options | |
470 } else { | |
471 if (audioEngineContext.timer.testStarted === false) { | |
472 interfaceContext.lightbox.post("Warning", 'You have not started the test! Please press start to begin the test!'); | |
473 return; | |
474 } | |
475 } | |
476 testState.advanceState(); | |
477 } | |
417 } | 478 } |
418 | 479 |
419 function pageXMLSave(store, pageSpecification) { | 480 function pageXMLSave(store, pageSpecification) { |
420 // MANDATORY | 481 // MANDATORY |
421 // Saves a specific test page | 482 // Saves a specific test page |