Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit 0917623

Browse files
chenyuzhcywesleycho
authored andcommitted
fix(accordion): ensure panelOpen class is present
- Ensure panelOpen class is present on initialization of panel Closes #4849 Closes #4870
1 parent 44820a0 commit 0917623

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

src/accordion/accordion.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
7676
accordionCtrl.addGroup(scope);
7777

7878
scope.openClass = attrs.openClass || 'panel-open';
79-
scope.panelClass = attrs.panelClass;
79+
scope.panelClass = attrs.panelClass || 'panel-default';
8080
scope.$watch('isOpen', function(value) {
8181
element.toggleClass(scope.openClass, !!value);
8282
if (value) {

src/accordion/test/accordion.spec.js

+23
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,29 @@ describe('uib-accordion', function() {
426426
});
427427
});
428428

429+
describe('is-open attribute with custom class', function() {
430+
beforeEach(function() {
431+
var tpl =
432+
'<uib-accordion>' +
433+
'<uib-accordion-group ng-repeat="group in groups" heading="{{group.name}}" is-open="group.open" class="testClass">{{group.content}}</uib-accordion-group>' +
434+
'</uib-accordion>';
435+
element = angular.element(tpl);
436+
scope.groups = [
437+
{name: 'title 1', content: 'Content 1', open: false},
438+
{name: 'title 2', content: 'Content 2', open: true}
439+
];
440+
$compile(element)(scope);
441+
scope.$digest();
442+
443+
groups = element.find('.panel');
444+
});
445+
446+
it('should add "panel-open" class', function(){
447+
expect(groups.eq(0)).not.toHaveClass('panel-open');
448+
expect(groups.eq(1)).toHaveClass('panel-open');
449+
});
450+
});
451+
429452
describe('`is-disabled` attribute', function() {
430453
var groupBody;
431454
beforeEach(function() {

template/accordion/accordion-group.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="panel {{panelClass || 'panel-default'}}">
1+
<div class="panel" ng-class="panelClass || 'panel-default'">
22
<div class="panel-heading" ng-keypress="toggleOpen($event)">
33
<h4 class="panel-title">
44
<div tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span ng-class="{'text-muted': isDisabled}">{{heading}}</span></div>

0 commit comments

Comments
 (0)