From 67f2df64b3771f8cc9a3a9d5cb59b94dc49d7c99 Mon Sep 17 00:00:00 2001 From: jaredevantabor Date: Wed, 25 Jan 2017 01:12:26 -0800 Subject: [PATCH] Preventing page from refreshing when project list updates via the socket fixing jshint --- awx/ui/client/src/controllers/Projects.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/awx/ui/client/src/controllers/Projects.js b/awx/ui/client/src/controllers/Projects.js index 1addba5bd9..5bfbb39273 100644 --- a/awx/ui/client/src/controllers/Projects.js +++ b/awx/ui/client/src/controllers/Projects.js @@ -14,7 +14,7 @@ export function ProjectsList($scope, $rootScope, $location, $log, $stateParams, Rest, Alert, ProjectList, Prompt, ReturnToCaller, ClearScope, ProcessErrors, GetBasePath, ProjectUpdate, Wait, GetChoices, Empty, Find, GetProjectIcon, - GetProjectToolTip, $filter, $state, rbacUiControlService, Dataset, i18n) { + GetProjectToolTip, $filter, $state, rbacUiControlService, Dataset, i18n, qs) { var list = ProjectList, defaultUrl = GetBasePath('projects'); @@ -95,6 +95,15 @@ export function ProjectsList($scope, $rootScope, $location, $log, $stateParams, } } + $scope.reloadList = function(){ + let path = GetBasePath(list.basePath) || GetBasePath(list.name); + qs.search(path, $stateParams[`${list.iterator}_search`]) + .then(function(searchResponse) { + $scope[`${list.iterator}_dataset`] = searchResponse.data; + $scope[list.name] = $scope[`${list.iterator}_dataset`].results; + }); + }; + $scope.$on(`ws-jobs`, function(e, data) { var project; $log.debug(data); @@ -106,7 +115,7 @@ export function ProjectsList($scope, $rootScope, $location, $log, $stateParams, $log.debug('Received event for project: ' + project.name); $log.debug('Status changed to: ' + data.status); if (data.status === 'successful' || data.status === 'failed') { - $state.go('.', null, { reload: true }); + $scope.reloadList(); } else { project.scm_update_tooltip = "SCM update currently running"; project.scm_type_class = "btn-disabled"; @@ -292,7 +301,7 @@ export function ProjectsList($scope, $rootScope, $location, $log, $stateParams, ProjectsList.$inject = ['$scope', '$rootScope', '$location', '$log', '$stateParams', 'Rest', 'Alert', 'ProjectList', 'Prompt', 'ReturnToCaller', 'ClearScope', 'ProcessErrors', 'GetBasePath', 'ProjectUpdate', 'Wait', 'GetChoices', 'Empty', 'Find', 'GetProjectIcon', - 'GetProjectToolTip', '$filter', '$state', 'rbacUiControlService', 'Dataset', 'i18n' + 'GetProjectToolTip', '$filter', '$state', 'rbacUiControlService', 'Dataset', 'i18n', 'QuerySet' ]; export function ProjectsAdd($scope, $rootScope, $compile, $location, $log,