Skip to content

Commit 8b0c361

Browse files
committed
Tabs: Rename select event to beforeActivate. Fixes #7136 Tabs: Rename select event to beforeActivate
1 parent 787efd3 commit 8b0c361

File tree

5 files changed

+39
-14
lines changed

5 files changed

+39
-14
lines changed

tests/unit/tabs/tabs_defaults.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
var tabs_defaults = {
66
activate: null,
77
beforeload: null,
8+
beforeActivate: null,
89
collapsible: false,
910
cookie: null,
1011
disabled: false,
1112
event: "click",
1213
fx: null,
13-
load: null,
14-
select: null
14+
load: null
1515
};
1616

1717
// FAIL: falsy values break the cookie option

tests/unit/tabs/tabs_defaults_deprecated.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ var tabs_defaults = {
77
add: null,
88
ajaxOptions: null,
99
beforeload: null,
10+
beforeActivate: null,
1011
cache: false,
1112
collapsible: false,
1213
cookie: null,

tests/unit/tabs/tabs_deprecated.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,27 @@ test('show', function() {
188188

189189
});
190190

191+
test('select', function() {
192+
expect(7);
193+
194+
var eventObj;
195+
el = $('#tabs1').tabs({
196+
select: function(event, ui) {
197+
ok(true, 'select triggered after initialization');
198+
equals(this, el[0], "context of callback");
199+
equals(event.type, 'tabsselect', 'event type in callback');
200+
equals(ui.tab, el.find('a')[1], 'contain tab as DOM anchor element');
201+
equals(ui.panel, el.find('div')[1], 'contain panel as DOM div element');
202+
equals(ui.index, 1, 'contain index');
203+
evenObj = event;
204+
}
205+
});
206+
el.tabs('select', 1);
207+
208+
el.find( "li:eq(1) a" ).simulate( "click" );
209+
equals( evenObj.originalEvent.type, "click", "select triggered by click" );
210+
});
211+
191212
module("tabs (deprecated): methods");
192213

193214
test('add', function() {

tests/unit/tabs/tabs_events.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
module("tabs: events");
77

8-
test('select', function() {
8+
test('beforeActivate', function() {
99
expect(7);
1010

1111
var eventObj;
1212
el = $('#tabs1').tabs({
13-
select: function(event, ui) {
14-
ok(true, 'select triggered after initialization');
13+
beforeActivate: function(event, ui) {
14+
ok(true, 'beforeActivate triggered after initialization');
1515
equals(this, el[0], "context of callback");
16-
equals(event.type, 'tabsselect', 'event type in callback');
16+
equals(event.type, 'tabsbeforeactivate', 'event type in callback');
1717
equals(ui.tab, el.find('a')[1], 'contain tab as DOM anchor element');
1818
equals(ui.panel, el.find('div')[1], 'contain panel as DOM div element');
1919
equals(ui.index, 1, 'contain index');
@@ -23,7 +23,7 @@ test('select', function() {
2323
el.tabs('select', 1);
2424

2525
el.find( "li:eq(1) a" ).simulate( "click" );
26-
equals( evenObj.originalEvent.type, "click", "select triggered by click" );
26+
equals( evenObj.originalEvent.type, "click", "beforeActivate triggered by click" );
2727
});
2828

2929
test('beforeload', function() {

ui/jquery.ui.tabs.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ $.widget( "ui.tabs", {
2828
options: {
2929
activate: null,
3030
beforeload: null,
31+
beforeActivate: null,
3132
cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true }
3233
collapsible: false,
3334
disabled: false,
3435
event: "click",
3536
fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 }
36-
load: null,
37-
select: null
37+
load: null
3838
},
3939

4040
_create: function() {
@@ -363,8 +363,8 @@ $.widget( "ui.tabs", {
363363
$li.hasClass( "ui-state-disabled" ) ||
364364
// tab is already loading
365365
$li.hasClass( "ui-state-processing" ) ||
366-
// allow canceling by select event
367-
self._trigger( "select", event, self._ui( el, $show[ 0 ] ) ) === false ) {
366+
// allow canceling by beforeActivate event
367+
self._trigger( "beforeActivate", event, self._ui( el, $show[ 0 ] ) ) === false ) {
368368
el.blur();
369369
return;
370370
}
@@ -927,10 +927,11 @@ if ( $.uiBackCompat !== false ) {
927927
};
928928
}( jQuery, jQuery.ui.tabs.prototype ) );
929929

930-
// show event
930+
// show and select event
931931
(function( $, prototype ) {
932932
$.extend( prototype.options, {
933-
show: null
933+
show: null,
934+
select: null
934935
});
935936
var _trigger = prototype._trigger;
936937

@@ -939,7 +940,9 @@ if ( $.uiBackCompat !== false ) {
939940
if ( !ret ) {
940941
return false;
941942
}
942-
if ( type === "activate" ) {
943+
if ( type === "beforeActivate" ) {
944+
ret = _trigger.call( this, "select", event, data );
945+
} else if ( type === "activate" ) {
943946
ret = _trigger.call( this, "show", event, data );
944947
}
945948
};

0 commit comments

Comments
 (0)