From 7f5a9636c198f937e821f7c3deadc9c681946825 Mon Sep 17 00:00:00 2001 From: Michael Krotscheck Date: Wed, 4 Mar 2015 16:15:42 -0800 Subject: [PATCH] Enabled eslint:no-use-before-define Rule enabled, discovered issues resolved. Change-Id: Id8585c5eddd66a14fe0f137fbb7408dc34bee4d1 --- .eslintrc | 3 -- src/app/auth/service/current_user.js | 46 ++++++++--------- src/app/auth/service/refresh_manager.js | 13 ++--- src/app/auth/service/session.js | 57 ++++++++++----------- src/app/search/directive/search_results.js | 32 ++++++------ src/app/subscription/directive/subscribe.js | 36 ++++++------- 6 files changed, 90 insertions(+), 97 deletions(-) diff --git a/.eslintrc b/.eslintrc index 8cafd8cf..64dcb316 100644 --- a/.eslintrc +++ b/.eslintrc @@ -50,9 +50,6 @@ "camelcase": 0, "no-extra-boolean-cast": 0, - // Rules to be processed. - "no-use-before-define": 0, - // Stylistic "indent": [2, 4], "max-len": [2, 80], diff --git a/src/app/auth/service/current_user.js b/src/app/auth/service/current_user.js index a505c2e0..0fc1b8bd 100644 --- a/src/app/auth/service/current_user.js +++ b/src/app/auth/service/current_user.js @@ -30,6 +30,29 @@ angular.module('sb.auth').factory('CurrentUser', var currentUser = null; var currentPromise = null; + /** + * A promise that only resolves if we're currently logged in. + */ + function resolveLoggedInSession() { + var deferred = $q.defer(); + + Session.resolveSessionState().then( + function (sessionState) { + + if (sessionState === SessionState.LOGGED_IN) { + deferred.resolve(sessionState); + } else { + deferred.reject(sessionState); + } + }, + function (error) { + deferred.reject(error); + } + ); + + return deferred.promise; + } + /** * Resolve a current user. */ @@ -87,29 +110,6 @@ angular.module('sb.auth').factory('CurrentUser', return currentPromise; } - /** - * A promise that only resolves if we're currently logged in. - */ - function resolveLoggedInSession() { - var deferred = $q.defer(); - - Session.resolveSessionState().then( - function (sessionState) { - - if (sessionState === SessionState.LOGGED_IN) { - deferred.resolve(sessionState); - } else { - deferred.reject(sessionState); - } - }, - function (error) { - deferred.reject(error); - } - ); - - return deferred.promise; - } - // Add event listeners. Notification.intercept(function (message) { switch (message.type) { diff --git a/src/app/auth/service/refresh_manager.js b/src/app/auth/service/refresh_manager.js index a4f3f80f..326fb511 100644 --- a/src/app/auth/service/refresh_manager.js +++ b/src/app/auth/service/refresh_manager.js @@ -5,9 +5,10 @@ angular.module('sb.auth').service('RefreshManager', var currentRefresh = null; var nextRefreshPromise = null; var scheduledForToken = null; + var self = this; // Try to refresh the expired access_token - var tryRefresh = function () { + this.tryRefresh = function () { if (!currentRefresh) { // Create our promise, since we should always return one. @@ -42,7 +43,7 @@ angular.module('sb.auth').service('RefreshManager', function (data) { AccessToken.setToken(data); currentRefresh.resolve(true); - scheduleRefresh(); + self.scheduleRefresh(); }, function () { AccessToken.clear(); @@ -55,7 +56,7 @@ angular.module('sb.auth').service('RefreshManager', }; - var scheduleRefresh = function () { + this.scheduleRefresh = function () { if (!AccessToken.getRefreshToken() || AccessToken.isExpired()) { $log.info('Current token does not require deferred refresh.'); return; @@ -73,14 +74,10 @@ angular.module('sb.auth').service('RefreshManager', var now = Math.round((new Date()).getTime() / 1000); var delay = (expiresAt - preExpireDelta - now) * 1000; - nextRefreshPromise = $timeout(tryRefresh, delay, false); + nextRefreshPromise = $timeout(self.tryRefresh, delay, false); scheduledForToken = AccessToken.getAccessToken(); $log.info('Refresh scheduled to happen in ' + delay + ' ms'); }; - - this.tryRefresh = tryRefresh; - this.scheduleRefresh = scheduleRefresh; - } ); diff --git a/src/app/auth/service/session.js b/src/app/auth/service/session.js index f3826a9a..356e4b3a 100644 --- a/src/app/auth/service/session.js +++ b/src/app/auth/service/session.js @@ -31,31 +31,13 @@ angular.module('sb.auth').factory('Session', var sessionState = SessionState.PENDING; /** - * Initialize the session. + * Handles state updates and broadcasts. */ - function initializeSession() { - var deferred = $q.defer(); - - if (!AccessToken.getAccessToken()) { - $log.debug('No token found'); - updateSessionState(SessionState.LOGGED_OUT); - deferred.resolve(); - } else { - // Validate the token currently in the cache. - validateToken() - .then(function () { - $log.debug('Token validated'); - updateSessionState(SessionState.LOGGED_IN); - deferred.resolve(sessionState); - }, function () { - $log.debug('Token not validated'); - AccessToken.clear(); - updateSessionState(SessionState.LOGGED_OUT); - deferred.resolve(sessionState); - }); + function updateSessionState(newState) { + if (newState !== sessionState) { + sessionState = newState; + Notification.send(newState, newState, Severity.SUCCESS); } - - return deferred.promise; } /** @@ -82,15 +64,32 @@ angular.module('sb.auth').factory('Session', return deferred.promise; } - /** - * Handles state updates and broadcasts. + * Initialize the session. */ - function updateSessionState(newState) { - if (newState !== sessionState) { - sessionState = newState; - Notification.send(newState, newState, Severity.SUCCESS); + function initializeSession() { + var deferred = $q.defer(); + + if (!AccessToken.getAccessToken()) { + $log.debug('No token found'); + updateSessionState(SessionState.LOGGED_OUT); + deferred.resolve(); + } else { + // Validate the token currently in the cache. + validateToken() + .then(function () { + $log.debug('Token validated'); + updateSessionState(SessionState.LOGGED_IN); + deferred.resolve(sessionState); + }, function () { + $log.debug('Token not validated'); + AccessToken.clear(); + updateSessionState(SessionState.LOGGED_OUT); + deferred.resolve(sessionState); + }); } + + return deferred.promise; } /** diff --git a/src/app/search/directive/search_results.js b/src/app/search/directive/search_results.js index 18ab320e..793fee26 100644 --- a/src/app/search/directive/search_results.js +++ b/src/app/search/directive/search_results.js @@ -74,22 +74,6 @@ angular.module('sb.search').directive('searchResults', $scope.isSearching = false; } - /** - * Toggle the filter ID and direction in the UI. - * - * @param fieldName - */ - $scope.toggleFilter = function (fieldName) { - if ($scope.sortField === fieldName) { - $scope.sortDirection = - $scope.sortDirection === 'asc' ? 'desc' : 'asc'; - } else { - $scope.sortField = fieldName; - $scope.sortDirection = 'desc'; - } - updateResults(); - }; - /** * Update the results when the criteria change */ @@ -145,6 +129,22 @@ angular.module('sb.search').directive('searchResults', } } + /** + * Toggle the filter ID and direction in the UI. + * + * @param fieldName + */ + $scope.toggleFilter = function (fieldName) { + if ($scope.sortField === fieldName) { + $scope.sortDirection = + $scope.sortDirection === 'asc' ? 'desc' : 'asc'; + } else { + $scope.sortField = fieldName; + $scope.sortDirection = 'desc'; + } + updateResults(); + }; + // Watch for changing criteria $scope.$watchCollection( $parse(args.searchCriteria), diff --git a/src/app/subscription/directive/subscribe.js b/src/app/subscription/directive/subscribe.js index 5ffdee36..e47372a0 100644 --- a/src/app/subscription/directive/subscribe.js +++ b/src/app/subscription/directive/subscribe.js @@ -85,24 +85,6 @@ angular.module('sb.util').directive('subscribe', $scope.subscribed = !!$scope.subscription; } - // Subscribe to login/logout events for enable/disable/resolve. - var removeNotifier = Notification.intercept(function (message) { - switch (message.type) { - case SessionState.LOGGED_IN: - $scope.enabled = true; - resolveSubscription(); - break; - case SessionState.LOGGED_OUT: - $scope.enabled = false; - $scope.subscribed = false; - break; - } - - }, Priority.LAST); - - // Remove the notifier when this scope is destroyed. - $scope.$on('$destroy', removeNotifier); - /** * Resolve whether the current user already has a subscription * to this resource. @@ -137,6 +119,24 @@ angular.module('sb.util').directive('subscribe', ); } + // Subscribe to login/logout events for enable/disable/resolve. + var removeNotifier = Notification.intercept(function (message) { + switch (message.type) { + case SessionState.LOGGED_IN: + $scope.enabled = true; + resolveSubscription(); + break; + case SessionState.LOGGED_OUT: + $scope.enabled = false; + $scope.subscribed = false; + break; + } + + }, Priority.LAST); + + // Remove the notifier when this scope is destroyed. + $scope.$on('$destroy', removeNotifier); + /** * When the user clicks on this control, activate/deactivate the * subscription.