diff options
Diffstat (limited to 'web/react/components')
5 files changed, 29 insertions, 4 deletions
diff --git a/web/react/components/posts_view.jsx b/web/react/components/posts_view.jsx index 2b81d1d79..b782268fa 100644 --- a/web/react/components/posts_view.jsx +++ b/web/react/components/posts_view.jsx @@ -30,6 +30,9 @@ export default class PostsView extends React.Component { static get SIDEBAR_OPEN() { return 3; } + static get SCROLL_TYPE_NEW_MESSAGE() { + return 4; + } isAtBottom() { return ((this.refs.postlist.scrollHeight - this.refs.postlist.scrollTop) === this.refs.postlist.clientHeight); } @@ -145,6 +148,7 @@ export default class PostsView extends React.Component { <div id={newSeparatorId} key='unviewed' + ref='newMessageSeparator' className='new-separator' > <hr @@ -165,6 +169,15 @@ export default class PostsView extends React.Component { window.requestAnimationFrame(() => { this.refs.postlist.scrollTop = this.refs.postlist.scrollHeight; }); + } else if (this.props.scrollType === PostsView.SCROLL_TYPE_NEW_MESSAGE) { + window.requestAnimationFrame(() => { + // If separator exists scroll to it. Otherwise scroll to bottom. + if (this.refs.newMessageSeparator) { + this.refs.newMessageSeparator.scrollIntoView(); + } else { + this.refs.postlist.scrollTop = this.refs.postlist.scrollHeight; + } + }); } else if (this.props.scrollType === PostsView.SCROLL_TYPE_POST && this.props.scrollPost) { window.requestAnimationFrame(() => { const postNode = ReactDOM.findDOMNode(this.refs[this.props.scrollPost]); diff --git a/web/react/components/posts_view_container.jsx b/web/react/components/posts_view_container.jsx index 6cdf69402..5037a86cd 100644 --- a/web/react/components/posts_view_container.jsx +++ b/web/react/components/posts_view_container.jsx @@ -85,6 +85,13 @@ export default class PostsViewContainer extends React.Component { const channels = this.state.channels.slice(); const channelId = ChannelStore.getCurrentId(); + // Has the channel really changed? + if (channelId === channels[this.state.currentChannelIndex]) { + // Dirty hack + this.forceUpdate(); + return; + } + PostStore.clearUnseenDeletedPosts(channelId); let lastViewed = Number.MAX_VALUE; @@ -102,7 +109,7 @@ export default class PostsViewContainer extends React.Component { this.setState({ currentChannelIndex: newIndex, currentLastViewed: lastViewed, - scrollType: PostsView.SCROLL_TYPE_BOTTOM, + scrollType: PostsView.SCROLL_TYPE_NEW_MESSAGE, channels, postLists}); } diff --git a/web/react/components/tutorial/tutorial_tip.jsx b/web/react/components/tutorial/tutorial_tip.jsx index 3094b2f4c..75d73e920 100644 --- a/web/react/components/tutorial/tutorial_tip.jsx +++ b/web/react/components/tutorial/tutorial_tip.jsx @@ -69,11 +69,16 @@ export default class TutorialTip extends React.Component { } } + var tipColor = ''; + if (this.props.overlayClass === 'tip-overlay--header') { + tipColor = 'White'; + } + return ( <div className={'tip-div ' + this.props.overlayClass}> <img className='tip-button' - src='/static/images/tutorialTip.gif' + src={'/static/images/tutorialTip' + tipColor + '.gif'} width='35' onClick={this.toggle} ref='target' diff --git a/web/react/components/user_settings/manage_incoming_hooks.jsx b/web/react/components/user_settings/manage_incoming_hooks.jsx index 6b8c09718..128c011ea 100644 --- a/web/react/components/user_settings/manage_incoming_hooks.jsx +++ b/web/react/components/user_settings/manage_incoming_hooks.jsx @@ -163,7 +163,7 @@ export default class ManageIncomingHooks extends React.Component { return ( <div key='addIncomingHook'> {'Create webhook URLs for use in external integrations. Please see '}<a href='http://mattermost.org/webhooks'>{'http://mattermost.org/webhooks'}</a> {' to learn more.'} - <label className='control-label padding-top x2'>{'Add a new incoming webhook'}</label> + <div><label className='control-label padding-top x2'>{'Add a new incoming webhook'}</label></div> <div className='row padding-top'> <div className='col-sm-10 padding-bottom'> <select diff --git a/web/react/components/user_settings/manage_outgoing_hooks.jsx b/web/react/components/user_settings/manage_outgoing_hooks.jsx index 93be988d1..7b7cf7401 100644 --- a/web/react/components/user_settings/manage_outgoing_hooks.jsx +++ b/web/react/components/user_settings/manage_outgoing_hooks.jsx @@ -241,7 +241,7 @@ export default class ManageOutgoingHooks extends React.Component { return ( <div key='addOutgoingHook'> {'Create webhooks to send new message events to an external integration. Please see '}<a href='http://mattermost.org/webhooks'>{'http://mattermost.org/webhooks'}</a> {' to learn more.'} - <label className='control-label'>{'Add a new outgoing webhook'}</label> + <div><label className='control-label padding-top x2'>{'Add a new outgoing webhook'}</label></div> <div className='padding-top divider-light'></div> <div className='padding-top'> <div> |