11
11
Hammer . plugins . fakeMultitouch ( ) ;
12
12
var s = null ;
13
13
var somekeyDown = 0 ;
14
- var hasLock = false ;
14
+ var isMaster = false ;
15
15
16
16
window . onbeforeunload = close ;
17
17
18
18
/* -------------------------- Websocket Fucntions ----------------------------
19
19
Functions used to handel the connection, opening, closing sendgin, and reciveing of the websocket
20
20
*/
21
-
21
+ function log ( msg ) {
22
+ $ ( "#DebugMsgList" ) . append ( "<p>log: " + msg + "</p>" ) ;
23
+ }
22
24
function open ( e ) {
23
25
$ ( "#DebugMsgList" ) . append ( "<p>Connect!</p>" ) ;
24
26
$ ( "#ToggleCxnStatus" ) . removeClass ( "danger" ) ;
@@ -31,11 +33,12 @@ function close(e) {
31
33
} ;
32
34
function msg ( e ) {
33
35
msg_data = JSON . parse ( e . data ) ;
34
- if ( msg_data . hasOwnProperty ( "LOCK" ) ) {
35
- $ ( "#MasterLock" ) . toggleClass ( "danger" ) ;
36
- msg_data [ "LOCK" ] ? hasLock = true : hasLock = false ;
36
+ if ( msg_data . hasOwnProperty ( "SLAVE" ) ) { toggleSlave ( msg_data [ "SLAVE" ] ) ; }
37
+ if ( msg_data . hasOwnProperty ( "MASTER_STATUS" ) ) {
38
+ isMaster = msg_data [ "MASTER_STATUS" ] ;
39
+ styleMaster ( ) ;
37
40
}
38
- $ ( "#DebugMsgList" ) . append ( "<p>Received: " + e . data + "</p>" ) ;
41
+ log ( e . data ) ;
39
42
} ;
40
43
function error ( e ) {
41
44
$ ( "#DebugMsgList" ) . append ( "<p>Error: " + e + "</p>" ) ;
@@ -52,7 +55,7 @@ function send(key,msg){
52
55
$ ( "#DebugMsgList" ) . append ( "<p>Event: " + data + "</p>" ) ;
53
56
}
54
57
}
55
- function toggleConnection ( ) {
58
+ function toggleConnection ( ) {
56
59
//Opens and closes a conenction using the address in #CxnWSAddress
57
60
if ( s ) {
58
61
s . close ( 1000 , "Try to Close" ) ;
@@ -74,13 +77,31 @@ function toggleConnection(){
74
77
}
75
78
}
76
79
}
77
- function toggleLock ( ) {
78
- if ( hasLock ) {
79
- send ( "LOCK" , false ) ;
80
+ function toggleLockCommand ( ) { send ( "MASTER_REQUEST" , ! isMaster ) ; }
81
+ function toggleSlave ( locked ) {
82
+ //Toogle the control of all commands with locked status
83
+ if ( locked ) {
84
+ //$(".ctrlBtn").attr("disabled", true).addClass("disabled");
85
+ $ ( ".ctrlBtn" ) . addClass ( "disabled" ) ;
86
+ //$("#MasterLock").addClass("danger");
87
+ $ ( "#ErrMsg" ) . text ( "Locked" ) . fadeIn ( ) ;
80
88
} else {
81
- send ( "LOCK" , true ) ;
89
+ //$(".ctrlBtn").attr("disabled", false).removeClass("disabled");
90
+ $ ( ".ctrlBtn" ) . removeClass ( "disabled" ) ;
91
+ //$("#MasterLock").removeClass("danger");
92
+ $ ( "#ErrMsg" ) . text ( "Locked" ) . fadeOut ( ) ;
82
93
}
83
94
}
95
+ function styleMaster ( ) {
96
+ if ( isMaster ) {
97
+ log ( "You are now Master" ) ;
98
+ $ ( "#MasterLock" ) . addClass ( "danger" ) ;
99
+ } else {
100
+ $ ( "#MasterLock" ) . removeClass ( "danger" ) ;
101
+ }
102
+
103
+ }
104
+
84
105
/* -------------------------- Document Ready Function ----------------------------
85
106
Main function, Handels all events, swipe, and keybord control
86
107
Makes the QR code
@@ -107,7 +128,7 @@ $(document).ready(function(){
107
128
$ ( "#PopWrap" ) . fadeIn ( ) ;
108
129
} ) ;
109
130
$ ( "#ToggleCxnBtn" ) . click ( toggleConnection ) ;
110
- $ ( "#MasterLock" ) . click ( toggleLock ) ;
131
+ $ ( "#MasterLock" ) . click ( toggleLockCommand ) ;
111
132
$ ( "#PopWrapCloseBtn" ) . click ( function ( ) { $ ( "#PopWrap" ) . fadeOut ( ) ; } ) ;
112
133
$ ( "#DebugMsgListBtn" ) . click ( function ( ) { $ ( "#DebugMsgList" ) . empty ( ) ; } ) ;
113
134
$ ( "#ToggleControl" ) . click ( function ( ) {
0 commit comments