mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Fixed accordion option active getter and setter. Normalized getter to number, 0-based index.
This commit is contained in:
parent
57e3595115
commit
7b506cf2ae
@ -38,7 +38,20 @@ test("{ active: false }", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("{ active: Number }", function() {
|
test("{ active: Number }", function() {
|
||||||
ok(false, 'missing test - untested code is broken code');
|
expect(4);
|
||||||
|
$("#list1").accordion({
|
||||||
|
active: 0
|
||||||
|
});
|
||||||
|
equals( $("#list1").accordion('option', 'active'), 0);
|
||||||
|
|
||||||
|
$("#list1").accordion('option', 'active', 1);
|
||||||
|
equals( $("#list1").accordion('option', 'active'), 1);
|
||||||
|
|
||||||
|
$('.ui-accordion-header:eq(2)', '#list1').click();
|
||||||
|
equals( $("#list1").accordion('option', 'active'), 2);
|
||||||
|
|
||||||
|
$("#list1").accordion('activate', 0);
|
||||||
|
equals( $("#list1").accordion('option', 'active'), 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("{ animated: false }, default", function() {
|
test("{ animated: false }, default", function() {
|
||||||
|
@ -153,6 +153,9 @@ $.widget("ui.accordion", {
|
|||||||
|
|
||||||
$.widget.prototype._setData.apply(this, arguments);
|
$.widget.prototype._setData.apply(this, arguments);
|
||||||
|
|
||||||
|
if (key == "active") {
|
||||||
|
this.activate(value);
|
||||||
|
}
|
||||||
if (key == "icons") {
|
if (key == "icons") {
|
||||||
this._destroyIcons();
|
this._destroyIcons();
|
||||||
if (value) {
|
if (value) {
|
||||||
@ -230,6 +233,7 @@ $.widget("ui.accordion", {
|
|||||||
},
|
},
|
||||||
|
|
||||||
activate: function(index) {
|
activate: function(index) {
|
||||||
|
this.options.active = index;
|
||||||
// call clickHandler with custom event
|
// call clickHandler with custom event
|
||||||
var active = this._findActive(index)[0];
|
var active = this._findActive(index)[0];
|
||||||
this._clickHandler({ target: active }, active);
|
this._clickHandler({ target: active }, active);
|
||||||
@ -273,6 +277,8 @@ $.widget("ui.accordion", {
|
|||||||
// get the click target
|
// get the click target
|
||||||
var clicked = $(event.currentTarget || target);
|
var clicked = $(event.currentTarget || target);
|
||||||
var clickedIsActive = clicked[0] == this.active[0];
|
var clickedIsActive = clicked[0] == this.active[0];
|
||||||
|
|
||||||
|
o.active = $('.ui-accordion-header', this.element).index(clicked);
|
||||||
|
|
||||||
// if animations are still active, or the active header is the target, ignore click
|
// if animations are still active, or the active header is the target, ignore click
|
||||||
if (this.running || (!o.collapsible && clickedIsActive)) {
|
if (this.running || (!o.collapsible && clickedIsActive)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user