diff interfaces/ape.js @ 2651:22efb2d04bc9

#6: Added for rest
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Thu, 19 Jan 2017 16:44:47 +0000
parents 8188efa9415d
children f4a146282ef5
line wrap: on
line diff
--- a/interfaces/ape.js	Thu Jan 19 16:24:00 2017 +0000
+++ b/interfaces/ape.js	Thu Jan 19 16:44:47 2017 +0000
@@ -286,46 +286,47 @@
     // Delete outside reference
     document.getElementById("outside-reference-holder").innerHTML = "";
 
-    var interfaceObj = audioHolderObject.interfaces;
+    var interfaceObj = interfaceContext.getCombinedInterfaces(audioHolderObject);
     for (var k = 0; k < interfaceObj.length; k++) {
         // Create the div box to center align
         interfaceContext.interfaceSliders.push(new interfaceSliderHolder(interfaceObj[k]));
     }
-
-    var interfaceList = audioHolderObject.interfaces.concat(specification.interfaces);
-    for (var k = 0; k < interfaceList.length; k++) {
-        for (var i = 0; i < interfaceList[k].options.length; i++) {
-            if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'playhead') {
-                var playbackHolder = document.getElementById('playback-holder');
-                if (playbackHolder == null) {
-                    playbackHolder = document.createElement('div');
-                    playbackHolder.style.width = "100%";
-                    playbackHolder.align = 'center';
-                    playbackHolder.appendChild(interfaceContext.playhead.object);
-                    feedbackHolder.appendChild(playbackHolder);
+    interfaceObj.forEach(function (interface) {
+        for (var option of interface.options) {
+            if (option.type == "show") {
+                switch (option.name) {
+                    case "playhead":
+                        var playbackHolder = document.getElementById('playback-holder');
+                        if (playbackHolder == null) {
+                            playbackHolder = document.createElement('div');
+                            playbackHolder.style.width = "100%";
+                            playbackHolder.align = 'center';
+                            playbackHolder.appendChild(interfaceContext.playhead.object);
+                            feedbackHolder.insertBefore(playbackHolder, feedbackHolder.firstElementChild);
+                        }
+                        break;
+                    case "page-count":
+                        var pagecountHolder = document.getElementById('page-count');
+                        if (pagecountHolder == null) {
+                            pagecountHolder = document.createElement('div');
+                            pagecountHolder.id = 'page-count';
+                        }
+                        pagecountHolder.innerHTML = '<span>Page ' + (testState.stateIndex + 1) + ' of ' + testState.stateMap.length + '</span>';
+                        var inject = document.getElementById('interface-buttons');
+                        inject.appendChild(pagecountHolder);
+                        break;
+                    case "volume":
+                        if (document.getElementById('master-volume-holder') == null) {
+                            feedbackHolder.appendChild(interfaceContext.volume.object);
+                        }
+                        break;
+                    case "comments":
+                        interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder, true);
+                        break;
                 }
-            } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'page-count') {
-                var pagecountHolder = document.getElementById('page-count');
-                if (pagecountHolder == null) {
-                    pagecountHolder = document.createElement('div');
-                    pagecountHolder.id = 'page-count';
-                }
-                pagecountHolder.innerHTML = '<span>Page ' + (testState.stateIndex + 1) + ' of ' + testState.stateMap.length + '</span>';
-                var inject = document.getElementById('interface-buttons');
-                inject.appendChild(pagecountHolder);
-            } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'volume') {
-                if (document.getElementById('master-volume-holder') == null) {
-                    feedbackHolder.appendChild(interfaceContext.volume.object);
-                }
-            } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'comments') {
-                var commentHolder = document.createElement('div');
-                commentHolder.id = 'commentHolder';
-                document.getElementById('testContent').appendChild(commentHolder);
-                interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder, true);
-                break;
             }
         }
-    }
+    });
 
     var commentBoxPrefix = "Comment on fragment";
 
@@ -736,10 +737,8 @@
 }
 
 function buttonSubmitClick() {
-    var checks = [];
-    checks = checks.concat(testState.currentStateMap.interfaces[0].options);
-    checks = checks.concat(specification.interfaces.options);
-    var canContinue = true;
+    var checks = testState.currentStateMap.interfaces[0].options,
+        canContinue = true;
 
     // Check that the anchor and reference objects are correctly placed
     if (interfaceContext.checkHiddenAnchor() == false) {