From fd48568c402847df8af59166c33549f0d19feb4b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Fri, 9 Nov 2012 14:52:57 -0500 Subject: [PATCH] Tabs: Show panels on destroy. Fixes #8795 - Tabs: 'display: none;' attribute is not removed from tabs when destroy is called. --- tests/unit/testsuite.js | 28 ++++++++++++++++++++++++++++ ui/jquery.ui.tabs.js | 2 ++ 2 files changed, 30 insertions(+) diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index c0ab490e1..bf17670f7 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -205,6 +205,33 @@ window.domEqual = function( selector, modifier, message ) { "title" ]; + function getElementStyles( elem ) { + var key, len, + style = elem.ownerDocument.defaultView ? + elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : + elem.currentStyle, + styles = {}; + + if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { + len = style.length; + while ( len-- ) { + key = style[ len ]; + if ( typeof style[ key ] === "string" ) { + styles[ $.camelCase( key ) ] = style[ key ]; + } + } + // support: Opera, IE <9 + } else { + for ( key in style ) { + if ( typeof style[ key ] === "string" ) { + styles[ key ] = style[ key ]; + } + } + } + + return styles; + } + function extract( elem ) { if ( !elem || !elem.length ) { QUnit.push( false, actual, expected, @@ -222,6 +249,7 @@ window.domEqual = function( selector, modifier, message ) { var value = elem.attr( attr ); result[ attr ] = value !== undefined ? value : ""; }); + result.style = getElementStyles( elem[ 0 ] ); result.events = $._data( elem[ 0 ], "events" ); result.data = $.extend( {}, elem.data() ); delete result.data[ $.expando ]; diff --git a/ui/jquery.ui.tabs.js b/ui/jquery.ui.tabs.js index 49b6d7bf1..5b5227128 100644 --- a/ui/jquery.ui.tabs.js +++ b/ui/jquery.ui.tabs.js @@ -716,6 +716,8 @@ $.widget( "ui.tabs", { } }); + this.panels.show(); + if ( this.options.heightStyle !== "content" ) { this.panels.css( "height", "" ); } -- 2.39.5