var socket;
+ function showOfflineQueue(queue) {
+ if (Array.isArray(queue)) {
+ let elem = document.getElementById("offline_data");
+ elem.innerHTML = '';
+ for (var i = queue.length - 1; i >= 0 && i >= queue.length - 20; i--) {
+ let entry = queue[i];
+ elem.innerHTML += (new Date(entry.time)).toGMTString() + ": <tt>" + entry.data + "</tt><br>";
+ }
+ }
+ }
+
function connect() {
console.log("connecting...");
socket = new WebSocket(
catch (err) {
console.log(err);
}
+ showOfflineQueue(queue);
}
}
}
<h1>IID Coffee Terminal</h1>
</center>
-<div id="remote"><center>No data from server.</center></div>
+<div id="remote"></div>
<div id="local">
+ <h2>Offline mode</h2>
+ <p><b>You can make coffees as usually – swipe a card/token and select a beverage.</b><br>
+ All data about coffees are collected and will be pushed to the server once it is online again!</p>
+ <h3>Collected data (last 20 entries)</h3>
+ <div id="offline_data">
+ </div>
+
<hr>
<center>
<h2>Debug area</h2>
<button onclick="location.reload()">reload</button>
<p>Input: <span id="inputStatus"></span>, JSON message: <span id="localJSON">no data received</span></p>
</center>
- <hr>
</div>
</body>