From f22f3e92629bb819eace9195cec17edc06fca051 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 13 Jul 2020 14:51:07 -0400 Subject: [PATCH] use a scaled svg and replace inline js --- web/includes/functions.php | 6 ++--- web/skins/classic/css/base/views/zone.css | 5 ++++ web/skins/classic/css/base/views/zones.css | 14 +++++----- web/skins/classic/views/js/zone.js | 11 ++++---- web/skins/classic/views/watch.php | 2 +- web/skins/classic/views/zone.php | 31 ++++++++++++++-------- web/skins/classic/views/zones.php | 14 +++++----- 7 files changed, 49 insertions(+), 34 deletions(-) diff --git a/web/includes/functions.php b/web/includes/functions.php index 59cb169d7..2a1d1413c 100644 --- a/web/includes/functions.php +++ b/web/includes/functions.php @@ -2290,13 +2290,13 @@ function validHtmlStr($input) { function getStreamHTML($monitor, $options = array()) { if ( isset($options['scale']) ) { - if ( $options['scale'] != 'auto' && $options['scale'] != '0' and $options['scale'] != '' ) { + if ( $options['scale'] != 'auto' && $options['scale'] != '0' and $options['scale'] != '' and $options['scale'] != 0 ) { ZM\Logger::Debug("Setting dimensions from scale:".$options['scale']); $options['width'] = reScale($monitor->ViewWidth(), $options['scale']).'px'; $options['height'] = reScale($monitor->ViewHeight(), $options['scale']).'px'; } else { - $options['width'] = '100%'; - $options['height'] = 'auto'; + $options['width'] = 'auto'; + $options['height'] = '100%'; } } else { # scale is empty or 100 diff --git a/web/skins/classic/css/base/views/zone.css b/web/skins/classic/css/base/views/zone.css index 44cd1a115..9fd88d1fb 100644 --- a/web/skins/classic/css/base/views/zone.css +++ b/web/skins/classic/css/base/views/zone.css @@ -45,8 +45,13 @@ * the extreme edges of the imageFrame. */ #imageFrame { position: relative; + width: 50%; + min-width: 640px; padding: 0 3px 3px 0; /* Compensate for negative margins in the markers just below. */ } +#imageFrame img { + width: 100%; +} #imageFrame div { position: absolute; diff --git a/web/skins/classic/css/base/views/zones.css b/web/skins/classic/css/base/views/zones.css index f65dcdf33..0f987361b 100644 --- a/web/skins/classic/css/base/views/zones.css +++ b/web/skins/classic/css/base/views/zones.css @@ -20,18 +20,18 @@ } #zones, .ZonesImage { + position: relative; + width: 50%; + min-width: 500px; float: left; } -#zones { - width: 500px; -} .ZonesImage img { -top:0; -left:0; -position: relative; + top:0; + left:0; + position: relative; } #content { -width: 100%; +width: 97%; position: relative; } diff --git a/web/skins/classic/views/js/zone.js b/web/skins/classic/views/js/zone.js index 013df3ea5..ac9097135 100644 --- a/web/skins/classic/views/js/zone.js +++ b/web/skins/classic/views/js/zone.js @@ -245,13 +245,13 @@ function limitArea(field) { } function highlightOn(point) { - var index = point.getAttribute('data-index'); + var index = point.getAttribute('data-point-index'); $('row'+index).addClass('highlight'); $('point'+index).addClass('highlight'); } function highlightOff(point) { - var index = point.getAttribute('data-index'); + var index = point.getAttribute('data-point-index'); $('row'+index).removeClass('highlight'); $('point'+index).removeClass('highlight'); } @@ -410,7 +410,7 @@ function drawZonePoints() { for ( var i = 0; i < zone['Points'].length; i++ ) { var div = new Element('div', { 'id': 'point'+i, - 'data-index': i, + 'data-point-index': i, 'class': 'zonePoint', 'title': 'Point '+(i+1), 'styles': { @@ -418,10 +418,8 @@ function drawZonePoints() { 'top': zone['Points'][i].y } }); - //div.addEvent('mouseover', highlightOn.pass(i)); div.onmouseover = window['highlightOn'].bind(div, div); div.onmouseout = window['highlightOff'].bind(div, div); - div.addEvent('mouseout', highlightOff.pass(i)); div.inject($('imageFrame')); div.makeDraggable( { 'container': $('imageFrame'), @@ -439,7 +437,8 @@ function drawZonePoints() { for ( var i = 0; i < zone['Points'].length; i++ ) { var row; row = new Element('tr', {'id': 'row'+i}); - row.addEvents({'mouseover': highlightOn.pass(i), 'mouseout': highlightOff.pass(i)}); + row.onmouseover = window['highlightOn'].bind(div, div); + row.onmouseout = window['highlightOff'].bind(div, div); var cell = new Element('td'); cell.set('text', i+1); cell.inject(row); diff --git a/web/skins/classic/views/watch.php b/web/skins/classic/views/watch.php index 70e5f410a..c0e056691 100644 --- a/web/skins/classic/views/watch.php +++ b/web/skins/classic/views/watch.php @@ -151,7 +151,7 @@ if ( $streamMode == 'jpeg' ) { } // end if streamMode==jpeg ?> -