[ticket/13713] Fix issue with duplicate queries

PHPBB3-13713
This commit is contained in:
lavigor 2018-07-09 02:26:19 +03:00 committed by Marc Alexander
parent 2bb50add04
commit 783449d626
No known key found for this signature in database
GPG key ID: 50E0D2423696F995

View file

@ -387,6 +387,7 @@ function getCaretPosition(txtarea) {
(function($) { (function($) {
function Mentions() { function Mentions() {
let $mentionDataContainer = $('[data-mention-url]:first'); let $mentionDataContainer = $('[data-mention-url]:first');
let queryInProgress = null;
let cachedNames = null; let cachedNames = null;
let cachedFor = null; let cachedFor = null;
let cachedSearchKey = 'name'; let cachedSearchKey = 'name';
@ -449,10 +450,20 @@ function getCaretPosition(txtarea) {
return; return;
} }
/*
* Do not make a new request until the previous one for the same query is returned
* This fixes duplicate server queries e.g. when arrow keys are pressed
*/
if (queryInProgress === query) {
return;
}
queryInProgress = query;
let params = {keyword: query, topic_id: mentionTopicId, _referer: location.href}; let params = {keyword: query, topic_id: mentionTopicId, _referer: location.href};
$.getJSON(mentionURL, params, function (data) { $.getJSON(mentionURL, params, function (data) {
cachedNames = data; cachedNames = data;
cachedFor = query; cachedFor = query;
queryInProgress = null;
callback(data); callback(data);
}); });
}, },