From 90ae95eb6f5f30e3863f24ad364b111258ea4ee4 Mon Sep 17 00:00:00 2001 From: beccabroek Date: Tue, 15 Jan 2019 16:55:57 -0600 Subject: Add toast to Firmware page Replace error and success messages with toast notifications. Change-Id: I6c68568b7c9db4fd1f85b3de843289cf1bfba376 Signed-off-by: beccabroek --- app/common/styles/elements/index.scss | 1 - app/common/styles/elements/success.scss | 7 -- .../controllers/firmware-controller.html | 20 +---- .../controllers/firmware-controller.js | 99 ++++++---------------- app/configuration/styles/firmware.scss | 11 --- app/configuration/styles/network.scss | 4 - 6 files changed, 25 insertions(+), 117 deletions(-) delete mode 100644 app/common/styles/elements/success.scss diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss index dd32703..3c5754e 100644 --- a/app/common/styles/elements/index.scss +++ b/app/common/styles/elements/index.scss @@ -12,5 +12,4 @@ @import "modals"; @import "quicklinks"; @import "errors"; -@import "success"; @import "toast"; diff --git a/app/common/styles/elements/success.scss b/app/common/styles/elements/success.scss deleted file mode 100644 index defdb16..0000000 --- a/app/common/styles/elements/success.scss +++ /dev/null @@ -1,7 +0,0 @@ -.success-msg { - color: $primebtn__bg; - padding: 1em; - font-size: 1em; - font-family: "Courier New", Helvetica, Arial, sans-serif; - font-weight: 500; -} diff --git a/app/configuration/controllers/firmware-controller.html b/app/configuration/controllers/firmware-controller.html index 5c81140..9c0905b 100644 --- a/app/configuration/controllers/firmware-controller.html +++ b/app/configuration/controllers/firmware-controller.html @@ -27,7 +27,6 @@
Upload in progress...
-

Download image file from TFTP server

