Mercurial > hg > webaudioevaluationtool
comparison interfaces/discrete.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 var interfaceObj = page.interfaces; | 117 var interfaceObj = page.interfaces; |
118 if (interfaceObj.length > 1) | 118 if (interfaceObj.length > 1) |
119 { | 119 { |
120 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); | 120 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); |
121 } | 121 } |
168 if (outsideReferenceHolder != null) { | 168 if (outsideReferenceHolder != null) { |
169 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); | 169 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); |
170 } | 170 } |
171 | 171 |
172 var sliderBox = document.getElementById('slider-holder'); | 172 var sliderBox = document.getElementById('slider-holder'); |
173 sliderBox.innerHTML = null; | 173 sliderBox.innerHTML = ""; |
174 | 174 |
175 var commentBoxPrefix = "Comment on track"; | 175 var commentBoxPrefix = "Comment on track"; |
176 if (interfaceObj.commentBoxPrefix != undefined) { | 176 if (interfaceObj.commentBoxPrefix != undefined) { |
177 commentBoxPrefix = interfaceObj.commentBoxPrefix; | 177 commentBoxPrefix = interfaceObj.commentBoxPrefix; |
178 } | 178 } |
403 { | 403 { |
404 // Called on every window resize event, use this to scale your page properly | 404 // Called on every window resize event, use this to scale your page properly |
405 var numObj = document.getElementsByClassName('track-slider').length; | 405 var numObj = document.getElementsByClassName('track-slider').length; |
406 var totalHeight = (numObj * 66)-30; | 406 var totalHeight = (numObj * 66)-30; |
407 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px'; | 407 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px'; |
408 // Cheers edge for making me delete a canvas every resize. | |
408 var canvas = document.getElementById('scale-canvas'); | 409 var canvas = document.getElementById('scale-canvas'); |
409 canvas.width = window.innerWidth-520; | 410 var new_canvas = document.createElement("canvas"); |
410 canvas.height = totalHeight; | 411 new_canvas.id = 'scale-canvas'; |
412 new_canvas.style.marginLeft = "150px"; | |
413 canvas.parentElement.appendChild(new_canvas); | |
414 canvas.parentElement.removeChild(canvas); | |
415 new_canvas.width = window.innerWidth-520; | |
416 new_canvas.height = totalHeight; | |
411 for (var i in audioEngineContext.audioObjects) | 417 for (var i in audioEngineContext.audioObjects) |
412 { | 418 { |
413 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ | 419 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ |
414 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); | 420 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); |
415 } | 421 } |
429 var canvas = document.getElementById('scale-canvas'); | 435 var canvas = document.getElementById('scale-canvas'); |
430 var ctx = canvas.getContext("2d"); | 436 var ctx = canvas.getContext("2d"); |
431 var height = canvas.height; | 437 var height = canvas.height; |
432 var width = canvas.width; | 438 var width = canvas.width; |
433 var textHolder = document.getElementById('scale-text-holder'); | 439 var textHolder = document.getElementById('scale-text-holder'); |
434 textHolder.innerHTML = null; | 440 textHolder.innerHTML = ""; |
435 ctx.fillStyle = "#000000"; | 441 ctx.fillStyle = "#000000"; |
436 ctx.setLineDash([1,4]); | 442 ctx.setLineDash([1,4]); |
437 for (var scale of scales) | 443 for (var scale of scales) |
438 { | 444 { |
439 var posPercent = scale.position / 100.0; | 445 var posPercent = scale.position / 100.0; |