aboutsummaryrefslogtreecommitdiffstats
path: root/web/nms.gathering.org/nms2
diff options
context:
space:
mode:
Diffstat (limited to 'web/nms.gathering.org/nms2')
-rw-r--r--web/nms.gathering.org/nms2/index.html (renamed from web/nms.gathering.org/nms2/map.html)9
-rw-r--r--web/nms.gathering.org/nms2/js/nms.js (renamed from web/nms.gathering.org/nms2/map.js)45
2 files changed, 49 insertions, 5 deletions
diff --git a/web/nms.gathering.org/nms2/map.html b/web/nms.gathering.org/nms2/index.html
index 7e40964..dc20034 100644
--- a/web/nms.gathering.org/nms2/map.html
+++ b/web/nms.gathering.org/nms2/index.html
@@ -48,6 +48,8 @@
<li class="divider"> </li>
<li><a href="#" onclick="toggleNightMode()" title="Add 'nightMode' anywhere in the url to auto-enable">Toggle Night Mode</a></li>
<li class="divider"> </li>
+ <li><a href="#" onclick="document.getElementById('nowPickerBox').style.display = 'block';">Travel in time</a></li>
+ <li class="divider"> </li>
<li><input type="range" id="scaler" name="points" min="0.5" max="3" step="0.01" onchange="scaleChange()" /></li>
<li><a href="#">Scale: <div id="scaler-text"></div></a></li>
</ul>
@@ -62,6 +64,11 @@
<div class="container-fluid">
<div class="panel" style="position: fixed; z-index: 10000;">
<div class="span4">
+ <div id="nowPickerBox" style="display:none; background:
+ white; border: 1px solid #000000;" >
+ <input type="text" class="form-control" placeholder="YYYY-MM-DD hh:mm:ss" id="nowPicker" value="" />
+ <button class="btn btn-default" onclick="changeNow();">Travel</button>
+ </div>
<div id="info-switch-parent" style="background: silver">
<table class="table" id="info-switch-table"></table>
</div>
@@ -90,7 +97,7 @@
var draw_linknets = true;
var can_edit = false;
</script>
- <script type="text/javascript" src="map.js"></script>
+ <script type="text/javascript" src="js/nms.js"></script>
<script type="text/javascript">
updatePorts();
updatePing();
diff --git a/web/nms.gathering.org/nms2/map.js b/web/nms.gathering.org/nms2/js/nms.js
index db5d475..101f2b1 100644
--- a/web/nms.gathering.org/nms2/map.js
+++ b/web/nms.gathering.org/nms2/js/nms.js
@@ -12,6 +12,7 @@ var nms = {
switch_color:{},
damage:false,
drawText:true,
+ now:false,
did_update:false // Set to 'true' after we've done some basic updating
};
@@ -22,7 +23,7 @@ var counters = {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
-var fontSize = 12;
+var fontSize = 16;
var fontFace = "Arial Black";
var orig = {
width:1920,
@@ -90,6 +91,36 @@ function toggleNightMode() {
setNightMode(!nms.nightMode);
}
+function checkNow(now) {
+ if (Date.parse(now)) {
+ var d = new Date(Date.parse(now));
+ var str = d.getFullYear() + "-" + (parseInt(d.getMonth())+1) + "-" + d.getDate() + " ";
+ str += d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
+ return str;
+
+ }
+ if (now == "")
+ return "";
+ return false;
+}
+
+function changeNow() {
+ var newnow = checkNow(document.getElementById("nowPicker").value);
+ if (!newnow) {
+ alert('Bad date-field in time travel field');
+ return;
+ }
+ if (newnow == "")
+ newnow = false;
+
+ nms.now = newnow;
+ updatePorts();
+ var boxHide = document.getElementById("nowPickerBox");
+ if (boxHide) {
+ boxHide.style.display = "none";
+ }
+}
+
/*
* Hide switch info-box
*/
@@ -484,7 +515,7 @@ function updatePing()
{
$.ajax({
type: "GET",
- url: "/ping-json2.pl",
+ url: "/ping-json2.pl?now=" + nms.now,
dataType: "text",
success: function (data, textStatus, jqXHR) {
nms.ping_data = JSON.parse(data);
@@ -498,9 +529,12 @@ function updatePing()
*/
function updatePorts()
{
+ var now = "";
+ if (nms.now)
+ now = "?now=" + nms.now;
$.ajax({
type: "GET",
- url: "/port-state.pl",
+ url: "/port-state.pl"+ now ,
dataType: "text",
success: function (data, textStatus, jqXHR) {
var switchdata = JSON.parse(data);
@@ -509,9 +543,12 @@ function updatePorts()
initialUpdate();
}
});
+ now="";
+ if (nms.now)
+ now = "&now=" + nms.now;
$.ajax({
type: "GET",
- url: "/port-state.pl?time=5m",
+ url: "/port-state.pl?time=5m" + now,
dataType: "text",
success: function (data, textStatus, jqXHR) {
var switchdata = JSON.parse(data);