projects
/
dweather.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
feceb0b
)
start to add state ready for graphs
author
Dirk Koopman
<djk@tobit.co.uk>
Tue, 27 Jan 2015 22:28:19 +0000
(22:28 +0000)
committer
Dirk Koopman
<djk@tobit.co.uk>
Tue, 27 Jan 2015 22:28:19 +0000
(22:28 +0000)
loop.pl
patch
|
blob
|
history
diff --git
a/loop.pl
b/loop.pl
index bb28f1843e7372b2164aa90c7427ab2ae32b3b2f..bc9bf7f6718d97343342a92a4fb4b6b5a69296a9 100755
(executable)
--- a/
loop.pl
+++ b/
loop.pl
@@
-733,33
+733,40
@@
__DATA__
<script>
var ws;
<script>
var ws;
+ var h = new Object();
- function process(key,value) {
+ function update_h(key, value) {
+ h[key] = value;
+ }
+
+ function fill_html(key,value) {
var d = document.getElementById(key);
if (d !== null) {
d.innerHTML = value;
}
}
var d = document.getElementById(key);
if (d !== null) {
d.innerHTML = value;
}
}
- function traverse(o) {
+ function traverse(o
, func
) {
console.log(o);
for (var i in o) {
console.log(o);
for (var i in o) {
- process(i, o[i]);
if (o[i] !== null && typeof(o[i])=="object") {
if (o[i] !== null && typeof(o[i])=="object") {
- traverse(o[i]);
+ traverse(o[i], func);
+ } else {
+ func(i, o[i]);
}
}
}
}
}
}
-
- window.onload = function() {
+ function startws() {
ws = new WebSocket('<%= $url->to_abs %>');
ws = new WebSocket('<%= $url->to_abs %>');
- if (typeof(ws)
=== 'object'
) {
+ if (typeof(ws)
!== null
) {
ws.onmessage = function (event) {
var js = JSON.parse(event.data);
if (js !== null && typeof(js) === 'object') {
ws.onmessage = function (event) {
var js = JSON.parse(event.data);
if (js !== null && typeof(js) === 'object') {
- traverse(js);
+ traverse(js, fill_html);
+ traverse(js, update_h);
+ document.getElementById("hh").innerHTML = JSON.stringify(h);
}
};
ws.onopen = function (event) {
}
};
ws.onopen = function (event) {
@@
-768,10
+775,19
@@
__DATA__
};
ws.onclose = function(event) {
document.getElementById("wsconnect").innerHTML = 'ws disconnected, refresh to restart';
};
ws.onclose = function(event) {
document.getElementById("wsconnect").innerHTML = 'ws disconnected, refresh to restart';
+ ws = null;
}
} else {
document.body.innerHTML += 'Webserver only works with Websocket aware browsers';
}
}
} else {
document.body.innerHTML += 'Webserver only works with Websocket aware browsers';
}
+ }
+
+ window.onload = function() {
+ startws();
+ window.setInterval(function() {
+ if (ws === null)
+ startws();
+ }, 15000);
}
</script>
}
</script>
@@
-816,6
+832,8
@@
__DATA__
</table>
<br>
<div id="wsconnect" align="center"> </div>
</table>
<br>
<div id="wsconnect" align="center"> </div>
+ <br>
+ <div id="hh" align="center"> </div>
</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->