Side navigation
Ticket #2053: ui-slider-startValue.patch
File ui-slider-startValue.patch, 2.1 KB (added by joern, March 13, 2008 02:24PM UTC)
startvalue as array for multiple handles patch, requires #2500 to be fixed
Index: ui/ui.slider.js
===================================================================
--- ui/ui.slider.js (revision 4895)
+++ ui/ui.slider.js (working copy)
@@ -32,8 +32,7 @@
$.extend(o, {
axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'),
maxValue: !isNaN(parseInt(o.maxValue,10)) ? parseInt(o.maxValue,10) : 100,
- minValue: parseInt(o.minValue,10) || 0,
- startValue: parseInt(o.startValue,10) || 'none'
+ minValue: parseInt(o.minValue,10) || 0
});
//Prepare the real maxValue
@@ -93,7 +92,12 @@
this.element.bind('click', function(e) { self.click.apply(self, [e]); });
//Move the first handle to the startValue
- if(!isNaN(o.startValue)) this.moveTo(o.startValue, 0);
+ if (o.startValue && o.startValue.length) {
+ $.each(o.startValue, function(index, value) {
+ self.moveTo(value, index);
+ });
+ } else if (!isNaN(o.startValue))
+ this.moveTo(o.startValue, 0);
//If we only have one handle, set the previous handle to this one to allow clicking before selecting the handle
if(this.handle.length == 1) this.previousHandle = this.handle;
@@ -237,8 +241,17 @@
if(handle == undefined && !this.currentHandle && this.handle.length != 1) return false; //If no handle has been passed, no current handle is available and we have multiple handles, return false
if(handle == undefined && !this.currentHandle) handle = 0; //If only one handle is available, use it
if(handle != undefined) this.currentHandle = this.previousHandle = $(this.handle[handle] || handle);
-
- if(value.constructor == String) value = /\-\=/.test(value) ? this.value() - parseInt(value.replace('-=', ''),10) : this.value() + parseInt(value.replace('+=', ''),10);
+
+ if(value.constructor == String) {
+ if (/^\-\=/.test(value) ) {
+ value = this.value() - parseInt(value.replace('-=', ''), 10)
+ } else if (/^\+\=/.test(value) ) {
+ value = this.value() + parseInt(value.replace('+=', ''), 10)
+ } else {
+ value = parseInt(value, 10);
+ }
+ }
+
if(o.stepping) value = Math.round(value / o.stepping) * o.stepping;
value = this.translateValue(value);
Download in other formats:
Original Format
File ui-slider-startValue.patch, 2.1 KB (added by joern, March 13, 2008 02:24PM UTC)
startvalue as array for multiple handles patch, requires #2500 to be fixed
Index: ui/ui.slider.js
===================================================================
--- ui/ui.slider.js (revision 4895)
+++ ui/ui.slider.js (working copy)
@@ -32,8 +32,7 @@
$.extend(o, {
axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'),
maxValue: !isNaN(parseInt(o.maxValue,10)) ? parseInt(o.maxValue,10) : 100,
- minValue: parseInt(o.minValue,10) || 0,
- startValue: parseInt(o.startValue,10) || 'none'
+ minValue: parseInt(o.minValue,10) || 0
});
//Prepare the real maxValue
@@ -93,7 +92,12 @@
this.element.bind('click', function(e) { self.click.apply(self, [e]); });
//Move the first handle to the startValue
- if(!isNaN(o.startValue)) this.moveTo(o.startValue, 0);
+ if (o.startValue && o.startValue.length) {
+ $.each(o.startValue, function(index, value) {
+ self.moveTo(value, index);
+ });
+ } else if (!isNaN(o.startValue))
+ this.moveTo(o.startValue, 0);
//If we only have one handle, set the previous handle to this one to allow clicking before selecting the handle
if(this.handle.length == 1) this.previousHandle = this.handle;
@@ -237,8 +241,17 @@
if(handle == undefined && !this.currentHandle && this.handle.length != 1) return false; //If no handle has been passed, no current handle is available and we have multiple handles, return false
if(handle == undefined && !this.currentHandle) handle = 0; //If only one handle is available, use it
if(handle != undefined) this.currentHandle = this.previousHandle = $(this.handle[handle] || handle);
-
- if(value.constructor == String) value = /\-\=/.test(value) ? this.value() - parseInt(value.replace('-=', ''),10) : this.value() + parseInt(value.replace('+=', ''),10);
+
+ if(value.constructor == String) {
+ if (/^\-\=/.test(value) ) {
+ value = this.value() - parseInt(value.replace('-=', ''), 10)
+ } else if (/^\+\=/.test(value) ) {
+ value = this.value() + parseInt(value.replace('+=', ''), 10)
+ } else {
+ value = parseInt(value, 10);
+ }
+ }
+
if(o.stepping) value = Math.round(value / o.stepping) * o.stepping;
value = this.translateValue(value);