| /** |
| * Controller for power-usage |
| * |
| * @module app/serverControl |
| * @exports powerUsageController |
| * @name powerUsageController |
| */ |
| |
| window.angular && (function(angular) { |
| 'use strict'; |
| |
| angular.module('app.serverControl').controller('powerUsageController', [ |
| '$scope', '$window', 'APIUtils', '$route', '$q', 'toastService', |
| function($scope, $window, APIUtils, $route, $q, toastService) { |
| $scope.power_consumption = ''; |
| $scope.power_cap = {}; |
| $scope.loading = false; |
| loadPowerData(); |
| |
| function loadPowerData() { |
| $scope.loading = true; |
| |
| var getPowerCapPromise = APIUtils.getPowerCap().then( |
| function(data) { |
| $scope.power_cap = data.data; |
| }, |
| function(error) { |
| console.log(JSON.stringify(error)); |
| }); |
| |
| var getPowerConsumptionPromise = APIUtils.getPowerConsumption().then( |
| function(data) { |
| $scope.power_consumption = data; |
| }, |
| function(error) { |
| console.log(JSON.stringify(error)); |
| }); |
| |
| var promises = [ |
| getPowerConsumptionPromise, |
| getPowerCapPromise, |
| ]; |
| |
| $q.all(promises).finally(function() { |
| $scope.loading = false; |
| }); |
| } |
| |
| $scope.setPowerCap = function() { |
| // The power cap value will be undefined if outside range |
| if (!$scope.power_cap.PowerCap) { |
| toastService.error( |
| 'Power cap value between 100 and 10,000 is required'); |
| return; |
| } |
| $scope.loading = true; |
| var promises = [ |
| setPowerCapValue(), |
| setPowerCapEnable(), |
| ]; |
| |
| $q.all(promises) |
| .then( |
| function() { |
| toastService.success('Power cap settings saved'); |
| }, |
| function(errors) { |
| toastService.error('Power cap settings could not be saved'); |
| }) |
| .finally(function() { |
| $scope.loading = false; |
| }); |
| }; |
| $scope.refresh = function() { |
| $route.reload(); |
| }; |
| |
| function setPowerCapValue() { |
| return APIUtils.setPowerCap($scope.power_cap.PowerCap) |
| .then( |
| function(data) {}, |
| function(error) { |
| console.log(JSON.stringify(error)); |
| return $q.reject(); |
| }); |
| } |
| |
| function setPowerCapEnable() { |
| return APIUtils.setPowerCapEnable($scope.power_cap.PowerCapEnable) |
| .then( |
| function(data) {}, |
| function(error) { |
| console.log(JSON.stringify(error)); |
| return $q.reject(); |
| }); |
| } |
| } |
| ]); |
| })(angular); |