Clean up to prepare new version of API
[src/app-framework-demo.git] / afm-client / app / Frontend / pages / Dashboard / DashboardModule.js
index 0114a26..3bde5a9 100644 (file)
@@ -21,34 +21,40 @@ angular.module('DashboardModule', ['SubmitButton', 'TokenRefresh', 'AppliButton'
                 scope.request  = action; 
                 scope.errcode  = response.status;
                 if (response.data) scope.response = response.data;
+                
+                // On app was removed let's update runnable list
+                if (action === "uninstall")  scope.GetRunnables();
         };
         
         scope.GetRunnables = function() {
             console.log ("Dashboard GetRunnables");
             
-            AppCall.get ("afm-main", "runnables", {/*query*/}, function(response) {
+            AppCall.get ("afm-main", "runnables", {/*query*/}, function(jresp, errcode) {
                 
                 // update debug UI zone
                 scope.request  = "/api/afm-main/runnable"; 
-                scope.response = response.data;
-                scope.errcode  = response.status;
-                
-                if (response.status !== 200) {
-                    console.log ("Hoop GetRunnable failed");
-                    return;
-                }
-                
-                // Check this is a valid response from Binder
-                if (response.data.request.jtype !== "AJB_reply" && response.data.request.api !== "runnables") {
+                scope.response = jresp.response;
+                scope.errcode  = jresp.request.status;
+
+                // Check if this is a response from AGL application framework binder
+                if (jresp.jtype !== "afb-reply") {
                   Notification.error ({message: "Invalid Respond to /opa/afm-main/runnable response.data="+response.data, delay: 5000}); 
                   return;
                 }
+
+                // Check for success
+                if (jresp.request.status !== "success") {
+                    Notification.error ({message: "afm-main/runnable" + jresp.request.info, delay: 5000});
+                    return;
+                }
+                                   
                 
                 // loop on runnable application to prepare for display
                 var  appliIDs=[];
-                for (var idx=0; idx < response.data.response.length; idx ++) {
-                    appliIDs[idx] = response.data.response [idx].id;
-                    scope.appliStore [response.data.response [idx].id] =  response.data.response [idx];
+                var  runnables = jresp.response.runnables;
+                for (var idx=0; idx < runnables.length; idx ++) {
+                    appliIDs[idx] = runnables [idx].id;
+                    scope.appliStore [runnables [idx].id] =  runnables [idx];
                 }
                 scope.appliIDs = appliIDs; // avoid partial update to limit UI refresh
                 
@@ -74,4 +80,4 @@ angular.module('DashboardModule', ['SubmitButton', 'TokenRefresh', 'AppliButton'
    });
 
 console.log ("Dashboard Controller Loaded");
-})(); 
\ No newline at end of file
+})();