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;