Make montagereview more robust when the storage area of an event has been deleted. Add the onmouse events using javascript instead of in the html canvas element so that our CSP policy works.
parent
8e62c93f5f
commit
edaf582eb4
|
@ -122,6 +122,11 @@ function getImageSource( monId, time ) {
|
|||
Event = events[Frame.EventId];
|
||||
|
||||
var storage = Storage[Event.StorageId];
|
||||
if ( ! storage ) {
|
||||
// Storage[0] is guaranteed to exist as we make sure it is there in montagereview.js.php
|
||||
console.log("No storage area for id " + Event.StorageId);
|
||||
storage = Storage[0];
|
||||
}
|
||||
// monitorServerId may be 0, which gives us the default Server entry
|
||||
var server = storage.ServerId ? Servers[storage.ServerId] : Servers[monitorServerId[monId]];
|
||||
return server.PathToIndex +
|
||||
|
@ -500,7 +505,8 @@ HTMLCanvasElement.prototype.relMouseCoords = relMouseCoords;
|
|||
|
||||
var mouseisdown=false;
|
||||
function mdown(event) {
|
||||
mouseisdown=true; mmove(event);
|
||||
mouseisdown=true;
|
||||
mmove(event);
|
||||
}
|
||||
function mup(event) {
|
||||
mouseisdown=false;
|
||||
|
@ -509,7 +515,8 @@ function mout(event) {
|
|||
mouseisdown=false;
|
||||
} // if we go outside treat it as release
|
||||
function tmove(event) {
|
||||
mouseisdown=true; mmove(event);
|
||||
mouseisdown=true;
|
||||
mmove(event);
|
||||
}
|
||||
|
||||
function mmove(event) {
|
||||
|
@ -910,6 +917,13 @@ function initPage() {
|
|||
}
|
||||
if ( !liveMode ) {
|
||||
canvas = $("timeline");
|
||||
|
||||
canvas.addEventListener('mousemove', mmove, false);
|
||||
canvas.addEventListener('touchmove', tmove, false);
|
||||
canvas.addEventListener('mousedown', mdown, false);
|
||||
canvas.addEventListener('mouseup', mup, false);
|
||||
canvas.addEventListener('mouseout', mout, false);
|
||||
|
||||
ctx = canvas.getContext('2d');
|
||||
drawGraph();
|
||||
}
|
||||
|
|
|
@ -119,13 +119,21 @@ echo " };\n";
|
|||
} // end if initialmodeislive
|
||||
|
||||
echo "\nvar Storage = [];\n";
|
||||
$have_storage_zero = 0;
|
||||
foreach ( Storage::find() as $Storage ) {
|
||||
echo 'Storage[' . $Storage->Id() . '] = ' . json_encode($Storage). ";\n";
|
||||
echo 'Storage[' . $Storage->Id() . '] = ' . $Storage->to_json(). ";\n";
|
||||
if ( $Storage->Id() == 0 )
|
||||
$have_storage_zero = true;
|
||||
}
|
||||
if ( !$have_storage_zero ) {
|
||||
$Storage = new Storage();
|
||||
echo 'Storage[0] = ' . $Storage->to_json(). ";\n";
|
||||
}
|
||||
|
||||
echo "\nvar Servers = [];\n";
|
||||
// Fall back to get Server paths, etc when no using multi-server mode
|
||||
$Server = new Server();
|
||||
echo 'Servers[0] = new Server(' . json_encode($Server). ");\n";
|
||||
echo 'Servers[0] = new Server(' . $Server->to_json(). ");\n";
|
||||
foreach ( Server::find() as $Server ) {
|
||||
echo 'Servers[' . $Server->Id() . '] = new Server(' . $Server->to_json(). ");\n";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue