summaryrefslogtreecommitdiffstats
path: root/afm-client/app/Frontend/widgets
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2016-05-29 15:50:40 +0200
committerFulup Ar Foll <fulup@iot.bzh>2016-05-29 15:50:40 +0200
commit96190f9cd583d9182c692c88d3342109bad81157 (patch)
tree5d5b098e64c14b7be1da47961ed6600ce355020b /afm-client/app/Frontend/widgets
parent922b183f441a6e68b55592596fa62cc6e1814f74 (diff)
Clean up to prepare new version of API
Diffstat (limited to 'afm-client/app/Frontend/widgets')
-rw-r--r--afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js40
-rw-r--r--afm-client/app/Frontend/widgets/Notifications/TokenRefreshSvc.js69
2 files changed, 61 insertions, 48 deletions
diff --git a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
index 269ee81..a10030c 100644
--- a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
+++ b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
@@ -57,17 +57,17 @@
scope.runmode = urlquery.runmode || "auto";
scope.clicked = function () {
- var notifyError = function(action, response) {
+ var notifyError = function(action, jresp) {
Notification.error ({message: "Fail /api/afm-main" + action + "=" + scope.label + " RunID="+ scope.appID, delay: 5000});
elem.addClass ("fail");
elem.removeClass ("success");
- scope.callback (scope.appID, action, response);
+ scope.callback (scope.appID, action, jresp);
};
- var notifySuccess = function (action, response) {
+ var notifySuccess = function (action, jresp) {
elem.removeClass ("fail");
- scope.runID = response.data.response.runid;
- scope.callback (scope.appID, action, response);
+ scope.runID = jresp.response.runid;
+ scope.callback (scope.appID, action, jresp);
};
var closeModApp = function() {
@@ -86,13 +86,13 @@
case "start":
if (scope.runstatus !== "stop") return;
- AppCall.get ("afm-main", "start", {id: scope.appID, mode: scope.runmode}, function(response) {
- if (response.status !== 200 || response.data.jtype !== "afb-reply") {
- notifyError ("start", response);
+ AppCall.get ("afm-main", "start", {id: scope.appID, mode: scope.runmode}, function(jresp, errcode) {
+ if (errcode !== 200 || jresp.jtype !== "afb-reply") {
+ notifyError ("start", jresp);
return;
}
scope.runstatus="start";
- notifySuccess (action, response);
+ notifySuccess (action, jresp);
if(response.data.response.uri)
scope.winapp= $window.open(response.data.response.uri.replace("%h", $location.host()));
});
@@ -101,9 +101,9 @@
case "stop":
if (scope.runstatus !== "start") return;
- AppCall.get ("afm-main", "terminate", {runid: scope.runID}, function(response) {
- if (response.status !== 200 || response.data.jtype !== "afb-reply") {
- notifyError ("stop", response);
+ AppCall.get ("afm-main", "terminate", {runid: scope.runID}, function(jresp, errcode) {
+ if (errcode !== 200 || jresp.jtype !== "afb-reply") {
+ notifyError ("stop", jresp);
return;
}
scope.runstatus="stop";
@@ -114,14 +114,14 @@
scope.winapp.close();
scope.winapp=false;
}
- notifySuccess (action, response);
+ notifySuccess (action, jresp);
});
break;
case "info":
- AppCall.get ("afm-main", "detail", {id: scope.appID}, function(response) {
- if (response.status !== 200 || response.data.jtype !== "afb-reply") {
- notifyError ("detail", response);
+ AppCall.get ("afm-main", "detail", {id: scope.appID}, function(jresp, errcode) {
+ if (errcode !== 200 || jresp.jtype !== "afb-reply") {
+ notifyError ("detail", jresp);
return;
}
@@ -144,13 +144,13 @@
case "uninstall":
if (scope.runstatus !== "stop") return;
- AppCall.get ("afm-main", "uninstall", {id: scope.appID}, function(response) {
- if (response.status !== 200 || response.data.jtype !== "afb-reply") {
- notifyError ("uninstall", response);
+ AppCall.get ("afm-main", "uninstall", {id: scope.appID}, function(jresp, errcode) {
+ if (errcode !== 200 || jresp.jtype !== "afb-reply") {
+ notifyError ("uninstall", jresp);
return;
}
- notifySuccess (action, response);
+ notifySuccess (action, jresp);
});
break;
diff --git a/afm-client/app/Frontend/widgets/Notifications/TokenRefreshSvc.js b/afm-client/app/Frontend/widgets/Notifications/TokenRefreshSvc.js
index 4d7aed6..3ddd270 100644
--- a/afm-client/app/Frontend/widgets/Notifications/TokenRefreshSvc.js
+++ b/afm-client/app/Frontend/widgets/Notifications/TokenRefreshSvc.js
@@ -25,7 +25,7 @@
'use strict';
var template =
- '<div class="afb-monitor" ng-click="getping()">' +
+ '<div class="afb-monitor" ng-click="getping()">' +
'<span class="afb-refresh-token" >afb://{{hostname}}:{{httpdport}}</span>' +
'<i class="{{icon}}"></i>' +
'</div>';
@@ -65,60 +65,74 @@ angular.module('TokenRefresh', ['AppConfig', 'ModalNotification'])
scope.status = 0;
};
- scope.onsuccess = function(jresp) {
- if (jresp.request.token) AppConfig.session.token = jresp.request.token;
- if (jresp.request.uuid) AppConfig.session.uuid = jresp.request.uuid;
- if (jresp.request.timeout) AppConfig.session.timeout = jresp.request.timeout;
+ scope.onsuccess = function(jresp, errcode) {
+
+ if (errcode !== 200 || jresp.request.status !== "success") {
+ Notification.warning ({message: "auto-connect :" + jresp.request.info, delay: 10000});
+ scope.offline();
+ return false;
+ }
if (scope.logged !== true) {
- Notification.success ({message: "AppFramework Binder Back to Live", delay: 3000});
+ Notification.success ({message: "AppFramework Binder Connected", delay: 3000});
scope.online();
if (scope.callback) scope.callback(jresp);
}
- scope.status = 1;
+
+ scope.status = 1;
+ return true;
};
// Check Binder status
scope.getping = function() {
- AppCall.get ("token", "ping", {/*query*/},function(result) {
- if (result.status === 200) scope.onsuccess (result.data);
- else scope.onerror();
+ AppCall.get (scope.plugin, "ping", {/*query*/},function(jresp, errcode) {
+ if (errcode !== 200 || jresp.request.status !== "success") {
+ Notification.warning ({message: jresp.request.info, delay: 5000});
+ scope.offline();
+ return;
+ }
// restart a new timer for next ping
$timeout (scope.getping, AppConfig.session.pingrate*1000);
- });
+ }, scope.onerror);
};
// Check Binder status
scope.refresh = function() {
- AppCall.get ("token", "refresh", {/*query*/},function(result) {
- if (result.status === 200) scope.onsuccess (result.data);
- else scope.onerror();
+ AppCall.get (scope.plugin, "refresh", {/*query*/}, function(jresp, errcode) {
+
+ scope.onsuccess (jresp, errcode);
+
// restart a new timer for next refresh
$timeout (scope.refresh, AppConfig.session.timeout *250);
- });
+ }, scope.onerror);
};
// Initial connection
- scope.tkcreate = function() {
-
- AppCall.get ("token", "create", {token: AppConfig.session.initial},function(result) {
- if (result.status === 200) scope.onsuccess (result.data);
- else scope.onerror();
- });
- };
+ scope.loggin = function() {
+ AppCall.get (scope.plugin, "connect", {token: AppConfig.session.initial}, function(jresp, errcode) {
+
+ if (!scope.onsuccess (jresp, errcode)) return;
+
+ // Intial token was accepted let's start ping & refresh
+ $timeout (scope.getping, AppConfig.session.pingrate*1000);
+ $timeout (scope.refresh, AppConfig.session.timeout *250);
+ }, scope.onerror);
+ };
+
+
+ // Parse Widget Parameters
+ scope.plugin = attrs.plugin || "auth";
scope.icon = attrs.icon || "fi-lightbulb";
scope.hostname = $location.host();
scope.httpdport = $location.port();
scope.autolog = JSON.parse(attrs.autolog || false);
- if (scope.autolog) scope.tkcreate();
-
- // Init ping and refresh process
- $timeout (scope.getping, AppConfig.session.pingrate*1000);
- $timeout (scope.refresh, AppConfig.session.timeout *250);
+ // autostart log if requested
+ if (scope.autolog) scope.loggin();
+
}
return {
@@ -133,4 +147,3 @@ angular.module('TokenRefresh', ['AppConfig', 'ModalNotification'])
})();
console.log ("Token Refresh Loaded");
-