@@ -47,29 +46,12 @@
Downloading in progress...
- - - - + diff --git a/app/configuration/controllers/firmware-controller.js b/app/configuration/controllers/firmware-controller.js index 04a7c78..8d4926d 100644 --- a/app/configuration/controllers/firmware-controller.js +++ b/app/configuration/controllers/firmware-controller.js @@ -12,9 +12,10 @@ window.angular && (function(angular) { angular.module('app.configuration').controller('firmwareController', [ '$scope', '$window', 'APIUtils', 'dataService', '$location', '$anchorScroll', 'Constants', '$interval', '$q', '$timeout', '$interpolate', + 'ngToast', function( $scope, $window, APIUtils, dataService, $location, $anchorScroll, - Constants, $interval, $q, $timeout, $interpolate) { + Constants, $interval, $q, $timeout, $interpolate, ngToast) { $scope.dataService = dataService; // Scroll to target anchor @@ -26,7 +27,6 @@ window.angular && (function(angular) { $scope.firmwares = []; $scope.bmcActiveVersion = ''; $scope.hostActiveVersion = ''; - $scope.display_error = false; $scope.activate_confirm = false; $scope.delete_image_id = ''; $scope.delete_image_version = ''; @@ -40,10 +40,7 @@ window.angular && (function(angular) { $scope.confirm_priority = false; $scope.file_empty = true; $scope.uploading = false; - $scope.upload_success = false; $scope.activate = {reboot: true}; - $scope.download_error_msg = ''; - $scope.download_success = false; var pollActivationTimer = undefined; var pollDownloadTimer = undefined; @@ -57,11 +54,6 @@ window.angular && (function(angular) { $scope.activate_confirm = true; }; - $scope.displayError = function(data) { - $scope.error = data; - $scope.display_error = true; - }; - function waitForActive(imageId) { var deferred = $q.defer(); var startTime = new Date(); @@ -103,12 +95,8 @@ window.angular && (function(angular) { return state; }, function(error) { - $scope.displayError({ - modal_title: 'Error during activation call', - title: 'Error during activation call', - desc: JSON.stringify(error.data), - type: 'Error' - }); + console.log(JSON.stringify(error)); + ngToast.danger('Unable to activate image'); }) .then(function(activationState) { waitForActive($scope.activate_image_id) @@ -117,12 +105,8 @@ window.angular && (function(angular) { $scope.loadFirmwares(); }, function(error) { - $scope.displayError({ - modal_title: 'Error during image activation', - title: 'Error during image activation', - desc: JSON.stringify(error.data), - type: 'Error' - }); + console.log(JSON.stringify(error)); + ngToast.danger('Unable to activate image'); }) .then(function(state) { if ($scope.activate.reboot && @@ -141,12 +125,8 @@ window.angular && (function(angular) { APIUtils.bmcReboot( function(response) {}, function(error) { - $scope.displayError({ - modal_title: 'Error during BMC reboot', - title: 'Error during BMC reboot', - desc: JSON.stringify(error.data), - type: 'Error' - }); + console.log(JSON.stringify(error)); + ngToast.danger('Unable to reboot BMC'); }); }, 10000); } @@ -175,14 +155,8 @@ window.angular && (function(angular) { return APIUtils.pollHostStatusTillOn(); }) .catch(function(error) { - dataService.activateErrorModal({ - title: Constants.MESSAGES.POWER_OP.POWER_ON_FAILED, - description: error.statusText ? - $interpolate( - Constants.MESSAGES.ERROR_MESSAGE_DESC_TEMPLATE)( - {status: error.status, description: error.statusText}) : - error - }); + console.log(JSON.stringify(error)); + ngToast.danger(Constants.MESSAGES.POWER_OP.POWER_ON_FAILED); }); }; function warmReboot() { @@ -196,14 +170,8 @@ window.angular && (function(angular) { return APIUtils.pollHostStatusTilReboot(); }) .catch(function(error) { - dataService.activateErrorModal({ - title: Constants.MESSAGES.POWER_OP.WARM_REBOOT_FAILED, - description: error.statusText ? - $interpolate( - Constants.MESSAGES.ERROR_MESSAGE_DESC_TEMPLATE)( - {status: error.status, description: error.statusText}) : - error - }); + console.log(JSON.stringify(error)); + ngToast.danger(Constants.MESSAGES.POWER_OP.WARM_REBOOT_FAILED); }); }; $scope.isServerOff = function() { @@ -213,24 +181,20 @@ window.angular && (function(angular) { $scope.upload = function() { if ($scope.file) { $scope.uploading = true; - $scope.upload_success = false; APIUtils.uploadImage($scope.file) .then( function(response) { - $scope.file = ''; $scope.uploading = false; - $scope.upload_success = true; + ngToast.success( + 'Image file "' + $scope.file.name + + '" has been uploaded'); + $scope.file = ''; $scope.loadFirmwares(); }, function(error) { $scope.uploading = false; console.log(error); - $scope.displayError({ - modal_title: 'Error during image upload', - title: 'Error during image upload', - desc: error, - type: 'Error' - }); + ngToast.danger('Unable to upload image file'); }); } }; @@ -271,10 +235,8 @@ window.angular && (function(angular) { } $scope.download = function() { - $scope.download_success = false; - $scope.download_error_msg = ''; if (!$scope.download_host || !$scope.download_filename) { - $scope.download_error_msg = 'Field is required!'; + ngToast.danger('TFTP server IP address and file name are required!'); return false; } @@ -298,17 +260,14 @@ window.angular && (function(angular) { $scope.download_host = ''; $scope.download_filename = ''; $scope.downloading = false; - $scope.download_success = true; + ngToast.success('Download complete'); $scope.loadFirmwares(); }, function(error) { console.log(error); - $scope.displayError({ - modal_title: 'Error during downloading Image', - title: 'Error during downloading Image', - desc: error, - type: 'Error' - }); + ngToast.danger( + 'Image file from TFTP server "' + $scope.download_host + + '" could not be downloaded'); $scope.downloading = false; }); }; @@ -327,12 +286,7 @@ window.angular && (function(angular) { .then(function(response) { $scope.loading = false; if (response.status == 'error') { - $scope.displayError({ - modal_title: response.data.description, - title: response.data.description, - desc: response.data.exception, - type: 'Error' - }); + ngToast.danger('Unable to update boot priority'); } else { $scope.loadFirmwares(); } @@ -349,12 +303,7 @@ window.angular && (function(angular) { APIUtils.deleteImage($scope.delete_image_id).then(function(response) { $scope.loading = false; if (response.status == 'error') { - $scope.displayError({ - modal_title: response.data.description, - title: response.data.description, - desc: response.data.exception, - type: 'Error' - }); + ngToast.danger('Unable to delete image'); } else { $scope.loadFirmwares(); } diff --git a/app/configuration/styles/firmware.scss b/app/configuration/styles/firmware.scss index 4902dd0..f3dc865 100644 --- a/app/configuration/styles/firmware.scss +++ b/app/configuration/styles/firmware.scss @@ -147,15 +147,4 @@ padding-bottom: 50px; } -.download_error -{ - @include mediaQuery(medium) { - max-width: 35%; - } -} -.download_success -{ - color: $primebtn__bg; - padding: 1em; -} diff --git a/app/configuration/styles/network.scss b/app/configuration/styles/network.scss index b194d0d..0a822bd 100644 --- a/app/configuration/styles/network.scss +++ b/app/configuration/styles/network.scss @@ -44,10 +44,6 @@ margin: .5em; } } - .set_network_error - { - margin-left: 3em; - } .network-config__ipv4-wrap { padding-bottom: 1.8em; } -- cgit v1.2.1