From db7e0fe2dfb39b7ef22bef06b80558b91af53b6f Mon Sep 17 00:00:00 2001 From: Kevin Lamping Date: Thu, 17 Apr 2014 16:49:50 -0500 Subject: [PATCH] fix(rxModalAction): close modal on route change #157 --- grunt-tasks/options/connect.js | 2 +- src/rxModalAction/rxModalAction.js | 5 ++++- src/rxModalAction/rxModalAction.spec.js | 20 ++++++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/grunt-tasks/options/connect.js b/grunt-tasks/options/connect.js index a59cf5e12..814669b95 100644 --- a/grunt-tasks/options/connect.js +++ b/grunt-tasks/options/connect.js @@ -29,7 +29,7 @@ module.exports = { config.mountFolder(cnct, config.docs) ]; }, - livereload:1337 + livereload: 1337 } }, keepalive: { diff --git a/src/rxModalAction/rxModalAction.js b/src/rxModalAction/rxModalAction.js index 20264dc14..00da899e6 100644 --- a/src/rxModalAction/rxModalAction.js +++ b/src/rxModalAction/rxModalAction.js @@ -13,13 +13,16 @@ angular.module('encore.ui.rxModalAction', ['ui.bootstrap']) } }; }) -.controller('rxModalCtrl', function ($scope, $modalInstance) { +.controller('rxModalCtrl', function ($scope, $modalInstance, $rootScope) { // define a controller for the modal to use $scope.submit = function () { $modalInstance.close($scope); }; $scope.cancel = $modalInstance.dismiss; + + // cancel out of the modal if the route is changed + $rootScope.$on('$routeChangeSuccess', $modalInstance.dismiss); }) .directive('rxModalAction', function ($modal) { var createModal = function (config, scope) { diff --git a/src/rxModalAction/rxModalAction.spec.js b/src/rxModalAction/rxModalAction.spec.js index 704def3ef..0c3ce48f0 100644 --- a/src/rxModalAction/rxModalAction.spec.js +++ b/src/rxModalAction/rxModalAction.spec.js @@ -1,8 +1,8 @@ /* jshint node: true */ describe('rxModalAction', function () { - var el, scope, compile, rootScope, mockModal, modalApi, instanceApi, instanceMock, controller, - validTemplate = '