From c8b8408bc4ae11c0473566c78a7b1a4f0c1577da Mon Sep 17 00:00:00 2001 From: Jeremy Mitchell Date: Tue, 23 Jun 2020 09:55:37 -0600 Subject: [PATCH] moves actions into the caller for more control and scrolls to the top of form on success/error --- .../app/src/common/api/ServerService.js | 5 ----- .../server/edit/FormEditServerController.js | 21 ++++++++++++++----- .../server/new/FormNewServerController.js | 16 +++++++++++--- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/traffic_portal/app/src/common/api/ServerService.js b/traffic_portal/app/src/common/api/ServerService.js index 4798d299c4..d44c163c3a 100644 --- a/traffic_portal/app/src/common/api/ServerService.js +++ b/traffic_portal/app/src/common/api/ServerService.js @@ -33,12 +33,9 @@ var ServerService = function($http, locationUtils, messageModel, ENV) { this.createServer = function(server) { return $http.post(ENV.api['root'] + 'servers', server).then( function(result) { - messageModel.setMessages([ { level: 'success', text: 'Server created' } ], true); - locationUtils.navigateToPath('/servers'); return result; }, function(err) { - messageModel.setMessages(err.data.alerts, false); throw err; } ); @@ -48,11 +45,9 @@ var ServerService = function($http, locationUtils, messageModel, ENV) { this.updateServer = function(server) { return $http.put(ENV.api['root'] + 'servers/' + server.id, server).then( function(result) { - messageModel.setMessages([ { level: 'success', text: 'Server updated' } ], false); return result; }, function(err) { - messageModel.setMessages(err.data.alerts, false); throw err; } ); diff --git a/traffic_portal/app/src/common/modules/form/server/edit/FormEditServerController.js b/traffic_portal/app/src/common/modules/form/server/edit/FormEditServerController.js index a0de475089..ad92192a33 100644 --- a/traffic_portal/app/src/common/modules/form/server/edit/FormEditServerController.js +++ b/traffic_portal/app/src/common/modules/form/server/edit/FormEditServerController.js @@ -17,7 +17,7 @@ * under the License. */ -var FormEditServerController = function(server, $scope, $controller, $uibModal, locationUtils, serverService, statusService, messageModel) { +var FormEditServerController = function(server, $anchorScroll, $scope, $controller, $uibModal, locationUtils, serverService, statusService, messageModel) { // extends the FormServerController to inherit common methods angular.extend(this, $controller('FormServerController', { server: server, $scope: $scope })); @@ -46,9 +46,20 @@ var FormEditServerController = function(server, $scope, $controller, $uibModal, $scope.save = function(server) { serverService.updateServer(server). - then(function() { - $scope.refresh(); - }); + then( + function(result) { + $scope.refresh(); + messageModel.setMessages(result.data.alerts, false); + }, + function(fault) { + messageModel.setMessages(fault.data.alerts, false); + } + ) + .finally( + function() { + $anchorScroll(); // scrolls window to top for message + } + ); }; $scope.confirmDelete = function(server) { @@ -80,5 +91,5 @@ var FormEditServerController = function(server, $scope, $controller, $uibModal, }; -FormEditServerController.$inject = ['server', '$scope', '$controller', '$uibModal', 'locationUtils', 'serverService', 'statusService', 'messageModel']; +FormEditServerController.$inject = ['server', '$anchorScroll', '$scope', '$controller', '$uibModal', 'locationUtils', 'serverService', 'statusService', 'messageModel']; module.exports = FormEditServerController; diff --git a/traffic_portal/app/src/common/modules/form/server/new/FormNewServerController.js b/traffic_portal/app/src/common/modules/form/server/new/FormNewServerController.js index 1e17a3980d..f736f3c02a 100644 --- a/traffic_portal/app/src/common/modules/form/server/new/FormNewServerController.js +++ b/traffic_portal/app/src/common/modules/form/server/new/FormNewServerController.js @@ -17,7 +17,7 @@ * under the License. */ -var FormNewServerController = function(server, $scope, $controller, serverService, statusService) { +var FormNewServerController = function(server, $anchorScroll, $scope, $controller, serverService, statusService, messageModel, locationUtils) { // extends the FormServerController to inherit common methods angular.extend(this, $controller('FormServerController', { server: server, $scope: $scope })); @@ -40,7 +40,17 @@ var FormNewServerController = function(server, $scope, $controller, serverServic }; $scope.save = function(server) { - serverService.createServer(server); + serverService.createServer(server). + then( + function(result) { + messageModel.setMessages(result.data.alerts, true); + locationUtils.navigateToPath('/servers'); + }, + function(fault) { + $anchorScroll(); // scrolls window to top for message + messageModel.setMessages(fault.data.alerts, false); + } + ); }; var init = function () { @@ -50,5 +60,5 @@ var FormNewServerController = function(server, $scope, $controller, serverServic }; -FormNewServerController.$inject = ['server', '$scope', '$controller', 'serverService', 'statusService']; +FormNewServerController.$inject = ['server', '$anchorScroll', '$scope', '$controller', 'serverService', 'statusService', 'messageModel', 'locationUtils']; module.exports = FormNewServerController;