summaryrefslogtreecommitdiffstats
path: root/afm-client/app/Frontend
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2016-01-28 16:30:12 +0100
committerFulup Ar Foll <fulup@iot.bzh>2016-01-28 16:30:12 +0100
commitbe83a8f382cf2fea98161bfd6d51719aacbf9aa9 (patch)
tree3fb02337f8d7d308ef7ca7818ecc3d3a6ee05d88 /afm-client/app/Frontend
parent1a4ed39bf86b2115eb0f1387d1e988462b492776 (diff)
Update JSON API
Diffstat (limited to 'afm-client/app/Frontend')
-rw-r--r--afm-client/app/Frontend/pages/Dashboard/DashboardModule.js7
-rw-r--r--afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js55
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);