From 94c16d6378b51f8f9d60768f902a0dbf0d6d5087 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 2 Feb 2009 02:29:31 +0000 Subject: [PATCH] Accordion: Fixed #3969: Deprecated alwaysOpen for collapsible option; fixed demos, tests, and using alwaysOpen on init. --- demos/accordion/collapsible.html | 4 ++-- tests/unit/accordion/accordion.js | 10 +++++----- ui/ui.accordion.js | 10 +++++++++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/demos/accordion/collapsible.html b/demos/accordion/collapsible.html index a4e3a31ae..6520b152a 100644 --- a/demos/accordion/collapsible.html +++ b/demos/accordion/collapsible.html @@ -10,7 +10,7 @@ @@ -49,7 +49,7 @@
-

By default, accordions always keep one section open. To allow for all sections to be be collapsible, set the alwaysOpen option to false. Click on the currently open section to collapse its content pane.

+

By default, accordions always keep one section open. To allow for all sections to be be collapsible, set the collapsible option to true. Click on the currently open section to collapse its content pane.

diff --git a/tests/unit/accordion/accordion.js b/tests/unit/accordion/accordion.js index 8755f75af..5fa7845ef 100644 --- a/tests/unit/accordion/accordion.js +++ b/tests/unit/accordion/accordion.js @@ -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 ); diff --git a/ui/ui.accordion.js b/ui/ui.accordion.js index c9330f64c..de0ef00fd 100644 --- a/ui/ui.accordion.js +++ b/ui/ui.accordion.js @@ -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", -- 2.39.5