1
0
Fork 0

Use the new discourseDebounce function wrapper.

We recently merged a Discourse core's PR to replace usages of Ember's debounce and discourseDebounce with a new debounce wrapper. The new wrapper works exactly like Ember's debounce but internally calls "run" when called in test mode.

This PR replaces all usages of other debounce functions with the new wrapper and fallbacks to Ember's debounce for backward-compatibility.
Dieser Commit ist enthalten in:
romanrizzi 2020-12-22 10:01:29 -03:00
Ursprung 1962388501
Commit 11ff364cbe
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: EF9418810F0FA6ED
2 geänderte Dateien mit 24 neuen und 16 gelöschten Zeilen

Datei anzeigen

@ -14,7 +14,6 @@
//= require discourse/app/lib/notification-levels
//= require discourse/app/lib/computed
//= require discourse/app/lib/user-search
//= require discourse/app/lib/debounce
//= require discourse/app/lib/text
//= require discourse/app/lib/formatter
//= require discourse/app/lib/quote
@ -85,6 +84,7 @@
//= require discourse-common/addon/helpers/component-for-collection
//= require discourse-common/addon/helpers/component-for-row
//= require discourse-common/addon/lib/raw-templates
//= require discourse-common/lib/debounce
//= require discourse/app/helpers/discourse-tag
//= require discourse/app/services/app-events

Datei anzeigen

@ -1,6 +1,7 @@
import { CANCELLED_STATUS } from 'discourse/lib/autocomplete';
import { debounce } from "@ember/runloop";
import discourseDebounce from "discourse-common/lib/debounce";
import getUrl from 'discourse-common/lib/get-url';
import discourseDebounce from "discourse/lib/debounce";
var cache = {},
cacheTopicId,
@ -40,8 +41,6 @@ function performSearch(term, topicId, includeGroups, includeMentionableGroups, i
});
}
var debouncedSearch = discourseDebounce(performSearch, 300);
function organizeResults(r, options) {
if (r === CANCELLED_STATUS) { return r; }
@ -119,17 +118,26 @@ export default function userSearch(options) {
resolve(CANCELLED_STATUS);
}, 5000);
debouncedSearch(term,
topicId,
includeGroups,
includeMentionableGroups,
includeMessageableGroups,
allowedUsers,
group,
function(r) {
clearTimeout(clearPromise);
resolve(organizeResults(r, options));
});
// TODO: Use discouseDebounce after the 2.7 release.
let debounceFunc = discourseDebounce || debounce;
});
debounceFunc(
this,
function() {
performSearch(
term,
topicId,
includeGroups,
includeMentionableGroups,
includeMessageableGroups,
allowedUsers,
group,
function(r) {
clearTimeout(clearPromise);
resolve(organizeResults(r, options));
}
)
},
300
)
}