comparison interfaces/horizontal-sliders.js @ 2381:5b23f2e05207

Fixes for #90. Edge should now be WAET compliant. Hacky temporary solution for #91.
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Fri, 20 May 2016 13:22:07 +0100
parents a3099bdb056c
children dc13bd68ea34
comparison
equal deleted inserted replaced
2380:ae6a9d3426f8 2381:5b23f2e05207
90 // Global parent for the comment boxes on the page 90 // Global parent for the comment boxes on the page
91 var feedbackHolder = document.createElement('div'); 91 var feedbackHolder = document.createElement('div');
92 feedbackHolder.id = 'feedbackHolder'; 92 feedbackHolder.id = 'feedbackHolder';
93 93
94 testContent.style.zIndex = 1; 94 testContent.style.zIndex = 1;
95 interfaceContext.insertPoint.innerHTML = null; // Clear the current schema 95 interfaceContext.insertPoint.innerHTML = ""; // Clear the current schema
96 96
97 // Inject into HTML 97 // Inject into HTML
98 testContent.appendChild(title); // Insert the title 98 testContent.appendChild(title); // Insert the title
99 testContent.appendChild(pagetitle); 99 testContent.appendChild(pagetitle);
100 testContent.appendChild(interfaceButtons); 100 testContent.appendChild(interfaceButtons);
111 { 111 {
112 // Called each time a new test page is to be build. The page specification node is the only item passed in 112 // Called each time a new test page is to be build. The page specification node is the only item passed in
113 var id = page.id; 113 var id = page.id;
114 114
115 var feedbackHolder = document.getElementById('feedbackHolder'); 115 var feedbackHolder = document.getElementById('feedbackHolder');
116 feedbackHolder.innerHTML = null; 116 feedbackHolder.innerHTML = "";
117 117
118 var interfaceObj = page.interfaces; 118 var interfaceObj = page.interfaces;
119 if (interfaceObj.length > 1) 119 if (interfaceObj.length > 1)
120 { 120 {
121 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); 121 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node");
169 if (outsideReferenceHolder != null) { 169 if (outsideReferenceHolder != null) {
170 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); 170 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder);
171 } 171 }
172 172
173 var sliderBox = document.getElementById('slider-holder'); 173 var sliderBox = document.getElementById('slider-holder');
174 sliderBox.innerHTML = null; 174 sliderBox.innerHTML = "";
175 175
176 var commentBoxPrefix = "Comment on track"; 176 var commentBoxPrefix = "Comment on track";
177 if (interfaceObj.commentBoxPrefix != undefined) { 177 if (interfaceObj.commentBoxPrefix != undefined) {
178 commentBoxPrefix = interfaceObj.commentBoxPrefix; 178 commentBoxPrefix = interfaceObj.commentBoxPrefix;
179 } 179 }
357 // Called on every window resize event, use this to scale your page properly 357 // Called on every window resize event, use this to scale your page properly
358 358
359 var numObj = document.getElementsByClassName('track-slider').length; 359 var numObj = document.getElementsByClassName('track-slider').length;
360 var totalHeight = (numObj * 125)-25; 360 var totalHeight = (numObj * 125)-25;
361 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px'; 361 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px';
362 // Cheers edge for making me delete a canvas every resize.
362 var canvas = document.getElementById('scale-canvas'); 363 var canvas = document.getElementById('scale-canvas');
363 canvas.width = window.innerWidth-420; 364 var new_canvas = document.createElement("canvas");
364 canvas.height = totalHeight; 365 new_canvas.id = 'scale-canvas';
366 new_canvas.style.marginLeft = "100px";
367 canvas.parentElement.appendChild(new_canvas);
368 canvas.parentElement.removeChild(canvas);
369 new_canvas.width = window.innerWidth-420;
370 new_canvas.height = totalHeight;
365 for (var i in audioEngineContext.audioObjects) 371 for (var i in audioEngineContext.audioObjects)
366 { 372 {
367 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ 373 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){
368 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); 374 audioEngineContext.audioObjects[i].interfaceDOM.resize(event);
369 } 375 }
382 var canvas = document.getElementById('scale-canvas'); 388 var canvas = document.getElementById('scale-canvas');
383 var ctx = canvas.getContext("2d"); 389 var ctx = canvas.getContext("2d");
384 var height = canvas.height; 390 var height = canvas.height;
385 var width = canvas.width; 391 var width = canvas.width;
386 var textHolder = document.getElementById('scale-text-holder'); 392 var textHolder = document.getElementById('scale-text-holder');
387 textHolder.innerHTML = null; 393 textHolder.innerHTML = "";
388 ctx.fillStyle = "#000000"; 394 ctx.fillStyle = "#000000";
389 ctx.setLineDash([1,4]); 395 ctx.setLineDash([1,4]);
390 for (var scale of scales) 396 for (var scale of scales)
391 { 397 {
392 var posPercent = scale.position / 100.0; 398 var posPercent = scale.position / 100.0;