r743 - in trunk: tests tests/visual ui
Author: pazu2k@gmail.com
Date: Fri Sep 26 00:21:56 2008
New Revision: 743
Modified:
trunk/tests/spinner.js
trunk/tests/visual/spinner.html
trunk/ui/ui.spinner.js
Log:
Spinner: added a timer to mousewheel interaction which fires a change event
when the mousewheel stops spinning.
Added a few missing options to test case.
Modified: trunk/tests/spinner.js
==============================================================================
--- trunk/tests/spinner.js (original)
+++ trunk/tests/spinner.js Fri Sep 26 00:21:56 2008
@@ -56,7 +56,7 @@
});
test("defaults", function() {
- expect(7);
+ expect(10);
el = $("#spin").spinner();
equals(el.data("currency.spinner"), false, "currency");
@@ -66,6 +66,9 @@
equals(el.data("min.spinner"), undefined, "min");
equals(el.data("start.spinner"), 0, "start");
equals(el.data("stepping.spinner"), 1, "stepping");
+ equals(el.data("decimals.spinner"), 0, "decimals");
+ equals(el.data("format.spinner"), '%', "format");
+ equals(el.data("items.spinner"), false, "items");
});
@@ -260,7 +263,6 @@
$(".ui-spinner-down").trigger("dblclick");
equals(el.val(), 0, "mouse double click to down");
-
});
Modified: trunk/tests/visual/spinner.html
==============================================================================
--- trunk/tests/visual/spinner.html (original)
+++ trunk/tests/visual/spinner.html Fri Sep 26 00:21:56 2008
@@ -6,6 +6,7 @@
<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../ui/ui.core.js"></script>
<script type="text/javascript" src="../../ui/ui.spinner.js"></script>
+<script type="text/javascript" src="../../jquery.mousewheel.js"></script>
<script type="text/javascript">
Modified: trunk/ui/ui.spinner.js
==============================================================================
--- trunk/ui/ui.spinner.js (original)
+++ trunk/ui/ui.spinner.js Fri Sep 26 00:21:56 2008
@@ -263,8 +263,14 @@
(/[0-9\-\.]/).test(String.fromCharCode(e.keyCode))) ? true : false;
},
_mousewheel: function(e, delta) {
+ var self = this;
delta = ($.browser.opera ? -delta / Math.abs(delta) : delta);
- (delta > 0 ? this._up(e) : this._down(e));
+ (delta > 0 ? self._up(e) : self._down(e));
+ if (self.timeout) {
+ window.clearTimeout(self.timeout);
+ self.timeout = 0;
+ }
+ self.timeout = window.setTimeout(function(){self._propagate('change',
e)}, 500);
e.preventDefault();
},
_getValue: function() {