mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
Tabs: Fixed enabled and disabled methods. Fixes #7142 - Tabs: Deprecate enable and disable events.
This commit is contained in:
parent
5e44b3ce88
commit
45c727d75e
@ -152,39 +152,37 @@ test('selected', function() {
|
|||||||
equals(el.tabs('option', 'selected'), 1, 'should select tab');
|
equals(el.tabs('option', 'selected'), 1, 'should select tab');
|
||||||
});
|
});
|
||||||
|
|
||||||
module("tabs (deprecated): events");
|
module( "tabs (deprecated): events" );
|
||||||
|
|
||||||
test('enable', function() {
|
test( "enable", function() {
|
||||||
expect(4);
|
expect( 3 );
|
||||||
|
|
||||||
var uiObj;
|
var element = $( "#tabs1" ).tabs({
|
||||||
el = $('#tabs1').tabs({
|
|
||||||
disabled: [ 0, 1 ],
|
disabled: [ 0, 1 ],
|
||||||
enable: function (event, ui) {
|
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);
|
element.tabs( "enable", 1 );
|
||||||
ok(uiObj !== undefined, 'trigger callback');
|
// shouldn't trigger event
|
||||||
equals(uiObj.tab, $('a', el)[1], 'contain tab as DOM anchor element');
|
element.tabs( "enable", 2 );
|
||||||
equals(uiObj.panel, $('div', el)[1], 'contain panel as DOM div element');
|
|
||||||
equals(uiObj.index, 1, 'contain index');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('disable', function() {
|
test( "disable", function() {
|
||||||
expect(4);
|
expect( 3 );
|
||||||
|
|
||||||
var uiObj;
|
var element = $( "#tabs1" ).tabs({
|
||||||
el = $('#tabs1').tabs({
|
disable: function ( event, ui ) {
|
||||||
disable: function (event, ui) {
|
equals( ui.tab, element.find( ".ui-tabs-nav a" )[ 1 ], "ui.tab" );
|
||||||
uiObj = ui;
|
equals( ui.panel, element.find( ".ui-tabs-panel" )[ 1 ], "ui.panel" );
|
||||||
|
equals( ui.index, 1, "ui.index" );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
el.tabs('disable', 1);
|
element.tabs( "disable", 1 );
|
||||||
ok(uiObj !== undefined, 'trigger callback');
|
// shouldn't trigger event
|
||||||
equals(uiObj.tab, $('a', el)[1], 'contain tab as DOM anchor element');
|
element.tabs( "disable", 1 );
|
||||||
equals(uiObj.panel, $('div', el)[1], 'contain panel as DOM div element');
|
|
||||||
equals(uiObj.index, 1, 'contain index');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('show', function() {
|
test('show', function() {
|
||||||
|
10
ui/jquery.ui.tabs.js
vendored
10
ui/jquery.ui.tabs.js
vendored
@ -783,10 +783,11 @@ if ( $.uiBackCompat !== false ) {
|
|||||||
disable = prototype.disable;
|
disable = prototype.disable;
|
||||||
|
|
||||||
prototype.enable = function( index ) {
|
prototype.enable = function( index ) {
|
||||||
var o = this.options,
|
var options = this.options,
|
||||||
trigger;
|
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;
|
trigger = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -798,10 +799,11 @@ if ( $.uiBackCompat !== false ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
prototype.disable = function( index ) {
|
prototype.disable = function( index ) {
|
||||||
var o = this.options,
|
var options = this.options,
|
||||||
trigger;
|
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;
|
trigger = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user