From 11560342a2fe71edca0726f88b4aedf18073ee35 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Mon, 23 Nov 2015 08:47:16 +1030 Subject: [PATCH] Refactor composer preview logic --- framework/core/js/forum/src/components/Composer.js | 4 ++++ framework/core/js/forum/src/components/EditPostComposer.js | 2 +- framework/core/js/forum/src/components/ReplyComposer.js | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/framework/core/js/forum/src/components/Composer.js b/framework/core/js/forum/src/components/Composer.js index 8eadeea25..d0cbed504 100644 --- a/framework/core/js/forum/src/components/Composer.js +++ b/framework/core/js/forum/src/components/Composer.js @@ -332,6 +332,10 @@ class Composer extends Component { this.oldPosition = this.position; } + isMobile() { + return this.$backdrop && this.$backdrop.length; + } + /** * Confirm with the user that they want to close the composer and lose their * content. diff --git a/framework/core/js/forum/src/components/EditPostComposer.js b/framework/core/js/forum/src/components/EditPostComposer.js index 90d0b6aa7..52c863f62 100644 --- a/framework/core/js/forum/src/components/EditPostComposer.js +++ b/framework/core/js/forum/src/components/EditPostComposer.js @@ -20,7 +20,7 @@ export default class EditPostComposer extends ComposerBody { // minimize the composer in order to see the preview. We do this as a // timeout so that it occurs after the click handler on the composer // itself that shows the composer if minimized. - if (app.composer.$backdrop.length) { + if (app.composer.isMobile()) { setTimeout(() => app.composer.minimize(), 0); } diff --git a/framework/core/js/forum/src/components/ReplyComposer.js b/framework/core/js/forum/src/components/ReplyComposer.js index 38b67d746..ab161485f 100644 --- a/framework/core/js/forum/src/components/ReplyComposer.js +++ b/framework/core/js/forum/src/components/ReplyComposer.js @@ -22,7 +22,7 @@ export default class ReplyComposer extends ComposerBody { // minimize the composer in order to see the preview. We do this as a // timeout so that it occurs after the click handler on the composer // itself that shows the composer if minimized. - if (app.composer.$backdrop.length) { + if (app.composer.isMobile()) { setTimeout(() => app.composer.minimize(), 0); }