Update JSON API
[src/app-framework-demo.git] / afm-client / app / Frontend / widgets / ActionButtons / AppliButton.js
index 50220dd..a17ebc9 100644 (file)
 
                 function mymethods(scope, elem, attrs) {
                     scope.clicked = function () {
+
+                        var notifyError = function(api, response) {
+                            Notification.error ({message: "Fail /api/afm-main" + api + "=" + scope.label + " RunID="+ scope.appID, delay: 5000});
+                            elem.addClass ("fail");
+                            elem.removeClass ("success");
+                            scope.callback (scope.appliID, api, response);
+                        };
+                        
+                        var notifySuccess = function (api, response) {
+                            elem.removeClass ("fail");
+                            scope.runID = response.data.response.runid;
+                            scope.callback (scope.appliID, "/api/afm-main/start", response);
+                        };
                         
                         var closeModal = function() {
                             console.log ("Modal Closing");
                                 
                                 case "start":
                                     AppCall.get ("afm-main", "start", {id: scope.appliID}, function(response) {
-                                        if (response.status !== 200) {
-                                            Notification.error ({message: "Fail to start application=" + scope.label +" ID="+ scope.appliID, delay: 5000});
-                                            elem.addClass ("fail");
-                                            elem.removeClass ("success");
-                                            scope.callback (scope.appliID, "/api/afm-main/start", response);
-                                            return;
-                                        }
-
-                                        // Check this is a valid response from Binder
-                                        if (response.data.request.jtype !== "AJB_reply" && response.data.request.api !== "start") {
-                                            Notification.error ({message: "Invalid Respond to /opa/afm-main/start response.data="+response.data, delay: 5000}); 
-                                            elem.addClass ("fail");
-                                            elem.removeClass ("success");
-                                            scope.callback (scope.appliID, "/api/afm-main/start", response);
+                                        if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") {
+                                            notifyError ("start", response);
                                             return;
                                         }
                                         
-                                        // Application was started
-                                        elem.addClass ("success");
-                                        elem.removeClass ("fail");
-                                        scope.runID = response.data.response.runid;
-                                        scope.callback (scope.appliID, "/api/afm-main/start", response);
+                                        notifySuccess ("start", response);
                                     });
                                     break;
                                     
                                 case "stop":
+                                    AppCall.get ("afm-main", "stop", {id: scope.runID}, function(response) {
+                                        if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") {
+                                            notifyError ("stop", response);
+                                            return;
+                                        }
+                                        
+                                        notifySuccess ("stop", response);
+                                    });
                                     break;
+                                        
+                                case "info":
+                                    AppCall.get ("afm-main", "detail", {id: scope.appID}, function(response) {
+                                        if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") {
+                                            notifyError ("detail", response);
+                                            return;
+                                        }
+                                        
+                                        notifySuccess ("detail", response);
+                                    });
+                                    break;
+                                        
                                     
                                 default:
                                     console.log ("ActionModal unknown action=[%s]", action);