From 7645e8e72103e1af4e11425af40faf723b203741 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 25 Nov 2014 22:34:09 -0500 Subject: [PATCH] Add sgFocus directive + factory --- UI/WebServerResources/js/MailerUI.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/UI/WebServerResources/js/MailerUI.js b/UI/WebServerResources/js/MailerUI.js index fd6645b46..db552ac6b 100644 --- a/UI/WebServerResources/js/MailerUI.js +++ b/UI/WebServerResources/js/MailerUI.js @@ -120,6 +120,25 @@ $urlRouterProvider.otherwise('/Mail'); }]) + .directive('sgFocusOn', function() { + return function(scope, elem, attr) { + scope.$on('sgFocusOn', function(e, name) { + if (name === attr.sgFocusOn) { + elem[0].focus(); + elem[0].select(); + } + }); + }; + }) + + .factory('sgFocus', ['$rootScope', '$timeout', function($rootScope, $timeout) { + return function(name) { + $timeout(function() { + $rootScope.$broadcast('sgFocusOn', name); + }); + } + }]) + .controller('MailboxesCtrl', ['$scope', '$rootScope', '$stateParams', '$state', '$timeout', '$modal', 'sgFocus', 'encodeUriFilter', 'sgDialog', 'sgAccount', 'sgMailbox', 'stateAccounts', function($scope, $rootScope, $stateParams, $state, $timeout, $modal, focus, encodeUriFilter, Dialog, Account, Mailbox, stateAccounts) { $scope.accounts = stateAccounts;