comparison interfaces/ape.js @ 3011:03b9e845f730

Completed refactoring of ape.js to be modular.
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Fri, 04 Aug 2017 11:27:55 +0200
parents 7bbf1b1bfd95
children f06405eacbe1
comparison
equal deleted inserted replaced
3010:7bbf1b1bfd95 3011:03b9e845f730
21 testContent.id = 'testContent'; 21 testContent.id = 'testContent';
22 22
23 // Bindings for interfaceContext 23 // Bindings for interfaceContext
24 24
25 interfaceContext.checkAllMoved = function () { 25 interfaceContext.checkAllMoved = function () {
26 module.checkAllMoved(); 26 return module.checkAllMoved();
27 }; 27 };
28 28
29 interfaceContext.checkScaleRange = function () { 29 interfaceContext.checkScaleRange = function () {
30 module.checkScaleRange(); 30 return module.checkScaleRange();
31 }; 31 };
32 32
33 // Bindings for audioObjects 33 // Bindings for audioObjects
34 34
35 // Create the top div for the Title element 35 // Create the top div for the Title element
308 var label = ""; 308 var label = "";
309 var metric = new metricTracker(this); 309 var metric = new metricTracker(this);
310 trackObj.align = "center"; 310 trackObj.align = "center";
311 trackObj.className = 'track-slider track-slider-disabled'; 311 trackObj.className = 'track-slider track-slider-disabled';
312 trackObj.appendChild(labelHolder); 312 trackObj.appendChild(labelHolder);
313 trackObj.style.left = (Math.random() * $(sliderRail).width()) - 50 + "px"; 313 trackObj.style.left = (Math.random() * $(sliderRail).width()) + 50 + "px";
314 axisInterface.sliderRail.appendChild(trackObj); 314 axisInterface.sliderRail.appendChild(trackObj);
315 metric.initialise(this.value); 315 metric.initialise(this.value);
316 this.setLabel = function (s) { 316 this.setLabel = function (s) {
317 label = s; 317 label = s;
318 } 318 }
367 this.pageXMLSave = function (inject) { 367 this.pageXMLSave = function (inject) {
368 var nodes = metric.exportXMLDOM(inject); 368 var nodes = metric.exportXMLDOM(inject);
369 nodes.forEach(function (elem) { 369 nodes.forEach(function (elem) {
370 var name = elem.getAttribute("name"); 370 var name = elem.getAttribute("name");
371 if (name == "elementTracker" || name == "elementTrackerFull" || name == "elementInitialPosition" || name == "elementFlagMoved") { 371 if (name == "elementTracker" || name == "elementTrackerFull" || name == "elementInitialPosition" || name == "elementFlagMoved") {
372 mrnodes[j].setAttribute("interface-name", axisInterface.name); 372 elem.setAttribute("interface-name", axisInterface.name);
373 } else {
374 inject.removeChild(elem);
373 } 375 }
374 }); 376 });
375 } 377 }
376 this.hasMoved = function () { 378 this.hasMoved = function () {
377 return metric.wasMoved; 379 return metric.wasMoved;
619 // Construct outside reference; 621 // Construct outside reference;
620 var orNode = new outsideReferenceDOM(audioObject, index, document.getElementById("outside-reference-holder")); 622 var orNode = new outsideReferenceDOM(audioObject, index, document.getElementById("outside-reference-holder"));
621 audioObject.bindInterface(orNode); 623 audioObject.bindInterface(orNode);
622 } else { 624 } else {
623 var aoi = new audioObjectInterface(audioObject, this); 625 var aoi = new audioObjectInterface(audioObject, this);
626 AOIs.push(aoi);
624 var label = interfaceContext.getLabel(page.label, index, page.labelStart); 627 var label = interfaceContext.getLabel(page.label, index, page.labelStart);
625 axis.forEach(function (a) { 628 axis.forEach(function (a) {
626 var node = a.addSlider(aoi); 629 var node = a.addSlider(aoi);
627 node.setLabel(label); 630 node.setLabel(label);
628 aoi.addSlider(node); 631 aoi.addSlider(node);
664 console.log(str); 667 console.log(str);
665 } 668 }
666 return cont; 669 return cont;
667 } 670 }
668 this.pageXMLSave = function (store, pageSpecification) { 671 this.pageXMLSave = function (store, pageSpecification) {
669 AOIs.forEach(function (ao) { 672 if (axis.length > 1) {
670 ao.pageXMLSave(store); 673 AOIs.forEach(function (ao) {
671 }); 674 ao.pageXMLSave(store);
675 });
676 }
672 } 677 }
673 } 678 }
674 679
675 function outsideReferenceDOM(audioObject, index, inject) { 680 function outsideReferenceDOM(audioObject, index, inject) {
676 this.parent = audioObject; 681 this.parent = audioObject;