diff --git a/assets/javascripts/wizard-custom.js b/assets/javascripts/wizard-custom.js index c9a8c915..4c6561c6 100644 --- a/assets/javascripts/wizard-custom.js +++ b/assets/javascripts/wizard-custom.js @@ -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 diff --git a/assets/javascripts/wizard/lib/user-search.js.es6 b/assets/javascripts/wizard/lib/user-search.js.es6 index 617825d1..55b6b069 100644 --- a/assets/javascripts/wizard/lib/user-search.js.es6 +++ b/assets/javascripts/wizard/lib/user-search.js.es6 @@ -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 + ) }