Tabs: Fixed enabled and disabled methods. Fixes #7142 - Tabs: Deprecate enable and disable events.

This commit is contained in:
Scott González 2011-05-03 06:31:12 -04:00
parent 5e44b3ce88
commit 45c727d75e
2 changed files with 27 additions and 27 deletions

View File

@ -154,37 +154,35 @@ test('selected', function() {
module( "tabs (deprecated): events" );
test('enable', function() {
expect(4);
test( "enable", function() {
expect( 3 );
var uiObj;
el = $('#tabs1').tabs({
var element = $( "#tabs1" ).tabs({
disabled: [ 0, 1 ],
enable: function ( event, ui ) {
uiObj = ui;
equals( ui.tab, element.find( ".ui-tabs-nav a" )[ 1 ], "ui.tab" );
equals( ui.panel, element.find( ".ui-tabs-panel" )[ 1 ], "ui.panel" );
equals( ui.index, 1, "ui.index" );
}
});
el.tabs('enable', 1);
ok(uiObj !== undefined, 'trigger callback');
equals(uiObj.tab, $('a', el)[1], 'contain tab as DOM anchor element');
equals(uiObj.panel, $('div', el)[1], 'contain panel as DOM div element');
equals(uiObj.index, 1, 'contain index');
element.tabs( "enable", 1 );
// shouldn't trigger event
element.tabs( "enable", 2 );
});
test('disable', function() {
expect(4);
test( "disable", function() {
expect( 3 );
var uiObj;
el = $('#tabs1').tabs({
var element = $( "#tabs1" ).tabs({
disable: function ( event, ui ) {
uiObj = ui;
equals( ui.tab, element.find( ".ui-tabs-nav a" )[ 1 ], "ui.tab" );
equals( ui.panel, element.find( ".ui-tabs-panel" )[ 1 ], "ui.panel" );
equals( ui.index, 1, "ui.index" );
}
});
el.tabs('disable', 1);
ok(uiObj !== undefined, 'trigger callback');
equals(uiObj.tab, $('a', el)[1], 'contain tab as DOM anchor element');
equals(uiObj.panel, $('div', el)[1], 'contain panel as DOM div element');
equals(uiObj.index, 1, 'contain index');
element.tabs( "disable", 1 );
// shouldn't trigger event
element.tabs( "disable", 1 );
});
test('show', function() {

10
ui/jquery.ui.tabs.js vendored
View File

@ -783,10 +783,11 @@ if ( $.uiBackCompat !== false ) {
disable = prototype.disable;
prototype.enable = function( index ) {
var o = this.options,
var options = this.options,
trigger;
if ( index && o.disabled || ($.isArray( o.disabled ) && $.inArray( index, o.disabled ) !== -1 ) ) {
if ( index && options.disabled === true ||
( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) !== -1 ) ) {
trigger = true;
}
@ -798,10 +799,11 @@ if ( $.uiBackCompat !== false ) {
};
prototype.disable = function( index ) {
var o = this.options,
var options = this.options,
trigger;
if ( index && !o.disabled || ($.isArray( o.disabled ) && $.inArray( index, o.disabled ) == -1 ) ) {
if ( index && options.disabled === false ||
( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) === -1 ) ) {
trigger = true;
}