diff --git a/domain-server/resources/web/js/query-string.js b/domain-server/resources/web/js/query-string.js
new file mode 100644
index 0000000000..7bf8f2dda1
--- /dev/null
+++ b/domain-server/resources/web/js/query-string.js
@@ -0,0 +1,5 @@
+function qs(key) {
+ key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
+ var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)"));
+ return match && decodeURIComponent(match[1].replace(/\+/g, " "));
+}
diff --git a/domain-server/resources/web/js/settings.js b/domain-server/resources/web/js/settings.js
index 273d35b1d8..26df779626 100644
--- a/domain-server/resources/web/js/settings.js
+++ b/domain-server/resources/web/js/settings.js
@@ -26,7 +26,7 @@ var viewHelpers = {
form_group = "
+
diff --git a/domain-server/resources/web/stats/js/stats.js b/domain-server/resources/web/stats/js/stats.js
index 9b6fdb217b..1ad824aa53 100644
--- a/domain-server/resources/web/stats/js/stats.js
+++ b/domain-server/resources/web/stats/js/stats.js
@@ -1,24 +1,18 @@
-function qs(key) {
- key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
- var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)"));
- return match && decodeURIComponent(match[1].replace(/\+/g, " "));
-}
-
$(document).ready(function(){
var currentHighchart;
// setup a function to grab the nodeStats
function getNodeStats() {
-
+
var uuid = qs("uuid");
-
+
$.getJSON("/nodes/" + uuid + ".json", function(json){
-
+
// update the table header with the right node type
$('#stats-lead h3').html(json.node_type + " stats (" + uuid + ")");
-
+
delete json.node_type;
-
+
var stats = JsonHuman.format(json);
$('#stats-container').html(stats);
@@ -27,33 +21,33 @@ $(document).ready(function(){
var x = (new Date()).getTime();
// get the last value using underscore-keypath
- var y = _(json).valueForKeyPath(graphKeypath);
-
+ var y = _(json).valueForKeyPath(graphKeypath);
+
// start shifting the chart once we hit 20 data points
var shift = currentHighchart.series[0].data.length > 20;
currentHighchart.series[0].addPoint([x, y], true, shift);
- }
+ }
}).fail(function(data) {
$('#stats-container th').each(function(){
$(this).addClass('stale');
});
- });
+ });
}
-
+
// do the first GET on page load
getNodeStats();
// grab the new assignments JSON every second
var getNodeStatsInterval = setInterval(getNodeStats, 1000);
-
+
var graphKeypath = "";
-
+
// set the global Highcharts option
Highcharts.setOptions({
global: {
useUTC: false
}
});
-
+
// add a function to help create the graph modal
function createGraphModal() {
var chartModal = bootbox.dialog({
@@ -66,7 +60,7 @@ $(document).ready(function(){
chartModal.on('hidden.bs.modal', function(e) {
currentHighchart.destroy();
currentHighchart = null;
- });
+ });
currentHighchart = new Highcharts.Chart({
chart: {
@@ -94,11 +88,11 @@ $(document).ready(function(){
}]
});
}
-
+
// handle clicks on numerical values - this lets the user show a line graph in a modal
$('#stats-container').on('click', '.jh-type-number', function(){
graphKeypath = $(this).data('keypath');
-
+
// setup the new graph modal
createGraphModal();
});