From 56e74239d6b34df8f30ef046f0b0ff4ff0866a71 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Sun, 14 Jun 2015 23:53:32 -0800 Subject: first commit --- web/react/components/sidebar_right.jsx | 84 ++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 web/react/components/sidebar_right.jsx (limited to 'web/react/components/sidebar_right.jsx') diff --git a/web/react/components/sidebar_right.jsx b/web/react/components/sidebar_right.jsx new file mode 100644 index 000000000..8334b345b --- /dev/null +++ b/web/react/components/sidebar_right.jsx @@ -0,0 +1,84 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + + +var SearchResults =require('./search_results.jsx'); +var PostRight =require('./post_right.jsx'); +var PostStore = require('../stores/post_store.jsx'); +var Constants = require('../utils/constants.jsx'); +var utils = require('../utils/utils.jsx'); + +function getStateFromStores(from_search) { + return { search_visible: PostStore.getSearchResults() != null, post_right_visible: PostStore.getSelectedPost() != null, is_mention_search: PostStore.getIsMentionSearch() }; +} + +module.exports = React.createClass({ + componentDidMount: function() { + PostStore.addSearchChangeListener(this._onSearchChange); + PostStore.addSelectedPostChangeListener(this._onSelectedChange); + }, + componentWillUnmount: function() { + PostStore.removeSearchChangeListener(this._onSearchChange); + PostStore.removeSelectedPostChangeListener(this._onSelectedChange); + }, + _onSelectedChange: function(from_search) { + if (this.isMounted()) { + var newState = getStateFromStores(from_search); + newState.from_search = from_search; + if (!utils.areStatesEqual(newState, this.state)) { + this.setState(newState); + } + } + }, + _onSearchChange: function() { + if (this.isMounted()) { + var newState = getStateFromStores(); + if (!utils.areStatesEqual(newState, this.state)) { + this.setState(newState); + } + } + }, + resize: function() { + $(".post-list-holder-by-time").scrollTop(100000); + $(".post-list-holder-by-time").perfectScrollbar('update'); + }, + getInitialState: function() { + return getStateFromStores(); + }, + render: function() { + if (! (this.state.search_visible || this.state.post_right_visible)) { + $('.inner__wrap').removeClass('move--left').removeClass('move--right'); + $('.sidebar--right').removeClass('move--left'); + this.resize(); + return ( +
+ ); + } + + $('.inner__wrap').removeClass('.move--right').addClass('move--left'); + $('.sidebar--left').removeClass('move--right'); + $('.sidebar--right').addClass('move--left'); + $('.sidebar--right').prepend(''); + this.resize(); + setTimeout(function(){ + $('.sidebar__overlay').fadeOut("200", function(){ + $(this).remove(); + }); + },500) + + var content = ""; + + if (this.state.search_visible) { + content = ; + } + else if (this.state.post_right_visible) { + content = ; + } + + return ( +
+ { content } +
+ ); + } +}); -- cgit v1.2.3-1-g7c22