Accordion: Fixed #3969: Deprecated alwaysOpen for collapsible option; fixed demos, tests, and using alwaysOpen on init.

This commit is contained in:
Scott González 2009-02-02 02:29:31 +00:00
parent 43ebec6576
commit 94c16d6378
3 changed files with 16 additions and 8 deletions

View File

@ -10,7 +10,7 @@
<script type="text/javascript">
$(function() {
$("#accordion").accordion({
alwaysOpen: false
collapsible: true
});
});
</script>
@ -49,7 +49,7 @@
<div class="demo-description">
<p>By default, accordions always keep one section open. To allow for all sections to be be collapsible, set the <code>alwaysOpen</code> option to false. Click on the currently open section to collapse its content pane.</p>
<p>By default, accordions always keep one section open. To allow for all sections to be be collapsible, set the <code>collapsible</code> option to true. Click on the currently open section to collapse its content pane.</p>
</div><!-- End demo-description -->

View File

@ -48,8 +48,8 @@ test("activate, numeric", function() {
state(ac, 0, 0, 1);
});
test("activate, boolean and numeric, alwaysOpen:false", function() {
var ac = $('#list1').accordion({alwaysOpen: false}).accordion("activate", 2);
test("activate, boolean and numeric, collapsible:true", function() {
var ac = $('#list1').accordion({collapsible: true}).accordion("activate", 2);
state(ac, 0, 0, 1);
ok("x", "----");
ac.accordion("activate", 0);
@ -59,7 +59,7 @@ test("activate, boolean and numeric, alwaysOpen:false", function() {
state(ac, 0, 0, 0);
});
test("activate, boolean, alwaysOpen:true", function() {
test("activate, boolean, collapsible:false", function() {
var ac = $('#list1').accordion().accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", -1);
@ -102,7 +102,7 @@ test("handle click on header-descendant", function() {
test("active:false", function() {
$("#list1").accordion({
active: false,
alwaysOpen: false
collapsible: true
});
equals( $("#list1 a.selected").size(), 0, "no headers selected" );
});
@ -111,7 +111,7 @@ test("accordionchange event, open closed and close again", function() {
expect(8);
$("#list1").accordion({
active: false,
alwaysOpen: false
collapsible: true
})
.one("accordionchange", function(event, ui) {
equals( ui.oldHeader.size(), 0 );

View File

@ -19,6 +19,14 @@ $.widget("ui.accordion", {
var o = this.options, self = this;
this.running = 0;
// if the user set the alwaysOpen option on init
// then we need to set the collapsible option
// if they set both on init, collapsible will take priority
if (o.collapsible == $.ui.accordion.defaults.collapsible &&
o.alwaysOpen != $.ui.accordion.defaults.alwaysOpen) {
o.collapsible = !o.alwaysOpen;
}
if ( o.navigation ) {
var current = this.element.find("a").filter(o.navigationFilter);
if ( current.length ) {
@ -377,9 +385,9 @@ $.extend($.ui.accordion, {
active: null,
autoHeight: true,
alwaysOpen: true, //deprecated, use collapsible
collapsible: false,
animated: 'slide',
clearStyle: false,
collapsible: false,
event: "click",
fillSpace: false,
header: "> li > :first-child,> :not(li):even",