summaryrefslogtreecommitdiffstats
path: root/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js
diff options
context:
space:
mode:
Diffstat (limited to 'afm-client/app/Frontend/pages/Dashboard/DashboardModule.js')
-rw-r--r--afm-client/app/Frontend/pages/Dashboard/DashboardModule.js83
1 files changed, 83 insertions, 0 deletions
diff --git a/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js b/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js
new file mode 100644
index 0000000..3bde5a9
--- /dev/null
+++ b/afm-client/app/Frontend/pages/Dashboard/DashboardModule.js
@@ -0,0 +1,83 @@
+(function() {
+'use strict';
+
+// WARNING: make sure than app/frontend/services/AppConfig.js match your server
+
+// list all rependencies within the page + controler if needed
+angular.module('DashboardModule', ['SubmitButton', 'TokenRefresh', 'AppliButton'])
+
+ .controller('DashboardController', function (AppCall, Notification) {
+ var scope = this; // I hate JavaScript
+ scope.uuid ="none";
+ scope.token ="none";
+ scope.session="none";
+ scope.status ="err-no";
+ scope.appliIDs =[]; // array to hold applications ID
+ scope.appliStore={}; // array to hold applications json description
+
+
+ scope.AppliCB = function(appliID, action, response) {
+ // Action is done within Widget Controller only update debug UI zone
+ 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(jresp, errcode) {
+
+ // update debug UI zone
+ scope.request = "/api/afm-main/runnable";
+ 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=[];
+ 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
+
+ });
+ };
+
+ scope.FileUploaded = function (response) {
+ console.log ("file Uploaded");
+ // Cannot display post results as GetRunnable will overload them aynchronously
+ scope.request = "/api/afm-main/install";
+ scope.response = response.headers;
+ scope.errcode = response.status;
+
+ // everything looks OK update app list
+ scope.GetRunnables();
+ };
+
+ scope.AutoStart = function () {
+ console.log ("AutoStart requesting Apps list");
+ scope.GetRunnables();
+ };
+
+ });
+
+console.log ("Dashboard Controller Loaded");
+})();