mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Accordion: Update activate and beforeActivate event properties to newPanel/oldPanel (instead of content). Fixes #6840 and #6842
This commit is contained in:
parent
f5954fcd74
commit
e0fe788ee0
@ -56,11 +56,11 @@ test( "beforeActivate", function() {
|
||||
element.one( "accordionbeforeactivate", function( event, ui ) {
|
||||
ok( !( "originalEvent" in event ) );
|
||||
equal( ui.oldHeader.length, 0 );
|
||||
equal( ui.oldContent.length, 0 );
|
||||
equal( ui.oldPanel.length, 0 );
|
||||
equal( ui.newHeader.length, 1 );
|
||||
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
|
||||
equal( ui.newContent.length, 1 );
|
||||
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
|
||||
equal( ui.newPanel.length, 1 );
|
||||
strictEqual( ui.newPanel[ 0 ], content[ 0 ] );
|
||||
state( element, 0, 0, 0 );
|
||||
});
|
||||
element.accordion( "option", "active", 0 );
|
||||
@ -70,12 +70,12 @@ test( "beforeActivate", function() {
|
||||
equal( event.originalEvent.type, "click" );
|
||||
equal( ui.oldHeader.length, 1 );
|
||||
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
|
||||
equal( ui.oldContent.length, 1 );
|
||||
strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
|
||||
equal( ui.oldPanel.length, 1 );
|
||||
strictEqual( ui.oldPanel[ 0 ], content[ 0 ] );
|
||||
equal( ui.newHeader.length, 1 );
|
||||
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
|
||||
equal( ui.newContent.length, 1 );
|
||||
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
|
||||
equal( ui.newPanel.length, 1 );
|
||||
strictEqual( ui.newPanel[ 0 ], content[ 1 ] );
|
||||
state( element, 1, 0, 0 );
|
||||
});
|
||||
headers.eq( 1 ).click();
|
||||
@ -85,10 +85,10 @@ test( "beforeActivate", function() {
|
||||
ok( !( "originalEvent" in event ) );
|
||||
equal( ui.oldHeader.length, 1 );
|
||||
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
|
||||
equal( ui.oldContent.length, 1 );
|
||||
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
|
||||
equal( ui.oldPanel.length, 1 );
|
||||
strictEqual( ui.oldPanel[ 0 ], content[ 1 ] );
|
||||
equal( ui.newHeader.length, 0 );
|
||||
equal( ui.newContent.length, 0 );
|
||||
equal( ui.newPanel.length, 0 );
|
||||
state( element, 0, 1, 0 );
|
||||
});
|
||||
element.accordion( "option", "active", false );
|
||||
@ -97,11 +97,11 @@ test( "beforeActivate", function() {
|
||||
element.one( "accordionbeforeactivate", function( event, ui ) {
|
||||
ok( !( "originalEvent" in event ) );
|
||||
equal( ui.oldHeader.length, 0 );
|
||||
equal( ui.oldContent.length, 0 );
|
||||
equal( ui.oldPanel.length, 0 );
|
||||
equal( ui.newHeader.length, 1 );
|
||||
strictEqual( ui.newHeader[ 0 ], headers[ 2 ] );
|
||||
equal( ui.newContent.length, 1 );
|
||||
strictEqual( ui.newContent[ 0 ], content[ 2 ] );
|
||||
equal( ui.newPanel.length, 1 );
|
||||
strictEqual( ui.newPanel[ 0 ], content[ 2 ] );
|
||||
event.preventDefault();
|
||||
state( element, 0, 0, 0 );
|
||||
});
|
||||
@ -120,33 +120,33 @@ test( "activate", function() {
|
||||
|
||||
element.one( "accordionactivate", function( event, ui ) {
|
||||
equal( ui.oldHeader.length, 0 );
|
||||
equal( ui.oldContent.length, 0 );
|
||||
equal( ui.oldPanel.length, 0 );
|
||||
equal( ui.newHeader.length, 1 );
|
||||
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
|
||||
equal( ui.newContent.length, 1 );
|
||||
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
|
||||
equal( ui.newPanel.length, 1 );
|
||||
strictEqual( ui.newPanel[ 0 ], content[ 0 ] );
|
||||
});
|
||||
element.accordion( "option", "active", 0 );
|
||||
|
||||
element.one( "accordionactivate", function( event, ui ) {
|
||||
equal( ui.oldHeader.length, 1 );
|
||||
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
|
||||
equal( ui.oldContent.length, 1 );
|
||||
strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
|
||||
equal( ui.oldPanel.length, 1 );
|
||||
strictEqual( ui.oldPanel[ 0 ], content[ 0 ] );
|
||||
equal( ui.newHeader.length, 1 );
|
||||
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
|
||||
equal( ui.newContent.length, 1 );
|
||||
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
|
||||
equal( ui.newPanel.length, 1 );
|
||||
strictEqual( ui.newPanel[ 0 ], content[ 1 ] );
|
||||
});
|
||||
headers.eq( 1 ).click();
|
||||
|
||||
element.one( "accordionactivate", function( event, ui ) {
|
||||
equal( ui.oldHeader.length, 1 );
|
||||
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
|
||||
equal( ui.oldContent.length, 1 );
|
||||
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
|
||||
equal( ui.oldPanel.length, 1 );
|
||||
strictEqual( ui.oldPanel[ 0 ], content[ 1 ] );
|
||||
equal( ui.newHeader.length, 0 );
|
||||
equal( ui.newContent.length, 0 );
|
||||
equal( ui.newPanel.length, 0 );
|
||||
});
|
||||
element.accordion( "option", "active", false );
|
||||
|
||||
|
24
ui/jquery.ui.accordion.js
vendored
24
ui/jquery.ui.accordion.js
vendored
@ -389,9 +389,9 @@ $.widget( "ui.accordion", {
|
||||
toHide = active.next(),
|
||||
eventData = {
|
||||
oldHeader: active,
|
||||
oldContent: toHide,
|
||||
oldPanel: toHide,
|
||||
newHeader: collapsing ? $() : clicked,
|
||||
newContent: toShow
|
||||
newPanel: toShow
|
||||
};
|
||||
|
||||
event.preventDefault();
|
||||
@ -437,8 +437,8 @@ $.widget( "ui.accordion", {
|
||||
},
|
||||
|
||||
_toggle: function( data ) {
|
||||
var toShow = data.newContent,
|
||||
toHide = this.prevShow.length ? this.prevShow : data.oldContent;
|
||||
var toShow = data.newPanel,
|
||||
toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
|
||||
|
||||
// handle activating a panel during the animation for another activation
|
||||
this.prevShow.add( this.prevHide ).stop( true, true );
|
||||
@ -524,7 +524,7 @@ $.widget( "ui.accordion", {
|
||||
},
|
||||
|
||||
_toggleComplete: function( data ) {
|
||||
var toHide = data.oldContent;
|
||||
var toHide = data.oldPanel;
|
||||
|
||||
toHide
|
||||
.removeClass( "ui-accordion-content-active" )
|
||||
@ -676,9 +676,19 @@ if ( $.uiBackCompat !== false ) {
|
||||
}
|
||||
|
||||
if ( type === "beforeActivate" ) {
|
||||
ret = _trigger.call( this, "changestart", event, data );
|
||||
ret = _trigger.call( this, "changestart", event, {
|
||||
oldHeader: data.oldHeader,
|
||||
oldContent: data.oldPanel,
|
||||
newHeader: data.newHeader,
|
||||
newContent: data.newPanel
|
||||
});
|
||||
} else if ( type === "activate" ) {
|
||||
ret = _trigger.call( this, "change", event, data );
|
||||
ret = _trigger.call( this, "change", event, {
|
||||
oldHeader: data.oldHeader,
|
||||
oldContent: data.oldPanel,
|
||||
newHeader: data.newHeader,
|
||||
newContent: data.newPanel
|
||||
});
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user