some smaller changes in the frontend
This commit is contained in:
parent
f8ed63b034
commit
dca9b59fa8
2 changed files with 54 additions and 57 deletions
|
@ -37,7 +37,8 @@ var vz = {
|
||||||
|
|
||||||
// web user interface
|
// web user interface
|
||||||
wui: {
|
wui: {
|
||||||
dialogs: { }
|
dialogs: { },
|
||||||
|
timeout: null
|
||||||
},
|
},
|
||||||
|
|
||||||
// known UUIDs in the browser
|
// known UUIDs in the browser
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
* Initialize the WUI (Web User Interface)
|
* Initialize the WUI (Web User Interface)
|
||||||
*/
|
*/
|
||||||
vz.wui.init = function() {
|
vz.wui.init = function() {
|
||||||
vz.wui.timeout = null;
|
|
||||||
// initialize dropdown accordion
|
// initialize dropdown accordion
|
||||||
$('#accordion h3').click(function() {
|
$('#accordion h3').click(function() {
|
||||||
$(this).next().toggle('fast');
|
$(this).next().toggle('fast');
|
||||||
|
@ -85,8 +84,7 @@ vz.wui.init = function() {
|
||||||
vz.wui.setTimeout();
|
vz.wui.setTimeout();
|
||||||
}
|
}
|
||||||
$('#refresh').change(function() {
|
$('#refresh').change(function() {
|
||||||
vz.options.refresh = $(this).attr('checked');
|
if (vz.options.refresh = $(this).attr('checked')) {
|
||||||
if (vz.options.refresh) {
|
|
||||||
vz.wui.setTimeout();
|
vz.wui.setTimeout();
|
||||||
} else {
|
} else {
|
||||||
vz.wui.clearTimeout();
|
vz.wui.clearTimeout();
|
||||||
|
@ -123,7 +121,7 @@ vz.wui.dialogs.init = function() {
|
||||||
if (json.entities.length > 0) {
|
if (json.entities.length > 0) {
|
||||||
json.entities.each(function(index, entity) {
|
json.entities.each(function(index, entity) {
|
||||||
$('#entity-subscribe-public select#public').append(
|
$('#entity-subscribe-public select#public').append(
|
||||||
$('<option>').text(entity.title).data('entity', entity)
|
$('<option>').html(entity.title).data('entity', entity)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -133,7 +131,7 @@ vz.wui.dialogs.init = function() {
|
||||||
// show available entity types
|
// show available entity types
|
||||||
vz.capabilities.definitions.entities.each(function(index, def) {
|
vz.capabilities.definitions.entities.each(function(index, def) {
|
||||||
$('#entity-create select#type').append(
|
$('#entity-create select#type').append(
|
||||||
$('<option>').text(def.translation[vz.options.language]).data('definition', def)
|
$('<option>').html(def.translation[vz.options.language]).data('definition', def)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -225,7 +223,7 @@ vz.wui.initEvents = function() {
|
||||||
})
|
})
|
||||||
.bind('mouseup', function(event) {
|
.bind('mouseup', function(event) {
|
||||||
vz.entities.loadData().done(vz.wui.drawPlot);
|
vz.entities.loadData().done(vz.wui.drawPlot);
|
||||||
})*/
|
})
|
||||||
.bind('plotzoom', function (event, plot) {
|
.bind('plotzoom', function (event, plot) {
|
||||||
var axes = plot.getAxes();
|
var axes = plot.getAxes();
|
||||||
vz.options.plot.xaxis.min = axes.xaxis.min;
|
vz.options.plot.xaxis.min = axes.xaxis.min;
|
||||||
|
@ -233,54 +231,9 @@ vz.wui.initEvents = function() {
|
||||||
vz.options.plot.yaxis.min = axes.yaxis.min;
|
vz.options.plot.yaxis.min = axes.yaxis.min;
|
||||||
vz.options.plot.yaxis.max = axes.yaxis.max;
|
vz.options.plot.yaxis.max = axes.yaxis.max;
|
||||||
vz.entities.loadData().done(vz.wui.drawPlot);
|
vz.entities.loadData().done(vz.wui.drawPlot);
|
||||||
});
|
});*/
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Refresh plot with new data
|
|
||||||
*/
|
|
||||||
vz.wui.refresh = function() {
|
|
||||||
var delta = vz.options.plot.xaxis.max - vz.options.plot.xaxis.min;
|
|
||||||
|
|
||||||
vz.options.plot.xaxis.max = new Date().getTime(); // move plot
|
|
||||||
vz.options.plot.xaxis.min = vz.options.plot.xaxis.max - delta; // move plot
|
|
||||||
vz.entities.loadData().done(function() {
|
|
||||||
vz.wui.drawPlot();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* refresh graphs after timeout ms, with a minimum f vz.options.minTimeout ms
|
|
||||||
*/
|
|
||||||
vz.wui.setTimeout = function() {
|
|
||||||
// clear an already set timeout
|
|
||||||
if (vz.wui.timeout != null) {
|
|
||||||
window.clearTimeout(vz.wui.timeout);
|
|
||||||
vz.wui.timeout = null;
|
|
||||||
}
|
|
||||||
// don't refresh if the end of the x axis is not the current time, i.e. we are looking at some old data
|
|
||||||
// we allow an offset of 1s, because loading data takes some time. this also means that if it takes more than 1s,
|
|
||||||
// we will not automatically refresh. this is a feature!
|
|
||||||
if (vz.options.plot.xaxis.max < Number(new Date()) - 1000) {
|
|
||||||
$('#refresh-time').html('(deactivated)');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var t = Math.max((vz.options.plot.xaxis.max - vz.options.plot.xaxis.min)/vz.options.tuples, vz.options.minTimeout);
|
|
||||||
$('#refresh-time').html(Math.round(t/1000)+"s");
|
|
||||||
vz.wui.timeout = window.setTimeout(this.refresh, t);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* stop auto-refresh of graphs
|
|
||||||
*/
|
|
||||||
vz.wui.clearTimeout = function() {
|
|
||||||
$('#refresh-time').html('');
|
|
||||||
var rc = window.clearTimeout(vz.wui.timeout);
|
|
||||||
vz.wui.timeout = null;
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Move & zoom in the plotting area
|
* Move & zoom in the plotting area
|
||||||
*/
|
*/
|
||||||
|
@ -354,6 +307,43 @@ vz.wui.handleControls = function () {
|
||||||
vz.entities.loadData().done(vz.wui.drawPlot);
|
vz.entities.loadData().done(vz.wui.drawPlot);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refresh plot with new data
|
||||||
|
*/
|
||||||
|
vz.wui.refresh = function() {
|
||||||
|
var delta = vz.options.plot.xaxis.max - vz.options.plot.xaxis.min;
|
||||||
|
|
||||||
|
vz.options.plot.xaxis.max = new Date().getTime(); // move plot
|
||||||
|
vz.options.plot.xaxis.min = vz.options.plot.xaxis.max - delta; // move plot
|
||||||
|
vz.entities.loadData().done(vz.wui.drawPlot);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refresh graphs after timeout ms, with a minimum of vz.options.minTimeout ms
|
||||||
|
*/
|
||||||
|
vz.wui.setTimeout = function() {
|
||||||
|
// clear an already set timeout
|
||||||
|
if (vz.wui.timeout != null) {
|
||||||
|
window.clearTimeout(vz.wui.timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
var t = Math.max((vz.options.plot.xaxis.max - vz.options.plot.xaxis.min) / vz.options.tuples, vz.options.minTimeout);
|
||||||
|
vz.wui.timeout = window.setTimeout(vz.wui.refresh, t);
|
||||||
|
|
||||||
|
$('#refresh-time').html('(' + Math.round(t / 1000) + ' s)');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop auto-refresh of graphs
|
||||||
|
*/
|
||||||
|
vz.wui.clearTimeout = function() {
|
||||||
|
$('#refresh-time').html('');
|
||||||
|
|
||||||
|
var rc = window.clearTimeout(vz.wui.timeout);
|
||||||
|
vz.wui.timeout = null;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rounding precision
|
* Rounding precision
|
||||||
*
|
*
|
||||||
|
@ -364,13 +354,13 @@ vz.wui.handleControls = function () {
|
||||||
* to be set to 1 (for 1 decimal) in that case
|
* to be set to 1 (for 1 decimal) in that case
|
||||||
*/
|
*/
|
||||||
vz.wui.formatNumber = function(number) {
|
vz.wui.formatNumber = function(number) {
|
||||||
return Math.round(number*Math.pow(10, vz.options.precision))/Math.pow(10, vz.options.precision);
|
return Math.round(number * Math.pow(10, vz.options.precision)) / Math.pow(10, vz.options.precision);
|
||||||
}
|
}
|
||||||
|
|
||||||
vz.wui.updateHeadline = function() {
|
vz.wui.updateHeadline = function() {
|
||||||
var from = $.plot.formatDate(new Date(vz.options.plot.xaxis.min + vz.options.timezoneOffset), '%d. %b %h:%M:%S', vz.options.plot.xaxis.monthNames);
|
var from = $.plot.formatDate(new Date(vz.options.plot.xaxis.min + vz.options.timezoneOffset), '%d. %b %h:%M:%S', vz.options.plot.xaxis.monthNames);
|
||||||
var to = $.plot.formatDate(new Date(vz.options.plot.xaxis.max + vz.options.timezoneOffset), '%d. %b %h:%M:%S', vz.options.plot.xaxis.monthNames);
|
var to = $.plot.formatDate(new Date(vz.options.plot.xaxis.max + vz.options.timezoneOffset), '%d. %b %h:%M:%S', vz.options.plot.xaxis.monthNames);
|
||||||
$('#title').text(from + ' - ' + to);
|
$('#title').html(from + ' - ' + to);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -558,7 +548,13 @@ vz.wui.drawPlot = function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
vz.plot = $.plot($('#flot'), series, vz.options.plot);
|
vz.plot = $.plot($('#flot'), series, vz.options.plot);
|
||||||
if (vz.options.refresh) {
|
|
||||||
|
// disable automatic refresh if we are in past
|
||||||
|
if (vz.options.refresh && vz.options.plot.xaxis.max < new Date().getTime() - 1000) {
|
||||||
|
$('#refresh').attr('checked', vz.options.refresh = false);
|
||||||
|
vz.wui.clearTimeout();
|
||||||
|
}
|
||||||
|
else if (vz.options.refresh) {
|
||||||
vz.wui.setTimeout();
|
vz.wui.setTimeout();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -581,7 +577,7 @@ vz.wui.dialogs.error = function(error, description, code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$('<div>')
|
$('<div>')
|
||||||
.append($('<span>').text(description))
|
.append($('<span>').html(description))
|
||||||
.dialog({
|
.dialog({
|
||||||
title: error,
|
title: error,
|
||||||
width: 450,
|
width: 450,
|
||||||
|
|
Loading…
Add table
Reference in a new issue