summaryrefslogtreecommitdiffstats
path: root/webapp/components/sidebar_right.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/sidebar_right.jsx')
-rw-r--r--webapp/components/sidebar_right.jsx33
1 files changed, 31 insertions, 2 deletions
diff --git a/webapp/components/sidebar_right.jsx b/webapp/components/sidebar_right.jsx
index 9e2fc32dd..3a2060bf2 100644
--- a/webapp/components/sidebar_right.jsx
+++ b/webapp/components/sidebar_right.jsx
@@ -8,6 +8,8 @@ import RhsThread from './rhs_thread.jsx';
import SearchStore from 'stores/search_store.jsx';
import PostStore from 'stores/post_store.jsx';
import UserStore from 'stores/user_store.jsx';
+import PreferenceStore from 'stores/preference_store.jsx';
+import Constants from 'utils/constants.jsx';
import * as Utils from 'utils/utils.jsx';
import React from 'react';
@@ -18,6 +20,7 @@ export default class SidebarRight extends React.Component {
this.plScrolledToBottom = true;
+ this.onPreferenceChange = this.onPreferenceChange.bind(this);
this.onSelectedChange = this.onSelectedChange.bind(this);
this.onSearchChange = this.onSearchChange.bind(this);
this.onUserChange = this.onUserChange.bind(this);
@@ -30,25 +33,32 @@ export default class SidebarRight extends React.Component {
isMentionSearch: SearchStore.getIsMentionSearch(),
postRightVisible: !!PostStore.getSelectedPost(),
fromSearch: false,
- currentUser: UserStore.getCurrentUser()
+ currentUser: UserStore.getCurrentUser(),
+ useMilitaryTime: PreferenceStore.getBool(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, Constants.Preferences.USE_MILITARY_TIME, false)
};
}
+
componentDidMount() {
SearchStore.addSearchChangeListener(this.onSearchChange);
PostStore.addSelectedPostChangeListener(this.onSelectedChange);
SearchStore.addShowSearchListener(this.onShowSearch);
UserStore.addChangeListener(this.onUserChange);
+ PreferenceStore.addChangeListener(this.onPreferenceChange);
this.doStrangeThings();
}
+
componentWillUnmount() {
SearchStore.removeSearchChangeListener(this.onSearchChange);
PostStore.removeSelectedPostChangeListener(this.onSelectedChange);
SearchStore.removeShowSearchListener(this.onShowSearch);
UserStore.removeChangeListener(this.onUserChange);
+ PreferenceStore.removeChangeListener(this.onPreferenceChange);
}
+
shouldComponentUpdate(nextProps, nextState) {
return !Utils.areObjectsEqual(nextState, this.state);
}
+
componentWillUpdate(nextProps, nextState) {
const isOpen = this.state.searchVisible || this.state.postRightVisible;
const willOpen = nextState.searchVisible || nextState.postRightVisible;
@@ -57,6 +67,7 @@ export default class SidebarRight extends React.Component {
PostStore.jumpPostsViewSidebarOpen();
}
}
+
doStrangeThings() {
// We should have a better way to do this stuff
// Hence the function name.
@@ -81,26 +92,37 @@ export default class SidebarRight extends React.Component {
}, 500);*/
return null;
}
+
componentDidUpdate() {
this.doStrangeThings();
}
+
+ onPreferenceChange() {
+ this.setState({
+ useMilitaryTime: PreferenceStore.getBool(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, Constants.Preferences.USE_MILITARY_TIME, false)
+ });
+ }
+
onSelectedChange(fromSearch) {
this.setState({
postRightVisible: !!PostStore.getSelectedPost(),
fromSearch
});
}
+
onSearchChange() {
this.setState({
searchVisible: SearchStore.getSearchResults() !== null,
isMentionSearch: SearchStore.getIsMentionSearch()
});
}
+
onUserChange() {
this.setState({
currentUser: UserStore.getCurrentUser()
});
}
+
onShowSearch() {
if (!this.state.searchVisible) {
this.setState({
@@ -108,17 +130,24 @@ export default class SidebarRight extends React.Component {
});
}
}
+
render() {
let content = null;
if (this.state.searchVisible) {
- content = <SearchResults isMentionSearch={this.state.isMentionSearch}/>;
+ content = (
+ <SearchResults
+ isMentionSearch={this.state.isMentionSearch}
+ useMilitaryTime={this.state.useMilitaryTime}
+ />
+ );
} else if (this.state.postRightVisible) {
content = (
<RhsThread
fromSearch={this.state.fromSearch}
isMentionSearch={this.state.isMentionSearch}
currentUser={this.state.currentUser}
+ useMilitaryTime={this.state.useMilitaryTime}
/>
);
}