Этот коммит содержится в:
Christopher Speller
2015-11-12 14:55:52 -05:00
родитель 931f4f764c 10901b4d50
Коммит c7fe8510ce
10 изменённых файлов: 79 добавлений и 32 удалений

Просмотреть файл

@@ -18,6 +18,7 @@ export default class PostBody extends React.Component {
this.receivedYoutubeData = false;
this.isGifLoading = false;
this.handleUserChange = this.handleUserChange.bind(this);
this.parseEmojis = this.parseEmojis.bind(this);
this.createEmbed = this.createEmbed.bind(this);
this.createGifEmbed = this.createGifEmbed.bind(this);
@@ -25,7 +26,14 @@ export default class PostBody extends React.Component {
this.createYoutubeEmbed = this.createYoutubeEmbed.bind(this);
const linkData = Utils.extractLinks(this.props.post.message);
this.state = {links: linkData.links, message: linkData.text, post: this.props.post};
const profiles = UserStore.getProfiles();
this.state = {
links: linkData.links,
message: linkData.text,
post: this.props.post
hasUserProfiles: profiles && Object.keys(profiles).length > 1
};
}
getAllChildNodes(nodeIn) {
@@ -55,12 +63,26 @@ export default class PostBody extends React.Component {
componentDidMount() {
this.parseEmojis();
UserStore.addChangeListener(this.handleUserChange);
}
componentDidUpdate() {
this.parseEmojis();
}
componentWillUnmount() {
UserStore.removeChangeListener(this.handleUserChange);
}
handleUserChange() {
if (!this.state.hasProfiles) {
const profiles = UserStore.getProfiles();
this.setState({hasProfiles: profiles && Object.keys(profiles).length > 1});
}
}
componentWillReceiveProps(nextProps) {
const linkData = Utils.extractLinks(nextProps.post.message);
if (this.props.post.filenames.length === 0 && this.state.links && this.state.links.length > 0) {