Skip to content

Commit

Permalink
accordion: fixed incosistent accordionchange event arguments (http://…
Browse files Browse the repository at this point in the history
  • Loading branch information
jzaefferer committed Jul 13, 2008
1 parent d1b0999 commit 30952e6
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
30 changes: 30 additions & 0 deletions tests/accordion.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,34 @@ test("handle click on header-descendant", function() {
state2(ac, 0, 1, 0);
});

test("active:false", function() {
$("#list1").accordion({
active: false,
alwaysOpen: false
});
equals( $("#list1 a.selected").size(), 0, "no headers selected" );
});

test("accordionchange event, open closed and close again", function() {
expect(8);
$("#list1").accordion({
active: false,
alwaysOpen: false
})
.one("accordionchange", function(event, ui) {
equals( ui.oldHeader.size(), 0 )
equals( ui.oldContent.size(), 0 )
equals( ui.newHeader.size(), 1 )
equals( ui.newContent.size(), 1 )
})
.accordion("activate", 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);
});

})(jQuery);
7 changes: 3 additions & 4 deletions ui/ui.accordion.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,11 @@ function clickHandler(event) {
// find elements to show and hide
var toShow = clicked.next(),
toHide = options.active.next(),
//data = [clicked, options.active, toShow, toHide],
data = {
options: options,
newHeader: clicked,
newHeader: clickedActive && !options.alwaysOpen ? $([]) : clicked,
oldHeader: options.active,
newContent: toShow,
newContent: clickedActive && !options.alwaysOpen ? $([]) : toShow,
oldContent: toHide
},
down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] );
Expand All @@ -218,7 +217,7 @@ function clickHandler(event) {
};

function findActive(headers, selector) {
return selector != undefined
return selector
? typeof selector == "number"
? headers.filter(":eq(" + selector + ")")
: headers.not(headers.not(selector))
Expand Down

0 comments on commit 30952e6

Please sign in to comment.