]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Fix bug multiple accordions collapse 18847/head
authorJohann-S <johann.servoire@gmail.com>
Mon, 11 Jan 2016 19:42:35 +0000 (20:42 +0100)
committerJohann-S <johann.servoire@gmail.com>
Wed, 19 Oct 2016 07:35:48 +0000 (09:35 +0200)
js/src/collapse.js
js/tests/unit/collapse.js

index 560ab2cbd4c359adf6e257c8317be7183b9a5f9d..b784b82b6005fc898304b8dd4320b2325195531a 100644 (file)
@@ -121,7 +121,7 @@ const Collapse = (($) => {
       let activesData
 
       if (this._parent) {
-        actives = $.makeArray($(Selector.ACTIVES))
+        actives = $.makeArray($(this._parent).find(Selector.ACTIVES))
         if (!actives.length) {
           actives = null
         }
index 892da52ed22e9d05115ee7e1df4370827523ac8c..dba15e865998c192d3a05662db486f9f6dd5657f 100644 (file)
@@ -52,6 +52,29 @@ $(function () {
     assert.ok(!/height/i.test($el.attr('style')), 'has height reset')
   })
 
+  QUnit.test('should collapse only the first collapse', function (assert) {
+    assert.expect(2)
+    var html = [
+      '<div class="panel-group" id="accordion1">',
+        '<div class="panel">',
+          '<div id="collapse1" class="collapse"/>',
+        '</div>',
+      '</div>',
+      '<div class="panel-group" id="accordion2">',
+        '<div class="panel">',
+          '<div id="collapse2" class="collapse in"/>',
+        '</div>',
+      '</div>'
+    ].join('')
+    $(html).appendTo('#qunit-fixture')
+    var $el1 = $('#collapse1')
+    var $el2 = $('#collapse2')
+    $el1.bootstrapCollapse('show')
+
+    assert.ok($el1.hasClass('in'))
+    assert.ok($el2.hasClass('in'))
+  })
+
   QUnit.test('should hide a collapsed element', function (assert) {
     assert.expect(1)
     var $el = $('<div class="collapse"/>').bootstrapCollapse('hide')