From a2ddfd51072952969792cd3b503e573ea8f18d30 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Wed, 29 Sep 2010 17:36:45 -0700 Subject: [PATCH] Widget: Added create event. Fixes #6126 - Widget: Add create event. --- tests/unit/widget/widget_core.js | 24 ++++++++++++++---------- ui/jquery.ui.widget.js | 1 + 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index 76d6543c2..364838e3f 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -27,14 +27,14 @@ test( "widget creation", function() { }); test( "jQuery usage", function() { - expect( 10 ); + expect( 11 ); - var shouldInit = false; + var shouldCreate = false; $.widget( "ui.testWidget", { getterSetterVal: 5, _create: function() { - ok( shouldInit, "init called on instantiation" ); + ok( shouldCreate, "create called on instantiation" ); }, methodWithParams: function( param1, param2 ) { ok( true, "method called via .pluginName(methodName)" ); @@ -54,9 +54,13 @@ test( "jQuery usage", function() { } }); - shouldInit = true; - var elem = $( "
" ).testWidget(); - shouldInit = false; + shouldCreate = true; + var elem = $( "
" ) + .bind( "testwidgetcreate", function() { + ok( shouldCreate, "create event triggered on instantiation" ); + }) + .testWidget(); + shouldCreate = false; var instance = elem.data( "testWidget" ); equals( typeof instance, "object", "instance stored in .data(pluginName)" ); @@ -74,12 +78,12 @@ test( "jQuery usage", function() { test( "direct usage", function() { expect( 9 ); - var shouldInit = false; + var shouldCreate = false; $.widget( "ui.testWidget", { getterSetterVal: 5, _create: function() { - ok( shouldInit, "init called on instantiation" ); + ok( shouldCreate, "create called on instantiation" ); }, methodWithParams: function( param1, param2 ) { ok( true, "method called dirctly" ); @@ -99,9 +103,9 @@ test( "direct usage", function() { var elem = $( "
" )[ 0 ]; - shouldInit = true; + shouldCreate = true; var instance = new $.ui.testWidget( {}, elem ); - shouldInit = false; + shouldCreate = false; equals( $( elem ).data( "testWidget" ), instance, "instance stored in .data(pluginName)" ); diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js index 866f7441e..bc6408125 100644 --- a/ui/jquery.ui.widget.js +++ b/ui/jquery.ui.widget.js @@ -154,6 +154,7 @@ $.Widget.prototype = { }); this._create(); + this._trigger( "create" ); this._init(); }, _create: function() {}, -- 2.39.5