diff interfaces/discrete.js @ 1356:386415d2a5c1

Added master volume. Ensured playhead, page-count and volume <interfaceoption> show options are enabled on all test pages.
author Nicholas Jillings <nickjillings@users.noreply.github.com>
date Mon, 25 Jan 2016 17:29:34 +0000
parents 8605db97c241
children 159b87e5de67
line wrap: on
line diff
--- a/interfaces/discrete.js	Fri Jan 22 17:03:18 2016 +0000
+++ b/interfaces/discrete.js	Mon Jan 25 17:29:34 2016 +0000
@@ -113,6 +113,7 @@
 	var id = page.id;
 	
 	var feedbackHolder = document.getElementById('feedbackHolder');
+    feedbackHolder.innerHTML = null;
 	var interfaceObj = page.interfaces;
 	if (interfaceObj.length > 1)
 	{
@@ -123,6 +124,44 @@
 	{
 		document.getElementById("pageTitle").textContent = interfaceObj.title;
 	}
+    
+    var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options);
+    for (var option of interfaceOptions)
+    {
+        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.appendChild(playbackHolder);
+                    }
+                    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 '+(page.presentedId+1)+' of '+specification.pages.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;
+            }
+        }
+    }
 	
 	// Delete outside reference
 	var outsideReferenceHolder = document.getElementById('outside-reference');
@@ -131,7 +170,6 @@
 	}
 	
 	var sliderBox = document.getElementById('slider-holder');
-	feedbackHolder.innerHTML = null;
 	sliderBox.innerHTML = null;
 	
 	var commentBoxPrefix = "Comment on track";