Merge pull request #1663 from mattermost/PLT-1418

PLT-1418 Adding old style replying in RHS
Этот коммит содержится в:
Joram Wilander
2015-12-09 09:35:28 -05:00
родитель 34cf264a08 69ecfe4cb1
Коммит 3daa830ab1
3 изменённых файлов: 53 добавлений и 1 удалений

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

@@ -8,11 +8,14 @@ import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import * as utils from '../utils/utils.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx';
import Constants from '../utils/constants.jsx';
export default class SearchResultsItem extends React.Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
this.handleFocusRHSClick = this.handleFocusRHSClick.bind(this);
}
handleClick(e) {
@@ -26,6 +29,12 @@ export default class SearchResultsItem extends React.Component {
}
}
handleFocusRHSClick(e) {
e.preventDefault();
EventHelpers.emitPostFocusRightHandSideEvent(this.props.post);
}
render() {
var channelName = '';
var channel = ChannelStore.get(this.props.post.channel_id);
@@ -73,10 +82,21 @@ export default class SearchResultsItem extends React.Component {
{'Jump'}
</a>
</li>
<li>
<a
href='#'
className='comment-icon__container search-item__comment'
onClick={this.handleFocusRHSClick}
>
<span
className='comment-icon'
dangerouslySetInnerHTML={{__html: Constants.COMMENT_ICON}}
/>
</a>
</li>
</ul>
<div className='search-item-snippet'>
<span
onClick={this.handleClick}
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, formattingOptions)}}
/>
</div>

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

@@ -8,6 +8,7 @@ import Constants from '../utils/constants.jsx';
const ActionTypes = Constants.ActionTypes;
import * as AsyncClient from '../utils/async_client.jsx';
import * as Client from '../utils/client.jsx';
import * as Utils from '../utils/utils.jsx';
export function emitChannelClickEvent(channel) {
AsyncClient.getChannels(true);
@@ -38,6 +39,30 @@ export function emitPostFocusEvent(postId) {
);
}
export function emitPostFocusRightHandSideEvent(post) {
Client.getPost(
post.channel_id,
post.id,
(data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED,
post_list: data
});
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_SEARCH,
results: null
});
},
(err) => {
AsyncClient.dispatchError(err, 'getPost');
}
);
var postChannel = ChannelStore.get(post.channel_id);
Utils.switchChannel(postChannel);
}
export function emitLoadMorePostsEvent() {
const id = ChannelStore.getCurrentId();
loadMorePostsTop(id);

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

@@ -121,6 +121,13 @@
}
.search-item__comment {
position: absolute;
right: 0;
margin-right: 35px;
top: 0;
}
.search-item-time {
color: #a8adb7;
}