From 79b183fd0b5504ab641d1d32a5358aa2f2957f48 Mon Sep 17 00:00:00 2001 From: jonobr1 Date: Mon, 24 Jan 2011 14:02:28 -0800 Subject: [PATCH 1/2] added slider still need to style it --- controller.number.js | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/controller.number.js b/controller.number.js index ec32947..12f0ad1 100644 --- a/controller.number.js +++ b/controller.number.js @@ -9,6 +9,7 @@ var NumberController = function() { var _this = this; var isClicked = false; + var isDragged = false; var y, py, initialValue, inc; py = y = 0; @@ -25,9 +26,20 @@ var NumberController = function() { var button = document.createElement('input'); button.setAttribute('id', this.propertyName); button.setAttribute('type', this.type); - button.setAttribute('value', inc) + button.setAttribute('value', inc); this.domElement.appendChild(button); + var slider = document.createElement('input'); + slider.setAttribute('id', this.propertyName + "-slider"); + slider.setAttribute('type', 'range'); + slider.setAttribute('value', inc); + if(min != null && max != null) { + slider.setAttribute('min', min); + slider.setAttribute('max', max); + } + slider.setAttribute('step', amt); + this.domElement.appendChild(slider); + button.addEventListener('mousedown', function(e) { isClicked = true; }, false); @@ -38,11 +50,14 @@ var NumberController = function() { } else { inc = val; } - this.value = inc; - _this.setValue(inc); + updateValue(inc); + }, false); + slider.addEventListener('mousedown', function(e) { + isDragged = true; }, false); document.addEventListener('mouseup', function(e) { isClicked = false; + isDragged = false; }, false); document.addEventListener('mousemove', function(e) { if(isClicked) { @@ -62,15 +77,22 @@ var NumberController = function() { else inc--; } - button.value = inc; - _this.setValue(inc); + } else if(isDragged) { + if(inc != slider.value) inc = slider.value; } + updateValue(inc); }, false); + function updateValue(val) { + if(inc != val) inc = val; + button.value = val; + slider.value = val; + _this.setValue(val); + } + this.__defineSetter__("position", function(val) { inc = val; - button.value = inc; - _this.setValue(inc); + updateValue(val); // possibly push to an array here so that // we have a record of "defined" / "presets" // ???? @@ -79,4 +101,3 @@ var NumberController = function() { NumberController.prototype = new Controller(); NumberController.prototype.constructor = NumberController; - From 8cf2f47f5a8eba27600fb93429a4481839981067 Mon Sep 17 00:00:00 2001 From: jonobr1 Date: Mon, 24 Jan 2011 14:09:16 -0800 Subject: [PATCH 2/2] merged slider changes --- controller.number.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/controller.number.js b/controller.number.js index d63d490..12f0ad1 100644 --- a/controller.number.js +++ b/controller.number.js @@ -80,11 +80,7 @@ var NumberController = function() { } else if(isDragged) { if(inc != slider.value) inc = slider.value; } -<<<<<<< HEAD updateValue(inc); -======= - return false; ->>>>>>> b8323ce896a851bbe5a18e17bff36a5bdaa97db1 }, false); function updateValue(val) {