# HG changeset patch # User Nicholas Jillings # Date 1428918037 -3600 # Node ID 7e73d1cdcff8ccd1fc929046c19bd901951fcfb5 # Parent 436db2f29f73c84bd2ebe7911de31a86f3dbfcc9 Refined metric collection. Rating now correct. Slider scale now fully bounded diff -r 436db2f29f73 -r 7e73d1cdcff8 ape.js --- a/ape.js Mon Apr 13 09:58:16 2015 +0100 +++ b/ape.js Mon Apr 13 10:40:37 2015 +0100 @@ -521,13 +521,16 @@ function dragEnd(ev) { // Function call when a div has been dropped var slider = document.getElementById('slider'); - if (ev.x >= 50 && ev.x < window.innerWidth-50) { - this.style.left = (ev.x)+'px'; + var w = slider.style.width; + w = Number(w.substr(0,w.length-2)); + var x = ev.x; + if (x >= 42 && x < w+42) { + this.style.left = (x)+'px'; } else { - if (ev.x<50) { - this.style.left = '50px'; + if (x<42) { + this.style.left = '42px'; } else { - this.style.left = window.innerWidth-50 + 'px'; + this.style.left = (w+42) + 'px'; } } audioEngineContext.metric.sliderMoved(); @@ -604,6 +607,17 @@ } } +function convSliderPosToRate(id) +{ + var w = document.getElementById('slider').style.width; + var maxPix = w.substr(0,w.length-2); + var slider = document.getElementsByClassName('track-slider')[id]; + var pix = slider.style.left; + pix = pix.substr(0,pix.length-2); + var rate = (pix-42)/maxPix; + return rate; +} + function pageXMLSave(testId) { // Saves a specific test page @@ -620,17 +634,13 @@ xmlDoc.appendChild(metric); var trackSliderObjects = document.getElementsByClassName('track-slider'); var commentObjects = document.getElementsByClassName('comment-div'); - var rateMin = 50; - var rateMax = window.innerWidth-50; for (var i=0; i