diff options
Diffstat (limited to 'afm-client/app/Frontend')
-rw-r--r-- | afm-client/app/Frontend/pages/Dashboard/DashboardModule.js | 7 | ||||
-rw-r--r-- | afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js | 55 |
2 files changed, 40 insertions, 22 deletions
diff --git a/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js b/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js index 0114a26..f4330cf 100644 --- a/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js +++ b/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js @@ -46,9 +46,10 @@ angular.module('DashboardModule', ['SubmitButton', 'TokenRefresh', 'AppliButton' // 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 = response.data.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 diff --git a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js index 50220dd..a17ebc9 100644 --- a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js +++ b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js @@ -42,6 +42,19 @@ 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"); @@ -55,33 +68,37 @@ 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); |