mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Accordion: First pass at deprecating the activate method. Renamed _clickHandler to _eventHandler and removed extraneous parameter. Updated all tests to use the option methods instead of the activate method.
This commit is contained in:
parent
b6ed9328ef
commit
8b23483c0b
@ -22,7 +22,7 @@ test("ui-accordion-heading class added to headers anchor", function() {
|
||||
|
||||
test("accessibility", function () {
|
||||
expect(9);
|
||||
var ac = $('#list1').accordion().accordion("activate", 1);
|
||||
var ac = $('#list1').accordion().accordion("option", "active", 1);
|
||||
var headers = $(".ui-accordion-header");
|
||||
|
||||
equals( headers.eq(1).attr("tabindex"), "0", "active header should have tabindex=0");
|
||||
@ -32,7 +32,7 @@ test("accessibility", function () {
|
||||
equals( headers.next().attr("role"), "tabpanel", "tabpanel roles");
|
||||
equals( headers.eq(1).attr("aria-expanded"), "true", "active tab has aria-expanded");
|
||||
equals( headers.eq(0).attr("aria-expanded"), "false", "inactive tab has aria-expanded");
|
||||
ac.accordion("activate", 0);
|
||||
ac.accordion("option", "active", 0);
|
||||
equals( headers.eq(0).attr("aria-expanded"), "true", "newly active tab has aria-expanded");
|
||||
equals( headers.eq(1).attr("aria-expanded"), "false", "newly inactive tab has aria-expanded");
|
||||
});
|
||||
|
@ -17,14 +17,14 @@ test("accordionchange event, open closed and close again", function() {
|
||||
equals( ui.newHeader.size(), 1 );
|
||||
equals( ui.newContent.size(), 1 );
|
||||
})
|
||||
.accordion("activate", 0)
|
||||
.accordion("option", "active", 0)
|
||||
.one("accordionchange", function(event, ui) {
|
||||
equals( ui.oldHeader.size(), 1 );
|
||||
equals( ui.oldContent.size(), 1 );
|
||||
equals( ui.newHeader.size(), 0 );
|
||||
equals( ui.newContent.size(), 0 );
|
||||
})
|
||||
.accordion("activate", 0);
|
||||
.accordion("option", "active", 0);
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -50,10 +50,10 @@ test("disable", function() {
|
||||
equals(actual, expected, 'disable is chainable');
|
||||
|
||||
state(expected, 1, 0, 0)
|
||||
expected.accordion("activate", 1);
|
||||
expected.accordion("option", "active", 1);
|
||||
state(expected, 1, 0, 0)
|
||||
expected.accordion("enable");
|
||||
expected.accordion("activate", 1);
|
||||
expected.accordion("option", "active", 1);
|
||||
state(expected, 0, 1, 0)
|
||||
});
|
||||
|
||||
|
@ -61,7 +61,7 @@ test("{ active: Number }", function() {
|
||||
$('.ui-accordion-header:eq(2)', '#list1').click();
|
||||
equals( $("#list1").accordion('option', 'active'), 2);
|
||||
|
||||
$("#list1").accordion('activate', 0);
|
||||
$("#list1").accordion('option', 'active', 0);
|
||||
equals( $("#list1").accordion('option', 'active'), 0);
|
||||
});
|
||||
|
||||
@ -96,7 +96,7 @@ test("{ heightStyle: 'content' }", function() {
|
||||
});
|
||||
test("{ collapsible: false }, default", function() {
|
||||
var ac = $("#list1").accordion();
|
||||
ac.accordion("activate", false);
|
||||
ac.accordion("option", "active", false);
|
||||
state(ac, 1, 0, 0);
|
||||
});
|
||||
|
||||
|
23
ui/jquery.ui.accordion.js
vendored
23
ui/jquery.ui.accordion.js
vendored
@ -120,7 +120,7 @@ $.widget( "ui.accordion", {
|
||||
|
||||
if ( options.event ) {
|
||||
self.headers.bind( options.event.split(" ").join(".accordion ") + ".accordion", function(event) {
|
||||
self._clickHandler.call( self, event, this );
|
||||
self._eventHandler( event );
|
||||
event.preventDefault();
|
||||
});
|
||||
}
|
||||
@ -176,7 +176,7 @@ $.widget( "ui.accordion", {
|
||||
$.Widget.prototype._setOption.apply( this, arguments );
|
||||
|
||||
if ( key == "active" ) {
|
||||
this.activate( value );
|
||||
this._activate( value );
|
||||
}
|
||||
if ( key == "icons" ) {
|
||||
this._destroyIcons();
|
||||
@ -213,7 +213,7 @@ $.widget( "ui.accordion", {
|
||||
break;
|
||||
case keyCode.SPACE:
|
||||
case keyCode.ENTER:
|
||||
this._clickHandler( { target: event.target }, event.target );
|
||||
this._eventHandler( event );
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
@ -272,14 +272,11 @@ $.widget( "ui.accordion", {
|
||||
return this;
|
||||
},
|
||||
|
||||
activate: function( index ) {
|
||||
// TODO this gets called on init, changing the option without an explicit call for that
|
||||
_activate: function( index ) {
|
||||
// TODO: handle invalid values
|
||||
this.options.active = index;
|
||||
// call clickHandler with custom event
|
||||
var active = this._findActive( index )[ 0 ];
|
||||
this._clickHandler( { target: active }, active );
|
||||
|
||||
return this;
|
||||
this._eventHandler( { target: active, currentTarget: active } );
|
||||
},
|
||||
|
||||
_findActive: function( selector ) {
|
||||
@ -292,8 +289,7 @@ $.widget( "ui.accordion", {
|
||||
: this.headers.filter( ":eq(0)" );
|
||||
},
|
||||
|
||||
// TODO isn't event.target enough? why the separate target argument?
|
||||
_clickHandler: function( event, target ) {
|
||||
_eventHandler: function( event ) {
|
||||
var options = this.options;
|
||||
if ( options.disabled ) {
|
||||
return;
|
||||
@ -325,7 +321,7 @@ $.widget( "ui.accordion", {
|
||||
}
|
||||
|
||||
// get the click target
|
||||
var clicked = $( event.currentTarget || target ),
|
||||
var clicked = $( event.currentTarget ),
|
||||
clickedIsActive = clicked[0] === this.active[0];
|
||||
|
||||
// TODO the option is changed, is that correct?
|
||||
@ -683,4 +679,7 @@ $.extend( $.ui.accordion, {
|
||||
};
|
||||
}( jQuery, jQuery.ui.accordion.prototype ) );
|
||||
|
||||
// activate method
|
||||
jQuery.ui.accordion.prototype.activate = jQuery.ui.accordion.prototype._activate;
|
||||
|
||||
})( jQuery );
|
||||
|
Loading…
Reference in New Issue
Block a user