diff --git a/CHANGELOG.md b/CHANGELOG.md index ee1c70f..7b43b92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Yii Framework 2 bootstrap extension Change Log 2.0.10 under development ------------------------ -- no changes in this release. +- Bug #253: Fixed missing initial class `collapsed` of an `a` element in heading in `yii\bootstrap\Collapse` widget (evil1) 2.0.9 January 29, 2019 diff --git a/src/Collapse.php b/src/Collapse.php index 20945b5..6b80e9f 100644 --- a/src/Collapse.php +++ b/src/Collapse.php @@ -184,12 +184,22 @@ class Collapse extends Widget $header = Html::encode($header); } + $active = false; + if (isset($options['class'])) { + $classes = is_string($options['class']) ? preg_split('/\s+/', $options['class'], -1, PREG_SPLIT_NO_EMPTY) : $options['class']; + $active = in_array('in', $classes, true); + } + $itemToggleOptions = array_merge([ 'tag' => 'a', 'data-toggle' => 'collapse', ], $this->itemToggleOptions); Html::addCssClass($itemToggleOptions, ['widget' => 'collapse-toggle']); + if (!$active) { + Html::addCssClass($itemToggleOptions, ['collapsed' => 'collapsed']); + } + if ($this->autoCloseItems) { $itemToggleOptions['data-parent'] = '#' . $this->options['id']; } diff --git a/tests/CollapseTest.php b/tests/CollapseTest.php index f9bbd7b..bf3dbae 100644 --- a/tests/CollapseTest.php +++ b/tests/CollapseTest.php @@ -74,14 +74,14 @@ class CollapseTest extends TestCase $this->assertEqualsWithoutLE(<< -