diff options
Diffstat (limited to 'webapp/components/textbox.jsx')
-rw-r--r-- | webapp/components/textbox.jsx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/webapp/components/textbox.jsx b/webapp/components/textbox.jsx index 5c1d823b5..22738ffa3 100644 --- a/webapp/components/textbox.jsx +++ b/webapp/components/textbox.jsx @@ -36,7 +36,11 @@ export default class Textbox extends React.Component { connection: '' }; - this.suggestionProviders = [new AtMentionProvider(), new ChannelMentionProvider(), new EmoticonProvider()]; + this.suggestionProviders = [ + new AtMentionProvider(this.props.channelId), + new ChannelMentionProvider(), + new EmoticonProvider() + ]; if (props.supportsCommands) { this.suggestionProviders.push(new CommandProvider()); } @@ -104,6 +108,18 @@ export default class Textbox extends React.Component { this.setState({preview: !this.state.preview}); } + componentWillReceiveProps(nextProps) { + if (nextProps.channelId !== this.channelId) { + // Update channel id for AtMentionProvider. + const providers = this.suggestionProviders; + for (let i = 0; i < providers.length; i++) { + if (providers[i] instanceof AtMentionProvider) { + providers[i] = new AtMentionProvider(nextProps.channelId); + } + } + } + } + render() { const hasText = this.props.messageText.length > 0; |