| Iftekharul Islam | 99d199f | 2017-03-24 15:28:25 -0500 | [diff] [blame] | 1 | window.angular && (function (angular) { | 
 | 2 |     'use strict'; | 
 | 3 |  | 
 | 4 |     angular | 
 | 5 |         .module('app.common.directives') | 
 | 6 |         .directive('appHeader', ['APIUtils', function (APIUtils) { | 
 | 7 |             return { | 
 | 8 |                 'restrict': 'E', | 
 | 9 |                 'templateUrl': 'common/directives/app-header.html', | 
 | 10 |                 'scope': { | 
 | 11 |                    'path': '=' | 
 | 12 |                 }, | 
 | 13 |                 'controller': ['$rootScope', '$scope','dataService', 'userModel', '$location', function($rootScope, $scope, dataService, userModel, $location){ | 
 | 14 |                     $scope.dataService = dataService; | 
 | 15 |  | 
 | 16 |                     $scope.loadServerStatus = function(){ | 
 | 17 |                         if(!userModel.isLoggedIn()){ | 
 | 18 |                             //@TODO:some error message? | 
 | 19 |                             return; | 
 | 20 |                         } | 
 | 21 |                         APIUtils.getHostState(function(status){ | 
 | 22 |                             if(status == 'xyz.openbmc_project.State.Host.HostState.Off'){ | 
 | 23 |                                 dataService.setPowerOffState(); | 
 | 24 |                             }else if(status == 'xyz.openbmc_project.State.Host.HostState.Running'){ | 
 | 25 |                                 dataService.setPowerOnState(); | 
 | 26 |                             }else{ | 
 | 27 |                                 dataService.setBootingState(); | 
 | 28 |                             } | 
 | 29 |                         }); | 
 | 30 |                     } | 
 | 31 |                     $scope.loadServerStatus(); | 
 | 32 |  | 
 | 33 |                     $scope.logout = function(){ | 
 | 34 |                         userModel.logout(function(status, error){ | 
 | 35 |                             if(status){ | 
 | 36 |                                $location.path('/logout'); | 
 | 37 |                             }else{ | 
 | 38 |                                 console.log(error); | 
 | 39 |                             } | 
 | 40 |                         }); | 
 | 41 |                     } | 
 | 42 |  | 
 | 43 |                     $scope.refresh = function(){ | 
 | 44 |                         $scope.loadServerStatus(); | 
 | 45 |                     } | 
 | 46 |  | 
 | 47 |                     var loginListener = $rootScope.$on('user-logged-in', function(event, arg){ | 
 | 48 |                         $scope.loadServerStatus(); | 
 | 49 |                     }); | 
 | 50 |  | 
 | 51 |                     $scope.$on('$destroy', function(){ | 
 | 52 |                         loginListener(); | 
 | 53 |                     }); | 
 | 54 |                 }] | 
 | 55 |             }; | 
 | 56 |         }]); | 
 | 57 | })(window.angular); |