@@ -306,7 +306,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
306306 }
307307 }
308308
309- function removeAfterAnimate ( domEl , scope , done ) {
309+ function removeAfterAnimate ( domEl , scope , done , closedDeferred ) {
310310 var asyncDeferred ;
311311 var asyncPromise = null ;
312312 var setIsAsync = function ( ) {
@@ -336,6 +336,9 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
336336 event : 'leave'
337337 } ) . start ( ) . then ( function ( ) {
338338 domEl . remove ( ) ;
339+ if ( closedDeferred ) {
340+ closedDeferred . resolve ( ) ;
341+ }
339342 } ) ;
340343
341344 scope . $destroy ( ) ;
@@ -392,6 +395,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
392395 openedWindows . add ( modalInstance , {
393396 deferred : modal . deferred ,
394397 renderDeferred : modal . renderDeferred ,
398+ closedDeferred : modal . closedDeferred ,
395399 modalScope : modal . scope ,
396400 backdrop : modal . backdrop ,
397401 keyboard : modal . keyboard ,
@@ -579,12 +583,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
579583 $modal . open = function ( modalOptions ) {
580584 var modalResultDeferred = $q . defer ( ) ;
581585 var modalOpenedDeferred = $q . defer ( ) ;
586+ var modalClosedDeferred = $q . defer ( ) ;
582587 var modalRenderDeferred = $q . defer ( ) ;
583588
584589 //prepare an instance of a modal to be injected into controllers and returned to a caller
585590 var modalInstance = {
586591 result : modalResultDeferred . promise ,
587592 opened : modalOpenedDeferred . promise ,
593+ closed : modalClosedDeferred . promise ,
588594 rendered : modalRenderDeferred . promise ,
589595 close : function ( result ) {
590596 return $modalStack . close ( modalInstance , result ) ;
@@ -655,6 +661,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
655661 scope : modalScope ,
656662 deferred : modalResultDeferred ,
657663 renderDeferred : modalRenderDeferred ,
664+ closedDeferred : modalClosedDeferred ,
658665 content : tplAndVars [ 0 ] ,
659666 animation : modalOptions . animation ,
660667 backdrop : modalOptions . backdrop ,
0 commit comments