Skip to content
This repository has been archived by the owner on Jan 23, 2019. It is now read-only.

Commit

Permalink
Revert "Remove deprecated code"
Browse files Browse the repository at this point in the history
This reverts commit 77e3e59.
  • Loading branch information
mlouro committed Oct 29, 2015
1 parent 23d1768 commit 1f0daf5
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 3 deletions.
78 changes: 78 additions & 0 deletions client/app/messages/MessageReply.jsx
@@ -0,0 +1,78 @@
'use strict';

var _ = require('underscore');
var app = require('../AppRouter');
var React = require('react');
var log = require('loglevel');
var gravatar = require('../utils/gravatar');
var moment = require('moment');
var urls = require('../urls');
var store = require('../store');
var MessageReplyForm = require('./MessageReplyForm.jsx');

var MessageReplyView = React.createClass({
getInitialState: function() {
return {
'expand': true
}
},


componentDidMount: function () {

var kwargs = urls.resolve(window.location.pathname).kwargs;
var team = store.find('teams', {'slug': kwargs.team_slug});
var message = store.find('messages', {'id': parseInt(kwargs.message_id)});
var author = message ? store.find('users', message.user) : null;
console.log('cdm', kwargs, team, message, author)
var draftId = this.getDraftId(team, message);
var draft = draftId? localStorage.getItem(draftId) : null;

this.setState({
team: team,
message: message,
author: author,
draft: draft
});
},

render: function() {
var author = this.state.author;
var message = this.state.message;
var team = this.state.team;
var draft = this.state.draft;

if (! this.state.team) {
return <div>loading</div>
}
return (
<div className="message-reply content-view">
{message ? <div className="message">
<div className="message-container" onClick={this.toggleExpand}>

<div className="message-header">
<a className="collapse-button expand">{!this.state.expand ? "Expand" : "Collapse"}</a>
<div className="avatar">
<img src={gravatar.get(author.email)} />
</div>
<div className="username">{author.name}</div>
<div className="date">
<a href="/lincoln-loop/12461/potential-project-united-nations-world-food-programme-wfp/#89624"
className="permalink">
<time className="timeago" dateTime="{message.date_created}">{moment.utc(message.date_created).local().fromNow()}</time>
</a>
</div>
</div>
{this.state.expand ? <div className="message-content">
<div dangerouslySetInnerHTML={{__html: message.body}} />
</div> : null}
</div>
</div> : null}
<MessageReplyForm parent_url={this.props.parent_url}
team={team} />
</div>
);
}
});

module.exports = MessageReplyView;
4 changes: 1 addition & 3 deletions client/app/messages/MessageReplyForm.jsx
Expand Up @@ -21,13 +21,11 @@ var MessageReplyForm = React.createClass({
componentDidMount: function () {
var kwargs = urls.resolve(window.location.pathname).kwargs;
var team = store.find('teams', {'slug': kwargs.team_slug});
this.setState({
team: team,
});
var draft = localStorage.getItem(this.getDraftId());
if (draft) {
this.setState({
draft: draft,
team: team
});
}
},
Expand Down
30 changes: 30 additions & 0 deletions client/app/messages/Router.js
Expand Up @@ -6,6 +6,7 @@ var dispatcher = require('../dispatcher');
var urls = require('../urls');
var store = require('../store');
var MessageEditView = require('./MessageEdit.jsx');
var MessageReplyView = require('./MessageReply.jsx');
var MessageForkView = require('./MessageFork.jsx');
var TeamDiscussions = require('../discussions/TeamDiscussions.jsx');

Expand Down Expand Up @@ -51,6 +52,35 @@ var MessageRouter = Router.extend({
}).render();
},

reply: function(teamSlug, discussionId, discussionSlug, messageId) {
var mainView = React.createElement(MessageReplyView, {
'parent_url': urls.get('api:messageChange', {'message_id': messageId})
});
var team = store.find('teams', {'slug': teamSlug});
var discussionUrl = urls.get('api:discussionChange', {
'discussion_id': discussionId
});
var discussion = store.find('discussions', discussionUrl);
return dispatcher.small({
'navLevel': 20,
'title': 'Reply to message',
'back': this.getBackUrl(),
'main': mainView
}).medium({
'team': team,
'main': mainView
}).large({
'team': team,
'discussion': discussion,
'list': React.createElement(TeamDiscussions, {
'team': team,
'key': teamSlug,
'discussionId': discussionId
}),
'main': mainView
}).render();
},

fork: function(teamSlug, discussionId, discussionSlug, messageId) {
var mainView = React.createElement(MessageForkView, {
'parent_url': urls.get('api:messageChange', {'message_id': messageId})
Expand Down

0 comments on commit 1f0daf5

Please sign in to comment.