diff options
Diffstat (limited to 'client/js/controllers/home/home.js')
| -rwxr-xr-x | client/js/controllers/home/home.js | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/client/js/controllers/home/home.js b/client/js/controllers/home/home.js index 2e3cada..287e63a 100755 --- a/client/js/controllers/home/home.js +++ b/client/js/controllers/home/home.js @@ -5,6 +5,51 @@ */ mainApp.controller('homeCtrl', [ '$scope', 'Compute', '$rootScope', 'Loading','Identity', 'Image', function ($scope, Compute, $rootScope, Loading, Identity, Image) { + // Function to call after pull all data about machines + var callMeAfterPullData=function(data){ + //$scope.machines=Compute.getData().machines; + Loading.stop(); + displayMachine(); + }; + + var tryToRetrieveData = function () { + // If no data retrieve about machine and user is logged + if (Compute.getData().machines == null && Identity.isAlreadyLogin()) { + Loading.start(); // Show loading gif + Compute.pullData(callMeAfterPullData); // Retrieve data and call the callback + } else { + // Else if user is logged and data is already retrieve + // simply display data + if (Identity.isAlreadyLogin()) { + callMeAfterPullData(); // Display data + } + } + }; + + // On user login + $scope.$on('loginEvent', function () { + tryToRetrieveData(); + }); + + // Function to call from view to display the details of a machine + $scope.raiseShowMachineDetailsEvent = function (id) { + + // Stop loading gif and display overlay + var callback = function () { + Loading.stop(); + var data = Compute.getData(); + + $rootScope.$broadcast("showMachineDetailsEvent", data.machines[id], data.axioms); + + }; + Loading.start(); // Show loading gif + Compute.pullMachines(callback); // Retrieve machine info and display overlay + }; + + // Try to retrieve data for the first time + tryToRetrieveData(); + + var displayMachine = function(){ var machineNames = []; var i = 0; @@ -158,7 +203,9 @@ mainApp.controller('homeCtrl', [ '$scope', 'Compute', '$rootScope', 'Loading','I var width = 130; var height = 80; var data = Compute.getData(); - + + //console.log(data.machines[vm[1]]); + if(data.machines[vm[1]].status == "ACTIVE"){ return new joint.shapes.org.Member({ id: vm[1], |
