]> www.average.org Git - loctrkd.git/blob - webdemo/index.html
WIP on websocket gateway
[loctrkd.git] / webdemo / index.html
1 <!DOCTYPE html>
2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
3 <head>
4         <title>Location</title>
5         <script type="text/javascript">
6                 var sts;
7                 var log;
8                 var ws;
9
10                 function init() {
11                         sts = document.getElementById("sts");
12                         sts.innerHTML = "uninitialized";
13                         log = document.getElementById("log");
14                         log.innerHTML = "top of log<br>";
15                         imei = document.getElementById("imei");
16                         send = document.getElementById("send");
17                         open_ws();
18                 }
19
20                 function open_ws() {
21                         ws = new WebSocket("ws://localhost:5049");
22                         ws.onopen = ws_onopen;
23                         ws.onmessage = ws_onmessage;
24                         ws.onerror = ws_onerror;
25                         ws.onclose = ws_onclose;
26                 }
27                 function ws_onopen(event) {
28                         console.log("ws opened " + event);
29                         sts.innerHTML = "open";
30                         imei.disabled = false;
31                         send.disabled = false;
32                 }
33                 function ws_onmessage(event) {
34                         console.log("message " + event);
35                         log.innerHTML += "message " + event + "<br>";
36                 }
37                 function ws_onerror(event) {
38                         console.log("error " + event);
39                         sts.innerHTML = "error";
40                 }
41                 function ws_onclose(event) {
42                         console.log("close " + event);
43                         sts.innerHTML = "closed";
44                         imei.disabled = true;
45                         send.disabled = true;
46                         setTimeout(open_ws, 5000);
47                 }
48
49                 function sendIMEI() {
50                         console.log("sending " + imei.value);
51                         var msg = {
52                                 imei: imei.value,
53                                 type: "subscribe",
54                                 date: Date.now()
55                         };
56                         ws.send(JSON.stringify(msg));
57                         document.title = imei.value;
58                         imei.value = "";
59                 }
60
61                 function handleKey(evt) {
62                         if (evt.keyCode === 13 || evt.keyCode === 14) {
63                                 if (!imei.disabled) {
64                                         sendIMEI();
65                                 }
66                         }
67                 }
68         </script>
69
70 </head>
71 <body onload="init();">
72         <div style="width:100%; height:2%" id="hdr">
73                 <input id="imei" type="text" name="imei"
74                  size="16" maxlength="16" placeholder="Enter IMEI"
75                  autocomplete="off" onkeyup="handleKey(event)">
76                 <input type="button" id="send" name="send" value="Send"
77                  onclick="sendIMEI()" disabled>
78         </div>
79         <div style="width:100%; height:96%" id="log"></div>
80         <div style="width:100%; height:2%" id="sts"></div>
81 </body>
82 </html>