From 672a557ab2a046c9eaee28167df7bcc8da95993c Mon Sep 17 00:00:00 2001 From: plainkeyman Date: Sun, 17 Nov 2013 23:41:18 -0700 Subject: [PATCH] fix(modal): properly animate backdrops on each modal opening Closes #1267 --- src/modal/modal.js | 4 +++- src/modal/test/modal.spec.js | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/modal/modal.js b/src/modal/modal.js index 211a768314..12ddfa8ee4 100644 --- a/src/modal/modal.js +++ b/src/modal/modal.js @@ -62,7 +62,9 @@ angular.module('ui.bootstrap.modal', []) restrict: 'EA', replace: true, templateUrl: 'template/modal/backdrop.html', - link: function (scope, element, attrs) { + link: function (scope) { + + scope.animate = false; //trigger CSS transitions $timeout(function () { diff --git a/src/modal/test/modal.spec.js b/src/modal/test/modal.spec.js index 0ee9c2e1e6..697eec6861 100644 --- a/src/modal/test/modal.spec.js +++ b/src/modal/test/modal.spec.js @@ -375,6 +375,22 @@ describe('$modal', function () { expect($document).toHaveModalOpenWithContent('Static backdrop', 'div'); expect($document).toHaveBackdrop(); }); + + it('should animate backdrop on each modal opening', function () { + + var modal = open({ template: '
With backdrop
' }); + var backdropEl = $document.find('body > div.modal-backdrop'); + expect(backdropEl).not.toHaveClass('in'); + + $timeout.flush(); + expect(backdropEl).toHaveClass('in'); + + dismiss(modal); + modal = open({ template: '
With backdrop
' }); + backdropEl = $document.find('body > div.modal-backdrop'); + expect(backdropEl).not.toHaveClass('in'); + + }); }); describe('custom window classes', function () {