From 035822d9e04b6c898fb3029c91df5a3db307f1ce Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Tue, 16 Nov 2021 14:33:06 +0100 Subject: [PATCH] DEV: sticky avatar was retained during tests (#14969) --- .../discourse/app/initializers/sticky-avatars.js | 6 +++++- .../javascripts/discourse/app/lib/sticky-avatars.js | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/app/initializers/sticky-avatars.js b/app/assets/javascripts/discourse/app/initializers/sticky-avatars.js index 401a831272f..2fa8c87d7b9 100644 --- a/app/assets/javascripts/discourse/app/initializers/sticky-avatars.js +++ b/app/assets/javascripts/discourse/app/initializers/sticky-avatars.js @@ -5,6 +5,10 @@ export default { after: "inject-objects", initialize(container) { - StickyAvatars.init(container); + this._stickyAvatars = StickyAvatars.init(container); + }, + + teardown() { + this._stickyAvatars?.destroy(); }, }; diff --git a/app/assets/javascripts/discourse/app/lib/sticky-avatars.js b/app/assets/javascripts/discourse/app/lib/sticky-avatars.js index 31f03da871d..4b39516e51f 100644 --- a/app/assets/javascripts/discourse/app/lib/sticky-avatars.js +++ b/app/assets/javascripts/discourse/app/lib/sticky-avatars.js @@ -11,7 +11,7 @@ export default class StickyAvatars { prevOffset = -1; static init(container) { - new this(container).init(); + return new this(container).init(); } constructor(container) { @@ -29,6 +29,12 @@ export default class StickyAvatars { appEvents.on("page:topic-loaded", this._initIntersectionObserver); addWidgetCleanCallback("post-stream", this._clearIntersectionObserver); + + return this; + } + + destroy() { + this.container = null; } @bind