From 5e51b8db284b23bf818148051aaf5b41a7b9c7b1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=CC=88rn=20Zaefferer?= Date: Thu, 1 Mar 2012 15:03:30 +0100 Subject: [PATCH] Update Widget data naming/usage. Remove unnecessary fallbacks, update .removeData to use full name. --- tests/unit/widget/widget_core.js | 5 ++++- ui/jquery.ui.widget.js | 10 +++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index b4bb6356d..e104d4ae9 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -82,7 +82,7 @@ test( "custom selector expression", function() { }); test( "jQuery usage", function() { - expect( 15 ); + expect( 16 ); var shouldCreate = false; @@ -140,6 +140,9 @@ test( "jQuery usage", function() { ret = elem.testWidget( "jQueryObject" ); equal( ret[ 0 ], document.body, "returned jQuery object" ); equal( ret.end(), elem, "stack preserved" ); + + elem.testWidget( "destroy" ); + equal( elem.data( "ui-testWidget" ), null ); }); test( "direct usage", function() { diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js index d06b2654f..17416ff9f 100644 --- a/ui/jquery.ui.widget.js +++ b/ui/jquery.ui.widget.js @@ -163,9 +163,7 @@ $.widget.bridge = function( name, object ) { if ( isMethodCall ) { this.each(function() { - // 1.9 BC for #7810 - // TODO remove fallback to name - var instance = $.data( this, fullName ) || $.data( this, name ); + var instance = $.data( this, fullName ); if ( !instance ) { return $.error( "cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'" ); @@ -183,9 +181,7 @@ $.widget.bridge = function( name, object ) { }); } else { this.each(function() { - // 1.9 BC for #7810 - // TODO remove fallback to name - var instance = $.data( this, fullName ) || $.data( this, name ); + var instance = $.data( this, fullName ); if ( instance ) { instance.option( options || {} )._init(); } else { @@ -252,7 +248,7 @@ $.Widget.prototype = { // all event bindings should go through this._bind() this.element .unbind( "." + this.widgetName ) - .removeData( this.widgetName ); + .removeData( this.widgetFullName ); this.widget() .unbind( "." + this.widgetName ) .removeAttr( "aria-disabled" ) -- 2.39.5