aboutsummaryrefslogtreecommitdiffstats
path: root/examples/html5/app/Frontend/pages/SampleHome/SampleHome.js
blob: 1e404b89285d85048fc83259632354d7dc6d92f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
(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('SampleHomeModule', ['SubmitButton', 'TokenRefresh','ModalNotification'])

  .controller('SampleHomeController', function (AppCall, Notification) {
        var scope = this; // I hate JavaScript
        scope.uuid   ="none";
        scope.token  ="none";
        scope.session="none";
        scope.status ="err-no";

        console.log ("Home Controller");
        
        scope.OnResponse= function(jresp, errcode) {
            
            // Update UI response global display zone
            scope.status   = jresp.request.status;
            scope.errcode  = errcode;
            scope.request  = jresp.request;
            scope.response = jresp.response;
            
            var action=jresp.request.reqid.toUpperCase();
                        
            switch (action) {
                case 'CONNECT':
                    if (jresp.request.status !== "success") {
                        Notification.error ({message: action + ": Logout before reconnecting", delay: 5000});
                        scope.class [jresp.request.reqid]="fail";   
                        return;
                    }                    
                    scope.class={}; // reset CSS buttons classes
                    break;
                    
                case 'LOGOUT':
                    if (jresp.request.status !== "success") {
                        Notification.error ({message: action + ": Do connect first", delay: 5000});
                        scope.class [jresp.request.reqid]="fail";   
                        return;
                    }
                    scope.class={}; // reset CSS buttons classes
                    break;
                    
                case 'REFRESH':
                case 'CHECK':
                    if (jresp.request.status !== "success") {
                        Notification.error ({message: action + ": Need to be Connected to check/refresh session", delay: 5000});
                        scope.class [jresp.request.reqid]="fail";   
                        return;
                    }
                    
                    break;
                    
                default:
                    Notification.error ({message: "Invalid RequestID:" + jresp.request.reqid , delay: 5000});
                    return;
            } 

            // update button classes within home.html
            scope.class [jresp.request.reqid]="success";            
            console.log ("OK: "+ JSON.stringify(jresp));
        };
        
        scope.ProcessError= function(response, errcode, config) {
            Notification.error ({message: "Invalid API:" + response.request.reqid , delay: 5000});
            scope.status   = "err-fx";
            scope.errcode  = errcode;
            scope.request  = response.request;
            scope.response = "";            
            console.log ("FX: "+ JSON.stringify(response));
        };

        scope.ConnectClient = function() {
            console.log ("ConnectClient");
            AppCall.get ("auth", "connect", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
        };        

        scope.CheckSession = function() {
            console.log ("CheckSession");
            AppCall.get ("auth", "check", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
           
        };
        
        scope.RefreshSession = function() {
            console.log ("RefreshSession");
            AppCall.get ("auth", "refresh", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
        };
        
        scope.LogoutClient = function() {
            console.log ("LogoutClient");
            AppCall.get ("auth", "logout", {/*query*/}, scope.OnResponse, scope.InvalidApiCall);
        };
        
        scope.Initialised = function () {
            scope.class = {connect: "success"};
        };
        
   });

console.log ("SampleControler Loaded");
})();