From a23d7f0a16bc9dddf3080028e606457026e2a22c Mon Sep 17 00:00:00 2001 From: Jackson Morgan Date: Fri, 22 Apr 2016 16:17:56 -0400 Subject: [PATCH] Added mdPreventRefocus to the sideNav directive --- src/components/sidenav/sidenav.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/sidenav/sidenav.js b/src/components/sidenav/sidenav.js index 1e85230d38..74a6e34ae4 100644 --- a/src/components/sidenav/sidenav.js +++ b/src/components/sidenav/sidenav.js @@ -230,7 +230,8 @@ function SidenavDirective($mdMedia, $mdUtil, $mdConstant, $mdTheming, $animate, return { restrict: 'E', scope: { - isOpen: '=?mdIsOpen' + isOpen: '=?mdIsOpen', + mdPreventRefocus: '=?' }, controller: '$mdSidenavController', compile: function(element) { @@ -283,7 +284,6 @@ function SidenavDirective($mdMedia, $mdUtil, $mdConstant, $mdTheming, $animate, scope.$watch(isLocked, updateIsLocked); scope.$watch('isOpen', updateIsOpen); - // Publish special accessor for the Controller instance sidenavCtrl.$toggleOpen = toggleOpen; @@ -374,8 +374,9 @@ function SidenavDirective($mdMedia, $mdUtil, $mdConstant, $mdTheming, $animate, // When the current `updateIsOpen()` animation finishes promise.then(function(result) { - if ( !scope.isOpen ) { + if ( !scope.isOpen && !scope.mdPreventRefocus ) { // reset focus to originating element (if available) upon close + // this can now be disabled by using mdPreventRefocus triggeringElement && triggeringElement.focus(); triggeringElement = null; }