mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Event selector: Prevent race conditions
This commit is contained in:
@@ -11,6 +11,7 @@ $(function () {
|
||||
var $container = $(this);
|
||||
var $query = $(this).find('[data-typeahead-query]').length ? $(this).find('[data-typeahead-query]') : $($(this).attr("data-typeahead-field"));
|
||||
$container.find("li:not(.query-holder)").remove();
|
||||
var lastQuery = "";
|
||||
|
||||
$query.on("change", function () {
|
||||
if ($container.attr("data-typeahead-field") && $query.val() === "") {
|
||||
@@ -18,9 +19,15 @@ $(function () {
|
||||
$container.find("li:not(.query-holder)").remove();
|
||||
return;
|
||||
}
|
||||
lastQuery = $query.val();
|
||||
var thisQuery = $query.val();
|
||||
$.getJSON(
|
||||
$container.attr("data-source") + "?query=" + encodeURIComponent($query.val()) + (typeof $container.attr("data-organizer") !== "undefined" ? "&organizer=" + $container.attr("data-organizer") : ""),
|
||||
function (data) {
|
||||
if (thisQuery !== lastQuery) {
|
||||
// Lost race condition
|
||||
return;
|
||||
}
|
||||
$container.find("li:not(.query-holder)").remove();
|
||||
$.each(data.results, function (i, res) {
|
||||
if (res.type === "organizer") {
|
||||
|
||||
Reference in New Issue
Block a user