From aff586a5fe3680fff725374e22c158a12c8e2f94 Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Thu, 14 May 2015 09:07:21 -0500 Subject: [PATCH] Skip ticket refresh if checkboxes checked --- scp/js/scp.js | 2 +- scp/js/ticket.js | 16 +++++++++++++--- scp/tickets.php | 6 ++---- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/scp/js/scp.js b/scp/js/scp.js index 8621a7d79..1a3e35bec 100644 --- a/scp/js/scp.js +++ b/scp/js/scp.js @@ -844,7 +844,7 @@ getConfig = (function() { })(); $(document).on('pjax:click', function(options) { - clearTimeout(window.ticket_refresh); + clearInterval(window.ticket_refresh); // Release ticket lock (maybe) if ($.autoLock !== undefined) $.autoLock.releaseLock(); diff --git a/scp/js/ticket.js b/scp/js/ticket.js index a2a131e02..7f7b879e7 100644 --- a/scp/js/ticket.js +++ b/scp/js/ticket.js @@ -337,9 +337,19 @@ $.showImagesInline = function(urls, thread_id) { }); }; -$.refreshTicketView = function() { - if (0 === $('.dialog:visible').length) - $.pjax({url: document.location.href, container:'#pjax-container'}); +$.refreshTicketView = function(interval) { + var refresh = + window.ticket_refresh = setInterval(function() { + if ($('table.list input.ckb[name=tids\\[\\]]:checked').length) + // Skip the refresh b/c items are checked + return; + else if (0 < $('.dialog:visible').length) + // Dialog open — skip refresh + return; + + clearInterval(refresh); + $.pjax({url: document.location.href, container:'#pjax-container'}); + }, interval); } var ticket_onload = function($) { diff --git a/scp/tickets.php b/scp/tickets.php index d7320c295..3dc2d0f9c 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -538,10 +538,8 @@ if($ticket) { $nav->setActiveSubMenu(-1); //set refresh rate if the user has it configured - if(!$_POST && !$_REQUEST['a'] && ($min=$thisstaff->getRefreshRate())) { - $js = "clearTimeout(window.ticket_refresh); - window.ticket_refresh = setTimeout($.refreshTicketView," - .($min*60000).");"; + if(!$_POST && !$_REQUEST['a'] && ($min=(int)$thisstaff->getRefreshRate())) { + $js = "$.refreshTicketView({$min}*60000);"; $ost->addExtraHeader('<script type="text/javascript">'.$js.'</script>', $js); } -- GitLab