From 1663b3ab18088de888e3ad506dc41e6183c3c735 Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Tue, 22 Dec 2020 14:34:03 -0300 Subject: [PATCH] Use the new discourseDebounce function wrapper. (#124) 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. --- .../discourse-assign/controllers/group-assigned-show.js.es6 | 2 +- .../discourse-assign/controllers/group-assigned.js.es6 | 2 +- .../controllers/user-activity-assigned.js.es6 | 2 +- assets/javascripts/lib/debounce.js.es6 | 6 ++++++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 assets/javascripts/lib/debounce.js.es6 diff --git a/assets/javascripts/discourse-assign/controllers/group-assigned-show.js.es6 b/assets/javascripts/discourse-assign/controllers/group-assigned-show.js.es6 index f32e68e..b753c71 100644 --- a/assets/javascripts/discourse-assign/controllers/group-assigned-show.js.es6 +++ b/assets/javascripts/discourse-assign/controllers/group-assigned-show.js.es6 @@ -1,7 +1,7 @@ import UserTopicsList from "discourse/controllers/user-topics-list"; import { alias } from "@ember/object/computed"; -import { debounce } from "@ember/runloop"; import discourseComputed from "discourse-common/utils/decorators"; +import debounce from "discourse/plugins/discourse-assign/lib/debounce"; import { INPUT_DELAY } from "discourse-common/config/environment"; export default UserTopicsList.extend({ diff --git a/assets/javascripts/discourse-assign/controllers/group-assigned.js.es6 b/assets/javascripts/discourse-assign/controllers/group-assigned.js.es6 index a30a4c8..d1c204a 100644 --- a/assets/javascripts/discourse-assign/controllers/group-assigned.js.es6 +++ b/assets/javascripts/discourse-assign/controllers/group-assigned.js.es6 @@ -1,9 +1,9 @@ import { inject as service } from "@ember/service"; import Controller, { inject as controller } from "@ember/controller"; import { action } from "@ember/object"; -import { debounce } from "@ember/runloop"; import { ajax } from "discourse/lib/ajax"; import discourseComputed from "discourse-common/utils/decorators"; +import debounce from "discourse/plugins/discourse-assign/lib/debounce"; import { INPUT_DELAY } from "discourse-common/config/environment"; export default Controller.extend({ diff --git a/assets/javascripts/discourse-assign/controllers/user-activity-assigned.js.es6 b/assets/javascripts/discourse-assign/controllers/user-activity-assigned.js.es6 index 306adf1..679cb24 100644 --- a/assets/javascripts/discourse-assign/controllers/user-activity-assigned.js.es6 +++ b/assets/javascripts/discourse-assign/controllers/user-activity-assigned.js.es6 @@ -1,6 +1,6 @@ import UserTopicsList from "discourse/controllers/user-topics-list"; -import { debounce } from "@ember/runloop"; import discourseComputed from "discourse-common/utils/decorators"; +import debounce from "discourse/plugins/discourse-assign/lib/debounce"; import { INPUT_DELAY } from "discourse-common/config/environment"; export default UserTopicsList.extend({ diff --git a/assets/javascripts/lib/debounce.js.es6 b/assets/javascripts/lib/debounce.js.es6 new file mode 100644 index 0000000..328848d --- /dev/null +++ b/assets/javascripts/lib/debounce.js.es6 @@ -0,0 +1,6 @@ +import discourseDebounce from "discourse-common/lib/debounce"; +import { debounce } from "@ember/runloop"; + +// TODO: Remove this file and use discouseDebounce after the 2.7 release. +const debounceFunction = discourseDebounce || debounce; +export default debounceFunction;