From 20d617b41561d5d93d6cf3ffd5ea22b038f290bf Mon Sep 17 00:00:00 2001 From: umorigu Date: Mon, 18 Sep 2017 08:00:36 +0900 Subject: [PATCH 1/1] BugTrack/2433 Control Search Request interval --- plugin/search2.inc.php | 3 +++ skin/search2.js | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/plugin/search2.inc.php b/plugin/search2.inc.php index 6483988..67e28a5 100644 --- a/plugin/search2.inc.php +++ b/plugin/search2.inc.php @@ -11,6 +11,7 @@ define('PLUGIN_SEARCH2_MAX_BASE', 16); // #search(1,2,3,...,15,16) define('PLUGIN_SEARCH2_RESULT_RECORD_LIMIT', 500); define('PLUGIN_SEARCH2_RESULT_RECORD_LIMIT_START', 100); +define('PLUGIN_SEARCH2_SEARCH_WAIT_MILLISECONDS', 1000); // Show a search box on a page function plugin_search2_convert() @@ -196,6 +197,7 @@ EOD; } $_search2_result_notfound = htmlsc($_msg_notfoundresult); $_search2_result_found = htmlsc($_msg_andresult); + $_search2_search_wait_milliseconds = PLUGIN_SEARCH2_SEARCH_WAIT_MILLISECONDS; $result_page_panel =<<
@@ -203,6 +205,7 @@ EOD; + EOD; if ($h_search_text == '') { $result_page_panel = ''; diff --git a/skin/search2.js b/skin/search2.js index 622bb60..d9753e4 100644 --- a/skin/search2.js +++ b/skin/search2.js @@ -10,7 +10,7 @@ window.addEventListener && window.addEventListener('DOMContentLoaded', function( var aroundLines = 2; var maxResultLines = 20; var minBlockLines = 5; - var searchWaitMilliseconds = 100; + var minSearchWaitMilliseconds = 100; function escapeHTML (s) { if(typeof s !== 'string') { s = '' + s; @@ -114,9 +114,19 @@ window.addEventListener && window.addEventListener('DOMContentLoaded', function( ul.appendChild(fragment); }); if (!obj.search_done && obj.next_start_index) { + var waitE = document.querySelector('#_search2_search_wait_milliseconds'); + var interval = minSearchWaitMilliseconds; + try { + interval = parseInt(waitE.value); + } catch (e) { + interval = minSearchWaitMilliseconds; + } + if (interval < minSearchWaitMilliseconds) { + interval = minSearchWaitMilliseconds; + } setTimeout(function(){ doSearch(searchText, session, obj.next_start_index); - }, searchWaitMilliseconds); + }, interval); } } function textToRegex(searchText) { -- 2.11.0