Clean up and documentation
[src/app-framework-demo.git] / afb-client / app / Frontend / pages / SampleHome / SampleHome.js
1 (function() {
2 'use strict';
3
4 // WARNING: make sure than app/frontend/services/AppConfig.js match your server
5
6 // list all rependencies within the page + controler if needed
7 angular.module('SampleHomeModule', ['SamplePostModule', 'SubmitButton', 'TokenRefresh','ModalNotification'])
8
9   .controller('SampleHomeController', function (AppCall, Notification) {
10         var scope = this; // I hate JavaScript
11         scope.uuid   ="none";
12         scope.token  ="none";
13         scope.session="none";
14         scope.status ="err-no";
15
16         console.log ("Home Controller");
17         
18         scope.OnResponse= function(jresp, errcode) {
19             
20             // Update UI response global display zone
21             scope.status   = jresp.request.status;
22             scope.errcode  = errcode;
23             scope.request  = jresp.request;
24             scope.response = jresp.response;
25             
26             var action=jresp.request.reqid.toUpperCase();
27                         
28             switch (action) {
29                 case 'CONNECT':
30                     if (jresp.request.status !== "success") {
31                         Notification.error ({message: action + ": Logout before reconnecting", delay: 5000});
32                         scope.class [jresp.request.reqid]="fail";   
33                         return;
34                     }                    
35                     scope.class={}; // reset CSS buttons classes
36                     break;
37                     
38                 case 'LOGOUT':
39                     if (jresp.request.status !== "success") {
40                         Notification.error ({message: action + ": Do connect first", delay: 5000});
41                         scope.class [jresp.request.reqid]="fail";   
42                         return;
43                     }
44                     scope.class={}; // reset CSS buttons classes
45                     break;
46                     
47                 case 'REFRESH':
48                 case 'CHECK':
49                     if (jresp.request.status !== "success") {
50                         Notification.error ({message: action + ": Need to be Connected to check/refresh session", delay: 5000});
51                         scope.class [jresp.request.reqid]="fail";   
52                         return;
53                     }
54                     
55                     break;
56                     
57                 default:
58                     Notification.error ({message: "Invalid RequestID:" + jresp.request.reqid , delay: 5000});
59                     return;
60             } 
61
62             // update button classes within home.html
63             scope.class [jresp.request.reqid]="success";            
64             console.log ("OK: "+ JSON.stringify(jresp));
65         };
66         
67         scope.ProcessError= function(response, errcode, config) {
68             Notification.error ({message: "Invalid API:" + response.request.reqid , delay: 5000});
69             scope.status   = "err-fx";
70             scope.errcode  = errcode;
71             scope.request  = response.request;
72             scope.response = "";            
73             console.log ("FX: "+ JSON.stringify(response));
74         };
75
76         scope.ConnectClient = function() {
77             console.log ("ConnectClient");
78             AppCall.get ("auth", "connect", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
79         };        
80
81         scope.CheckSession = function() {
82             console.log ("CheckSession");
83             AppCall.get ("auth", "check", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
84            
85         };
86         
87         scope.RefreshSession = function() {
88             console.log ("RefreshSession");
89             AppCall.get ("auth", "refresh", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
90         };
91         
92         scope.LogoutClient = function() {
93             console.log ("LogoutClient");
94             AppCall.get ("auth", "logout", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
95         };
96         
97         scope.Initialised = function () {
98             scope.class = {connect: "success"};
99         };
100         
101    });
102
103 console.log ("SampleControler Loaded");
104 })();