From 1e7f0fd8f1529710865f77c38facea3d84a6cf13 Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Sat, 8 Jul 2017 13:21:19 +0100 Subject: [PATCH 1/2] Added events to show and hide the preview pane. --- .../discourse/components/composer-editor.js.es6 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/assets/javascripts/discourse/components/composer-editor.js.es6 b/app/assets/javascripts/discourse/components/composer-editor.js.es6 index fe2ab5aae8c..3d6e67747f0 100644 --- a/app/assets/javascripts/discourse/components/composer-editor.js.es6 +++ b/app/assets/javascripts/discourse/components/composer-editor.js.es6 @@ -30,6 +30,16 @@ export default Ember.Component.extend({ _setupPreview() { const val = (this.site.mobileView ? false : (this.keyValueStore.get('composer.showPreview') || 'true')); this.set('showPreview', val === 'true'); + + this.appEvents.on('composer:show-preview', () => { + this.set('showPreview', true); + this.keyValueStore.set({ key: 'composer.showPreview', value: true }); + }); + + this.appEvents.on('composer:hide-preview', () => { + this.set('showPreview', false); + this.keyValueStore.set({ key: 'composer.showPreview', value: false }); + }); }, @computed('site.mobileView', 'showPreview') @@ -445,6 +455,8 @@ export default Ember.Component.extend({ @on('willDestroyElement') _composerClosed() { this.appEvents.trigger('composer:will-close'); + this.appEvents.off('composer:show-preview'); + this.appEvents.off('composer:hide-preview'); Ember.run.next(() => { $('#main-outlet').css('padding-bottom', 0); // need to wait a bit for the "slide down" transition of the composer From 375eb290b9caee8cea60830af0c157c8fc920ca5 Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Mon, 10 Jul 2017 23:28:35 +0100 Subject: [PATCH 2/2] Made changes as per review. --- .../discourse/components/composer-editor.js.es6 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/discourse/components/composer-editor.js.es6 b/app/assets/javascripts/discourse/components/composer-editor.js.es6 index 3d6e67747f0..47e0306fd7d 100644 --- a/app/assets/javascripts/discourse/components/composer-editor.js.es6 +++ b/app/assets/javascripts/discourse/components/composer-editor.js.es6 @@ -33,12 +33,10 @@ export default Ember.Component.extend({ this.appEvents.on('composer:show-preview', () => { this.set('showPreview', true); - this.keyValueStore.set({ key: 'composer.showPreview', value: true }); }); this.appEvents.on('composer:hide-preview', () => { this.set('showPreview', false); - this.keyValueStore.set({ key: 'composer.showPreview', value: false }); }); }, @@ -52,6 +50,11 @@ export default Ember.Component.extend({ return showPreview ? I18n.t('composer.hide_preview') : I18n.t('composer.show_preview'); }, + @observes('showPreview') + showPreviewChanged() { + this.keyValueStore.set({ key: 'composer.showPreview', value: this.get('showPreview') }); + }, + @computed markdownOptions() { return { @@ -498,7 +501,6 @@ export default Ember.Component.extend({ togglePreview() { this.toggleProperty('showPreview'); - this.keyValueStore.set({ key: 'composer.showPreview', value: this.get('showPreview') }); }, extraButtons(toolbar) {