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

Commit 2cc8931

Browse files
committed
chore(collapse): Tidy up code duplication
1 parent fe61f77 commit 2cc8931

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/collapse/collapse.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,23 @@ angular.module('ui.bootstrap.collapse', ['ui.bootstrap.transition'])
2828
function expand() {
2929
if (initialAnimSkip) {
3030
initialAnimSkip = false;
31-
element.removeClass('collapsing');
32-
element.addClass('collapse in');
33-
element.css({height: 'auto'});
31+
expandDone();
3432
} else {
3533
element.removeClass('collapse').addClass('collapsing');
36-
doTransition({ height: element[0].scrollHeight + 'px' }).then(function () {
37-
element.removeClass('collapsing');
38-
element.addClass('collapse in');
39-
element.css({height: 'auto'});
40-
});
34+
doTransition({ height: element[0].scrollHeight + 'px' }).then(expandDone);
4135
}
4236
}
4337

38+
function expandDone() {
39+
element.removeClass('collapsing');
40+
element.addClass('collapse in');
41+
element.css({height: 'auto'});
42+
}
43+
4444
function collapse() {
4545
if (initialAnimSkip) {
4646
initialAnimSkip = false;
47-
element.removeClass('collapsing');
48-
element.addClass('collapse');
47+
collapseDone();
4948
element.css({height: 0});
5049
} else {
5150
// CSS transitions don't work with height: auto, so we have to manually change the height to a specific value
@@ -55,13 +54,15 @@ angular.module('ui.bootstrap.collapse', ['ui.bootstrap.transition'])
5554

5655
element.removeClass('collapse in').addClass('collapsing');
5756

58-
doTransition({ height: 0 }).then(function () {
59-
element.removeClass('collapsing');
60-
element.addClass('collapse');
61-
});
57+
doTransition({ height: 0 }).then(collapseDone);
6258
}
6359
}
6460

61+
function collapseDone() {
62+
element.removeClass('collapsing');
63+
element.addClass('collapse');
64+
}
65+
6566
scope.$watch(attrs.collapse, function (shouldCollapse) {
6667
if (shouldCollapse) {
6768
collapse();

0 commit comments

Comments
 (0)