From 0b6710aed7fc9a9412a975c9f70d3fd6a87c4b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 27 Sep 2010 10:44:04 -0400 Subject: [PATCH] Progressbar: Added a complete event. Fixes #3500 - Progressbar callback at the end. --- tests/unit/progressbar/progressbar_events.js | 21 ++++++++++++++++++++ ui/jquery.ui.progressbar.js | 3 +++ 2 files changed, 24 insertions(+) diff --git a/tests/unit/progressbar/progressbar_events.js b/tests/unit/progressbar/progressbar_events.js index b273cd5e9..22b301abe 100644 --- a/tests/unit/progressbar/progressbar_events.js +++ b/tests/unit/progressbar/progressbar_events.js @@ -14,4 +14,25 @@ test("change", function() { }).progressbar("value", 5); }); +test( "complete", function() { + expect( 3 ); + var changes = 0, + value; + + $( "#progressbar" ).progressbar({ + change: function() { + changes++; + same( $( this ).progressbar( "value" ), value, "change at " + value ); + }, + complete: function() { + equal( changes, 2, "complete triggered after change" ); + } + }); + + value = 5; + $( "#progressbar" ).progressbar( "value", value ); + value = 100; + $( "#progressbar" ).progressbar( "value", value ); +}); + })(jQuery); diff --git a/ui/jquery.ui.progressbar.js b/ui/jquery.ui.progressbar.js index e0b728f1a..5347e026b 100644 --- a/ui/jquery.ui.progressbar.js +++ b/ui/jquery.ui.progressbar.js @@ -64,6 +64,9 @@ $.widget( "ui.progressbar", { this.options.value = value; this._refreshValue(); this._trigger( "change" ); + if ( this._value() === this.max ) { + this._trigger( "complete" ); + } } $.Widget.prototype._setOption.apply( this, arguments );