diff --git a/app/javascript/flavours/glitch/features/composer/index.js b/app/javascript/flavours/glitch/features/composer/index.js index d64bee7ee..4c9d4b197 100644 --- a/app/javascript/flavours/glitch/features/composer/index.js +++ b/app/javascript/flavours/glitch/features/composer/index.js @@ -15,10 +15,12 @@ import { clearComposeSuggestions, fetchComposeSuggestions, insertEmojiCompose, + mountCompose, selectComposeSuggestion, submitCompose, toggleComposeAdvancedOption, undoUploadCompose, + unmountCompose, uploadCompose, } from 'flavours/glitch/actions/compose'; import { @@ -84,12 +86,14 @@ const mapDispatchToProps = { onCloseModal: closeModal, onFetchSuggestions: fetchComposeSuggestions, onInsertEmoji: insertEmojiCompose, + onMount: mountCompose, onOpenActionsModal: openModal.bind(null, 'ACTIONS'), onOpenDoodleModal: openModal.bind(null, 'DOODLE', { noEsc: true }), onSelectSuggestion: selectComposeSuggestion, onSubmit: submitCompose, onToggleAdvancedOption: toggleComposeAdvancedOption, onUndoUpload: undoUploadCompose, + onUnmount: unmountCompose, onUpload: uploadCompose, }; @@ -188,6 +192,22 @@ class Composer extends React.Component { } } + // Tells our state the composer has been mounted. + componentDidMount () { + const { onMount } = this.props; + if (onMount) { + onMount(); + } + } + + // Tells our state the composer has been unmounted. + componentWillUnmount () { + const { onUnmount } = this.props; + if (onUnmount) { + onUnmount(); + } + } + // This statement does several things: // - If we're beginning a reply, and, // - Replying to zero or one users, places the cursor at the end @@ -409,12 +429,14 @@ Composer.propTypes = { onCloseModal: PropTypes.func, onFetchSuggestions: PropTypes.func, onInsertEmoji: PropTypes.func, + onMount: PropTypes.func, onOpenActionsModal: PropTypes.func, onOpenDoodleModal: PropTypes.func, onSelectSuggestion: PropTypes.func, onSubmit: PropTypes.func, onToggleAdvancedOption: PropTypes.func, onUndoUpload: PropTypes.func, + onUnmount: PropTypes.func, onUpload: PropTypes.func, };