From 4278dc3cd2b41284ec6e11f5cf2b63729bc52830 Mon Sep 17 00:00:00 2001 From: Martin Date: Sun, 27 Oct 2013 16:27:09 +0100 Subject: [PATCH] Scroll up when row gets deleted --- urbackupserver/www/templates.js | 2 +- urbackupserver/www/templates/live_log.htm | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/urbackupserver/www/templates.js b/urbackupserver/www/templates.js index acdf14aa..e62ddf0d 100644 --- a/urbackupserver/www/templates.js +++ b/urbackupserver/www/templates.js @@ -61,7 +61,7 @@ tmpls.nospc_fatal=new Template("\r\n< tmpls.status_percent_done=new Template("
\r\n\t
\r\n\t
\r\n
"); tmpls.status_client_download=new Template("

#{tClient download}

\r\n\r\n\r\n"); tmpls.new_version_available=new Template("#{tThere is a new version of UrBackup server available} (#{new_version_number}). Download it here.

"); -tmpls.live_log=new Template("\r\n\r\n#{tUrBackup live log:} #{clientname}\r\n\r\n\r\n\r\n\r\n\r\n\r\n
 
\r\n
\r\n\r\n
\r\n\r\n\r\n "); +tmpls.live_log=new Template("\r\n\r\n#{tUrBackup live log:} #{clientname}\r\n\r\n\r\n\r\n\r\n\r\n\r\n
 
\r\n\r\n\r\n
\r\n\r\n\r\n "); tmpls.live_log_row=new Template("\r\n\t#{time}  \r\n\t#{loglevel}  \r\n\t#{message}\r\n"); tmpls.database_error=new Template("\r\n\t\t\t\r\n\t\r\n\r\n
#{database_error_text}
\r\n
\r\n
"); tmpls.file_cache_error=new Template("\r\n\t\t\t\r\n\t\r\n\r\n
\r\n\t#{creating_filescache_text}
\r\n\t#{tNumber of file entries processed}: #{processed_file_entries}\r\n\t
\r\n
\r\n
"); diff --git a/urbackupserver/www/templates/live_log.htm b/urbackupserver/www/templates/live_log.htm index d4c63be8..2921fbc2 100644 --- a/urbackupserver/www/templates/live_log.htm +++ b/urbackupserver/www/templates/live_log.htm @@ -56,10 +56,17 @@ function refresh_log2(data) } } - while(g.live_log_rows>g.max_live_log_rows && I('logdata').rows.length>0) + var deleted_height=0; + if(g.live_log_rows>g.max_live_log_rows) { - I('logdata').deleteRow(0); - --g.live_log_rows; + var deleted_height_start=I('logdata').rows[g.live_log_rows-g.max_live_log_rows].getBoundingClientRect().bottom; + while(g.live_log_rows>g.max_live_log_rows && I('logdata').rows.length>0) + { + I('logdata').deleteRow(0); + --g.live_log_rows; + } + + deleted_height=deleted_height_start-I('logdata').rows[0].getBoundingClientRect().bottom; } if(new_data.length>0) @@ -77,8 +84,6 @@ function refresh_log2(data) { is_at_bottom=true; } - - console.log("height: "+height+" pageYOffset="+window.pageYOffset+" innerHeight="+window.innerHeight+" is_at_bottom="+is_at_bottom); if(I('logdata').tBodies.length>0) { @@ -93,6 +98,11 @@ function refresh_log2(data) { window.scrollTo(window.pageXOffset, window.pageYOffset + window.innerHeight); } + else if(window.pageYOffset-deleted_height>0 && deleted_height>0) + { + console.log("window.pageYOffset="+window.pageYOffset+" deleted_height="+deleted_height); + window.scrollTo(window.pageXOffset, window.pageYOffset-deleted_height); + } } g.refresh_log();