@@ -306,7 +306,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
306
306
}
307
307
}
308
308
309
- function removeAfterAnimate ( domEl , scope , done ) {
309
+ function removeAfterAnimate ( domEl , scope , done , closedDeferred ) {
310
310
var asyncDeferred ;
311
311
var asyncPromise = null ;
312
312
var setIsAsync = function ( ) {
@@ -336,6 +336,9 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
336
336
event : 'leave'
337
337
} ) . start ( ) . then ( function ( ) {
338
338
domEl . remove ( ) ;
339
+ if ( closedDeferred ) {
340
+ closedDeferred . resolve ( ) ;
341
+ }
339
342
} ) ;
340
343
341
344
scope . $destroy ( ) ;
@@ -392,6 +395,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
392
395
openedWindows . add ( modalInstance , {
393
396
deferred : modal . deferred ,
394
397
renderDeferred : modal . renderDeferred ,
398
+ closedDeferred : modal . closedDeferred ,
395
399
modalScope : modal . scope ,
396
400
backdrop : modal . backdrop ,
397
401
keyboard : modal . keyboard ,
@@ -579,12 +583,14 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
579
583
$modal . open = function ( modalOptions ) {
580
584
var modalResultDeferred = $q . defer ( ) ;
581
585
var modalOpenedDeferred = $q . defer ( ) ;
586
+ var modalClosedDeferred = $q . defer ( ) ;
582
587
var modalRenderDeferred = $q . defer ( ) ;
583
588
584
589
//prepare an instance of a modal to be injected into controllers and returned to a caller
585
590
var modalInstance = {
586
591
result : modalResultDeferred . promise ,
587
592
opened : modalOpenedDeferred . promise ,
593
+ closed : modalClosedDeferred . promise ,
588
594
rendered : modalRenderDeferred . promise ,
589
595
close : function ( result ) {
590
596
return $modalStack . close ( modalInstance , result ) ;
@@ -655,6 +661,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap'])
655
661
scope : modalScope ,
656
662
deferred : modalResultDeferred ,
657
663
renderDeferred : modalRenderDeferred ,
664
+ closedDeferred : modalClosedDeferred ,
658
665
content : tplAndVars [ 0 ] ,
659
666
animation : modalOptions . animation ,
660
667
backdrop : modalOptions . backdrop ,
0 commit comments