r1221 - in branches/dev/slider: tests/visual ui

r1221 - in branches/dev/slider: tests/visual ui


Author: rdworth
Date: Mon Dec 22 17:17:24 2008
New Revision: 1221
Modified:
branches/dev/slider/tests/visual/slider.html
branches/dev/slider/ui/ui.slider.js
Log:
branches/dev/slider: slider refactor for #3650
- added change callback
Modified: branches/dev/slider/tests/visual/slider.html
==============================================================================
--- branches/dev/slider/tests/visual/slider.html    (original)
+++ branches/dev/slider/tests/visual/slider.html    Mon Dec 22 17:17:24 2008
@@ -13,16 +13,19 @@
        $("#slider2").slider({
            min: -7,
            max: 83,
-            step: 1,
+            step: 2,
            start: function(event, ui) {
-                console.log('start');
+                //console.log('start');
            },
            slide: function(event, ui) {
-                console.log('slide');
-                return (ui.value < 50);
+                //console.log('slide');
+                return (ui.value < 50 || ui.value > 63);
            },
            stop: function(event, ui) {
-                console.log('stop');
+                //console.log('stop');
+            },
+            change: function(event, ui) {
+                //console.log('change');
            }
        });
        $("#slider3").slider({
Modified: branches/dev/slider/ui/ui.slider.js
==============================================================================
--- branches/dev/slider/ui/ui.slider.js    (original)
+++ branches/dev/slider/ui/ui.slider.js    Mon Dec 22 17:17:24 2008
@@ -68,8 +68,10 @@
                case $.ui.keyCode.RIGHT:
                case $.ui.keyCode.DOWN:
                case $.ui.keyCode.LEFT:
-                    self._keySliding = true;
-                    self._start(event);
+                    if (!self._keySliding) {
+                        self._keySliding = true;
+                        self._start(event);
+                    }
                    break;
            }
@@ -96,6 +98,7 @@
        }).keyup(function(event) {
            if (self._keySliding) {
                self._stop(event);
+                self._change(event);
                self._keySliding = false;
            }
        });
@@ -164,6 +167,7 @@
    _mouseStop: function(event) {
        this._stop(event);
+        this._change(event);
        return false;
    },
@@ -222,8 +226,17 @@
        });
    },
+    _change: function(event) {
+        this._trigger("change", event, {
+            value: this.value()
+        });
+    },
+
    value: function(newValue) {
-        arguments.length && this._setData("value", newValue);
+        if (arguments.length) {
+            this._setData("value", newValue);
+            this._change();
+        }
        return this._value();
    },