comparison interfaces/ape.js @ 2703:536cb44c7292

Tidied up check on submits for AB/ABX/APE.
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Mon, 13 Mar 2017 11:53:36 +0000
parents 0562dcdfd5eb
children 3a0be105ee85
comparison
equal deleted inserted replaced
2702:28e179d4fb9a 2703:536cb44c7292
82 interfaceContext.lightbox.post("Message", str); 82 interfaceContext.lightbox.post("Message", str);
83 console.log(str); 83 console.log(str);
84 } 84 }
85 return state; 85 return state;
86 }; 86 };
87 /* 87
88 interfaceContext.checkAllCommented = function () {
89 var audioObjs = audioEngineContext.audioObjects;
90 var audioHolder = testState.stateMap[testState.stateIndex];
91 var state = true;
92 if (audioHolder.elementComments) {
93 var notCommented = audioObjs.filter(function (ao) {
94 return ao.commentDOM.trackCommentBox.value.length === 0;
95 });
96 notCommented.sort(function (a, b) {
97 var va = a.interfaceDOM.getPresentedId();
98 var vb = a.interfaceDOM.getPresentedId();
99 if (va < vb) {
100 return -1;
101 }
102 if (vb < va) {
103 return 1;
104 }
105 return 0;
106 });
107 if (notCommented.length > 0) {
108 var str = "You have not commented on fragment";
109 if (notCommented.length > 1) {
110 str += "s ";
111 } else {
112 str += " ";
113 }
114 for (var i = 0; i < notCommented.length; i++) {
115 var ao_id = notCommented[i].interfaceDOM.getPresentedId();
116 str = str + ao_id; // start from 1
117 if (i < notCommented.length - 2) {
118 str += ", ";
119 } else if (i == notCommented.length - 2) {
120 str += " or ";
121 }
122 }
123 str += "Please listen, rate and comment all samples before submitting.";
124 this.storeErrorNode(str);
125 interfaceContext.lightbox.post("Message", str);
126 console.log(str);
127 }
128 }
129 return state;
130 };
131 */
132 interfaceContext.checkScaleRange = function () { 88 interfaceContext.checkScaleRange = function () {
133 var audioObjs = audioEngineContext.audioObjects; 89 var audioObjs = audioEngineContext.audioObjects;
134 var audioHolder = testState.stateMap[testState.stateIndex]; 90 var audioHolder = testState.stateMap[testState.stateIndex];
135 var interfaceObject = this.interfaceSliders[0].interfaceObject; 91 var interfaceObject = this.interfaceSliders[0].interfaceObject;
136 var state = true; 92 var state = true;
753 return; 709 return;
754 } 710 }
755 711
756 for (var i = 0; i < checks.length; i++) { 712 for (var i = 0; i < checks.length; i++) {
757 if (checks[i].type == 'check') { 713 if (checks[i].type == 'check') {
758 var checkState; 714 var checkState = true;
759 switch (checks[i].name) { 715 switch (checks[i].name) {
760 case 'fragmentPlayed': 716 case 'fragmentPlayed':
761 // Check if all fragments have been played 717 // Check if all fragments have been played
762 checkState = interfaceContext.checkAllPlayed(); 718 checkState = interfaceContext.checkAllPlayed();
763 if (checkState === false) {
764 canContinue = false;
765 }
766 break; 719 break;
767 case 'fragmentFullPlayback': 720 case 'fragmentFullPlayback':
768 // Check all fragments have been played to their full length 721 // Check all fragments have been played to their full length
769 checkState = interfaceContext.checkFragmentsFullyPlayed(); 722 checkState = interfaceContext.checkFragmentsFullyPlayed();
770 if (checkState === false) {
771 canContinue = false;
772 }
773 break; 723 break;
774 case 'fragmentMoved': 724 case 'fragmentMoved':
775 // Check all fragment sliders have been moved. 725 // Check all fragment sliders have been moved.
776 checkState = interfaceContext.checkAllMoved(); 726 checkState = interfaceContext.checkAllMoved();
777 if (checkState === false) {
778 canContinue = false;
779 }
780 break; 727 break;
781 case 'fragmentComments': 728 case 'fragmentComments':
782 // Check all fragment sliders have been moved. 729 // Check all fragment sliders have been moved.
783 checkState = interfaceContext.checkAllCommented(); 730 checkState = interfaceContext.checkAllCommented();
784 if (checkState === false) {
785 canContinue = false;
786 }
787 break; 731 break;
788 case 'scalerange': 732 case 'scalerange':
789 // Check the scale is used to its full width outlined by the node 733 // Check the scale is used to its full width outlined by the node
790 checkState = interfaceContext.checkScaleRange(); 734 checkState = interfaceContext.checkScaleRange();
791 if (checkState === false) {
792 canContinue = false;
793 }
794 break; 735 break;
795 default: 736 default:
796 console.log("WARNING - Check option " + checks[i].name + " is not supported on this interface"); 737 console.log("WARNING - Check option " + checks[i].name + " is not supported on this interface");
797 break; 738 break;
798 } 739 }
799 740
800 } 741 }
801 if (!canContinue) { 742 if (checkState === false) {
743 canContinue = false;
802 break; 744 break;
803 } 745 }
804 } 746 }
805 747
806 if (canContinue) { 748 if (canContinue) {